From b9a1ebcb4570a1185acbe1cc1cb2bd717d84270f Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Fri, 20 Apr 2018 14:34:29 -0600 Subject: [PATCH] Increase volume search timeout, fix dialog flow. Slower devices can take longer to process kernel events, so try up to 25 times (~6 seconds) to find the volume after the partitioning is finished. Fix bug where we'd finish() while trying to show the format confirmation dialog, meaning users couldn't format corrupted non-primary volumes. Bug: 74129968, 77849654, 74132243 Test: atest com.android.settings.ui.StorageWizardTest Change-Id: I91144051cb6de0cd944d93b03dc5127676e24be8 --- .../settings/deviceinfo/StorageWizardFormatProgress.java | 2 +- src/com/android/settings/deviceinfo/StorageWizardInit.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java b/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java index 07119078a81..3d654ef5c54 100644 --- a/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java +++ b/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java @@ -91,7 +91,7 @@ public class StorageWizardFormatProgress extends StorageWizardBase { storage.partitionPrivate(activity.mDisk.getId()); publishProgress(40); - final VolumeInfo privateVol = activity.findFirstVolume(TYPE_PRIVATE, 5); + final VolumeInfo privateVol = activity.findFirstVolume(TYPE_PRIVATE, 25); final CompletableFuture result = new CompletableFuture<>(); storage.benchmark(privateVol.getId(), new IVoldTaskListener.Stub() { @Override diff --git a/src/com/android/settings/deviceinfo/StorageWizardInit.java b/src/com/android/settings/deviceinfo/StorageWizardInit.java index 0fc850b1390..b271d024e76 100644 --- a/src/com/android/settings/deviceinfo/StorageWizardInit.java +++ b/src/com/android/settings/deviceinfo/StorageWizardInit.java @@ -55,7 +55,6 @@ public class StorageWizardInit extends StorageWizardBase { if (!mDisk.isAdoptable()) { // If not adoptable, we only have one choice onNavigateExternal(null); - finish(); } else if (!mIsPermittedToAdopt) { // TODO: Show a message about why this is disabled for guest and // that only an admin user can adopt an sd card. @@ -77,6 +76,7 @@ public class StorageWizardInit extends StorageWizardBase { final Intent intent = new Intent(this, StorageWizardReady.class); intent.putExtra(DiskInfo.EXTRA_DISK_ID, mDisk.getId()); startActivity(intent); + finish(); } else { // Gotta format to get there