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.view.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Bankroll
import net.pokeranalytics.android.model.realm.DataList
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.BottomSheetFragment
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()
}
override fun clickOnDone(row: DynamicRowInterface) {
Toast.makeText(requireContext(), "Done: $row", Toast.LENGTH_SHORT).show()
}
override fun setValue(value: Any, row: DynamicRowInterface) {
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 kotlinx.android.synthetic.main.fragment_new_session.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Bankroll
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.model.realm.*
import net.pokeranalytics.android.ui.activity.EditableDataActivity
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.BottomSheetFragment
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import timber.log.Timber
class NewSessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomSheetDelegate {
@ -41,14 +40,11 @@ class NewSessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomS
}
override fun clickOnAdd(row: DynamicRowInterface) {
Toast.makeText(requireContext(), "Add new element: $row", Toast.LENGTH_SHORT).show()
when(row) {
SessionRow.GAME -> EditableDataActivity.newInstance(requireContext(), SettingRow.GAME.ordinal)
SessionRow.BANKROLL -> EditableDataActivity.newInstance(requireContext(), SettingRow.BANKROLL.ordinal)
SessionRow.LOCATION -> EditableDataActivity.newInstance(requireContext(), SettingRow.LOCATION.ordinal)
SessionRow.GAME -> EditableDataActivity.newInstance(requireContext(), DataList.GAME.ordinal)
SessionRow.BANKROLL -> EditableDataActivity.newInstance(requireContext(), DataList.BANKROLL.ordinal)
SessionRow.LOCATION -> EditableDataActivity.newInstance(requireContext(), DataList.LOCATION.ordinal)
}
}
override fun clickOnClear(row: DynamicRowInterface) {
@ -60,20 +56,17 @@ class NewSessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomS
sessionAdapter.notifyItemChanged(SessionRow.values().indexOf(row))
}
override fun setValue(value: Any, row: DynamicRowInterface) {
Timber.d("Value: $value")
Timber.d("Row: $row")
override fun clickOnDone(row: DynamicRowInterface) {
Toast.makeText(requireContext(), "clickOnDone: $row", Toast.LENGTH_SHORT).show()
}
override fun setValue(value: Any, row: DynamicRowInterface) {
when(row) {
SessionRow.GAME -> if (value is Game) currentSession.game = value
SessionRow.BANKROLL -> if (value is Bankroll) currentSession.bankroll = value
SessionRow.LOCATION -> if (value is Location) currentSession.location = value
}
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() {

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

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

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

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

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

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

Loading…
Cancel
Save