Loading app/src/main/java/foundation/e/advancedprivacy/main/MainActivity.kt +42 −0 Original line number Diff line number Diff line Loading @@ -20,12 +20,54 @@ package foundation.e.advancedprivacy.main import android.content.Context import android.content.Intent import android.os.Bundle import android.view.View import android.view.ViewGroup.MarginLayoutParams import androidx.activity.enableEdgeToEdge import androidx.core.view.ViewCompat import androidx.core.view.WindowCompat import androidx.core.view.WindowInsetsCompat import androidx.core.view.updateLayoutParams import androidx.fragment.app.FragmentActivity import androidx.navigation.NavDeepLinkBuilder import androidx.navigation.findNavController import foundation.e.advancedprivacy.R import timber.log.Timber class MainActivity : FragmentActivity(R.layout.activity_main) { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) ViewCompat.setOnApplyWindowInsetsListener(findViewById<View>(R.id.nav_host_fragment)) { v, windowInsets -> val insets = windowInsets.getInsets( WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout()) // Apply the insets as a margin to the view. This solution sets // only the bottom, left, and right dimensions, but you can apply whichever // insets are appropriate to your layout. You can also update the view padding // if that's more appropriate. v.updateLayoutParams<MarginLayoutParams> { topMargin = insets.top leftMargin = insets.left Timber.d("DebugInset - insets: $insets") bottomMargin = insets.bottom rightMargin = insets.right } // Return CONSUMED if you don't want the window insets to keep passing // down to descendant views. // windowInsets WindowInsetsCompat.CONSUMED } } // override fun onCreate(savedInstanceState: Bundle?) { // enableEdgeToEdge() // super.onCreate(savedInstanceState) // } override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) findNavController(R.id.nav_host_fragment).handleDeepLink(intent) Loading app/src/main/res/values/themes.xml +6 −3 Original line number Diff line number Diff line <resources xmlns:tools="http://schemas.android.com/tools"> <!-- Base application theme. --> <style name="Theme.AdvancedPrivacy" parent="Theme.MaterialComponents.DayNight.NoActionBar"> <item name="android:windowLayoutInDisplayCutoutMode">always</item> <!-- Primary brand color. --> <item name="colorPrimary">@color/accent</item> <item name="colorAccent">@color/accent</item> <!-- Status bar color. --> <item name="android:statusBarColor">@color/primary</item> <item name="android:navigationBarColor">@color/primary</item> <!-- Edge to edge config: https://developer.android.com/develop/ui/views/layout/edge-to-edge-manually#change-color --> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:navigationBarColor">@android:color/transparent</item> <item name="android:navigationBarDividerColor">@color/primary</item> <item name="android:windowLightNavigationBar">@bool/is_day</item> <item name="android:windowLightStatusBar">@bool/is_day</item> Loading @@ -16,7 +20,6 @@ <item name="android:textSize">16sp</item> </style> <style name="Theme.InvisibleActivity" parent="Theme.AdvancedPrivacy"> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> Loading Loading
app/src/main/java/foundation/e/advancedprivacy/main/MainActivity.kt +42 −0 Original line number Diff line number Diff line Loading @@ -20,12 +20,54 @@ package foundation.e.advancedprivacy.main import android.content.Context import android.content.Intent import android.os.Bundle import android.view.View import android.view.ViewGroup.MarginLayoutParams import androidx.activity.enableEdgeToEdge import androidx.core.view.ViewCompat import androidx.core.view.WindowCompat import androidx.core.view.WindowInsetsCompat import androidx.core.view.updateLayoutParams import androidx.fragment.app.FragmentActivity import androidx.navigation.NavDeepLinkBuilder import androidx.navigation.findNavController import foundation.e.advancedprivacy.R import timber.log.Timber class MainActivity : FragmentActivity(R.layout.activity_main) { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) ViewCompat.setOnApplyWindowInsetsListener(findViewById<View>(R.id.nav_host_fragment)) { v, windowInsets -> val insets = windowInsets.getInsets( WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout()) // Apply the insets as a margin to the view. This solution sets // only the bottom, left, and right dimensions, but you can apply whichever // insets are appropriate to your layout. You can also update the view padding // if that's more appropriate. v.updateLayoutParams<MarginLayoutParams> { topMargin = insets.top leftMargin = insets.left Timber.d("DebugInset - insets: $insets") bottomMargin = insets.bottom rightMargin = insets.right } // Return CONSUMED if you don't want the window insets to keep passing // down to descendant views. // windowInsets WindowInsetsCompat.CONSUMED } } // override fun onCreate(savedInstanceState: Bundle?) { // enableEdgeToEdge() // super.onCreate(savedInstanceState) // } override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) findNavController(R.id.nav_host_fragment).handleDeepLink(intent) Loading
app/src/main/res/values/themes.xml +6 −3 Original line number Diff line number Diff line <resources xmlns:tools="http://schemas.android.com/tools"> <!-- Base application theme. --> <style name="Theme.AdvancedPrivacy" parent="Theme.MaterialComponents.DayNight.NoActionBar"> <item name="android:windowLayoutInDisplayCutoutMode">always</item> <!-- Primary brand color. --> <item name="colorPrimary">@color/accent</item> <item name="colorAccent">@color/accent</item> <!-- Status bar color. --> <item name="android:statusBarColor">@color/primary</item> <item name="android:navigationBarColor">@color/primary</item> <!-- Edge to edge config: https://developer.android.com/develop/ui/views/layout/edge-to-edge-manually#change-color --> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:navigationBarColor">@android:color/transparent</item> <item name="android:navigationBarDividerColor">@color/primary</item> <item name="android:windowLightNavigationBar">@bool/is_day</item> <item name="android:windowLightStatusBar">@bool/is_day</item> Loading @@ -16,7 +20,6 @@ <item name="android:textSize">16sp</item> </style> <style name="Theme.InvisibleActivity" parent="Theme.AdvancedPrivacy"> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> Loading