From: Jeff Sharkey Date: Wed, 24 Sep 2014 20:57:07 +0000 (-0700) Subject: Include reason when wiping data. X-Git-Tag: android-x86-6.0-r1~671^2~30^2~55^2^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=1de688d911cf96eff39eddc5a7070e3c44efefc1;p=android-x86%2Fpackages-apps-Settings.git Include reason when wiping data. This will help us track down who requested a data wipe. Bug: 17412160 Change-Id: I46b3f12a661a406450d23a7974513f40beb23c8d --- diff --git a/src/com/android/settings/CryptKeeper.java b/src/com/android/settings/CryptKeeper.java index 013fd3a78a..560fe76f87 100644 --- a/src/com/android/settings/CryptKeeper.java +++ b/src/com/android/settings/CryptKeeper.java @@ -177,7 +177,10 @@ public class CryptKeeper extends Activity implements TextView.OnEditorActionList } } else if (failedAttempts == MAX_FAILED_ATTEMPTS) { // Factory reset the device. - sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR")); + Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR); + intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); + intent.putExtra(Intent.EXTRA_REASON, "CryptKeeper.MAX_FAILED_ATTEMPTS"); + sendBroadcast(intent); } else if (failedAttempts == -1) { // Right password, but decryption failed. Tell user bad news ... setContentView(R.layout.crypt_keeper_progress); @@ -536,7 +539,7 @@ public class CryptKeeper extends Activity implements TextView.OnEditorActionList * @param corrupt true if userdata is corrupt, false if encryption failed * partway through */ - private void showFactoryReset(boolean corrupt) { + private void showFactoryReset(final boolean corrupt) { // Hide the encryption-bot to make room for the "factory reset" button findViewById(R.id.encroid).setVisibility(View.GONE); @@ -547,7 +550,11 @@ public class CryptKeeper extends Activity implements TextView.OnEditorActionList @Override public void onClick(View v) { // Factory reset the device. - sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR")); + Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR); + intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); + intent.putExtra(Intent.EXTRA_REASON, + "CryptKeeper.showFactoryReset() corrupt=" + corrupt); + sendBroadcast(intent); } }); diff --git a/src/com/android/settings/MasterClearConfirm.java b/src/com/android/settings/MasterClearConfirm.java index 40c23244a4..3521aa3140 100644 --- a/src/com/android/settings/MasterClearConfirm.java +++ b/src/com/android/settings/MasterClearConfirm.java @@ -105,10 +105,14 @@ public class MasterClearConfirm extends Fragment { private void doMasterClear() { if (mEraseSdCard) { Intent intent = new Intent(ExternalStorageFormatter.FORMAT_AND_FACTORY_RESET); + intent.putExtra(Intent.EXTRA_REASON, "MasterClearConfirm"); intent.setComponent(ExternalStorageFormatter.COMPONENT_NAME); getActivity().startService(intent); } else { - getActivity().sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR")); + Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR); + intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); + intent.putExtra(Intent.EXTRA_REASON, "MasterClearConfirm"); + getActivity().sendBroadcast(intent); // Intent handling is asynchronous -- assume it will happen soon. } }