From 157ec2f09a5f9e77922827f81d08c42197a92d0e Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Tue, 3 Nov 2015 15:58:46 -0800 Subject: [PATCH] Change workflow so update() is not called when the device changes orientation. BUG: 24508289 Change-Id: I7929aac953741a19f5bc4ffbbb9929a9a2f6104e --- .../deviceinfo/PrivateVolumeSettings.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java index d4a653b4c59..1bfa932953e 100644 --- a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java +++ b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java @@ -117,11 +117,17 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { private Preference mExplore; + private boolean mDetached; + private boolean isVolumeValid() { return (mVolume != null) && (mVolume.getType() == VolumeInfo.TYPE_PRIVATE) && mVolume.isMountedReadable(); } + public PrivateVolumeSettings() { + setRetainInstance(true); + } + @Override protected int getMetricsCategory() { return MetricsLogger.DEVICEINFO_STORAGE; @@ -158,10 +164,12 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { mExplore = buildAction(R.string.storage_menu_explore); + mDetached = false; + setHasOptionsMenu(true); } - public void update() { + private void update() { if (!isVolumeValid()) { getActivity().finish(); return; @@ -304,7 +312,10 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { } mStorageManager.registerListener(mStorageListener); - update(); + + if (!mDetached) { + update(); + } } @Override @@ -313,12 +324,19 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { mStorageManager.unregisterListener(mStorageListener); } + @Override + public void onDetach() { + super.onDetach(); + mDetached = true; + } + @Override public void onDestroy() { super.onDestroy(); if (mMeasure != null) { mMeasure.onDestroy(); } + mDetached = false; } @Override