From 238c54c6fb3a1215b6a2720957d29244e73c151f Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Wed, 1 Dec 2021 13:49:52 +0530 Subject: [PATCH] [UI] Better support for Immersive mode on notched devices --- .../monkey/retromusic/activities/base/AbsThemeActivity.kt | 4 ++++ .../code/name/monkey/retromusic/extensions/ViewExtensions.kt | 2 ++ .../src/main/java/code/name/monkey/appthemehelper/ATH.kt | 2 -- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt index f53fe5ec..598cdc34 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt @@ -17,6 +17,7 @@ package code.name.monkey.retromusic.activities.base import android.content.Context import android.content.res.Resources import android.graphics.Color +import android.os.Build import android.os.Bundle import android.os.Handler import android.view.KeyEvent @@ -200,6 +201,9 @@ abstract class AbsThemeActivity : ATHToolbarActivity(), Runnable { WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE hide(WindowInsetsCompat.Type.systemBars()) } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + window.attributes.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES + } } } diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt index 270db658..0641ab94 100644 --- a/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt +++ b/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt @@ -136,6 +136,7 @@ fun ShapeableImageView.setCircleShape(boolean: Boolean) { * This will draw our view above the navigation bar instead of behind it by adding margins. */ fun View.drawAboveSystemBars(onlyPortrait: Boolean = true) { + if (PreferenceUtil.isFullScreenMode) return if (onlyPortrait && RetroUtil.isLandscape()) return // Create a snapshot of the view's margin state val initialMargin = recordInitialMarginForView(this) @@ -157,6 +158,7 @@ fun View.drawAboveSystemBars(onlyPortrait: Boolean = true) { * This will draw our view above the navigation bar instead of behind it by adding padding. */ fun View.drawAboveSystemBarsWithPadding(consume: Boolean = false) { + if (PreferenceUtil.isFullScreenMode) return val initialPadding = recordInitialPaddingForView(this) ViewCompat.setOnApplyWindowInsetsListener( diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ATH.kt b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ATH.kt index 3b5409dc..6653930a 100755 --- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ATH.kt +++ b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ATH.kt @@ -1,6 +1,5 @@ package code.name.monkey.appthemehelper -import android.annotation.SuppressLint import android.app.Activity import android.app.ActivityManager import android.content.Context @@ -18,7 +17,6 @@ import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper */ object ATH { - @SuppressLint("CommitPrefEdits") fun didThemeValuesChange(context: Context, since: Long): Boolean { return ThemeStore.isConfigured(context) && ThemeStore.prefs(context).getLong( ThemeStorePrefKeys.VALUES_CHANGED,