Disable factory reset in DSU mode
Bug: 302317901
Bug: 316578327
Test: build
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:5f8f7f93f3b5b1726b2d49a51f25b2bb2f4c0ee9)
Merged-In: I485eb6ac7beec0893d91ca5fe8ad88ecd96a5cbe
Change-Id: I485eb6ac7beec0893d91ca5fe8ad88ecd96a5cbe
diff --git a/src/com/android/settings/MainClear.java b/src/com/android/settings/MainClear.java
index f706c78..07888c6 100644
--- a/src/com/android/settings/MainClear.java
+++ b/src/com/android/settings/MainClear.java
@@ -26,11 +26,13 @@
import android.accounts.AuthenticatorDescription;
import android.app.ActionBar;
import android.app.Activity;
+import android.app.AlertDialog;
import android.app.admin.DevicePolicyManager;
import android.app.settings.SettingsEnums;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
@@ -43,6 +45,7 @@
import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.UserManager;
+import android.os.image.DynamicSystemManager;
import android.provider.Settings;
import android.telephony.euicc.EuiccManager;
import android.text.TextUtils;
@@ -266,6 +269,19 @@
return;
}
+ final DynamicSystemManager dsuManager = (DynamicSystemManager)
+ getActivity().getSystemService(Context.DYNAMIC_SYSTEM_SERVICE);
+ if (dsuManager.isInUse()) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ builder.setTitle(R.string.dsu_is_running);
+ builder.setPositiveButton(R.string.okay, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {}
+ });
+ AlertDialog dsuAlertdialog = builder.create();
+ dsuAlertdialog.show();
+ return;
+ }
+
if (runKeyguardConfirmation(KEYGUARD_REQUEST)) {
return;
}