diff options
author | Gregory Montoir <gmontoir@google.com> | 2023-11-25 08:50:31 +0800 |
---|---|---|
committer | Gregory Montoir <gmontoir@google.com> | 2023-11-25 08:50:31 +0800 |
commit | a8474cdaba4f77643a1391df4b064b9297813a25 (patch) | |
tree | 981a813318a108266f3c07eeb73114c5dafc1de5 | |
parent | d9dd1df178758a57328716131275f25836f91ac1 (diff) | |
download | TvSettings-a8474cdaba4f77643a1391df4b064b9297813a25.tar.gz |
Fix ClearDataCachedPreference in single panel settings (ATV)
The previous code was relying on Fragment.instantiate that would
not set mOkListener. getFragment now returns null in ATV mode, and
the confirmation fragment is now explictely started in onClick.
Bug: 312597047
Change-Id: I85f2bed363ca284a0532eeadbbcb9d7f32a91402
-rw-r--r-- | Settings/src/com/android/tv/settings/device/storage/ClearCachedDataPreference.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Settings/src/com/android/tv/settings/device/storage/ClearCachedDataPreference.java b/Settings/src/com/android/tv/settings/device/storage/ClearCachedDataPreference.java index 3ae72cf83..9f3c99fab 100644 --- a/Settings/src/com/android/tv/settings/device/storage/ClearCachedDataPreference.java +++ b/Settings/src/com/android/tv/settings/device/storage/ClearCachedDataPreference.java @@ -122,8 +122,7 @@ public class ClearCachedDataPreference extends RestrictedPreference implements // Show info fragment only if the UI is TwoPanel. return ClearCachedDataInfoFragment.class.getName(); } - // Otherwise, we set the forward fragment as confirmation fragment. - return ConfirmationFragment.class.getName(); + return null; } @Override @@ -132,7 +131,8 @@ public class ClearCachedDataPreference extends RestrictedPreference implements confirmFragment.setOnOkListener(() -> clearCache()); final Fragment settingsFragment = mFreeUpStorageFragment.getCallbackFragment(); if (settingsFragment instanceof LeanbackSettingsFragmentCompat) { - return; + ((LeanbackSettingsFragmentCompat) settingsFragment) + .startImmersiveFragment(confirmFragment); } else if (settingsFragment instanceof TwoPanelSettingsFragment) { // Show confirmation fragment in TwoPanel UI. ((TwoPanelSettingsFragment) settingsFragment) |