Update style for Player details

feature/players
Aurelien Hubert 6 years ago
parent 75a2248469
commit c734898241
  1. 2
      app/src/main/java/net/pokeranalytics/android/model/realm/Comment.kt
  2. 2
      app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt
  3. 17
      app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt
  4. 9
      app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt
  5. 8
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/PlayerRow.kt
  6. 8
      app/src/main/res/layout/row_content.xml
  7. 1
      app/src/main/res/layout/row_header_subtitle.xml
  8. 47
      app/src/main/res/layout/row_title_subtitle.xml
  9. 6
      app/src/main/res/layout/row_title_value.xml
  10. 12
      app/src/main/res/values/styles.xml

@ -32,7 +32,7 @@ open class Comment : RealmObject(), Manageable, RowRepresentable {
override val realmObjectClass: Class<out Identifiable> = Comment::class.java override val realmObjectClass: Class<out Identifiable> = Comment::class.java
@Ignore @Ignore
override val viewType: Int = RowViewType.TITLE_MULTILINES.ordinal override val viewType: Int = RowViewType.CONTENT.ordinal
@Ignore @Ignore
override val inputFragmentType: InputFragmentType = InputFragmentType.EDIT_TEXT_MULTI_LINES override val inputFragmentType: InputFragmentType = InputFragmentType.EDIT_TEXT_MULTI_LINES

@ -14,6 +14,7 @@ import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType import net.pokeranalytics.android.ui.view.RowViewType
import net.pokeranalytics.android.ui.view.rowrepresentable.CustomizableRowRepresentable import net.pokeranalytics.android.ui.view.rowrepresentable.CustomizableRowRepresentable
import net.pokeranalytics.android.ui.view.rowrepresentable.PlayerRow 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.NULL_TEXT
import net.pokeranalytics.android.util.extensions.isSameDay import net.pokeranalytics.android.util.extensions.isSameDay
import net.pokeranalytics.android.util.extensions.mediumDate import net.pokeranalytics.android.util.extensions.mediumDate
@ -117,6 +118,7 @@ open class Player : RealmObject(), NameManageable, Deletable, StaticRowRepresent
rows.add(comment) rows.add(comment)
} }
rows.add(SeparatorRow())
} }
return rows return rows

@ -31,8 +31,6 @@ import net.pokeranalytics.android.util.extensions.find
import net.pokeranalytics.android.util.extensions.sorted import net.pokeranalytics.android.util.extensions.sorted
open class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataSource, RowRepresentableDelegate { open class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataSource, RowRepresentableDelegate {
companion object { companion object {
@ -43,15 +41,16 @@ open class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataS
private lateinit var dataType: LiveData private lateinit var dataType: LiveData
private lateinit var items: RealmResults<out Deletable> private lateinit var items: RealmResults<out Deletable>
private val oldRows: ArrayList<RowRepresentable> = ArrayList()
private var dataListMenu: Menu? = null private var dataListMenu: Menu? = null
private var searchView: SearchView? = null private var searchView: SearchView? = null
var isSearchable: Boolean = false var isSearchable: Boolean = false
set(value) { set(value) {
field = value field = value
val searchMenuItem = dataListMenu?.findItem(R.id.action_search) val searchMenuItem = dataListMenu?.findItem(R.id.action_search)
searchMenuItem?.isVisible = value searchMenuItem?.isVisible = value
} }
/** /**
* Set fragment data * Set fragment data
@ -63,8 +62,9 @@ open class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataS
setToolbarTitle(this.dataType.pluralLocalizedTitle(requireContext())) setToolbarTitle(this.dataType.pluralLocalizedTitle(requireContext()))
this.items = this.retrieveItems(getRealm()) this.items = this.retrieveItems(getRealm())
oldRows.addAll(this.items as List<RowRepresentable>)
isSearchable = when(this.dataType) { isSearchable = when (this.dataType) {
LiveData.PLAYER, LiveData.LOCATION -> true LiveData.PLAYER, LiveData.LOCATION -> true
else -> false else -> false
} }
@ -103,6 +103,7 @@ open class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataS
override fun onQueryTextSubmit(query: String?): Boolean { override fun onQueryTextSubmit(query: String?): Boolean {
return false return false
} }
override fun onQueryTextChange(newText: String?): Boolean { override fun onQueryTextChange(newText: String?): Boolean {
filterItemsWithSearch(newText) filterItemsWithSearch(newText)
return false return false

@ -71,9 +71,10 @@ enum class RowViewType(private var layoutRes: Int) {
TITLE_VALUE(R.layout.row_title_value), TITLE_VALUE(R.layout.row_title_value),
TITLE_VALUE_ARROW(R.layout.row_title_value_arrow), TITLE_VALUE_ARROW(R.layout.row_title_value_arrow),
TITLE_VALUE_ACTION(R.layout.row_title_value_action), TITLE_VALUE_ACTION(R.layout.row_title_value_action),
TITLE_SUBTITLE(R.layout.row_title_subtitle),
TITLE_SWITCH(R.layout.row_title_switch), TITLE_SWITCH(R.layout.row_title_switch),
TITLE_GRID(R.layout.row_bottom_sheet_grid_title), 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), DATA(R.layout.row_title),
BOTTOM_SHEET_DATA(R.layout.row_bottom_sheet_title), BOTTOM_SHEET_DATA(R.layout.row_bottom_sheet_title),
TITLE_CHECK(R.layout.row_title_check), TITLE_CHECK(R.layout.row_title_check),
@ -108,9 +109,9 @@ enum class RowViewType(private var layoutRes: Int) {
// Row View Holder // Row View Holder
HEADER_TITLE, HEADER_TITLE_VALUE, HEADER_TITLE_AMOUNT, HEADER_TITLE_AMOUNT_BIG, HEADER_SUBTITLE, LOCATION_TITLE, 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, INFO, TITLE, TITLE_ARROW, TITLE_ICON_ARROW, TITLE_VALUE, TITLE_VALUE_ARROW, TITLE_VALUE_ACTION, TITLE_SUBTITLE,
TITLE_SWITCH, TITLE_CHECK, TITLE_VALUE_CHECK, TITLE_GRID, TITLE_SWITCH, TITLE_CHECK, TITLE_VALUE_CHECK,
DATA, BOTTOM_SHEET_DATA, LOADER -> RowViewHolder(layout) CONTENT, DATA, BOTTOM_SHEET_DATA, LOADER -> RowViewHolder(layout)
// Row Session // Row Session
ROW_SESSION -> RowSessionViewHolder(layout) ROW_SESSION -> RowSessionViewHolder(layout)

@ -32,17 +32,17 @@ enum class PlayerRow : RowRepresentable {
get() { get() {
return when (this) { return when (this) {
IMAGE -> RowViewType.ROW_PLAYER_IMAGE.ordinal IMAGE -> RowViewType.ROW_PLAYER_IMAGE.ordinal
NAME -> RowViewType.TITLE_VALUE.ordinal NAME -> RowViewType.TITLE_SUBTITLE.ordinal
SUMMARY -> RowViewType.TITLE_VALUE.ordinal SUMMARY -> RowViewType.TITLE_SUBTITLE.ordinal
} }
} }
override val inputFragmentType: InputFragmentType override val inputFragmentType: InputFragmentType
get() { get() {
return when (this) { return when (this) {
IMAGE-> InputFragmentType.NONE IMAGE -> InputFragmentType.NONE
NAME -> InputFragmentType.EDIT_TEXT NAME -> InputFragmentType.EDIT_TEXT
SUMMARY-> InputFragmentType.EDIT_TEXT_MULTI_LINES SUMMARY -> InputFragmentType.EDIT_TEXT_MULTI_LINES
} }
} }

@ -17,16 +17,16 @@
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title" android:id="@+id/title"
style="@style/PokerAnalyticsTheme.TextView.RowContent"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="4dp"
android:layout_marginBottom="16dp" android:layout_marginBottom="4dp"
style="@style/PokerAnalyticsTheme.TextView.RowTitleMultilines"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/guidelineEnd" app:layout_constraintEnd_toEndOf="@+id/guidelineEnd"
app:layout_constraintStart_toStartOf="@+id/guidelineStart" app:layout_constraintStart_toStartOf="@+id/guidelineStart"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tools:text="Data Type Title sqdo iqsjd \n isqojd ioqsjd oq" /> tools:text="Data Type Title\nThis is a multilines textView" />
<androidx.constraintlayout.widget.Guideline <androidx.constraintlayout.widget.Guideline
android:id="@+id/guidelineStart" android:id="@+id/guidelineStart"

@ -12,6 +12,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_marginBottom="4dp"
tools:text="Header" /> tools:text="Header" />
</LinearLayout> </LinearLayout>

@ -0,0 +1,47 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?selectableItemBackground">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title"
style="@style/PokerAnalyticsTheme.TextView.RowTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
app:layout_constraintEnd_toStartOf="@+id/guidelineEnd"
app:layout_constraintStart_toStartOf="@+id/guidelineStart"
app:layout_constraintTop_toTopOf="parent"
tools:text="Title" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/value"
style="@style/PokerAnalyticsTheme.TextView.RowValueMultilines"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/guidelineEnd"
app:layout_constraintStart_toStartOf="@+id/guidelineStart"
app:layout_constraintTop_toBottomOf="@+id/title"
tools:text="Value" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guidelineStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_begin="16dp" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guidelineEnd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_end="16dp" />
</androidx.constraintlayout.widget.ConstraintLayout>

@ -11,8 +11,8 @@
style="@style/PokerAnalyticsTheme.TextView.RowTitle" style="@style/PokerAnalyticsTheme.TextView.RowTitle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="8dp"
android:layout_marginBottom="16dp" android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/guidelineStart" app:layout_constraintStart_toStartOf="@+id/guidelineStart"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
@ -24,9 +24,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:ellipsize="end"
android:gravity="end" android:gravity="end"
android:maxLines="1"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/guidelineEnd" app:layout_constraintEnd_toEndOf="@+id/guidelineEnd"
app:layout_constraintStart_toEndOf="@+id/title" app:layout_constraintStart_toEndOf="@+id/title"

@ -122,9 +122,8 @@
<item name="android:ellipsize">end</item> <item name="android:ellipsize">end</item>
</style> </style>
<style name="PokerAnalyticsTheme.TextView.RowContent">
<style name="PokerAnalyticsTheme.TextView.RowTitleMultilines"> <item name="android:textSize">14sp</item>
<item name="android:textSize">16sp</item>
<item name="android:textColor">@color/white</item> <item name="android:textColor">@color/white</item>
<item name="android:fontFamily">@font/roboto</item> <item name="android:fontFamily">@font/roboto</item>
<item name="android:ellipsize">end</item> <item name="android:ellipsize">end</item>
@ -138,6 +137,13 @@
<item name="android:ellipsize">end</item> <item name="android:ellipsize">end</item>
</style> </style>
<style name="PokerAnalyticsTheme.TextView.RowValueMultilines">
<item name="android:textSize">16sp</item>
<item name="android:textColor">@color/kaki_lighter</item>
<item name="android:fontFamily">@font/roboto</item>
<item name="android:ellipsize">end</item>
</style>
<style name="PokerAnalyticsTheme.TextView.RowInfo"> <style name="PokerAnalyticsTheme.TextView.RowInfo">
<item name="android:textSize">12sp</item> <item name="android:textSize">12sp</item>
<item name="android:textColor">@color/kaki_light</item> <item name="android:textColor">@color/kaki_light</item>

Loading…
Cancel
Save