Support edge to edge properly everywhere
This reverts commit 74373d478b.
This commit is contained in:
@@ -28,7 +28,9 @@ import androidx.activity.viewModels
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.core.view.updatePadding
|
||||
import androidx.core.view.WindowInsetsCompat.Type.displayCutout
|
||||
import androidx.core.view.WindowInsetsCompat.Type.ime
|
||||
import androidx.core.view.WindowInsetsCompat.Type.systemBars
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.FloatingWindow
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
@@ -71,24 +73,18 @@ class MainActivity : AppCompatActivity() {
|
||||
MigrationReceiver.runMigrationsIfRequired(this)
|
||||
|
||||
enableEdgeToEdge()
|
||||
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
B = ActivityMainBinding.inflate(layoutInflater)
|
||||
|
||||
ViewCompat.setOnApplyWindowInsetsListener(B.root) { view, windowInsets ->
|
||||
val statusBarInset = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||
val navigationBarInset =
|
||||
windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars())
|
||||
|
||||
view.updatePadding(0, statusBarInset.top, 0, navigationBarInset.bottom)
|
||||
|
||||
WindowInsetsCompat.CONSUMED
|
||||
}
|
||||
|
||||
|
||||
setContentView(B.root)
|
||||
|
||||
// Adjust root view's paddings for edgeToEdge display
|
||||
ViewCompat.setOnApplyWindowInsetsListener(B.root) { root, windowInsets ->
|
||||
val insets = windowInsets.getInsets(systemBars() or displayCutout() or ime())
|
||||
root.setPadding(0, insets.top, 0, 0)
|
||||
windowInsets
|
||||
}
|
||||
|
||||
val navHostFragment =
|
||||
supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
|
||||
val navController = navHostFragment.navController
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -26,11 +26,15 @@ import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.provider.Settings
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.RelativeLayout
|
||||
import android.widget.Toast
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.text.HtmlCompat
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.core.view.updateLayoutParams
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.fragment.findNavController
|
||||
@@ -183,6 +187,23 @@ class AppDetailsFragment : BaseFragment<FragmentDetailsBinding>() {
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
// Adjust margins for edgeToEdge display
|
||||
ViewCompat.setOnApplyWindowInsetsListener(binding.layoutDetailsDev.root) { v, w ->
|
||||
val insets = w.getInsets(WindowInsetsCompat.Type.navigationBars())
|
||||
v.updateLayoutParams<ViewGroup.MarginLayoutParams> {
|
||||
bottomMargin += insets.bottom
|
||||
}
|
||||
WindowInsetsCompat.CONSUMED
|
||||
}
|
||||
|
||||
ViewCompat.setOnApplyWindowInsetsListener(binding.layoutDetailsInstall.viewFlipper) { v, w ->
|
||||
val insets = w.getInsets(WindowInsetsCompat.Type.navigationBars())
|
||||
v.updateLayoutParams<ViewGroup.MarginLayoutParams> {
|
||||
bottomMargin += insets.bottom
|
||||
}
|
||||
WindowInsetsCompat.CONSUMED
|
||||
}
|
||||
|
||||
if (args.app != null) {
|
||||
app = args.app!!
|
||||
inflatePartialApp()
|
||||
|
||||
@@ -21,6 +21,8 @@ package com.aurora.store.view.ui.onboarding
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.lifecycle.Lifecycle
|
||||
@@ -82,6 +84,13 @@ class OnboardingFragment : BaseFragment<FragmentOnboardingBinding>() {
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
// Adjust layout margins for edgeToEdge display
|
||||
ViewCompat.setOnApplyWindowInsetsListener(binding.layoutBottom) { layout, windowInsets ->
|
||||
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars())
|
||||
layout.setPadding(0, 0, 0, insets.bottom)
|
||||
WindowInsetsCompat.CONSUMED
|
||||
}
|
||||
|
||||
val isDefaultPrefLoaded = Preferences.getBoolean(requireContext(), PREFERENCE_DEFAULT)
|
||||
if (!isDefaultPrefLoaded) {
|
||||
save(PREFERENCE_DEFAULT, true)
|
||||
|
||||
@@ -26,8 +26,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.hideKeyboard
|
||||
@@ -67,6 +71,15 @@ 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) { _, windowInsets ->
|
||||
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars())
|
||||
binding.filterFab.updateLayoutParams<ViewGroup.MarginLayoutParams> {
|
||||
bottomMargin += insets.bottom
|
||||
}
|
||||
WindowInsetsCompat.CONSUMED
|
||||
}
|
||||
|
||||
sharedPreferences = Preferences.getPrefs(view.context)
|
||||
sharedPreferences.registerOnSharedPreferenceChangeListener(this)
|
||||
|
||||
|
||||
@@ -79,7 +79,9 @@
|
||||
android:clipToPadding="false"
|
||||
android:orientation="vertical"
|
||||
android:overScrollMode="never"
|
||||
android:padding="@dimen/padding_small"
|
||||
android:paddingHorizontal="@dimen/padding_small"
|
||||
android:paddingTop="@dimen/padding_small"
|
||||
android:paddingBottom="@dimen/height_bottom_adj"
|
||||
app:itemSpacing="@dimen/margin_small"
|
||||
tools:listitem="@layout/view_link" />
|
||||
</LinearLayout>
|
||||
|
||||
@@ -45,8 +45,9 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@+id/divider"
|
||||
android:layout_marginTop="5dp"
|
||||
android:clipToPadding="true"
|
||||
android:paddingTop="@dimen/padding_normal"
|
||||
android:paddingBottom="@dimen/height_bottom_adj"
|
||||
tools:listitem="@layout/view_app_list" />
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -59,4 +60,4 @@
|
||||
android:layout_marginBottom="@dimen/margin_normal"
|
||||
android:text="@string/action_filter"
|
||||
app:icon="@drawable/ic_filter" />
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
android:paddingEnd="@dimen/padding_small"
|
||||
android:showDividers="middle"
|
||||
app:behavior_hideable="false"
|
||||
app:behavior_peekHeight="@dimen/height_peek"
|
||||
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">
|
||||
|
||||
<ViewFlipper
|
||||
@@ -135,34 +134,4 @@
|
||||
app:srcCompat="@drawable/ic_cancel" />
|
||||
</RelativeLayout>
|
||||
</ViewFlipper>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/bottomsheet_body"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="false"
|
||||
android:divider="@drawable/divider"
|
||||
android:focusable="false"
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="@dimen/padding_normal"
|
||||
android:showDividers="middle">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/TextAppearance.Aurora.Title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:alpha=".75"
|
||||
android:text="@string/purchase_failed"
|
||||
android:textAlignment="center"
|
||||
android:textColor="?colorOnPrimary" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_purchase_error"
|
||||
style="@style/TextAppearance.Aurora.Line1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:textColor="?colorOnPrimary"
|
||||
tools:text="@string/purchase_invalid" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
<dimen name="screenshot_height_mini">120dp</dimen>
|
||||
<dimen name="screenshot_width_mini">68dp</dimen>
|
||||
|
||||
<dimen name="height_bottom_adj">100dp</dimen>
|
||||
<dimen name="height_bottom_adj">125dp</dimen>
|
||||
|
||||
<dimen name="cluster_size">128dp</dimen>
|
||||
<dimen name="elevation_small">3dp</dimen>
|
||||
|
||||
Reference in New Issue
Block a user