Top 10 layout improvements

feature/top10
Laurent 6 years ago
parent f369dfd032
commit 9e1e2c1512
  1. 49
      app/src/main/java/net/pokeranalytics/android/ui/fragment/Top10Fragment.kt
  2. 18
      app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt
  3. 100
      app/src/main/res/layout/row_top_10.xml

@ -12,7 +12,6 @@ import io.realm.kotlin.where
import kotlinx.android.synthetic.main.fragment_feed.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.model.realm.Transaction
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
@ -44,7 +43,7 @@ class Top10Fragment : RealmFragment(), RowRepresentableDataSource, RowRepresenta
private var currentTab: Tab = Tab.CASH_GAMES
override val observedEntities: List<Class<out RealmModel>> = listOf(Session::class.java, Transaction::class.java)
override val observedEntities: List<Class<out RealmModel>> = listOf(Session::class.java)
override fun entitiesChanged(clazz: Class<out RealmModel>) {
super.entitiesChanged(clazz)
@ -66,6 +65,29 @@ class Top10Fragment : RealmFragment(), RowRepresentableDataSource, RowRepresenta
initData()
}
/**
* Init data
*/
private fun initData() {
this.realmCashGames = getRealm().where<Session>()
.equalTo("type", Session.Type.CASH_GAME.ordinal)
.greaterThanOrEqualTo("result.net", 0.0)
.sort("result.net", Sort.DESCENDING)
.limit(10)
.findAll()
this.realmTournaments = getRealm().where<Session>()
.equalTo("type", Session.Type.TOURNAMENT.ordinal)
.greaterThanOrEqualTo("result.net", 0.0)
.sort("result.net", Sort.DESCENDING)
.limit(10)
.findAll()
dataListAdapter = RowRepresentableAdapter(this, this)
recyclerView.adapter = dataListAdapter
}
override fun adapterRows(): List<RowRepresentable>? {
return when (currentTab) {
Tab.CASH_GAMES -> realmCashGames
@ -128,27 +150,4 @@ class Top10Fragment : RealmFragment(), RowRepresentableDataSource, RowRepresenta
}
/**
* Init data
*/
private fun initData() {
this.realmCashGames = getRealm().where<Session>()
.equalTo("type", Session.Type.CASH_GAME.ordinal)
.greaterThanOrEqualTo("result.net", 0.0)
.sort("result.net", Sort.DESCENDING)
.limit(10)
.findAll()
this.realmTournaments = getRealm().where<Session>()
.equalTo("type", Session.Type.TOURNAMENT.ordinal)
.greaterThanOrEqualTo("result.net", 0.0)
.sort("result.net", Sort.DESCENDING)
.limit(10)
.findAll()
dataListAdapter = RowRepresentableAdapter(this, this)
recyclerView.adapter = dataListAdapter
}
}

@ -26,6 +26,7 @@ import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.ComputedStat
import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.calculus.bankroll.BankrollReport
import net.pokeranalytics.android.model.TableSize
import net.pokeranalytics.android.model.extensions.getFormattedGameType
import net.pokeranalytics.android.model.realm.CustomField
import net.pokeranalytics.android.model.realm.Session
@ -116,7 +117,6 @@ enum class RowViewType(private var layoutRes: Int) {
// Row Transaction
ROW_TOP_10 -> RowTop10ViewHolder(layout)
// Row Button
ROW_BUTTON -> RowButtonViewHolder(layout)
@ -535,7 +535,7 @@ enum class RowViewType(private var layoutRes: Int) {
gameResult.setTextFormat(formattedStat, itemView.context)
}
itemView.findViewById<AppCompatTextView>(R.id.top10ResultPart1)?.let { part1 ->
itemView.findViewById<AppCompatTextView>(R.id.sessionGameType)?.let { part1 ->
part1.text = row.getFormattedGameType(itemView.context)
}
@ -559,8 +559,20 @@ enum class RowViewType(private var layoutRes: Int) {
locationText?.isVisible = false
}
// Table Size
val tableSizeIcon = itemView.findViewById<AppCompatImageView?>(R.id.sessionInfoTableSizeIcon)
val tableSizeText = itemView.findViewById<AppCompatTextView?>(R.id.sessionInfoTableSize)
row.tableSize?.let {
tableSizeIcon?.isVisible = true
tableSizeText?.isVisible = true
tableSizeText?.text = TableSize(it).localizedTitle(itemView.context)
} ?: run {
tableSizeIcon?.isVisible = false
tableSizeText?.isVisible = false
}
itemView.findViewById<AppCompatTextView>(R.id.top10ResultPart3)?.let { part3 ->
itemView.findViewById<AppCompatTextView>(R.id.sessionDate)?.let { part3 ->
part3.text = row.creationDate.longDate()
}
}

@ -21,20 +21,41 @@
tools:text="$ 1000" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/top10ResultPart1"
android:id="@+id/sessionDate"
style="@style/PokerAnalyticsTheme.TextView.Top10Row"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="8dp"
android:gravity="center"
app:layout_constraintTop_toBottomOf="@+id/gameResult"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
tools:text="July 22th, 2019" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/sessionGameType"
style="@style/PokerAnalyticsTheme.TextView.Top10Row"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginStart="8dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="8dp"
android:gravity="center"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/sessionDate"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/gameResult"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintEnd_toEndOf="parent"
tools:text="$300 NL Hold'em" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/sessionGameType"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:gravity="center">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/sessionInfoDurationIcon"
android:layout_width="20dp"
@ -43,12 +64,6 @@
android:src="@drawable/clock"
android:tint="@color/kaki_lighter"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/sessionInfoDuration"
app:layout_constraintEnd_toStartOf="@+id/sessionInfoDuration"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/sessionInfoDuration"
tools:visibility="visible" />
<androidx.appcompat.widget.AppCompatTextView
@ -60,12 +75,6 @@
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/kaki_lighter"
app:layout_constraintBottom_toTopOf="@+id/top10ResultPart3"
app:layout_constraintEnd_toStartOf="@+id/sessionInfoLocationIcon"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toEndOf="@+id/sessionInfoDurationIcon"
app:layout_constraintTop_toBottomOf="@+id/top10ResultPart1"
tools:text="4:21"
tools:visibility="visible" />
@ -77,14 +86,8 @@
android:src="@drawable/pin"
android:tint="@color/kaki_lighter"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/sessionInfoDuration"
app:layout_constraintEnd_toStartOf="@+id/sessionInfoLocation"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/sessionInfoDuration"
app:layout_constraintTop_toTopOf="@+id/sessionInfoDuration"
tools:visibility="visible" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/sessionInfoLocation"
style="@style/PokerAnalyticsTheme.TextView.Top10Row"
@ -95,47 +98,32 @@
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/kaki_lighter"
app:layout_constraintBottom_toTopOf="@+id/top10ResultPart3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toEndOf="@+id/sessionInfoLocationIcon"
app:layout_constraintTop_toBottomOf="@+id/top10ResultPart1"
tools:text="Rennes, France"
tools:visibility="visible" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/sessionInfoTableSizeIcon"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="8dp"
android:src="@drawable/info"
android:tint="@color/kaki_lighter"
android:visibility="gone"
tools:visibility="visible" />
<!--
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/top10ResultPart2"
android:id="@+id/sessionInfoTableSize"
style="@style/PokerAnalyticsTheme.TextView.Top10Row"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:gravity="center"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/top10ResultPart1"
app:layout_constraintVertical_chainStyle="packed"
tools:text="10:30 - Hollywood Park" /> -->
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/kaki_lighter"
tools:text="Rennes, France"
tools:visibility="visible" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/top10ResultPart3"
style="@style/PokerAnalyticsTheme.TextView.Top10Row"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="8dp"
android:gravity="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/top10ResultPart2"
app:layout_constraintVertical_chainStyle="packed"
tools:text="July 22th, 2019" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
Loading…
Cancel
Save