From c7348982417655deb5774e20bed9de7323274d78 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Fri, 5 Jul 2019 16:17:18 +0200 Subject: [PATCH] Update style for Player details --- .../android/model/realm/Comment.kt | 2 +- .../android/model/realm/Player.kt | 2 + .../android/ui/fragment/DataListFragment.kt | 17 +++---- .../android/ui/view/RowViewType.kt | 9 ++-- .../ui/view/rowrepresentable/PlayerRow.kt | 8 ++-- ...w_title_multilines.xml => row_content.xml} | 8 ++-- .../main/res/layout/row_header_subtitle.xml | 1 + .../main/res/layout/row_title_subtitle.xml | 47 +++++++++++++++++++ app/src/main/res/layout/row_title_value.xml | 6 +-- app/src/main/res/values/styles.xml | 12 +++-- 10 files changed, 84 insertions(+), 28 deletions(-) rename app/src/main/res/layout/{row_title_multilines.xml => row_content.xml} (88%) create mode 100644 app/src/main/res/layout/row_title_subtitle.xml diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Comment.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Comment.kt index efd4dab0..cbe8dcc1 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Comment.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Comment.kt @@ -32,7 +32,7 @@ open class Comment : RealmObject(), Manageable, RowRepresentable { override val realmObjectClass: Class = Comment::class.java @Ignore - override val viewType: Int = RowViewType.TITLE_MULTILINES.ordinal + override val viewType: Int = RowViewType.CONTENT.ordinal @Ignore override val inputFragmentType: InputFragmentType = InputFragmentType.EDIT_TEXT_MULTI_LINES diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt index 21618657..0631d181 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt @@ -14,6 +14,7 @@ import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowViewType import net.pokeranalytics.android.ui.view.rowrepresentable.CustomizableRowRepresentable import net.pokeranalytics.android.ui.view.rowrepresentable.PlayerRow +import net.pokeranalytics.android.ui.view.rowrepresentable.SeparatorRow import net.pokeranalytics.android.util.NULL_TEXT import net.pokeranalytics.android.util.extensions.isSameDay import net.pokeranalytics.android.util.extensions.mediumDate @@ -117,6 +118,7 @@ open class Player : RealmObject(), NameManageable, Deletable, StaticRowRepresent rows.add(comment) } + rows.add(SeparatorRow()) } return rows diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt index 71798e66..fe7789cc 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt @@ -31,8 +31,6 @@ import net.pokeranalytics.android.util.extensions.find import net.pokeranalytics.android.util.extensions.sorted - - open class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataSource, RowRepresentableDelegate { companion object { @@ -43,15 +41,16 @@ open class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataS private lateinit var dataType: LiveData private lateinit var items: RealmResults + private val oldRows: ArrayList = ArrayList() private var dataListMenu: Menu? = null private var searchView: SearchView? = null var isSearchable: Boolean = false - set(value) { - field = value - val searchMenuItem = dataListMenu?.findItem(R.id.action_search) - searchMenuItem?.isVisible = value - } + set(value) { + field = value + val searchMenuItem = dataListMenu?.findItem(R.id.action_search) + searchMenuItem?.isVisible = value + } /** * Set fragment data @@ -63,8 +62,9 @@ open class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataS setToolbarTitle(this.dataType.pluralLocalizedTitle(requireContext())) this.items = this.retrieveItems(getRealm()) + oldRows.addAll(this.items as List) - isSearchable = when(this.dataType) { + isSearchable = when (this.dataType) { LiveData.PLAYER, LiveData.LOCATION -> true else -> false } @@ -103,6 +103,7 @@ open class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataS override fun onQueryTextSubmit(query: String?): Boolean { return false } + override fun onQueryTextChange(newText: String?): Boolean { filterItemsWithSearch(newText) return false diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt index a3ce67b9..32daca06 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt @@ -71,9 +71,10 @@ enum class RowViewType(private var layoutRes: Int) { TITLE_VALUE(R.layout.row_title_value), TITLE_VALUE_ARROW(R.layout.row_title_value_arrow), TITLE_VALUE_ACTION(R.layout.row_title_value_action), + TITLE_SUBTITLE(R.layout.row_title_subtitle), TITLE_SWITCH(R.layout.row_title_switch), TITLE_GRID(R.layout.row_bottom_sheet_grid_title), - TITLE_MULTILINES(R.layout.row_title_multilines), + CONTENT(R.layout.row_content), DATA(R.layout.row_title), BOTTOM_SHEET_DATA(R.layout.row_bottom_sheet_title), TITLE_CHECK(R.layout.row_title_check), @@ -108,9 +109,9 @@ enum class RowViewType(private var layoutRes: Int) { // Row View Holder HEADER_TITLE, HEADER_TITLE_VALUE, HEADER_TITLE_AMOUNT, HEADER_TITLE_AMOUNT_BIG, HEADER_SUBTITLE, LOCATION_TITLE, - INFO, TITLE, TITLE_ARROW, TITLE_ICON_ARROW, TITLE_VALUE, TITLE_VALUE_ARROW, TITLE_VALUE_ACTION, TITLE_GRID, TITLE_MULTILINES, - TITLE_SWITCH, TITLE_CHECK, TITLE_VALUE_CHECK, - DATA, BOTTOM_SHEET_DATA, LOADER -> RowViewHolder(layout) + INFO, TITLE, TITLE_ARROW, TITLE_ICON_ARROW, TITLE_VALUE, TITLE_VALUE_ARROW, TITLE_VALUE_ACTION, TITLE_SUBTITLE, + TITLE_GRID, TITLE_SWITCH, TITLE_CHECK, TITLE_VALUE_CHECK, + CONTENT, DATA, BOTTOM_SHEET_DATA, LOADER -> RowViewHolder(layout) // Row Session ROW_SESSION -> RowSessionViewHolder(layout) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/PlayerRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/PlayerRow.kt index 2dfd7629..bb47784d 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/PlayerRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/PlayerRow.kt @@ -32,17 +32,17 @@ enum class PlayerRow : RowRepresentable { get() { return when (this) { IMAGE -> RowViewType.ROW_PLAYER_IMAGE.ordinal - NAME -> RowViewType.TITLE_VALUE.ordinal - SUMMARY -> RowViewType.TITLE_VALUE.ordinal + NAME -> RowViewType.TITLE_SUBTITLE.ordinal + SUMMARY -> RowViewType.TITLE_SUBTITLE.ordinal } } override val inputFragmentType: InputFragmentType get() { return when (this) { - IMAGE-> InputFragmentType.NONE + IMAGE -> InputFragmentType.NONE NAME -> InputFragmentType.EDIT_TEXT - SUMMARY-> InputFragmentType.EDIT_TEXT_MULTI_LINES + SUMMARY -> InputFragmentType.EDIT_TEXT_MULTI_LINES } } diff --git a/app/src/main/res/layout/row_title_multilines.xml b/app/src/main/res/layout/row_content.xml similarity index 88% rename from app/src/main/res/layout/row_title_multilines.xml rename to app/src/main/res/layout/row_content.xml index 9716eeea..49c1bf77 100644 --- a/app/src/main/res/layout/row_title_multilines.xml +++ b/app/src/main/res/layout/row_content.xml @@ -17,16 +17,16 @@ + tools:text="Data Type Title\nThis is a multilines textView" /> \ No newline at end of file diff --git a/app/src/main/res/layout/row_title_subtitle.xml b/app/src/main/res/layout/row_title_subtitle.xml new file mode 100644 index 00000000..7e00d358 --- /dev/null +++ b/app/src/main/res/layout/row_title_subtitle.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + diff --git a/app/src/main/res/layout/row_title_value.xml b/app/src/main/res/layout/row_title_value.xml index 5dbfedde..64bc1449 100644 --- a/app/src/main/res/layout/row_title_value.xml +++ b/app/src/main/res/layout/row_title_value.xml @@ -11,8 +11,8 @@ style="@style/PokerAnalyticsTheme.TextView.RowTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="16dp" - android:layout_marginBottom="16dp" + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="@+id/guidelineStart" app:layout_constraintTop_toTopOf="parent" @@ -24,9 +24,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" - android:ellipsize="end" android:gravity="end" - android:maxLines="1" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/guidelineEnd" app:layout_constraintStart_toEndOf="@+id/title" diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index e569f23d..c3a0ff0e 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -122,9 +122,8 @@ end - - + +