diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt index defa6052..b2bf1e9e 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt @@ -8,11 +8,9 @@ import android.widget.Toast import androidx.recyclerview.widget.LinearLayoutManager import io.realm.Realm import io.realm.RealmObject -import kotlinx.android.synthetic.main.bottom_sheet_bankroll.* 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.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.adapter.components.* import net.pokeranalytics.android.ui.fragment.components.BottomSheetDelegate @@ -40,6 +38,10 @@ class EditableDataFragment : PokerAnalyticsFragment(), DynamicRowCallback, Botto BottomSheetFragment.create(fragmentManager, row, this, ArrayList()) } + override fun clickOnAdd(row: DynamicRowInterface) { + Toast.makeText(requireContext(), "Add new element: $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() } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/NewSessionFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/NewSessionFragment.kt index 881310d8..48e772aa 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/NewSessionFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/NewSessionFragment.kt @@ -9,10 +9,9 @@ import androidx.recyclerview.widget.LinearLayoutManager import kotlinx.android.synthetic.main.fragment_new_session.* import net.pokeranalytics.android.R import net.pokeranalytics.android.model.realm.Session +import net.pokeranalytics.android.ui.activity.EditableDataActivity import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity -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.* import net.pokeranalytics.android.ui.fragment.components.BottomSheetDelegate import net.pokeranalytics.android.ui.fragment.components.BottomSheetFragment import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment @@ -36,6 +35,17 @@ class NewSessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomS BottomSheetFragment.create(fragmentManager, row, this, data) } + 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, primaryKey = null) + SessionRow.BANKROLL -> EditableDataActivity.newInstance(requireContext(), SettingRow.BANKROLL.ordinal, primaryKey = null) + SessionRow.LOCATION -> EditableDataActivity.newInstance(requireContext(), SettingRow.LOCATION.ordinal, primaryKey = null) + } + + } + override fun setValue(value: Any, row: DynamicRowInterface) { Toast.makeText(requireContext(), "Callback for ${row.localizedTitle(requireContext())} ($value)", Toast.LENGTH_SHORT).show() } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDateFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDateFragment.kt index 8933d705..3304b3ee 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDateFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDateFragment.kt @@ -18,7 +18,7 @@ class BottomSheetDateFragment : BottomSheetFragment() { override fun clickOnCheck() { super.clickOnCheck() //TODO: Change that - valueDelegate.setValue("", row) + bottomSheetDelegate.setValue("", row) dismiss() } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDoubleEditTextFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDoubleEditTextFragment.kt index c2af5fa6..392b9cf6 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDoubleEditTextFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDoubleEditTextFragment.kt @@ -19,7 +19,7 @@ class BottomSheetDoubleEditTextFragment : BottomSheetFragment() { override fun clickOnCheck() { super.clickOnCheck() - valueDelegate.setValue("", row) + bottomSheetDelegate.setValue("", row) dismiss() } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDoubleListFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDoubleListFragment.kt index c4b400ab..76b9180b 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDoubleListFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDoubleListFragment.kt @@ -25,7 +25,7 @@ class BottomSheetDoubleListFragment : BottomSheetFragment(), DisplayableDelegate override fun clickOnCheck() { super.clickOnCheck() //TODO: Change that - valueDelegate.setValue("", row) + bottomSheetDelegate.setValue("", row) dismiss() } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetEditTextFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetEditTextFragment.kt index 1120a2b6..03b54c58 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetEditTextFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetEditTextFragment.kt @@ -18,7 +18,7 @@ class BottomSheetEditTextFragment : BottomSheetFragment() { override fun clickOnCheck() { super.clickOnCheck() - valueDelegate.setValue("", row) + bottomSheetDelegate.setValue("", row) dismiss() } @@ -41,8 +41,6 @@ class BottomSheetEditTextFragment : BottomSheetFragment() { LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_edit_text, view?.bottomSheetContainer, true) - - } } \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetFragment.kt index b1b974dc..66669d4d 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetFragment.kt @@ -5,7 +5,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.view.WindowManager -import androidx.constraintlayout.widget.ConstraintLayout import androidx.fragment.app.FragmentManager import com.google.android.material.bottomsheet.BottomSheetDialogFragment import kotlinx.android.synthetic.main.fragment_bottom_sheet.* @@ -29,6 +28,7 @@ interface BottomSheetInterface { } interface BottomSheetDelegate { + fun clickOnAdd(row: DynamicRowInterface) fun setValue(value: Any, row: DynamicRowInterface) } @@ -36,7 +36,7 @@ interface BottomSheetDelegate { open class BottomSheetFragment : BottomSheetDialogFragment(), BottomSheetInterface { lateinit var row: DynamicRowInterface - lateinit var valueDelegate: BottomSheetDelegate + lateinit var bottomSheetDelegate: BottomSheetDelegate private var data: ArrayList = ArrayList() @@ -44,7 +44,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment(), BottomSheetInterfa fun create( fragmentManager: FragmentManager?, row: DynamicRowInterface, - valueDelegate: BottomSheetDelegate, + bottomSheetDelegate: BottomSheetDelegate, data: ArrayList ): BottomSheetFragment { @@ -58,20 +58,14 @@ open class BottomSheetFragment : BottomSheetDialogFragment(), BottomSheetInterfa bottomSheetFragment.show(fragmentManager, "bottomSheet") bottomSheetFragment.row = row - bottomSheetFragment.valueDelegate = valueDelegate + bottomSheetFragment.bottomSheetDelegate = bottomSheetDelegate bottomSheetFragment.data = data return bottomSheetFragment } } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - val view = inflater.inflate( - net.pokeranalytics.android.R.layout.fragment_bottom_sheet, - container, - false - ) as ConstraintLayout - - return view + return inflater.inflate(R.layout.fragment_bottom_sheet,container,false) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { @@ -93,6 +87,8 @@ open class BottomSheetFragment : BottomSheetDialogFragment(), BottomSheetInterfa } override fun clickOnAdd() { + when (row) { + } } /** @@ -113,7 +109,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment(), BottomSheetInterfa true } bottomSheetToolbar.menu.findItem(R.id.actionAdd).setOnMenuItemClickListener { - clickOnAdd() + bottomSheetDelegate.clickOnAdd(row) true } bottomSheetToolbar.menu.findItem(R.id.actionCheck).setOnMenuItemClickListener { diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetListFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetListFragment.kt index d7c21fb0..1d3e5484 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetListFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetListFragment.kt @@ -13,10 +13,12 @@ import net.pokeranalytics.android.model.realm.Game import net.pokeranalytics.android.ui.adapter.components.DataListAdapter import net.pokeranalytics.android.ui.adapter.components.DisplayableDataSource import net.pokeranalytics.android.ui.adapter.components.DisplayableDelegate +import timber.log.Timber class BottomSheetListFragment : BottomSheetFragment(), DisplayableDelegate { private var realmData: RealmResults<*>? = null + private lateinit var dataAdapter: DataListAdapter override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -26,12 +28,13 @@ class BottomSheetListFragment : BottomSheetFragment(), DisplayableDelegate { override fun clickOnCheck() { super.clickOnCheck() - valueDelegate.setValue("", row) + bottomSheetDelegate.setValue("", row) dismiss() } - override fun onStart() { - super.onStart() + override fun onResume() { + super.onResume() + dataAdapter.notifyDataSetChanged() } override fun data(position: Int): DisplayableDataSource { @@ -71,7 +74,7 @@ class BottomSheetListFragment : BottomSheetFragment(), DisplayableDelegate { LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_list, view?.bottomSheetContainer, true) val viewManager = LinearLayoutManager(requireContext()) - val dataAdapter = DataListAdapter(this, R.layout.row_bottom_sheet_title) + dataAdapter = DataListAdapter(this, R.layout.row_bottom_sheet_title) gameNameRecyclerView.apply { setHasFixedSize(true) diff --git a/app/src/main/res/layout/bottom_sheet_list.xml b/app/src/main/res/layout/bottom_sheet_list.xml index 76f5da43..fbcf8383 100644 --- a/app/src/main/res/layout/bottom_sheet_list.xml +++ b/app/src/main/res/layout/bottom_sheet_list.xml @@ -1,13 +1,11 @@ - + android:layout_height="wrap_content"> + android:layout_height="200dp" /> - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_bottom_sheet.xml b/app/src/main/res/layout/fragment_bottom_sheet.xml index 73b79a38..26014337 100644 --- a/app/src/main/res/layout/fragment_bottom_sheet.xml +++ b/app/src/main/res/layout/fragment_bottom_sheet.xml @@ -1,28 +1,21 @@ - + android:layout_width="match_parent" + android:layout_height="wrap_content" /> - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/row_bottom_sheet_title.xml b/app/src/main/res/layout/row_bottom_sheet_title.xml index 95f4b4c9..989fe846 100644 --- a/app/src/main/res/layout/row_bottom_sheet_title.xml +++ b/app/src/main/res/layout/row_bottom_sheet_title.xml @@ -4,8 +4,8 @@ xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" - android:background="@color/kaki_medium" android:layout_height="wrap_content" + android:background="@color/kaki_medium" android:foreground="?selectableItemBackground" android:padding="8dp"> diff --git a/app/src/main/res/layout/row_title.xml b/app/src/main/res/layout/row_title.xml index 44662103..0f648782 100644 --- a/app/src/main/res/layout/row_title.xml +++ b/app/src/main/res/layout/row_title.xml @@ -1,27 +1,26 @@ - + + android:id="@+id/title" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:layout_marginTop="8dp" + android:layout_marginEnd="8dp" + android:layout_marginBottom="8dp" + android:textSize="20sp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:text="Data Type Title" /> \ No newline at end of file