diff --git a/samples/ApiDemos/res/layout/device_admin_sample.xml b/samples/ApiDemos/res/layout/device_admin_sample.xml
index 003674237..9c2f323ed 100644
--- a/samples/ApiDemos/res/layout/device_admin_sample.xml
+++ b/samples/ApiDemos/res/layout/device_admin_sample.xml
@@ -186,6 +186,13 @@
android:text="@string/wipe_data">
+
+
+
Password Attempts Wipe Data
Force Lock
Wipe Data
+ Wipe All Data
Max screen timeout
Set Timeout
Global proxyhost:port
diff --git a/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java b/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java
index e6cbc9b37..59baefc5f 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java
@@ -148,6 +148,7 @@ public class DeviceAdminSample extends DeviceAdminReceiver {
Button mForceLockButton;
Button mWipeDataButton;
+ Button mWipeAllDataButton;
private Button mTimeoutButton;
@@ -323,6 +324,8 @@ public class DeviceAdminSample extends DeviceAdminReceiver {
mForceLockButton.setOnClickListener(mForceLockListener);
mWipeDataButton = (Button)findViewById(R.id.wipe_data);
mWipeDataButton.setOnClickListener(mWipeDataListener);
+ mWipeAllDataButton = (Button)findViewById(R.id.wipe_all_data);
+ mWipeAllDataButton.setOnClickListener(mWipeDataListener);
mTimeout = (EditText) findViewById(R.id.timeout);
mTimeoutButton = (Button) findViewById(R.id.set_timeout);
@@ -353,6 +356,7 @@ public class DeviceAdminSample extends DeviceAdminReceiver {
mResetPasswordButton.setEnabled(true);
mForceLockButton.setEnabled(true);
mWipeDataButton.setEnabled(true);
+ mWipeAllDataButton.setEnabled(true);
} else {
mEnableButton.setEnabled(true);
mDisableButton.setEnabled(false);
@@ -370,6 +374,7 @@ public class DeviceAdminSample extends DeviceAdminReceiver {
mResetPasswordButton.setEnabled(false);
mForceLockButton.setEnabled(false);
mWipeDataButton.setEnabled(false);
+ mWipeAllDataButton.setEnabled(false);
}
}
@@ -576,7 +581,7 @@ public class DeviceAdminSample extends DeviceAdminReceiver {
};
private OnClickListener mWipeDataListener = new OnClickListener() {
- public void onClick(View v) {
+ public void onClick(final View v) {
if (mAM.isUserAMonkey()) {
// Don't trust monkeys to do the right thing!
AlertDialog.Builder builder = new AlertDialog.Builder(Controller.this);
@@ -590,14 +595,22 @@ public class DeviceAdminSample extends DeviceAdminReceiver {
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
AlertDialog.Builder builder = new AlertDialog.Builder(Controller.this);
- builder.setMessage("This is not a test. "
- + "This WILL erase all of your data! "
- + "Are you really absolutely sure?");
+ if (v == mWipeAllDataButton) {
+ builder.setMessage("This is not a test. "
+ + "This WILL erase all of your data, "
+ + "including external storage! "
+ + "Are you really absolutely sure?");
+ } else {
+ builder.setMessage("This is not a test. "
+ + "This WILL erase all of your data! "
+ + "Are you really absolutely sure?");
+ }
builder.setPositiveButton("BOOM!", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
boolean active = mDPM.isAdminActive(mDeviceAdminSample);
if (active) {
- mDPM.wipeData(0);
+ mDPM.wipeData(v == mWipeAllDataButton
+ ? DevicePolicyManager.WIPE_EXTERNAL_STORAGE : 0);
}
}
});