Add new rows for Settings

feature/top10
Aurelien Hubert 7 years ago
parent ca47e01d67
commit d355ec0a6f
  1. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
  2. 51
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SettingRow.kt
  3. 2
      app/src/main/res/layout/fragment_settings.xml

@ -9,7 +9,9 @@ import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.fragment_settings.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.DataListActivity
import net.pokeranalytics.android.ui.adapter.*
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.rowrepresentable.SettingRow
@ -41,9 +43,9 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Sta
initData()
}
override fun adapterRows(): List<out RowRepresentable>? {
override fun adapterRows(): List<RowRepresentable>? {
val rows = ArrayList<RowRepresentable>()
rows.addAll(SettingRow.values())
rows.addAll(SettingRow.getRows())
return rows
}

@ -7,12 +7,52 @@ import net.pokeranalytics.android.ui.view.RowViewType
enum class SettingRow : RowRepresentable {
GDPR,
// About
VERSION,
RATE_APP,
CONTACT_US,
BUG_REPORT,
// Follow
FOLLOW_US,
// Data management
BANKROLL,
GAME,
LOCATION,
TOURNAMENT_TYPE,
TRANSACTION_TYPE;
TRANSACTION_TYPE,
// Terms
PRIVACY_POLICY,
TERMS_OF_USE,
GDPR;
companion object {
/**
* Return the rows to display for the current session state
*/
fun getRows(): ArrayList<RowRepresentable> {
val rows = ArrayList<RowRepresentable>()
rows.add(HeaderRowRepresentable(customViewType = RowViewType.HEADER_SESSION, resId = R.string.information))
rows.addAll(arrayListOf(VERSION, RATE_APP, CONTACT_US, BUG_REPORT))
rows.add(HeaderRowRepresentable(customViewType = RowViewType.HEADER_SESSION, resId = R.string.follow_us))
rows.addAll(arrayListOf(FOLLOW_US))
rows.add(HeaderRowRepresentable(customViewType = RowViewType.HEADER_SESSION,resId = R.string.data_management))
rows.addAll(arrayListOf(BANKROLL, GAME, LOCATION, TOURNAMENT_TYPE, TRANSACTION_TYPE))
rows.add(HeaderRowRepresentable(customViewType = RowViewType.HEADER_SESSION, resId = R.string.terms))
rows.addAll(arrayListOf(PRIVACY_POLICY, TERMS_OF_USE, GDPR))
return rows
}
}
override val resId: Int?
get() {
@ -20,6 +60,13 @@ enum class SettingRow : RowRepresentable {
return it.resId
} ?: run {
return when (this) {
VERSION -> R.string.version
RATE_APP -> R.string.releasenote_rating
CONTACT_US -> R.string.contact
BUG_REPORT -> R.string.bug_report
PRIVACY_POLICY -> R.string.privacy_policy
TERMS_OF_USE -> R.string.terms_of_use
FOLLOW_US -> R.string.follow_us
GDPR -> R.string.gdpr
else -> null
}

@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<net.pokeranalytics.android.ui.adapter.RowRepresentableRecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/customRecyclerView"
android:layout_width="0dp"
android:layout_height="0dp"

Loading…
Cancel
Save