*Activity: Enable edge to edge display for all versions

- Adjust MainActivity view to not draw over the status bar

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-08-19 22:15:30 +05:30
parent e0e690c0f1
commit 57ccf6ef50
3 changed files with 28 additions and 0 deletions

View File

@@ -24,8 +24,11 @@ import android.content.res.ColorStateList
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.graphics.ColorUtils import androidx.core.graphics.ColorUtils
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.navigation.FloatingWindow import androidx.navigation.FloatingWindow
import androidx.navigation.fragment.NavHostFragment import androidx.navigation.fragment.NavHostFragment
@@ -67,6 +70,7 @@ class MainActivity : AppCompatActivity() {
// This is needed thanks to OEMs breaking the MY_PACKAGE_REPLACED API // This is needed thanks to OEMs breaking the MY_PACKAGE_REPLACED API
MigrationReceiver.runMigrationsIfRequired(this) MigrationReceiver.runMigrationsIfRequired(this)
enableEdgeToEdge()
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
applyThemeAccent() applyThemeAccent()
@@ -74,6 +78,13 @@ class MainActivity : AppCompatActivity() {
B = ActivityMainBinding.inflate(layoutInflater) B = ActivityMainBinding.inflate(layoutInflater)
setContentView(B.root) setContentView(B.root)
// Adjust root view's paddings for edgeToEdge display
ViewCompat.setOnApplyWindowInsetsListener(B.root) { root, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
root.setPadding(insets.left, insets.top, insets.right, 0)
windowInsets
}
val navHostFragment = val navHostFragment =
supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController val navController = navHostFragment.navController

View File

@@ -3,6 +3,7 @@ package com.aurora.store.data.activity
import android.content.pm.PackageInstaller.SessionCallback import android.content.pm.PackageInstaller.SessionCallback
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.IntentCompat import androidx.core.content.IntentCompat
import com.aurora.Constants import com.aurora.Constants
@@ -22,6 +23,7 @@ class InstallActivity : AppCompatActivity() {
private lateinit var sessionCallback: SessionCallback private lateinit var sessionCallback: SessionCallback
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge()
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
val download = val download =

View File

@@ -27,8 +27,12 @@ import android.text.Editable
import android.text.TextWatcher import android.text.TextWatcher
import android.view.KeyEvent import android.view.KeyEvent
import android.view.View import android.view.View
import android.view.ViewGroup
import android.view.inputmethod.EditorInfo import android.view.inputmethod.EditorInfo
import android.widget.TextView import android.widget.TextView
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updateLayoutParams
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import com.aurora.extensions.accentColor import com.aurora.extensions.accentColor
@@ -70,6 +74,17 @@ class SearchResultsFragment : BaseFragment<FragmentSearchResultBinding>(),
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
// Adjust FAB margins for edgeToEdge display
ViewCompat.setOnApplyWindowInsetsListener(binding.filterFab) { filterFab, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
filterFab.updateLayoutParams<ViewGroup.MarginLayoutParams> {
leftMargin = insets.left
bottomMargin = insets.bottom
rightMargin = insets.right
}
WindowInsetsCompat.CONSUMED
}
sharedPreferences = Preferences.getPrefs(view.context) sharedPreferences = Preferences.getPrefs(view.context)
sharedPreferences.registerOnSharedPreferenceChangeListener(this) sharedPreferences.registerOnSharedPreferenceChangeListener(this)