Method to wipe all adoptable disks.
Will be used by various classes doing factory reset. Bug: 9433509 Change-Id: I0701abe00abc2fb9085ce1ffe6e28fb27c91ab51
This commit is contained in:
@@ -34,6 +34,7 @@ import android.os.ServiceManager;
|
|||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.util.Slog;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
|
|
||||||
import com.android.internal.os.SomeArgs;
|
import com.android.internal.os.SomeArgs;
|
||||||
@@ -638,6 +639,30 @@ public class StorageManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** {@hide} */
|
||||||
|
public void wipeAdoptableDisks() {
|
||||||
|
// We only wipe devices in "adoptable" locations, which are in a
|
||||||
|
// long-term stable slot/location on the device, where apps have a
|
||||||
|
// reasonable chance of storing sensitive data. (Apps need to go through
|
||||||
|
// SAF to write to transient volumes.)
|
||||||
|
final List<DiskInfo> disks = getDisks();
|
||||||
|
for (DiskInfo disk : disks) {
|
||||||
|
final String diskId = disk.getId();
|
||||||
|
if (disk.isAdoptable()) {
|
||||||
|
Slog.d(TAG, "Found adoptable " + diskId + "; wiping");
|
||||||
|
try {
|
||||||
|
// TODO: switch to explicit wipe command when we have it,
|
||||||
|
// for now rely on the fact that vfat format does a wipe
|
||||||
|
mMountService.partitionPublic(diskId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
Slog.w(TAG, "Failed to wipe " + diskId + ", but soldiering onward", e);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Slog.d(TAG, "Ignorning non-adoptable disk " + disk.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** {@hide} */
|
/** {@hide} */
|
||||||
public void setVolumeNickname(String fsUuid, String nickname) {
|
public void setVolumeNickname(String fsUuid, String nickname) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import com.android.internal.util.Preconditions;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Notes for a storage volume which may not be currently present.
|
* Metadata for a storage volume which may not be currently present.
|
||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user