Improve bottom sheet & update SettingRow to DataList

dev_raz_wip
Aurelien Hubert 7 years ago
parent b7f531c723
commit 8e2ed30b40
  1. 10
      app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt
  2. 31
      app/src/main/java/net/pokeranalytics/android/ui/fragment/NewSessionFragment.kt
  3. 7
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDateFragment.kt
  4. 6
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDoubleEditTextFragment.kt
  5. 7
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDoubleListFragment.kt
  6. 6
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetEditTextFragment.kt
  7. 12
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetFragment.kt
  8. 5
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetListFragment.kt

@ -11,10 +11,12 @@ import io.realm.RealmObject
import kotlinx.android.synthetic.main.fragment_editable_data.* import kotlinx.android.synthetic.main.fragment_editable_data.*
import kotlinx.android.synthetic.main.fragment_editable_data.view.* import kotlinx.android.synthetic.main.fragment_editable_data.view.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Bankroll
import net.pokeranalytics.android.model.realm.DataList import net.pokeranalytics.android.model.realm.DataList
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.components.* import net.pokeranalytics.android.ui.adapter.components.DynamicListAdapter
import net.pokeranalytics.android.ui.adapter.components.DynamicRowCallback
import net.pokeranalytics.android.ui.adapter.components.DynamicRowDelegate
import net.pokeranalytics.android.ui.adapter.components.DynamicRowInterface
import net.pokeranalytics.android.ui.fragment.components.BottomSheetDelegate import net.pokeranalytics.android.ui.fragment.components.BottomSheetDelegate
import net.pokeranalytics.android.ui.fragment.components.BottomSheetFragment import net.pokeranalytics.android.ui.fragment.components.BottomSheetFragment
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
@ -48,6 +50,10 @@ class EditableDataFragment : PokerAnalyticsFragment(), DynamicRowCallback, Botto
Toast.makeText(requireContext(), "Clear: $row", Toast.LENGTH_SHORT).show() Toast.makeText(requireContext(), "Clear: $row", Toast.LENGTH_SHORT).show()
} }
override fun clickOnDone(row: DynamicRowInterface) {
Toast.makeText(requireContext(), "Done: $row", Toast.LENGTH_SHORT).show()
}
override fun setValue(value: Any, row: DynamicRowInterface) { override fun setValue(value: Any, row: DynamicRowInterface) {
Toast.makeText(requireContext(), "Callback for ${row.localizedTitle(requireContext())} ($value)", Toast.LENGTH_SHORT).show() Toast.makeText(requireContext(), "Callback for ${row.localizedTitle(requireContext())} ($value)", Toast.LENGTH_SHORT).show()
} }

@ -8,17 +8,16 @@ import android.widget.Toast
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.fragment_new_session.* import kotlinx.android.synthetic.main.fragment_new_session.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Bankroll import net.pokeranalytics.android.model.realm.*
import net.pokeranalytics.android.model.realm.Game
import net.pokeranalytics.android.model.realm.Location
import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.activity.EditableDataActivity import net.pokeranalytics.android.ui.activity.EditableDataActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.components.* import net.pokeranalytics.android.ui.adapter.components.DynamicListAdapter
import net.pokeranalytics.android.ui.adapter.components.DynamicRowCallback
import net.pokeranalytics.android.ui.adapter.components.DynamicRowInterface
import net.pokeranalytics.android.ui.adapter.components.SessionRow
import net.pokeranalytics.android.ui.fragment.components.BottomSheetDelegate import net.pokeranalytics.android.ui.fragment.components.BottomSheetDelegate
import net.pokeranalytics.android.ui.fragment.components.BottomSheetFragment import net.pokeranalytics.android.ui.fragment.components.BottomSheetFragment
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import timber.log.Timber
class NewSessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomSheetDelegate { class NewSessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomSheetDelegate {
@ -41,14 +40,11 @@ class NewSessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomS
} }
override fun clickOnAdd(row: DynamicRowInterface) { override fun clickOnAdd(row: DynamicRowInterface) {
Toast.makeText(requireContext(), "Add new element: $row", Toast.LENGTH_SHORT).show()
when(row) { when(row) {
SessionRow.GAME -> EditableDataActivity.newInstance(requireContext(), SettingRow.GAME.ordinal) SessionRow.GAME -> EditableDataActivity.newInstance(requireContext(), DataList.GAME.ordinal)
SessionRow.BANKROLL -> EditableDataActivity.newInstance(requireContext(), SettingRow.BANKROLL.ordinal) SessionRow.BANKROLL -> EditableDataActivity.newInstance(requireContext(), DataList.BANKROLL.ordinal)
SessionRow.LOCATION -> EditableDataActivity.newInstance(requireContext(), SettingRow.LOCATION.ordinal) SessionRow.LOCATION -> EditableDataActivity.newInstance(requireContext(), DataList.LOCATION.ordinal)
} }
} }
override fun clickOnClear(row: DynamicRowInterface) { override fun clickOnClear(row: DynamicRowInterface) {
@ -60,20 +56,17 @@ class NewSessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomS
sessionAdapter.notifyItemChanged(SessionRow.values().indexOf(row)) sessionAdapter.notifyItemChanged(SessionRow.values().indexOf(row))
} }
override fun setValue(value: Any, row: DynamicRowInterface) { override fun clickOnDone(row: DynamicRowInterface) {
Timber.d("Value: $value") Toast.makeText(requireContext(), "clickOnDone: $row", Toast.LENGTH_SHORT).show()
Timber.d("Row: $row") }
override fun setValue(value: Any, row: DynamicRowInterface) {
when(row) { when(row) {
SessionRow.GAME -> if (value is Game) currentSession.game = value SessionRow.GAME -> if (value is Game) currentSession.game = value
SessionRow.BANKROLL -> if (value is Bankroll) currentSession.bankroll = value SessionRow.BANKROLL -> if (value is Bankroll) currentSession.bankroll = value
SessionRow.LOCATION -> if (value is Location) currentSession.location = value SessionRow.LOCATION -> if (value is Location) currentSession.location = value
} }
sessionAdapter.notifyItemChanged(SessionRow.values().indexOf(row)) sessionAdapter.notifyItemChanged(SessionRow.values().indexOf(row))
Timber.d("Index: ${SessionRow.values().indexOf(row)}")
Toast.makeText(requireContext(), "Callback for ${row.localizedTitle(requireContext())} ($value)", Toast.LENGTH_SHORT).show()
} }
private fun initData() { private fun initData() {

@ -15,13 +15,6 @@ class BottomSheetDateFragment : BottomSheetFragment() {
initUI() initUI()
} }
override fun clickOnCheck() {
super.clickOnCheck()
//TODO: Change that
bottomSheetDelegate.setValue("", row)
dismiss()
}
/** /**
* Init data * Init data
*/ */

@ -17,12 +17,6 @@ class BottomSheetDoubleEditTextFragment : BottomSheetFragment() {
initUI() initUI()
} }
override fun clickOnCheck() {
super.clickOnCheck()
bottomSheetDelegate.setValue("", row)
dismiss()
}
override fun onStart() { override fun onStart() {
super.onStart() super.onStart()
editText1.requestFocus() editText1.requestFocus()

@ -22,13 +22,6 @@ class BottomSheetDoubleListFragment : BottomSheetFragment(), DisplayableDelegate
initUI() initUI()
} }
override fun clickOnCheck() {
super.clickOnCheck()
//TODO: Change that
bottomSheetDelegate.setValue("", row)
dismiss()
}
override fun data(position: Int): DisplayableDataSource { override fun data(position: Int): DisplayableDataSource {
//TODO: Change that //TODO: Change that
return Game() return Game()

@ -16,12 +16,6 @@ class BottomSheetEditTextFragment : BottomSheetFragment() {
initUI() initUI()
} }
override fun clickOnCheck() {
super.clickOnCheck()
bottomSheetDelegate.setValue("", row)
dismiss()
}
override fun onStart() { override fun onStart() {
super.onStart() super.onStart()
editText1.requestFocus() editText1.requestFocus()

@ -21,18 +21,15 @@ enum class BottomSheetType {
DOUBLE_EDIT_TEXT, DOUBLE_EDIT_TEXT,
} }
interface BottomSheetInterface {
fun clickOnCheck()
}
interface BottomSheetDelegate { interface BottomSheetDelegate {
fun clickOnAdd(row: DynamicRowInterface) fun clickOnAdd(row: DynamicRowInterface)
fun clickOnClear(row: DynamicRowInterface) fun clickOnClear(row: DynamicRowInterface)
fun clickOnDone(row: DynamicRowInterface)
fun setValue(value: Any, row: DynamicRowInterface) fun setValue(value: Any, row: DynamicRowInterface)
} }
open class BottomSheetFragment : BottomSheetDialogFragment(), BottomSheetInterface { open class BottomSheetFragment : BottomSheetDialogFragment() {
lateinit var row: DynamicRowInterface lateinit var row: DynamicRowInterface
lateinit var bottomSheetDelegate: BottomSheetDelegate lateinit var bottomSheetDelegate: BottomSheetDelegate
@ -79,9 +76,6 @@ open class BottomSheetFragment : BottomSheetDialogFragment(), BottomSheetInterfa
dialog?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE) dialog?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)
} }
override fun clickOnCheck() {
}
/** /**
* Init UI * Init UI
*/ */
@ -105,7 +99,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment(), BottomSheetInterfa
true true
} }
bottomSheetToolbar.menu.findItem(R.id.actionCheck).setOnMenuItemClickListener { bottomSheetToolbar.menu.findItem(R.id.actionCheck).setOnMenuItemClickListener {
clickOnCheck() bottomSheetDelegate.clickOnDone(row)
dismiss() dismiss()
true true
} }

@ -24,11 +24,6 @@ class BottomSheetListFragment : BottomSheetFragment(), DisplayableDelegate {
initUI() initUI()
} }
override fun clickOnCheck() {
super.clickOnCheck()
bottomSheetDelegate.setValue("", row)
}
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
dataAdapter.notifyDataSetChanged() dataAdapter.notifyDataSetChanged()

Loading…
Cancel
Save