diff options
author | Elliot Sisteron <elliotsisteron@google.com> | 2023-04-27 16:16:04 +0000 |
---|---|---|
committer | Elliot Sisteron <elliotsisteron@google.com> | 2023-05-12 15:31:41 +0000 |
commit | 70826b05a40b9f273e5a4f04ea579a901df2a4ef (patch) | |
tree | 285e7d7e0b449641854af6fd481f838beab2c73f /PermissionController/src/com/android/permissioncontroller/safetycenter | |
parent | 9e22e62df20e43ea64aa5a2608f38071fd0ed0ef (diff) | |
download | Permission-70826b05a40b9f273e5a4f04ea579a901df2a4ef.tar.gz |
Fix scrolling for entries that are at the bottom of the page.
Removing the NestedScrollView fixes it.
The NestedScrollView isn't necessary when subpages are on, because this
was only added to support the expandable entries.
Also fixed a bug where saving the state would happen when the subpage
flag was off, when the intention was to do the opposite.
Bug: 279149620
Test: manual
Change-Id: Id64ba3adb87a369c1df33fde78b112b236dcb540
Diffstat (limited to 'PermissionController/src/com/android/permissioncontroller/safetycenter')
2 files changed, 22 insertions, 14 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/PreferenceHighlightManager.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/PreferenceHighlightManager.kt index 68c12c767..2acd6b5a3 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/PreferenceHighlightManager.kt +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/PreferenceHighlightManager.kt @@ -74,21 +74,21 @@ internal class PreferenceHighlightManager(private val fragment: PreferenceFragme /** Restore previously saved instance state from [Bundle] */ fun restoreState(savedInstanceState: Bundle?) { - if (savedInstanceState == null) { + if (!SafetyCenterUiFlags.getShowSubpages() || savedInstanceState == null) { return } - if (!SafetyCenterUiFlags.getShowSubpages()) { - preferenceHighlighted = savedInstanceState.getBoolean(SAVE_HIGHLIGHTED_KEY, false) - } + preferenceHighlighted = savedInstanceState.getBoolean(SAVE_HIGHLIGHTED_KEY, false) } /** Save current instance state to provided [Bundle] */ fun saveState(outState: Bundle) { if (!SafetyCenterUiFlags.getShowSubpages()) { - val highlightRequested = preferenceGroupAdapter?.isHighlightRequested - highlightRequested?.let { outState.putBoolean(SAVE_HIGHLIGHTED_KEY, it) } + return } + + val highlightRequested = preferenceGroupAdapter?.isHighlightRequested + highlightRequested?.let { outState.putBoolean(SAVE_HIGHLIGHTED_KEY, it) } } /** Scrolls to a particular preference in the recycler view and highlights it */ diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterScrollWrapperFragment.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterScrollWrapperFragment.kt index beda65ee3..c064b94f0 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterScrollWrapperFragment.kt +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterScrollWrapperFragment.kt @@ -24,18 +24,26 @@ import com.android.permissioncontroller.R import com.android.permissioncontroller.permission.utils.Utils @RequiresApi(Build.VERSION_CODES.TIRAMISU) -internal class SafetyCenterScrollWrapperFragment : Fragment(R.layout.safety_center_scroll_wrapper) { +internal class SafetyCenterScrollWrapperFragment : + Fragment( + if (SafetyCenterUiFlags.getShowSubpages()) R.layout.safety_center_non_scroll_wrapper + else R.layout.safety_center_scroll_wrapper + ) { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (savedInstanceState == null) { - childFragmentManager.beginTransaction() - .add(R.id.fragment_container, - SafetyCenterDashboardFragment.newInstance( - Utils.getOrGenerateSessionId(requireActivity().getIntent()), - /* isQuickSettingsFragment= */ false)) - .commitNow() + childFragmentManager + .beginTransaction() + .add( + R.id.fragment_container, + SafetyCenterDashboardFragment.newInstance( + Utils.getOrGenerateSessionId(requireActivity().getIntent()), + /* isQuickSettingsFragment= */ false + ) + ) + .commitNow() } } -}
\ No newline at end of file +} |