From 58c140046671d7f5642149b90ab1ea0a6a03777c Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 24 Mar 2025 13:20:56 +0100 Subject: [PATCH] layout fixes --- Habitica/res/layout/activity_armoire.xml | 1 + Habitica/res/layout/activity_death.xml | 1 + Habitica/res/values/values.xml | 2 +- .../habitica/ui/activities/ArmoireActivity.kt | 11 ++++++++++- .../ui/activities/ClassSelectionActivity.kt | 6 ++++++ .../habitica/ui/activities/DeathActivity.kt | 15 +++++++++++++++ .../ui/fragments/NavigationDrawerFragment.kt | 6 +++--- version.properties | 2 +- 8 files changed, 38 insertions(+), 6 deletions(-) diff --git a/Habitica/res/layout/activity_armoire.xml b/Habitica/res/layout/activity_armoire.xml index 2ab5f53a0..5913cbc89 100644 --- a/Habitica/res/layout/activity_armoire.xml +++ b/Habitica/res/layout/activity_armoire.xml @@ -11,6 +11,7 @@ android:layout_height="match_parent" /> - true + false @string/repeatables_frequency_daily diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ArmoireActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ArmoireActivity.kt index 6272eee9c..38155fd62 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ArmoireActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ArmoireActivity.kt @@ -11,6 +11,7 @@ import androidx.compose.ui.unit.dp import androidx.core.content.ContextCompat import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat +import androidx.core.view.isVisible import androidx.core.view.updatePadding import androidx.lifecycle.lifecycleScope import com.habitrpg.android.habitica.R @@ -43,7 +44,6 @@ import kotlinx.coroutines.delay import kotlinx.coroutines.flow.firstOrNull import kotlinx.coroutines.launch import javax.inject.Inject -import androidx.core.view.isVisible @AndroidEntryPoint class ArmoireActivity : BaseActivity() { @@ -124,6 +124,15 @@ class ArmoireActivity : BaseActivity() { } } + ViewCompat.setOnApplyWindowInsetsListener(binding.mainContent) { v, windowInsets -> + val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars() + or WindowInsetsCompat.Type.displayCutout()) + v.updatePadding(top = insets.top) + binding.unsubbedWrapper.updatePadding(bottom = insets.bottom) + binding.dropRateButton.updatePadding(bottom = insets.bottom) + consumeWindowInsetsAbove30(windowInsets) + } + binding.progressView.setContent { HabiticaCircularProgressView(indicatorSize = 60.dp) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ClassSelectionActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ClassSelectionActivity.kt index 88bafee83..0b26962f8 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ClassSelectionActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ClassSelectionActivity.kt @@ -2,6 +2,7 @@ package com.habitrpg.android.habitica.ui.activities import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable +import android.os.Build import android.os.Bundle import android.view.Menu import android.view.MenuItem @@ -82,6 +83,11 @@ class ClassSelectionActivity : BaseActivity() { supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.setDisplayShowHomeEnabled(true) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + window.isNavigationBarContrastEnforced = false + } + + val args = navArgs().value isClassSelected = args.isClassSelected currentClass = args.className diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/DeathActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/DeathActivity.kt index adac69a7e..c96e58385 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/DeathActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/DeathActivity.kt @@ -25,13 +25,17 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.core.content.edit +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat import androidx.core.view.isVisible +import androidx.core.view.updatePadding import androidx.lifecycle.lifecycleScope import com.habitrpg.android.habitica.HabiticaBaseApplication import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.data.InventoryRepository import com.habitrpg.android.habitica.databinding.ActivityDeathBinding import com.habitrpg.android.habitica.extensions.DateUtils +import com.habitrpg.android.habitica.extensions.consumeWindowInsetsAbove30 import com.habitrpg.android.habitica.extensions.getShortRemainingString import com.habitrpg.android.habitica.helpers.AdHandler import com.habitrpg.android.habitica.helpers.AdType @@ -94,6 +98,17 @@ class DeathActivity : BaseActivity(), SnackbarActivity { binding.brokenEquipmentDescription.isVisible = !appConfigManager.showAltDeathText() + ViewCompat.setOnApplyWindowInsetsListener(binding.mainContent) { v, windowInsets -> + val insets = windowInsets.getInsets( + WindowInsetsCompat.Type.systemBars() + or WindowInsetsCompat.Type.displayCutout()) + v.updatePadding(top = insets.top, + left = insets.left, + right = insets.right, + bottom = insets.bottom) + consumeWindowInsetsAbove30(windowInsets) + } + userViewModel.user.observeOnce(this) { user -> binding.lossDescription.text = getString( diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt index f57b4d190..70ce9eab7 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt @@ -5,7 +5,6 @@ import android.content.Intent import android.content.SharedPreferences import android.content.res.ColorStateList import android.graphics.drawable.GradientDrawable -import android.os.Build import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -154,7 +153,8 @@ class NavigationDrawerFragment : DialogFragment() { binding?.menuHeaderView?.let { ViewCompat.setOnApplyWindowInsetsListener(it) { v, windowInsets -> - val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()) + val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars() + or WindowInsetsCompat.Type.displayCutout()) v.updatePadding(top = insets.top) consumeWindowInsetsAbove30(windowInsets) } @@ -731,7 +731,7 @@ class NavigationDrawerFragment : DialogFragment() { openDrawer() } } else { - containerView?.isVisible = containerView.isVisible != true + containerView?.isVisible = containerView?.isVisible != true } } diff --git a/version.properties b/version.properties index c2dc05fa7..63dd539ec 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ NAME=4.7.3 -CODE=12501 \ No newline at end of file +CODE=12511 \ No newline at end of file