Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ import kotlinx.android.synthetic.main.content_no_internet.view.retry
import kotlinx.android.synthetic.main.content_no_internet.view.noInternetCard
import kotlinx.android.synthetic.main.fragment_search_results.view.noSearchResults
import kotlinx.android.synthetic.main.fragment_search_results.view.chipGroup
import kotlinx.android.synthetic.main.fragment_search_results.view.today_chip
import kotlinx.android.synthetic.main.fragment_search_results.view.tomorrow_chip
import kotlinx.android.synthetic.main.fragment_search_results.view.weekend_chip
import kotlinx.android.synthetic.main.fragment_search_results.view.month_chip
import kotlinx.android.synthetic.main.fragment_search_results.view.todayChip
import kotlinx.android.synthetic.main.fragment_search_results.view.tomorrowChip
import kotlinx.android.synthetic.main.fragment_search_results.view.weekendChip
import kotlinx.android.synthetic.main.fragment_search_results.view.monthChip
import org.fossasia.openevent.general.R
import org.fossasia.openevent.general.di.Scopes
import org.fossasia.openevent.general.event.Event
Expand Down Expand Up @@ -64,10 +64,10 @@ class SearchResultsFragment : Fragment() {
rootView = inflater.inflate(R.layout.fragment_search_results, container, false)

val selectedChip = when (safeArgs.date) {
getString(R.string.today) -> rootView.today_chip
getString(R.string.tomorrow) -> rootView.tomorrow_chip
getString(R.string.weekend) -> rootView.weekend_chip
getString(R.string.month) -> rootView.month_chip
getString(R.string.today) -> rootView.todayChip
getString(R.string.tomorrow) -> rootView.tomorrowChip
getString(R.string.weekend) -> rootView.weekendChip
getString(R.string.month) -> rootView.monthChip
else -> null
}
selectedChip?.apply {
Expand Down Expand Up @@ -133,6 +133,17 @@ class SearchResultsFragment : Fragment() {
Snackbar.make(rootView.searchRootLayout, it, Snackbar.LENGTH_LONG).show()
})

searchViewModel.chipClickable
.nonNull()
.observe(this, Observer {
rootView.chipGroup.children.forEach { chip ->
if (chip is Chip) {
chip.isClickable = it
if (chip.isChecked) chip.isClickable = false
}
}
})

rootView.retry.setOnClickListener {
performSearch(safeArgs)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ class SearchViewModel(
val error: LiveData<String> = mutableError
private val mutableShowNoInternetError = MutableLiveData<Boolean>()
val showNoInternetError: LiveData<Boolean> = mutableShowNoInternetError
private val mutableChipClickable = MutableLiveData<Boolean>()
val chipClickable: LiveData<Boolean> = mutableChipClickable
var searchEvent: String? = null
var savedLocation: String? = null
private val savedNextDate = getNextDate()
Expand All @@ -56,6 +58,7 @@ class SearchViewModel(
if (mutableEvents.value != null) {
mutableShowShimmerResults.value = false
mutableShowNoInternetError.value = false
mutableChipClickable.value = true
}
if (!isConnected()) return
preference.putString(SAVED_LOCATION, location)
Expand Down Expand Up @@ -178,8 +181,10 @@ class SearchViewModel(
.observeOn(AndroidSchedulers.mainThread())
.doOnSubscribe {
mutableShowShimmerResults.value = true
mutableChipClickable.value = false
}.doFinally {
mutableShowShimmerResults.value = false
mutableChipClickable.value = true
}.subscribe({
mutableEvents.value = it
}, {
Expand Down
8 changes: 4 additions & 4 deletions app/src/main/res/layout/fragment_search_results.xml
Original file line number Diff line number Diff line change
Expand Up @@ -56,28 +56,28 @@
style="@style/CustomChipChoice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/today_chip"
android:id="@+id/todayChip"
android:text="@string/today" />

<com.google.android.material.chip.Chip
style="@style/CustomChipChoice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tomorrow_chip"
android:id="@+id/tomorrowChip"
android:text="@string/tomorrow" />

<com.google.android.material.chip.Chip
style="@style/CustomChipChoice"
android:layout_width="wrap_content"
android:id="@+id/weekend_chip"
android:id="@+id/weekendChip"
android:layout_height="wrap_content"
android:text="@string/weekend" />

<com.google.android.material.chip.Chip
style="@style/CustomChipChoice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/month_chip"
android:id="@+id/monthChip"
android:text="@string/month" />
</com.google.android.material.chip.ChipGroup>
</HorizontalScrollView>
Expand Down