Refactored PokerAnalytics[Activity + Fragment] into Base[...] + cleanup

od
Laurent 6 years ago
parent d97652233b
commit 2007cc551e
  1. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/BankrollActivity.kt
  2. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/BankrollDetailsActivity.kt
  3. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/BillingActivity.kt
  4. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/CalendarDetailsActivity.kt
  5. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/ColorPickerActivity.kt
  6. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/ComparisonChartActivity.kt
  7. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/CurrenciesActivity.kt
  8. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/DataListActivity.kt
  9. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/FilterDetailsActivity.kt
  10. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/FiltersActivity.kt
  11. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/FiltersListActivity.kt
  12. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/GDPRActivity.kt
  13. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/GraphActivity.kt
  14. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt
  15. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/ImportActivity.kt
  16. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/NewDataMenuActivity.kt
  17. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/ReportCreationActivity.kt
  18. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/SessionActivity.kt
  19. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/SettingsActivity.kt
  20. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/Top10Activity.kt
  21. 2
      app/src/main/java/net/pokeranalytics/android/ui/activity/components/BaseActivity.kt
  22. 2
      app/src/main/java/net/pokeranalytics/android/ui/activity/components/MediaActivity.kt
  23. 2
      app/src/main/java/net/pokeranalytics/android/ui/activity/components/ReportActivity.kt
  24. 10
      app/src/main/java/net/pokeranalytics/android/ui/adapter/ComparisonChartPagerAdapter.kt
  25. 10
      app/src/main/java/net/pokeranalytics/android/ui/adapter/HomePagerAdapter.kt
  26. 40
      app/src/main/java/net/pokeranalytics/android/ui/adapter/ReportPagerAdapter.kt
  27. 18
      app/src/main/java/net/pokeranalytics/android/ui/extensions/UIExtensions.kt
  28. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarDetailsFragment.kt
  29. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/ComparisonChartFragment.kt
  30. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/CurrenciesFragment.kt
  31. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/MoreFragment.kt
  32. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
  33. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SubscriptionFragment.kt
  34. 21
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BaseFragment.kt
  35. 3
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/RealmFragment.kt
  36. 2
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/ScreenSlidePageFragment.kt
  37. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt
  38. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetMultiSelectionFragment.kt
  39. 44
      app/src/main/java/net/pokeranalytics/android/ui/helpers/PlacePickerManager.kt

@ -9,9 +9,9 @@ import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Bankroll
import net.pokeranalytics.android.model.realm.ComputableResult
import net.pokeranalytics.android.model.realm.Transaction
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
class BankrollActivity : PokerAnalyticsActivity() {
class BankrollActivity : BaseActivity() {
private lateinit var computableResults: RealmResults<ComputableResult>
private lateinit var bankrolls: RealmResults<Bankroll>

@ -5,10 +5,10 @@ import android.os.Bundle
import androidx.fragment.app.Fragment
import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.bankroll.BankrollReport
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.fragment.BankrollDetailsFragment
class BankrollDetailsActivity : PokerAnalyticsActivity() {
class BankrollDetailsActivity : BaseActivity() {
companion object {

@ -5,11 +5,11 @@ import android.content.Intent
import android.os.Bundle
import androidx.fragment.app.Fragment
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.activity.components.RequestCode
import net.pokeranalytics.android.ui.fragment.SubscriptionFragment
class BillingActivity : PokerAnalyticsActivity() {
class BillingActivity : BaseActivity() {
private enum class IntentKey(val keyName: String) {
SHOW_MESSAGE("showMessage"),

@ -7,11 +7,11 @@ import androidx.lifecycle.ViewModelProviders
import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.ComputedResults
import net.pokeranalytics.android.model.filter.QueryCondition
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.viewmodel.CalendarDetailsViewModel
class CalendarDetailsActivity : PokerAnalyticsActivity() {
class CalendarDetailsActivity : BaseActivity() {
private val viewModel: CalendarDetailsViewModel by lazy {
ViewModelProviders.of(this).get(CalendarDetailsViewModel::class.java)

@ -10,9 +10,9 @@ import android.view.View
import androidx.fragment.app.Fragment
import kotlinx.android.synthetic.main.activity_color_picker.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
class ColorPickerActivity : PokerAnalyticsActivity() {
class ColorPickerActivity : BaseActivity() {
companion object {

@ -5,9 +5,9 @@ import android.content.Intent
import android.os.Bundle
import androidx.fragment.app.Fragment
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
class ComparisonChartActivity : PokerAnalyticsActivity() {
class ComparisonChartActivity : BaseActivity() {
companion object {
fun newInstance(context: Context) {

@ -5,9 +5,9 @@ import android.content.Intent
import android.os.Bundle
import androidx.fragment.app.Fragment
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
class CurrenciesActivity : PokerAnalyticsActivity() {
class CurrenciesActivity : BaseActivity() {
companion object {
fun newInstance(context: Context) {

@ -6,11 +6,11 @@ import android.os.Bundle
import androidx.fragment.app.Fragment
import kotlinx.android.synthetic.main.activity_data_list.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.fragment.DataListFragment
import net.pokeranalytics.android.ui.interfaces.FilterActivityRequestCode
class DataListActivity : PokerAnalyticsActivity() {
class DataListActivity : BaseActivity() {
enum class IntentKey(val keyName: String) {
DATA_TYPE("DATA_TYPE"),

@ -6,10 +6,10 @@ import android.os.Bundle
import androidx.fragment.app.Fragment
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Filter
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.fragment.FilterDetailsFragment
class FilterDetailsActivity : PokerAnalyticsActivity() {
class FilterDetailsActivity : BaseActivity() {
enum class IntentKey(val keyName: String) {
FILTER_ID("FILTER_ID"),

@ -5,12 +5,12 @@ import android.content.Intent
import android.os.Bundle
import androidx.fragment.app.Fragment
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.fragment.FiltersFragment
import net.pokeranalytics.android.ui.interfaces.FilterActivityRequestCode
import net.pokeranalytics.android.ui.interfaces.FilterableType
class FiltersActivity : PokerAnalyticsActivity() {
class FiltersActivity : BaseActivity() {
enum class IntentKey(val keyName: String) {
FILTER_ID("FILTER_ID"),

@ -6,11 +6,11 @@ import android.os.Bundle
import androidx.fragment.app.Fragment
import kotlinx.android.synthetic.main.activity_filters_list.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.fragment.FiltersListFragment
import net.pokeranalytics.android.ui.interfaces.FilterActivityRequestCode
class FiltersListActivity : PokerAnalyticsActivity() {
class FiltersListActivity : BaseActivity() {
enum class IntentKey(val keyName: String) {
DATA_TYPE("DATA_TYPE"),

@ -5,9 +5,9 @@ import android.content.Intent
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_gdpr.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
class GDPRActivity : PokerAnalyticsActivity() {
class GDPRActivity : BaseActivity() {
companion object {
fun newInstance(context: Context) {

@ -9,13 +9,13 @@ import com.github.mikephil.charting.data.LineDataSet
import kotlinx.android.synthetic.main.activity_graph.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.fragment.GraphFragment
import net.pokeranalytics.android.ui.viewmodel.GraphViewModel
import net.pokeranalytics.android.ui.viewmodel.ViewModelHolder
class GraphActivity : PokerAnalyticsActivity(), ViewModelHolder {
class GraphActivity : BaseActivity(), ViewModelHolder {
override val viewModel: GraphViewModel by lazy {
ViewModelProviders.of(this).get(GraphViewModel::class.java)

@ -11,12 +11,12 @@ import kotlinx.android.synthetic.main.activity_home.*
import net.pokeranalytics.android.BuildConfig
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Currency
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.adapter.HomePagerAdapter
import net.pokeranalytics.android.util.billing.AppGuard
class HomeActivity : PokerAnalyticsActivity() {
class HomeActivity : BaseActivity() {
companion object {
fun newInstance(context: Context, id: Int) {

@ -10,7 +10,7 @@ import androidx.fragment.app.FragmentActivity
import io.realm.Realm
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.activity.components.RequestCode
import net.pokeranalytics.android.ui.activity.components.ResultCode
import net.pokeranalytics.android.ui.extensions.showAlertDialog
@ -19,7 +19,7 @@ import net.pokeranalytics.android.util.billing.AppGuard
import net.pokeranalytics.android.util.extensions.count
import timber.log.Timber
class ImportActivity : PokerAnalyticsActivity() {
class ImportActivity : BaseActivity() {
private lateinit var fileURI: Uri

@ -15,11 +15,11 @@ import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.extensions.px
class NewDataMenuActivity : PokerAnalyticsActivity() {
class NewDataMenuActivity : BaseActivity() {
enum class IntentKey(val keyName: String) {
CHOICE("CHOICE"),

@ -6,10 +6,10 @@ import android.os.Bundle
import androidx.fragment.app.Fragment
import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.Calculator
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.activity.components.RequestCode
class ReportCreationActivity : PokerAnalyticsActivity() {
class ReportCreationActivity : BaseActivity() {
companion object {

@ -7,11 +7,11 @@ import android.os.Bundle
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProviders
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.fragment.SessionFragment
import net.pokeranalytics.android.ui.viewmodel.SessionViewModel
class SessionActivity: PokerAnalyticsActivity() {
class SessionActivity: BaseActivity() {
private lateinit var sessionFragment: SessionFragment

@ -5,9 +5,9 @@ import android.content.Intent
import android.os.Bundle
import androidx.fragment.app.Fragment
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
class SettingsActivity : PokerAnalyticsActivity() {
class SettingsActivity : BaseActivity() {
companion object {
fun newInstance(context: Context) {

@ -5,9 +5,9 @@ import android.content.Intent
import android.os.Bundle
import androidx.fragment.app.Fragment
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
class Top10Activity : PokerAnalyticsActivity() {
class Top10Activity : BaseActivity() {
companion object {
fun newInstance(context: Context) {

@ -18,7 +18,7 @@ import net.pokeranalytics.android.util.PermissionRequest
import java.util.*
abstract class PokerAnalyticsActivity : AppCompatActivity() {
abstract class BaseActivity : AppCompatActivity() {
companion object {
const val PERMISSION_REQUEST_ACCESS_FINE_LOCATION = 1000

@ -19,7 +19,7 @@ import java.io.IOException
import java.util.*
open class MediaActivity : PokerAnalyticsActivity() {
open class MediaActivity : BaseActivity() {
companion object {
const val SELECTED_CHOICE_TAKE_PICTURE = 10

@ -12,7 +12,7 @@ import net.pokeranalytics.android.ui.viewmodel.ViewModelHolder
class ReportParameters(var report: Report, var title: String, var stat: Stat? = null, var showAggregationChoices: Boolean = true)
abstract class ReportActivity : PokerAnalyticsActivity(), ViewModelHolder {
abstract class ReportActivity : BaseActivity(), ViewModelHolder {
// private val viewModelFactory: ReportViewModelFactory by lazy {
// ReportViewModel.parameters?.let {

@ -9,7 +9,7 @@ import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.fragment.CalendarFragment
import net.pokeranalytics.android.ui.fragment.FeedFragment
import net.pokeranalytics.android.ui.fragment.GraphFragment
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.fragment.components.BaseFragment
import java.lang.ref.WeakReference
/**
@ -17,9 +17,9 @@ import java.lang.ref.WeakReference
*/
class ComparisonChartPagerAdapter(val context: Context, fragmentManager: FragmentManager) : FragmentStatePagerAdapter(fragmentManager) {
var weakReferences = SparseArray<WeakReference<PokerAnalyticsFragment>>()
var weakReferences = SparseArray<WeakReference<BaseFragment>>()
override fun getItem(position: Int): PokerAnalyticsFragment {
override fun getItem(position: Int): BaseFragment {
return when (position) {
0 -> GraphFragment.newInstance(GraphFragment.Style.BAR)
1 -> GraphFragment.newInstance(GraphFragment.Style.MULTILINE)
@ -47,7 +47,7 @@ class ComparisonChartPagerAdapter(val context: Context, fragmentManager: Fragmen
}
override fun instantiateItem(container: ViewGroup, position: Int): Any {
val fragment = super.instantiateItem(container, position) as PokerAnalyticsFragment
val fragment = super.instantiateItem(container, position) as BaseFragment
weakReferences.put(position, WeakReference(fragment))
return fragment
}
@ -59,7 +59,7 @@ class ComparisonChartPagerAdapter(val context: Context, fragmentManager: Fragmen
/**
* Return the fragment at the position key
*/
fun getFragment(key: Int): PokerAnalyticsFragment? {
fun getFragment(key: Int): BaseFragment? {
if (weakReferences.get(key) != null) {
return weakReferences.get(key).get()
}

@ -5,7 +5,7 @@ import android.view.ViewGroup
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentStatePagerAdapter
import net.pokeranalytics.android.ui.fragment.*
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.fragment.components.BaseFragment
import java.lang.ref.WeakReference
/**
@ -13,9 +13,9 @@ import java.lang.ref.WeakReference
*/
class HomePagerAdapter(fragmentManager: FragmentManager) : FragmentStatePagerAdapter(fragmentManager) {
var weakReferences = SparseArray<WeakReference<PokerAnalyticsFragment>>()
var weakReferences = SparseArray<WeakReference<BaseFragment>>()
override fun getItem(position: Int): PokerAnalyticsFragment {
override fun getItem(position: Int): BaseFragment {
return when (position) {
0 -> FeedFragment.newInstance()
1 -> StatisticsFragment.newInstance()
@ -36,7 +36,7 @@ class HomePagerAdapter(fragmentManager: FragmentManager) : FragmentStatePagerAda
}
override fun instantiateItem(container: ViewGroup, position: Int): Any {
val fragment = super.instantiateItem(container, position) as PokerAnalyticsFragment
val fragment = super.instantiateItem(container, position) as BaseFragment
weakReferences.put(position, WeakReference(fragment))
return fragment
}
@ -55,7 +55,7 @@ class HomePagerAdapter(fragmentManager: FragmentManager) : FragmentStatePagerAda
/**
* Return the fragment at the position key
*/
fun getFragment(key: Int): PokerAnalyticsFragment? {
fun getFragment(key: Int): BaseFragment? {
if (weakReferences.get(key) != null) {
return weakReferences.get(key).get()
}

@ -4,33 +4,32 @@ import android.content.Context
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.ui.fragment.GraphFragment
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.fragment.components.BaseFragment
import net.pokeranalytics.android.ui.fragment.report.ComposableTableReportFragment
import net.pokeranalytics.android.ui.viewmodel.ReportHolder
/**
* Home Adapter
*/
class ReportPagerAdapter(val context: Context, val fragmentManager: FragmentManager, private val reportHolder: ReportHolder) : FragmentPagerAdapter(fragmentManager) {
class ReportPagerAdapter(private val context: Context,
val fragmentManager: FragmentManager,
private val reportHolder: ReportHolder) : FragmentPagerAdapter(fragmentManager) {
// private var weakReferences = SparseArray<WeakReference<PokerAnalyticsFragment>>()
override fun getItem(position: Int): PokerAnalyticsFragment {
override fun getItem(position: Int): BaseFragment {
return when (position) {
0 -> {
// val dataSetList = listOf(report.barEntries(null, context))
GraphFragment.newInstance(style = GraphFragment.Style.BAR)
}
1 -> {
// val dataSetList = report.multiLineEntries(context = context)
GraphFragment.newInstance(style = GraphFragment.Style.MULTILINE)
}
2 -> {
val report = this.reportHolder.report
ComposableTableReportFragment.newInstance(report)
}
else -> PokerAnalyticsFragment()
else -> throw PAIllegalStateException("Should never happen")
}
}
@ -47,29 +46,4 @@ class ReportPagerAdapter(val context: Context, val fragmentManager: FragmentMana
}
}
// override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
// super.destroyItem(container, position, `object`)
// weakReferences.remove(position)
// }
//
// override fun instantiateItem(container: ViewGroup, position: Int): Any {
// val fragment = super.instantiateItem(container, position) as PokerAnalyticsFragment
// weakReferences.put(position, WeakReference(fragment))
// return fragment
// }
//
// override fun getItemPosition(obj: Any): Int {
// return PagerAdapter.POSITION_UNCHANGED
// }
// /**
// * Return the fragment at the position key
// */
// fun getFragment(key: Int): PokerAnalyticsFragment? {
// if (weakReferences.get(key) != null) {
// return weakReferences.get(key).get()
// }
// return null
// }
}

@ -18,8 +18,8 @@ import androidx.core.content.FileProvider
import androidx.core.view.isVisible
import net.pokeranalytics.android.BuildConfig
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.fragment.components.BaseFragment
import net.pokeranalytics.android.util.DeviceUtils
import net.pokeranalytics.android.util.TextFormat
import net.pokeranalytics.android.util.URL
@ -39,16 +39,16 @@ val Float.px: Float
// Toast
fun PokerAnalyticsActivity.toast(message: String) {
fun BaseActivity.toast(message: String) {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show()
}
fun PokerAnalyticsFragment.toast(message: String) {
fun BaseFragment.toast(message: String) {
Toast.makeText(requireContext(), message, Toast.LENGTH_SHORT).show()
}
// Open Play Store for rating
fun PokerAnalyticsActivity.openPlayStorePage() {
fun BaseActivity.openPlayStorePage() {
val uri = Uri.parse("market://details?id=$packageName")
val goToMarket = Intent(Intent.ACTION_VIEW, uri)
goToMarket.addFlags(
@ -69,7 +69,7 @@ fun PokerAnalyticsActivity.openPlayStorePage() {
}
// Open email for "Contact us"
fun PokerAnalyticsActivity.openContactMail(subjectStringRes: Int, filePath: String? = null) {
fun BaseActivity.openContactMail(subjectStringRes: Int, filePath: String? = null) {
val info =
"v${BuildConfig.VERSION_NAME}(${BuildConfig.VERSION_CODE}) - ${AppGuard.isProUser}, Android ${android.os.Build.VERSION.SDK_INT}, ${DeviceUtils.getDeviceName()}"
@ -94,7 +94,7 @@ fun PokerAnalyticsActivity.openContactMail(subjectStringRes: Int, filePath: Stri
}
// Open custom tab
fun PokerAnalyticsActivity.openUrl(url: String) {
fun BaseActivity.openUrl(url: String) {
val builder: CustomTabsIntent.Builder = CustomTabsIntent.Builder()
builder.setToolbarColor(ContextCompat.getColor(this, net.pokeranalytics.android.R.color.colorPrimary))
val customTabsIntent = builder.build()
@ -102,11 +102,11 @@ fun PokerAnalyticsActivity.openUrl(url: String) {
}
// Display Alert Dialog
fun PokerAnalyticsActivity.showAlertDialog(title: Int? = null, message: Int? = null) {
fun BaseActivity.showAlertDialog(title: Int? = null, message: Int? = null) {
showAlertDialog(this, title, message)
}
fun PokerAnalyticsFragment.showAlertDialog(title: Int? = null, message: Int? = null) {
fun BaseFragment.showAlertDialog(title: Int? = null, message: Int? = null) {
context?.let {
showAlertDialog(it, title, message)
}

@ -26,7 +26,7 @@ import net.pokeranalytics.android.ui.activity.GraphActivity
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.fragment.components.BaseFragment
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType
import net.pokeranalytics.android.ui.view.rowrepresentable.CustomizableRowRepresentable
@ -37,7 +37,7 @@ import timber.log.Timber
import java.util.*
import kotlin.collections.ArrayList
class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate {
class CalendarDetailsFragment : BaseFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate {
private val viewModel: CalendarDetailsViewModel by lazy {
ViewModelProviders.of(requireActivity()).get(CalendarDetailsViewModel::class.java)

@ -10,11 +10,11 @@ import net.pokeranalytics.android.ui.adapter.ComparisonChartPagerAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
import net.pokeranalytics.android.ui.extensions.toast
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.fragment.components.BaseFragment
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.rowrepresentable.MoreTabRow
class ComparisonChartFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate {
class ComparisonChartFragment : BaseFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate {
companion object {

@ -13,14 +13,14 @@ import net.pokeranalytics.android.R
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.fragment.components.BaseFragment
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType
import net.pokeranalytics.android.ui.view.rowrepresentable.SeparatorRow
import net.pokeranalytics.android.util.UserDefaults
import java.util.*
class CurrenciesFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate {
class CurrenciesFragment : BaseFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate {
companion object {

@ -13,11 +13,11 @@ import net.pokeranalytics.android.ui.activity.Top10Activity
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.fragment.components.BaseFragment
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.rowrepresentable.MoreTabRow
class MoreFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate {
class MoreFragment : BaseFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate {
companion object {

@ -24,7 +24,7 @@ import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
import net.pokeranalytics.android.ui.extensions.openContactMail
import net.pokeranalytics.android.ui.extensions.openPlayStorePage
import net.pokeranalytics.android.ui.extensions.openUrl
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.fragment.components.BaseFragment
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.rowrepresentable.SettingRow
import net.pokeranalytics.android.util.Preferences
@ -36,7 +36,7 @@ import timber.log.Timber
import java.util.*
class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, StaticRowRepresentableDataSource {
class SettingsFragment : BaseFragment(), RowRepresentableDelegate, StaticRowRepresentableDataSource {
companion object {

@ -29,7 +29,7 @@ import kotlinx.android.synthetic.main.fragment_subscription.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.ui.extensions.px
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.fragment.components.BaseFragment
import net.pokeranalytics.android.ui.fragment.components.ScreenSlidePageFragment
import net.pokeranalytics.android.util.Preferences
import net.pokeranalytics.android.util.billing.AppGuard
@ -38,7 +38,7 @@ import net.pokeranalytics.android.util.billing.PurchaseDelegate
import java.lang.ref.WeakReference
import java.time.Period
class SubscriptionFragment : PokerAnalyticsFragment(), SkuDetailsResponseListener, PurchaseDelegate, ViewPager.OnPageChangeListener {
class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, PurchaseDelegate, ViewPager.OnPageChangeListener {
companion object {
val parallax: Float = 64f.px

@ -6,13 +6,13 @@ import androidx.appcompat.widget.Toolbar
import androidx.fragment.app.Fragment
import com.crashlytics.android.Crashlytics
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import java.io.File
open class PokerAnalyticsFragment : Fragment() {
abstract class BaseFragment : Fragment() {
private var loaderDialogFragment: LoaderDialogFragment? = null
var parentActivity: PokerAnalyticsActivity? = null
var parentActivity: BaseActivity? = null
enum class BundleKey(val value: String) {
STYLE("style")
@ -53,6 +53,19 @@ open class PokerAnalyticsFragment : Fragment() {
*/
open fun onBackPressed() {}
/**
* Ask for app permission
*/
fun askForPermission(permissions: Array<String>, requestCode: Int, permissionCallback: ((granted: Boolean) -> Unit)) {
val baseActivity= requireActivity() as BaseActivity
baseActivity.askForPermission(permissions, requestCode, permissionCallback)
}
fun askForPermission(permission: String, requestCode: Int, permissionCallback: ((granted: Boolean) -> Unit)) {
val baseActivity= requireActivity() as BaseActivity
baseActivity.askForPermission(arrayOf(permission), requestCode, permissionCallback)
}
/**
* Init UI
*/
@ -60,7 +73,7 @@ open class PokerAnalyticsFragment : Fragment() {
setHasOptionsMenu(true)
parentActivity = activity as PokerAnalyticsActivity
parentActivity = activity as BaseActivity
// Set the toolbar to the parent activity

@ -7,9 +7,8 @@ import android.view.ViewGroup
import io.realm.Realm
import io.realm.RealmModel
import io.realm.RealmResults
import timber.log.Timber
open class RealmFragment : PokerAnalyticsFragment() {
open class RealmFragment : BaseFragment() {
/**
* A realm instance

@ -8,7 +8,7 @@ import kotlinx.android.synthetic.main.fragment_screen_slide_page.*
import net.pokeranalytics.android.R
class ScreenSlidePageFragment(var iconResId: Int, var titleResId: Int, var descriptionResId: Int) : PokerAnalyticsFragment() {
class ScreenSlidePageFragment(var iconResId: Int, var titleResId: Int, var descriptionResId: Int) : BaseFragment() {
override fun onCreateView(
inflater: LayoutInflater,

@ -18,7 +18,7 @@ import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.model.LiveData
import net.pokeranalytics.android.ui.activity.EditableDataActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor
@ -125,7 +125,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment() {
if (requestCode == REQUEST_CODE_ADD_NEW_OBJECT && resultCode == RESULT_OK && data != null) {
val dataType = data.getIntExtra(EditableDataActivity.IntentKey.DATA_TYPE.keyName, 0)
val primaryKey = data.getStringExtra(EditableDataActivity.IntentKey.PRIMARY_KEY.keyName)
val pokerAnalyticsActivity = activity as PokerAnalyticsActivity
val pokerAnalyticsActivity = activity as BaseActivity
val liveDataType = LiveData.values()[dataType]
this.viewModel.addedData = liveDataType.getData(pokerAnalyticsActivity.getRealm(), primaryKey)
this.viewModel.onRowValueChanged()

@ -5,7 +5,7 @@ import android.content.Intent
import io.realm.RealmModel
import net.pokeranalytics.android.model.LiveData
import net.pokeranalytics.android.ui.activity.EditableDataActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.activity.components.BaseActivity
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType
@ -22,7 +22,7 @@ open class BottomSheetMultiSelectionFragment : BottomSheetListFragment() {
if (requestCode == REQUEST_CODE_ADD_NEW_OBJECT && resultCode == Activity.RESULT_OK && data != null) {
val dataType = data.getIntExtra(EditableDataActivity.IntentKey.DATA_TYPE.keyName, 0)
val primaryKey = data.getStringExtra(EditableDataActivity.IntentKey.PRIMARY_KEY.keyName)
val pokerAnalyticsActivity = activity as PokerAnalyticsActivity
val pokerAnalyticsActivity = activity as BaseActivity
val liveDataType = LiveData.values()[dataType]
val proxyItem: RealmModel? = liveDataType.getData(pokerAnalyticsActivity.getRealm(), primaryKey)
this.viewModel.selectedRows.add(proxyItem as RowRepresentable)

@ -1,44 +0,0 @@
package net.pokeranalytics.android.ui.helpers
import androidx.appcompat.app.AlertDialog
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.view.RowRepresentable
/**
* Display a dialog with a list of places around the user
*/
class PlacePickerManager {
companion object {
fun create(
activity: PokerAnalyticsActivity,
row: RowRepresentable,
delegate: RowRepresentableDelegate,
maxResults: Int? = 3
) {
activity.askForPlacesRequest { success, places ->
if (success && places.size > 0) {
val placesArray = ArrayList<CharSequence>()
for ((index, place) in places.withIndex()) {
placesArray.add(place.place.name.toString())
if (index == (maxResults ?: 3) - 1) {
break
}
}
val builder = AlertDialog.Builder(activity)
builder.setItems(placesArray.toTypedArray()) { _, which ->
delegate.onRowValueChanged(places[which].place, row)
}.setOnCancelListener {
delegate.onRowValueChanged(null, row)
}
builder.show()
} else {
delegate.onRowValueChanged(null, row)
}
}
}
}
}
Loading…
Cancel
Save