*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.view.View
import androidx.activity.addCallback
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.graphics.ColorUtils
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.lifecycleScope
import androidx.navigation.FloatingWindow
import androidx.navigation.fragment.NavHostFragment
@@ -67,6 +70,7 @@ class MainActivity : AppCompatActivity() {
// This is needed thanks to OEMs breaking the MY_PACKAGE_REPLACED API
MigrationReceiver.runMigrationsIfRequired(this)
enableEdgeToEdge()
super.onCreate(savedInstanceState)
applyThemeAccent()
@@ -74,6 +78,13 @@ class MainActivity : AppCompatActivity() {
B = ActivityMainBinding.inflate(layoutInflater)
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 =
supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController

View File

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

View File

@@ -27,8 +27,12 @@ import android.text.Editable
import android.text.TextWatcher
import android.view.KeyEvent
import android.view.View
import android.view.ViewGroup
import android.view.inputmethod.EditorInfo
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.navigation.fragment.findNavController
import com.aurora.extensions.accentColor
@@ -70,6 +74,17 @@ class SearchResultsFragment : BaseFragment<FragmentSearchResultBinding>(),
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
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.registerOnSharedPreferenceChangeListener(this)