Put Bankroll in Settings and Settings instead of More

csv
Laurent 6 years ago
parent 18097e2968
commit 12f6ba6f45
  1. 90
      app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt
  2. 2
      app/src/main/java/net/pokeranalytics/android/ui/adapter/HomePagerAdapter.kt
  3. 10
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
  4. 17
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SettingRow.kt
  5. 12
      app/src/main/res/menu/navigation_home.xml

@ -3,7 +3,6 @@ package net.pokeranalytics.android.ui.activity
import android.app.KeyguardManager
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Bundle
import com.google.android.material.bottomnavigation.BottomNavigationView
@ -11,15 +10,10 @@ import io.realm.RealmResults
import kotlinx.android.synthetic.main.activity_home.*
import net.pokeranalytics.android.BuildConfig
import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.model.realm.Currency
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.RequestCode
import net.pokeranalytics.android.ui.activity.components.ResultCode
import net.pokeranalytics.android.ui.adapter.HomePagerAdapter
import net.pokeranalytics.android.ui.extensions.showAlertDialog
import net.pokeranalytics.android.util.billing.AppGuard
import timber.log.Timber
class HomeActivity : PokerAnalyticsActivity() {
@ -49,7 +43,7 @@ class HomeActivity : PokerAnalyticsActivity() {
R.id.navigation_reports -> {
displayFragment(3)
}
R.id.navigation_more -> {
R.id.navigation_settings -> {
displayFragment(4)
}
}
@ -81,50 +75,50 @@ class HomeActivity : PokerAnalyticsActivity() {
}
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
setIntent(intent)
intent?.let {
when (intent.action) {
"android.intent.action.VIEW" -> { // import
val data = it.data
if (data != null) {
this.requestImportConfirmation(data)
} else {
throw PAIllegalStateException("URI null on import")
}
}
else -> {
Timber.w("Intent ${intent.action} unmanaged")
}
}
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {
RequestCode.IMPORT.value -> {
if (resultCode == ResultCode.IMPORT_UNRECOGNIZED_FORMAT.value) {
showAlertDialog(context = this, message = R.string.unknown_import_format_popup_message)
}
}
}
}
// override fun onNewIntent(intent: Intent?) {
// super.onNewIntent(intent)
//
// setIntent(intent)
// intent?.let {
//
// when (intent.action) {
// "android.intent.action.VIEW" -> { // import
// val data = it.data
// if (data != null) {
// this.requestImportConfirmation(data)
// } else {
// throw PAIllegalStateException("URI null on import")
// }
// }
// else -> {
// Timber.w("Intent ${intent.action} unmanaged")
// }
// }
// }
//
// }
// override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
// super.onActivityResult(requestCode, resultCode, data)
//
// when (requestCode) {
// RequestCode.IMPORT.value -> {
// if (resultCode == ResultCode.IMPORT_UNRECOGNIZED_FORMAT.value) {
// showAlertDialog(context = this, message = R.string.unknown_import_format_popup_message)
// }
// }
// }
// }
// Import
private fun requestImportConfirmation(uri: Uri) {
showAlertDialog(context = this, title = R.string.import_confirmation, showCancelButton = true, positiveAction = {
ImportActivity.newInstanceForResult(this, uri)
})
}
// private fun requestImportConfirmation(uri: Uri) {
//
// showAlertDialog(context = this, title = R.string.import_confirmation, showCancelButton = true, positiveAction = {
// ImportActivity.newInstanceForResult(this, uri)
// })
//
// }
private fun observeRealmObjects() {

@ -21,7 +21,7 @@ class HomePagerAdapter(fragmentManager: FragmentManager) : FragmentStatePagerAda
1 -> StatisticsFragment.newInstance()
2 -> CalendarFragment.newInstance()
3 -> ReportsFragment.newInstance()
4 -> MoreFragment.newInstance()
4 -> SettingsFragment.newInstance()
else -> FeedFragment.newInstance()
}
}

@ -14,10 +14,7 @@ import kotlinx.android.synthetic.main.fragment_settings.*
import net.pokeranalytics.android.BuildConfig
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.activity.BillingActivity
import net.pokeranalytics.android.ui.activity.CurrenciesActivity
import net.pokeranalytics.android.ui.activity.DataListActivity
import net.pokeranalytics.android.ui.activity.GDPRActivity
import net.pokeranalytics.android.ui.activity.*
import net.pokeranalytics.android.ui.activity.components.RequestCode
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
@ -111,6 +108,9 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Sta
override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) {
when (row) {
SettingRow.BANKROLL_REPORT -> {
BankrollActivity.newInstance(requireContext())
}
SettingRow.SUBSCRIPTION -> {
if (!AppGuard.isProUser) {
BillingActivity.newInstanceForResult(this, false)
@ -145,6 +145,8 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Sta
*/
private fun initUI() {
setToolbarTitle(getString(R.string.more))
setDisplayHomeAsUpEnabled(true)
val viewManager = LinearLayoutManager(requireContext())

@ -8,6 +8,9 @@ import net.pokeranalytics.android.ui.view.RowViewType
enum class SettingRow : RowRepresentable {
// More
BANKROLL_REPORT,
// About
SUBSCRIPTION,
VERSION,
@ -44,6 +47,10 @@ enum class SettingRow : RowRepresentable {
fun getRows(): ArrayList<RowRepresentable> {
val rows = ArrayList<RowRepresentable>()
rows.add(CustomizableRowRepresentable(customViewType = RowViewType.HEADER_TITLE, resId = R.string.reports))
rows.addAll(arrayListOf(BANKROLL_REPORT))
rows.add(CustomizableRowRepresentable(customViewType = RowViewType.HEADER_TITLE, resId = R.string.information))
rows.addAll(arrayListOf(VERSION, RATE_APP, CONTACT_US, BUG_REPORT))
// rows.addAll(arrayListOf(SUBSCRIPTION, VERSION, RATE_APP, CONTACT_US, BUG_REPORT))
@ -76,6 +83,7 @@ enum class SettingRow : RowRepresentable {
return it.pluralResId
} ?: run {
return when (this) {
BANKROLL_REPORT -> R.string.bankroll
SUBSCRIPTION -> R.string.subscription
VERSION -> R.string.version
RATE_APP -> R.string.releasenote_rating
@ -96,6 +104,7 @@ enum class SettingRow : RowRepresentable {
override val viewType: Int
get() {
return when (this) {
BANKROLL_REPORT -> RowViewType.TITLE_ICON_ARROW.ordinal
VERSION, SUBSCRIPTION -> RowViewType.TITLE_VALUE.ordinal
LANGUAGE, CURRENCY -> RowViewType.TITLE_VALUE_ARROW.ordinal
FOLLOW_US -> RowViewType.ROW_FOLLOW_US.ordinal
@ -103,6 +112,14 @@ enum class SettingRow : RowRepresentable {
}
}
override val imageRes: Int?
get() {
return when(this) {
BANKROLL_REPORT -> R.drawable.ic_outline_lock
else -> null
}
}
override val relatedResultsRepresentable: LiveData?
get() {
return when (this) {

@ -21,14 +21,14 @@
android:icon="@drawable/ic_outline_chart_bar"
android:title="@string/reports" />
<!--<item-->
<!--android:id="@+id/navigation_settings"-->
<!--android:icon="@drawable/ic_outline_settings"-->
<!--android:title="@string/services" />-->
<item
android:id="@+id/navigation_more"
android:id="@+id/navigation_settings"
android:icon="@drawable/ic_outline_more"
android:title="@string/more" />
<!--<item-->
<!--android:id="@+id/navigation_more"-->
<!--android:icon="@drawable/ic_outline_more"-->
<!--android:title="@string/more" />-->
</menu>

Loading…
Cancel
Save