From: Rubin Xu Date: Fri, 22 Mar 2019 15:06:56 +0000 (+0000) Subject: Do no crash when profile is deleted X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=654a78b56ec1d7040033e733d162b55c9c8124cd;p=android-x86%2Fpackages-apps-Settings.git Do no crash when profile is deleted Catch the exception and finish the activity. Change-Id: I45deec32fd49119ab7943a941158bca82b63c432 Fix: 122823738 Test: manual --- diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java index 56e6573d76..82883ca938 100644 --- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java +++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java @@ -21,6 +21,7 @@ import android.hardware.biometrics.BiometricConstants; import android.hardware.biometrics.BiometricManager; import android.os.Bundle; import android.os.UserManager; +import android.util.Log; import android.view.MenuItem; import android.view.WindowManager; import android.widget.LinearLayout; @@ -35,6 +36,7 @@ import com.android.settings.Utils; public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivity { private static final String STATE_IS_KEYGUARD_LOCKED = "STATE_IS_KEYGUARD_LOCKED"; + private static final String TAG = "ConfirmDeviceCredentialBaseActivity"; enum ConfirmCredentialTheme { NORMAL, @@ -56,8 +58,15 @@ public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivi @Override protected void onCreate(Bundle savedState) { - int credentialOwnerUserId = Utils.getCredentialOwnerUserId(this, - Utils.getUserIdFromBundle(this, getIntent().getExtras(), isInternalActivity())); + final int credentialOwnerUserId; + try { + credentialOwnerUserId = Utils.getCredentialOwnerUserId(this, + Utils.getUserIdFromBundle(this, getIntent().getExtras(), isInternalActivity())); + } catch (SecurityException e) { + Log.e(TAG, "Invalid user Id supplied", e); + finish(); + return; + } if (UserManager.get(this).isManagedProfile(credentialOwnerUserId)) { setTheme(R.style.Theme_ConfirmDeviceCredentialsWork); mConfirmCredentialTheme = ConfirmCredentialTheme.WORK;