diff --git a/app/build.gradle b/app/build.gradle index 9738bba9..ddf5f705 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,6 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' +//apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'realm-android' // Crashlytics @@ -34,8 +34,8 @@ android { applicationId "net.pokeranalytics.android" minSdkVersion 23 targetSdkVersion 35 - versionCode 172 - versionName "6.0.30" + versionCode 174 + versionName "6.0.32" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt index c12bd095..167564fe 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt @@ -4,6 +4,8 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat import com.github.mikephil.charting.charts.BarChart import com.github.mikephil.charting.charts.BarLineChartBase import com.github.mikephil.charting.charts.LineChart @@ -101,6 +103,7 @@ class GraphFragment : RealmFragment(), OnChartValueSelectedListener { initData() initUI() loadGraph() + } private fun initData() { diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BaseFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BaseFragment.kt index 4b876b9e..affb9dd6 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BaseFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BaseFragment.kt @@ -3,6 +3,8 @@ package net.pokeranalytics.android.ui.fragment.components import android.os.Bundle import android.view.View import androidx.appcompat.widget.Toolbar +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat import androidx.fragment.app.Fragment import com.google.android.material.snackbar.Snackbar import net.pokeranalytics.android.PokerAnalyticsApplication @@ -39,6 +41,12 @@ abstract class BaseFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) initUI() + + ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets -> + val statusBarHeight = insets.getInsets(WindowInsetsCompat.Type.statusBars()).top + v.setPadding(0, statusBarHeight, 0, 0) + insets + } } override fun onResume() { diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/RealmFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/RealmFragment.kt index a61491e3..c7cfeb7b 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/RealmFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/RealmFragment.kt @@ -4,6 +4,8 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat import io.realm.Realm import io.realm.RealmModel import io.realm.RealmResults diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetStakesFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetStakesFragment.kt index 4b01b72e..158b9ec3 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetStakesFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetStakesFragment.kt @@ -10,7 +10,6 @@ import android.view.inputmethod.EditorInfo import android.view.inputmethod.InputMethodManager import android.widget.EditText import androidx.core.widget.addTextChangedListener -import kotlinx.android.synthetic.main.view_keyboard_stakes.view.* import net.pokeranalytics.android.databinding.BottomSheetStakesBinding import net.pokeranalytics.android.exceptions.RowRepresentableEditDescriptorException import java.text.NumberFormat @@ -110,7 +109,7 @@ class BottomSheetStakesFragment : BottomSheetFragment() { this.focusEditTextAndHideKeyboard(binding.blindsEditText) // binding.stakesKeyboard.visibility = View.VISIBLE - binding.stakesKeyboard.value_separator.visibility = View.VISIBLE + binding.stakesKeyboard.setSeparatorVisibility(true) return@setOnTouchListener true @@ -122,7 +121,9 @@ class BottomSheetStakesFragment : BottomSheetFragment() { this.focusEditTextAndHideKeyboard(binding.anteEditText) - binding.stakesKeyboard.value_separator.visibility = View.GONE + binding.stakesKeyboard.setSeparatorVisibility(false) + +// binding.stakesKeyboard.value_separator.visibility = View.GONE // binding.stakesKeyboard.visibility = View.VISIBLE // binding.stakesKeyboard.visibility = View.GONE diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/settings/DealtHandsPerHourFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/settings/DealtHandsPerHourFragment.kt index c73bbfac..222dce06 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/settings/DealtHandsPerHourFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/settings/DealtHandsPerHourFragment.kt @@ -4,7 +4,6 @@ import android.app.Activity import android.os.Bundle import android.view.* import android.view.inputmethod.InputMethodManager -import kotlinx.android.synthetic.main.fragment_dealt_hands_config.* import net.pokeranalytics.android.R import net.pokeranalytics.android.databinding.FragmentDealtHandsConfigBinding import net.pokeranalytics.android.model.realm.ComputableResult @@ -50,8 +49,8 @@ class DealtHandsPerHourFragment : RealmFragment() { setDisplayHomeAsUpEnabled(true) val userConfig = UserConfig.getConfiguration(this.getRealm()) - this.liveValue.hint = "${userConfig.liveDealtHandsPerHour}" - this.onlineValue.hint = "${userConfig.onlineDealtHandsPerHour}" + this.binding.liveValue.hint = "${userConfig.liveDealtHandsPerHour}" + this.binding.onlineValue.hint = "${userConfig.onlineDealtHandsPerHour}" } @@ -60,10 +59,10 @@ class DealtHandsPerHourFragment : RealmFragment() { getRealm().executeTransaction { realm -> val userConfig = UserConfig.getConfiguration(realm) - this.liveValue.text.toString().toIntOrNull()?.let { liveDealtHandsPerHour -> + this.binding.liveValue.text.toString().toIntOrNull()?.let { liveDealtHandsPerHour -> userConfig.liveDealtHandsPerHour = liveDealtHandsPerHour } - this.onlineValue.text.toString().toIntOrNull()?.let { onlineDealtHandsPerHour -> + this.binding.onlineValue.text.toString().toIntOrNull()?.let { onlineDealtHandsPerHour -> userConfig.onlineDealtHandsPerHour = onlineDealtHandsPerHour } realm.copyToRealmOrUpdate(userConfig) @@ -76,8 +75,8 @@ class DealtHandsPerHourFragment : RealmFragment() { } } - this.liveValue.clearFocus() - this.onlineValue.clearFocus() + this.binding.liveValue.clearFocus() + this.binding.onlineValue.clearFocus() // Hides keyboard val imm: InputMethodManager = diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt index ef2eefd7..a05449e0 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt @@ -18,7 +18,6 @@ import com.github.mikephil.charting.data.* import com.google.android.material.chip.Chip import com.google.android.material.chip.ChipGroup import com.google.android.material.tabs.TabLayout -import kotlinx.android.synthetic.main.cell_calendar_time_unit.view.* import net.pokeranalytics.android.R import net.pokeranalytics.android.calculus.ComputedStat import net.pokeranalytics.android.calculus.Stat @@ -690,7 +689,8 @@ enum class RowViewType(private var layoutRes: Int) : ViewIdentifier { override fun onBind(position: Int, row: RowRepresentable, adapter: RecyclerAdapter) { if (row is CellResult) { - itemView.timeUnit.background = ContextCompat.getDrawable(itemView.context, row.background) + val timeUnit = itemView.findViewById(R.id.timeUnit) + timeUnit.background = ContextCompat.getDrawable(itemView.context, row.background) } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/keyboard/StakesKeyboardView.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/keyboard/StakesKeyboardView.kt index 7db5b1ab..ff0cb4ca 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/keyboard/StakesKeyboardView.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/keyboard/StakesKeyboardView.kt @@ -3,11 +3,11 @@ package net.pokeranalytics.android.ui.view.keyboard import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater +import android.view.View import android.view.inputmethod.InputConnection import android.widget.FrameLayout import androidx.appcompat.widget.LinearLayoutCompat -import kotlinx.android.synthetic.main.view_keyboard_stakes.view.* -import net.pokeranalytics.android.R +import net.pokeranalytics.android.databinding.ViewKeyboardStakesBinding import net.pokeranalytics.android.exceptions.PAIllegalStateException import net.pokeranalytics.android.util.BLIND_SEPARATOR import java.text.DecimalFormatSymbols @@ -16,6 +16,9 @@ class StakesKeyboardView : LinearLayoutCompat { var inputConnection: InputConnection? = null + private var _binding: ViewKeyboardStakesBinding? = null + private val binding get() = _binding!! + constructor(context: Context) : super(context) { init(context, null) } @@ -30,42 +33,51 @@ class StakesKeyboardView : LinearLayoutCompat { private fun init(context: Context, attrs: AttributeSet?) { val layoutInflater = LayoutInflater.from(context) - val view = layoutInflater.inflate(R.layout.view_keyboard_stakes, this, false) - - view.value_0.text = "0" - view.value_1.text = "1" - view.value_2.text = "2" - view.value_3.text = "3" - view.value_4.text = "4" - view.value_5.text = "5" - view.value_6.text = "6" - view.value_7.text = "7" - view.value_8.text = "8" - view.value_9.text = "9" - view.value_decimal.text = DecimalFormatSymbols.getInstance().decimalSeparator.toString() - view.value_back.text = "⌫" - view.value_separator.text = "/" - - view.value_0.setOnClickListener { this.commitText("0") } - view.value_1.setOnClickListener { this.commitText("1") } - view.value_2.setOnClickListener { this.commitText("2") } - view.value_3.setOnClickListener { this.commitText("3") } - view.value_4.setOnClickListener { this.commitText("4") } - view.value_5.setOnClickListener { this.commitText("5") } - view.value_6.setOnClickListener { this.commitText("6") } - view.value_7.setOnClickListener { this.commitText("7") } - view.value_8.setOnClickListener { this.commitText("8") } - view.value_9.setOnClickListener { this.commitText("9") } - view.value_decimal.setOnClickListener { this.commitText(DecimalFormatSymbols.getInstance().decimalSeparator.toString()) } - view.value_separator.setOnClickListener { this.commitText(BLIND_SEPARATOR) } - view.value_back.setOnClickListener { this.deleteText() } +// val view = layoutInflater.inflate(R.layout.view_keyboard_stakes, this, false) + + _binding = ViewKeyboardStakesBinding.inflate(layoutInflater, this, true) + + binding.value0.text = "0" + binding.value1.text = "1" + binding.value2.text = "2" + binding.value3.text = "3" + binding.value4.text = "4" + binding.value5.text = "5" + binding.value6.text = "6" + binding.value7.text = "7" + binding.value8.text = "8" + binding.value9.text = "9" + binding.valueDecimal.text = DecimalFormatSymbols.getInstance().decimalSeparator.toString() + binding.valueBack.text = "⌫" + binding.valueSeparator.text = "/" + + binding.value0.setOnClickListener { this.commitText("0") } + binding.value1.setOnClickListener { this.commitText("1") } + binding.value2.setOnClickListener { this.commitText("2") } + binding.value3.setOnClickListener { this.commitText("3") } + binding.value4.setOnClickListener { this.commitText("4") } + binding.value5.setOnClickListener { this.commitText("5") } + binding.value6.setOnClickListener { this.commitText("6") } + binding.value7.setOnClickListener { this.commitText("7") } + binding.value8.setOnClickListener { this.commitText("8") } + binding.value9.setOnClickListener { this.commitText("9") } + binding.valueDecimal.setOnClickListener { this.commitText(DecimalFormatSymbols.getInstance().decimalSeparator.toString()) } + binding.valueSeparator.setOnClickListener { this.commitText(BLIND_SEPARATOR) } + binding.valueBack.setOnClickListener { this.deleteText() } val layoutParams = FrameLayout.LayoutParams( FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT ) - addView(view, layoutParams) +// addView(binding, layoutParams) + + +// addView(view, layoutParams) + + } + fun setSeparatorVisibility(visible: Boolean) { + binding.valueSeparator.visibility = if (visible) View.VISIBLE else View.GONE } private fun commitText(string: String) { diff --git a/app/src/main/res/layout/activity_gdpr.xml b/app/src/main/res/layout/activity_gdpr.xml index 0f04bf83..f0cac8ec 100644 --- a/app/src/main/res/layout/activity_gdpr.xml +++ b/app/src/main/res/layout/activity_gdpr.xml @@ -3,7 +3,8 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:fitsSystemWindows="true"> + android:layout_height="match_parent" + android:fitsSystemWindows="true" + > - + android:layout_height="match_parent" + >