From e9639ee81c71aab4843bcd1ba1c512740c322151 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Mon, 25 Feb 2019 17:29:08 +0100 Subject: [PATCH] Fix Bottom Sheet List behavior --- .../android/model/realm/Session.kt | 7 +----- .../bottomsheet/BottomSheetListFragment.kt | 2 +- .../BottomSheetListGameFragment.kt | 13 +++++----- app/src/main/res/layout/row_session_view.xml | 25 ++++++------------- 4 files changed, 16 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index bde9ee18..1fca6f2e 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -362,12 +362,7 @@ open class Session : RealmObject(), SessionInterface, Savable, SessionRow.GAME -> { // Add current game & games list data.add(RowRepresentableEditDescriptor(limit)) - data.add( - RowRepresentableEditDescriptor( - game, - data = LiveData.GAME.items(realm) - ) - ) + data.add(RowRepresentableEditDescriptor(game, data = LiveData.GAME.items(realm))) } SessionRow.LOCATION -> { // Add current location and locations list diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListFragment.kt index dd00822f..484a04de 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListFragment.kt @@ -60,7 +60,7 @@ class BottomSheetListFragment : BottomSheetFragment(), RowRepresentableDataSourc realmData?.let { val selectedData = it[position] selectedData?.let {data -> - this.delegate.onRowValueChanged(data, row) + this.delegate.onRowValueChanged(data, this.row) dismiss() } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListGameFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListGameFragment.kt index 57129a3a..4392d1c4 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListGameFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListGameFragment.kt @@ -15,13 +15,11 @@ import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowViewType -import timber.log.Timber -class BottomSheetListGameFragment : BottomSheetFragment(), - RowRepresentableDataSource, - RowRepresentableDelegate { +class BottomSheetListGameFragment : BottomSheetFragment(), RowRepresentableDataSource, RowRepresentableDelegate { + private var limit: Int = -1 private var realmData: RealmResults<*>? = null private lateinit var dataAdapter: RowRepresentableAdapter private val values = ArrayList() @@ -71,7 +69,7 @@ class BottomSheetListGameFragment : BottomSheetFragment(), val selectedData = it[position] selectedData?.let { data -> values[1] = data - this.delegate.onRowValueChanged(data, row) + this.delegate.onRowValueChanged(values, this.row) dismiss() } } @@ -84,6 +82,7 @@ class BottomSheetListGameFragment : BottomSheetFragment(), private fun initData() { val bottomSheetData = getData() if (bottomSheetData.isNotEmpty() && bottomSheetData.size >= 2 && bottomSheetData[1].data != null) { + this.limit = bottomSheetData[0].defaultValue as Int? ?: -1 this.realmData = bottomSheetData[1].data as RealmResults<*> } } @@ -95,7 +94,7 @@ class BottomSheetListGameFragment : BottomSheetFragment(), LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_game_list, view?.bottomSheetContainer, true) - values.add(0, null) + values.add(0, if (limit == -1) null else limit) values.add(1, null) chipGroup.removeAllViews() @@ -103,11 +102,11 @@ class BottomSheetListGameFragment : BottomSheetFragment(), val chip = Chip(requireContext()) chip.text = it.shortName chip.id = it.ordinal + chip.isChecked = it.ordinal == limit chipGroup.addView(chip) } chipGroup.setOnCheckedChangeListener { _, i -> - Timber.d("Chip selected: $i") values[0] = i } diff --git a/app/src/main/res/layout/row_session_view.xml b/app/src/main/res/layout/row_session_view.xml index b8520741..cff08a03 100644 --- a/app/src/main/res/layout/row_session_view.xml +++ b/app/src/main/res/layout/row_session_view.xml @@ -80,7 +80,9 @@ android:layout_height="wrap_content" android:layout_marginStart="4dp" android:layout_marginEnd="8dp" + android:ellipsize="end" android:fontFamily="@font/roboto" + android:maxLines="1" android:textAllCaps="true" android:textColor="@color/kaki_lighter" android:textSize="12sp" @@ -103,7 +105,9 @@ android:layout_height="wrap_content" android:layout_marginStart="4dp" android:layout_marginEnd="8dp" + android:ellipsize="end" android:fontFamily="@font/roboto" + android:maxLines="1" android:textColor="@color/kaki_lighter" android:textSize="12sp" android:visibility="gone" @@ -125,7 +129,9 @@ android:layout_height="wrap_content" android:layout_marginStart="4dp" android:layout_marginEnd="8dp" + android:ellipsize="end" android:fontFamily="@font/roboto" + android:maxLines="1" android:textColor="@color/kaki_lighter" android:textSize="12sp" android:visibility="gone" @@ -134,22 +140,6 @@ - - + tools:text="$1000" + tools:visibility="visible" />