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.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
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.lifecycle.lifecycleScope
|
||||||
import androidx.navigation.FloatingWindow
|
import androidx.navigation.FloatingWindow
|
||||||
import androidx.navigation.fragment.NavHostFragment
|
import androidx.navigation.fragment.NavHostFragment
|
||||||
@@ -71,24 +73,18 @@ class MainActivity : AppCompatActivity() {
|
|||||||
MigrationReceiver.runMigrationsIfRequired(this)
|
MigrationReceiver.runMigrationsIfRequired(this)
|
||||||
|
|
||||||
enableEdgeToEdge()
|
enableEdgeToEdge()
|
||||||
|
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
B = ActivityMainBinding.inflate(layoutInflater)
|
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)
|
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 =
|
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
|
||||||
|
|||||||
@@ -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 =
|
||||||
|
|||||||
@@ -26,11 +26,15 @@ import android.net.Uri
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import android.widget.RelativeLayout
|
import android.widget.RelativeLayout
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.text.HtmlCompat
|
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.fragment.app.activityViewModels
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
@@ -183,6 +187,23 @@ class AppDetailsFragment : BaseFragment<FragmentDetailsBinding>() {
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
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) {
|
if (args.app != null) {
|
||||||
app = args.app!!
|
app = args.app!!
|
||||||
inflatePartialApp()
|
inflatePartialApp()
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ package com.aurora.store.view.ui.onboarding
|
|||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.FragmentManager
|
import androidx.fragment.app.FragmentManager
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
@@ -82,6 +84,13 @@ class OnboardingFragment : BaseFragment<FragmentOnboardingBinding>() {
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
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)
|
val isDefaultPrefLoaded = Preferences.getBoolean(requireContext(), PREFERENCE_DEFAULT)
|
||||||
if (!isDefaultPrefLoaded) {
|
if (!isDefaultPrefLoaded) {
|
||||||
save(PREFERENCE_DEFAULT, true)
|
save(PREFERENCE_DEFAULT, true)
|
||||||
|
|||||||
@@ -26,8 +26,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.hideKeyboard
|
import com.aurora.extensions.hideKeyboard
|
||||||
@@ -67,6 +71,15 @@ 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) { _, windowInsets ->
|
||||||
|
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars())
|
||||||
|
binding.filterFab.updateLayoutParams<ViewGroup.MarginLayoutParams> {
|
||||||
|
bottomMargin += insets.bottom
|
||||||
|
}
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
|
}
|
||||||
|
|
||||||
sharedPreferences = Preferences.getPrefs(view.context)
|
sharedPreferences = Preferences.getPrefs(view.context)
|
||||||
sharedPreferences.registerOnSharedPreferenceChangeListener(this)
|
sharedPreferences.registerOnSharedPreferenceChangeListener(this)
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,9 @@
|
|||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:overScrollMode="never"
|
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"
|
app:itemSpacing="@dimen/margin_small"
|
||||||
tools:listitem="@layout/view_link" />
|
tools:listitem="@layout/view_link" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -45,8 +45,9 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_below="@+id/divider"
|
android:layout_below="@+id/divider"
|
||||||
android:layout_marginTop="5dp"
|
android:clipToPadding="true"
|
||||||
android:paddingTop="@dimen/padding_normal"
|
android:paddingTop="@dimen/padding_normal"
|
||||||
|
android:paddingBottom="@dimen/height_bottom_adj"
|
||||||
tools:listitem="@layout/view_app_list" />
|
tools:listitem="@layout/view_app_list" />
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
@@ -59,4 +60,4 @@
|
|||||||
android:layout_marginBottom="@dimen/margin_normal"
|
android:layout_marginBottom="@dimen/margin_normal"
|
||||||
android:text="@string/action_filter"
|
android:text="@string/action_filter"
|
||||||
app:icon="@drawable/ic_filter" />
|
app:icon="@drawable/ic_filter" />
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
|
|||||||
@@ -30,7 +30,6 @@
|
|||||||
android:paddingEnd="@dimen/padding_small"
|
android:paddingEnd="@dimen/padding_small"
|
||||||
android:showDividers="middle"
|
android:showDividers="middle"
|
||||||
app:behavior_hideable="false"
|
app:behavior_hideable="false"
|
||||||
app:behavior_peekHeight="@dimen/height_peek"
|
|
||||||
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">
|
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">
|
||||||
|
|
||||||
<ViewFlipper
|
<ViewFlipper
|
||||||
@@ -135,34 +134,4 @@
|
|||||||
app:srcCompat="@drawable/ic_cancel" />
|
app:srcCompat="@drawable/ic_cancel" />
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
</ViewFlipper>
|
</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>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
<dimen name="screenshot_height_mini">120dp</dimen>
|
<dimen name="screenshot_height_mini">120dp</dimen>
|
||||||
<dimen name="screenshot_width_mini">68dp</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="cluster_size">128dp</dimen>
|
||||||
<dimen name="elevation_small">3dp</dimen>
|
<dimen name="elevation_small">3dp</dimen>
|
||||||
|
|||||||
Reference in New Issue
Block a user