forked from Yandex-Practicum/practicum-android-diploma
-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Iteration 3 review #132
Merged
Merged
Iteration 3 review #132
Changes from all commits
Commits
Show all changes
114 commits
Select commit
Hold shift + click to select a range
0734653
Merge pull request #95 from ElchinGasymov/main
ElchinGasymov 7210eff
Верстка экрана фильтрации
AnShok e54f19c
Верстка экрана выбора отрасли
AnShok 14b0ad7
Изменения в стиль и fragment_filter.xml Чтобы можно было изменять цве…
AnShok 113e59c
Добавлена верстка выбора страны и решиона
AnShok fa37dca
Добавлен placeholder такого региона нет
AnShok 32271c5
progress_bar везде progress_bar
AnShok 00bfd05
Доработан граф навигации
AnShok 1770576
Настройка поведения Hint на фрагменте поиска и фрагменте выбора места…
AnShok 65dd9e3
Fix
AnShok a74d873
Fix 2
AnShok 686b1d2
Fix 2
AnShok 95ed954
Fix 3
AnShok d9474c9
Устранение замечаний ревью
AnShok ea6de79
Merge pull request #98 from ElchinGasymov/Career_Hub_filter_fragment
ElchinGasymov 9e18543
Добавил новые suspend-методы классы Request и Response DTO модели и м…
G-dev-ui 9bac323
Поправил нейминг, исправил айдишники, убрал в домейне serialVersionUID
G-dev-ui e7e8528
fix detect
G-dev-ui 3176678
fix detect(2)
G-dev-ui 22e2e8c
fix areaId
G-dev-ui 8d6dffd
fix detect
G-dev-ui 051c2eb
Изменил в regionrequest и в репозитории
G-dev-ui e459847
Merge pull request #106 from ElchinGasymov/Career_Hub-add-data-filter
ElchinGasymov aaa4605
Интеракторы для фильтров и di
ElchinGasymov 9084c72
Перенес все в один интерактор
ElchinGasymov 032a9f5
Добавлен Shared Prefs
AndreyRyabitckiy bb180bb
Merge branch 'develop' into Career_Hub_Shared_Prefs
AndreyRyabitckiy f85552c
Merge pull request #108 from ElchinGasymov/careerhub_add_interactor
G-dev-ui 31dfdf5
Add All
AndreyRyabitckiy 8cddd05
DI
AndreyRyabitckiy fcbb84d
Merge branch 'develop' into Career_Hub_Shared_Prefs
AndreyRyabitckiy eb52713
Fix1
AndreyRyabitckiy 8a1ba97
Fix2
AndreyRyabitckiy 791a92a
Fix3
AndreyRyabitckiy 9fefdaa
Fix4
AndreyRyabitckiy b09da05
Fix4.1
AndreyRyabitckiy c409d71
Fix4.2
AndreyRyabitckiy 38d3ad8
Fix5
AndreyRyabitckiy 555f037
Реализована логика перехода на экран стран, регионов, обработка ошибо…
Logomann fcbd353
Реализована логика перехода на экран стран, регионов, обработка ошибо…
Logomann c1496dd
Реализована логика перехода на экран стран, регионов, обработка ошибо…
Logomann 51b8849
fix
Logomann 09d7ec4
fix2
Logomann e2e4cc2
fix3
Logomann 810af04
fix4
Logomann 14d72dc
fix5
Logomann 6039b9c
Добавлена ViewModel
AndreyRyabitckiy 9e1f2a8
Merge pull request #115 from ElchinGasymov/Career_Hub_epic5_add_filte…
Logomann 5025030
Добавлен поиск по регионам
Logomann be5c6fc
fix
Logomann f300b19
Добавлена ViewModel
AndreyRyabitckiy bba9680
Fix6
AndreyRyabitckiy 1b04232
Fix6.1
AndreyRyabitckiy c512606
Merge branch 'develop' into career_hub_filter_industry
AndreyRyabitckiy a45c9b1
Merge pull request #112 from ElchinGasymov/Career_Hub_Shared_Prefs
ElchinGasymov 36dcd98
Merge pull request #119 from ElchinGasymov/Career_Hub_epic5_add_searc…
Logomann d237d58
Добавлен Adapter
AndreyRyabitckiy b31341e
Merge branch 'develop' into career_hub_filter_industry
AndreyRyabitckiy 2a70fa2
Реализовано:
Logomann be31a2b
fix
Logomann 94e464f
fix2
Logomann b0191a4
fix3
Logomann b69f943
Fix3
AndreyRyabitckiy b5b0d0c
Fix4
AndreyRyabitckiy 569d753
Fix4.1
AndreyRyabitckiy efc9f8e
Fix4.2
AndreyRyabitckiy 971195a
Fix4.3
AndreyRyabitckiy bded064
Merge pull request #122 from ElchinGasymov/Career_Hub_epic4_modify_va…
Logomann 116919c
Фикс конфликтов
ElchinGasymov 95397e9
Фикс конфликтов
ElchinGasymov 4c83d95
search fix2
Logomann 4cdf0a9
search fix3
Logomann d339196
search fix4
Logomann 11e1251
Merge pull request #120 from ElchinGasymov/career_hub_filter_industry
ElchinGasymov 8ac73ac
search fixes
Logomann 86e6ea6
search fixes2
Logomann 73ef008
search fixes3
Logomann 1e34286
search fixes4
Logomann b8bf9c0
Добавлен поиск по отраслям
Logomann 396500e
Добавлен поиск по отраслям
Logomann 8878c3f
Merge pull request #127 from ElchinGasymov/Career_hub_epic4_add_searc…
AndreyRyabitckiy ca266c4
Merge pull request #125 from ElchinGasymov/Career_hub_epic4_5_search_…
AndreyRyabitckiy 565c393
пофиксина кнопка применения настроек
Logomann b675dcd
пофиксина кнопка применения настроек
Logomann f4b77fa
fix
Logomann dba9a89
fix
Logomann e6bd1c8
Исправлены баги критериев epic4 и epic5
Logomann dd7b943
Исправлены баги критериев epic4 и epic5
Logomann 7150041
fix
Logomann e3b8727
fix
Logomann dcf469a
fix
Logomann 434cf9b
fix
Logomann 8b12e78
fix
Logomann e34c656
fix
Logomann 318ee67
Фикс отступа экран выбор старны
ElchinGasymov fac61b7
Merge pull request #130 from ElchinGasymov/bugfix
ElchinGasymov 51cce9c
Merge pull request #128 from ElchinGasymov/Career_hub_epic4_5_search_…
G-dev-ui 059db7a
fix
Logomann 4ed8797
fix
Logomann 92a0f8d
Merge pull request #131 from ElchinGasymov/Career_Hub_Country_UI_fix
Logomann 973384b
fix detect
G-dev-ui 40c33c8
fix detect(2)
G-dev-ui 8b68df1
fix detect(3)
G-dev-ui 124641d
fix detect(4)
G-dev-ui f7376cc
detekt fix
Logomann 4434134
detekt fix5
Logomann 01d1162
detekt fix6
Logomann 568f04d
detekt fix7
Logomann b4a8d00
detekt fix8
Logomann 2b1f787
detekt fix9
Logomann 2cb5294
iteration fix
Logomann 250377f
Merge pull request #135 from ElchinGasymov/iteration_3_review_fix
Logomann 879e033
iteration fix
Logomann 58a9ab1
Merge pull request #137 from ElchinGasymov/iteration_3_review_fix2
Logomann File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3 changes: 3 additions & 0 deletions
3
app/src/main/java/ru/practicum/android/diploma/data/dto/CountriesRequest.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
package ru.practicum.android.diploma.data.dto | ||
|
||
data object CountriesRequest |
7 changes: 7 additions & 0 deletions
7
app/src/main/java/ru/practicum/android/diploma/data/dto/CountriesResponse.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package ru.practicum.android.diploma.data.dto | ||
|
||
import ru.practicum.android.diploma.data.dto.components.CountryDto | ||
|
||
data class CountriesResponse( | ||
val countries: List<CountryDto> | ||
) : Response() |
3 changes: 3 additions & 0 deletions
3
app/src/main/java/ru/practicum/android/diploma/data/dto/IndustriesRequest.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
package ru.practicum.android.diploma.data.dto | ||
|
||
data object IndustriesRequest |
7 changes: 7 additions & 0 deletions
7
app/src/main/java/ru/practicum/android/diploma/data/dto/IndustriesResponse.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package ru.practicum.android.diploma.data.dto | ||
|
||
import ru.practicum.android.diploma.data.dto.components.IndustriesDto | ||
|
||
data class IndustriesResponse( | ||
val sectors: List<IndustriesDto> | ||
) : Response() |
5 changes: 5 additions & 0 deletions
5
app/src/main/java/ru/practicum/android/diploma/data/dto/RegionsRequest.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package ru.practicum.android.diploma.data.dto | ||
|
||
data class RegionsRequest( | ||
val id: String | ||
) |
7 changes: 7 additions & 0 deletions
7
app/src/main/java/ru/practicum/android/diploma/data/dto/RegionsResponse.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package ru.practicum.android.diploma.data.dto | ||
|
||
import ru.practicum.android.diploma.data.dto.components.RegionDto | ||
|
||
data class RegionsResponse( | ||
val regions: List<RegionDto> | ||
) : Response() |
18 changes: 18 additions & 0 deletions
18
app/src/main/java/ru/practicum/android/diploma/data/dto/SaveFiltersSharedPrefsDto.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
package ru.practicum.android.diploma.data.dto | ||
|
||
import ru.practicum.android.diploma.data.dto.components.CountryDto | ||
import ru.practicum.android.diploma.data.dto.components.IndustriesDto | ||
import ru.practicum.android.diploma.data.dto.components.RegionDto | ||
import java.io.Serializable | ||
|
||
data class SaveFiltersSharedPrefsDto( | ||
val industries: IndustriesDto?, | ||
val country: CountryDto?, | ||
val region: RegionDto?, | ||
val currency: Int?, | ||
val noCurrency: Boolean? | ||
) : Serializable { | ||
companion object { | ||
private const val serialVersionUID = 1L | ||
} | ||
} |
7 changes: 7 additions & 0 deletions
7
app/src/main/java/ru/practicum/android/diploma/data/dto/components/CountryDto.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package ru.practicum.android.diploma.data.dto.components | ||
|
||
data class CountryDto( | ||
val id: String, | ||
val name: String, | ||
val areas: List<RegionDto> | ||
) |
6 changes: 6 additions & 0 deletions
6
app/src/main/java/ru/practicum/android/diploma/data/dto/components/IndustriesDto.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
package ru.practicum.android.diploma.data.dto.components | ||
|
||
data class IndustriesDto( | ||
val id: String, | ||
val name: String | ||
) |
9 changes: 9 additions & 0 deletions
9
app/src/main/java/ru/practicum/android/diploma/data/dto/components/RegionDto.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package ru.practicum.android.diploma.data.dto.components | ||
|
||
import com.google.gson.annotations.SerializedName | ||
|
||
data class RegionDto( | ||
val id: String, | ||
val name: String, | ||
@SerializedName("parent_id") val parentId: Int? | ||
) |
5 changes: 5 additions & 0 deletions
5
app/src/main/java/ru/practicum/android/diploma/data/dto/components/RegionListDto.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package ru.practicum.android.diploma.data.dto.components | ||
|
||
data class RegionListDto( | ||
val areas: List<RegionDto>? = null | ||
) |
81 changes: 81 additions & 0 deletions
81
app/src/main/java/ru/practicum/android/diploma/data/impl/FilterRepositoryImpl.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
package ru.practicum.android.diploma.data.impl | ||
|
||
import kotlinx.coroutines.flow.Flow | ||
import kotlinx.coroutines.flow.flow | ||
import ru.practicum.android.diploma.data.dto.CountriesRequest | ||
import ru.practicum.android.diploma.data.dto.CountriesResponse | ||
import ru.practicum.android.diploma.data.dto.IndustriesRequest | ||
import ru.practicum.android.diploma.data.dto.IndustriesResponse | ||
import ru.practicum.android.diploma.data.dto.RESULT_CODE_BAD_REQUEST | ||
import ru.practicum.android.diploma.data.dto.RESULT_CODE_NO_INTERNET | ||
import ru.practicum.android.diploma.data.dto.RegionsRequest | ||
import ru.practicum.android.diploma.data.dto.RegionsResponse | ||
import ru.practicum.android.diploma.data.dto.Response | ||
import ru.practicum.android.diploma.data.dto.toAllRegions | ||
import ru.practicum.android.diploma.data.dto.toCountryList | ||
import ru.practicum.android.diploma.data.dto.toRegionList | ||
import ru.practicum.android.diploma.data.dto.toSectorList | ||
import ru.practicum.android.diploma.data.network.NetworkClient | ||
import ru.practicum.android.diploma.domain.api.FilterRepository | ||
import ru.practicum.android.diploma.domain.models.Country | ||
import ru.practicum.android.diploma.domain.models.Industries | ||
import ru.practicum.android.diploma.domain.models.Region | ||
import ru.practicum.android.diploma.util.ResponseData | ||
|
||
class FilterRepositoryImpl( | ||
private val networkClient: NetworkClient | ||
) : FilterRepository { | ||
|
||
override fun getCountries(): Flow<ResponseData<List<Country>>> = flow { | ||
when (val response = networkClient.doRequest(CountriesRequest)) { | ||
is CountriesResponse -> { | ||
val countriesList = response.countries.toCountryList() | ||
emit(ResponseData.Data(countriesList)) | ||
} | ||
|
||
else -> emit(responseToError(response)) | ||
} | ||
} | ||
|
||
override fun getRegions(id: String): Flow<ResponseData<List<Region>>> = flow { | ||
when (val response = networkClient.doRequest(RegionsRequest(id))) { | ||
is RegionsResponse -> { | ||
val regionsList = response.regions.toRegionList() | ||
emit(ResponseData.Data(regionsList)) | ||
} | ||
|
||
else -> emit(responseToError(response)) | ||
} | ||
} | ||
|
||
override fun getAllRegions(): Flow<ResponseData<List<Region>>> = flow { | ||
when (val response = networkClient.doRequest(CountriesRequest)) { | ||
is CountriesResponse -> { | ||
val regionsList = response.countries.toAllRegions() | ||
emit(ResponseData.Data(regionsList)) | ||
} | ||
|
||
else -> emit(responseToError(response)) | ||
} | ||
} | ||
|
||
override fun getIndustries(): Flow<ResponseData<List<Industries>>> = flow { | ||
when (val response = networkClient.doRequest(IndustriesRequest)) { | ||
is IndustriesResponse -> { | ||
val sectorsList = response.sectors.toSectorList() | ||
emit(ResponseData.Data(sectorsList)) | ||
} | ||
|
||
else -> emit(responseToError(response)) | ||
} | ||
} | ||
|
||
private fun <T> responseToError(response: Response): ResponseData<T> = | ||
ResponseData.Error( | ||
when (response.resultCode) { | ||
RESULT_CODE_NO_INTERNET -> ResponseData.ResponseError.NO_INTERNET | ||
RESULT_CODE_BAD_REQUEST -> ResponseData.ResponseError.CLIENT_ERROR | ||
else -> ResponseData.ResponseError.SERVER_ERROR | ||
} | ||
) | ||
} |
43 changes: 43 additions & 0 deletions
43
app/src/main/java/ru/practicum/android/diploma/data/impl/SharedPrefsRepositoryImpl.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
package ru.practicum.android.diploma.data.impl | ||
|
||
import android.content.SharedPreferences | ||
import com.google.gson.Gson | ||
import ru.practicum.android.diploma.domain.SharedPrefsRepository | ||
import ru.practicum.android.diploma.domain.models.SaveFiltersSharedPrefs | ||
|
||
class SharedPrefsRepositoryImpl( | ||
private val sharedPreferences: SharedPreferences, | ||
private val gson: Gson | ||
) : SharedPrefsRepository { | ||
override suspend fun readSharedPrefs(): SaveFiltersSharedPrefs? { | ||
val json = sharedPreferences.getString(HISTORY, null) ?: return null | ||
/*SaveFiltersSharedPrefs( | ||
Industries("", "", false), | ||
Country("", ""), | ||
Region("", "", null), | ||
"", | ||
false | ||
)*/ | ||
return gson.fromJson(json, SaveFiltersSharedPrefs::class.java) | ||
} | ||
|
||
override suspend fun writeSharedPrefs(filters: SaveFiltersSharedPrefs) { | ||
/* val oldShared = readSharedPrefs() | ||
val newShared = oldShared.copy( | ||
industries = filters.industries ?: oldShared.industries, | ||
country = filters.country ?: oldShared.country, | ||
region = filters.region ?: oldShared.region, | ||
currency = filters.currency ?: oldShared.currency, | ||
noCurrency = filters.noCurrency | ||
)*/ | ||
sharedPreferences.edit().putString(HISTORY, gson.toJson(filters)).apply() | ||
} | ||
|
||
override suspend fun clearSharedPrefs() { | ||
sharedPreferences.edit().remove(HISTORY).apply() | ||
} | ||
|
||
companion object { | ||
private const val HISTORY = "history" | ||
} | ||
} |
13 changes: 13 additions & 0 deletions
13
app/src/main/java/ru/practicum/android/diploma/data/network/HHApiService.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,28 @@ | ||
package ru.practicum.android.diploma.data.network | ||
|
||
import retrofit2.Response | ||
import retrofit2.http.GET | ||
import retrofit2.http.Path | ||
import retrofit2.http.QueryMap | ||
import ru.practicum.android.diploma.data.dto.SearchResponse | ||
import ru.practicum.android.diploma.data.dto.VacancyResponse | ||
import ru.practicum.android.diploma.data.dto.components.CountryDto | ||
import ru.practicum.android.diploma.data.dto.components.IndustriesDto | ||
import ru.practicum.android.diploma.data.dto.components.RegionListDto | ||
|
||
interface HHApiService { | ||
@GET("vacancies/{vacancy_id}") | ||
suspend fun getVacancy(@Path("vacancy_id") id: String): VacancyResponse | ||
|
||
@GET("vacancies") | ||
suspend fun searchVacancies(@QueryMap options: Map<String, String>): SearchResponse | ||
|
||
@GET("areas") | ||
suspend fun getCountries(): Response<List<CountryDto>> | ||
|
||
@GET("areas/{area_id}") | ||
suspend fun getRegions(@Path("area_id") areaId: String): Response<RegionListDto> | ||
|
||
@GET("industries") | ||
suspend fun getIndustries(): Response<List<IndustriesDto>> | ||
} |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Закоментированный код лучше сразу удалять. Хранить закоментированный код в проекте - плохая практика, в случае чего этот код можно восстановить с помощью истории гита