From 15af7d7d5586fd4d9f30ce745679257e12f9c6bc Mon Sep 17 00:00:00 2001 From: t Date: Thu, 2 Nov 2023 08:06:59 +0000 Subject: [PATCH] Disable factory reset in DSU mode Bug: 302317901 Bug: 316578327 Test: build Merged-In: I485eb6ac7beec0893d91ca5fe8ad88ecd96a5cbe Change-Id: I485eb6ac7beec0893d91ca5fe8ad88ecd96a5cbe --- src/com/android/settings/MainClear.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/com/android/settings/MainClear.java b/src/com/android/settings/MainClear.java index f706c785401..07888c6b676 100644 --- a/src/com/android/settings/MainClear.java +++ b/src/com/android/settings/MainClear.java @@ -26,11 +26,13 @@ import android.accounts.AccountManager; 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.Environment; 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 @@ public class MainClear extends InstrumentedFragment implements OnGlobalLayoutLis 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; }