Merge "Fix PrivateVolumeSettings be launched repeatedly"

This commit is contained in:
Daniel Nishi
2017-10-13 17:52:58 +00:00
committed by Gerrit Code Review

View File

@@ -93,6 +93,8 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
private StorageSummaryPreference mInternalSummary;
private static long sTotalInternalStorage;
private boolean mHasLaunchedPrivateVolumeSettings = false;
@Override
public int getMetricsCategory() {
return MetricsEvent.DEVICEINFO_STORAGE;
@@ -110,7 +112,6 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
final Context context = getActivity();
mStorageManager = context.getSystemService(StorageManager.class);
mStorageManager.registerListener(mStorageListener);
if (sTotalInternalStorage <= 0) {
sTotalInternalStorage = mStorageManager.getPrimaryStorageSize();
@@ -231,6 +232,8 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
if (mInternalCategory.getPreferenceCount() == 2
&& mExternalCategory.getPreferenceCount() == 0) {
// Only showing primary internal storage, so just shortcut
if (!mHasLaunchedPrivateVolumeSettings) {
mHasLaunchedPrivateVolumeSettings = true;
final Bundle args = new Bundle();
args.putString(VolumeInfo.EXTRA_VOLUME_ID, VolumeInfo.ID_PRIVATE_INTERNAL);
Intent intent = Utils.onBuildStartFragmentIntent(getActivity(),
@@ -241,6 +244,7 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
finish();
}
}
}
@Override
public void onResume() {