diff --git a/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java index e219c078bce..6d07305e375 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java +++ b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java @@ -112,11 +112,10 @@ public class PrivateSpaceMaintainer { registerBroadcastReceiver(); - try { - //TODO(b/313926659): To check and handle failure of startProfile - mActivityManager.startProfile(mUserHandle); - } catch (IllegalArgumentException e) { - Log.e(TAG, "Unexpected that " + mUserHandle.getIdentifier() + " is not a profile"); + if (!startProfile()) { + // TODO(b/333884792): Add test to mock when startProfile fails. + Log.e(TAG, "profile not started, created profile is deleted"); + deletePrivateSpace(); return false; } @@ -314,6 +313,16 @@ public class PrivateSpaceMaintainer { return false; } + @GuardedBy("this") + private boolean startProfile() { + try { + return mActivityManager.startProfile(mUserHandle); + } catch (IllegalArgumentException e) { + Log.e(TAG, "Unexpected that " + mUserHandle.getIdentifier() + " is not a profile"); + } + return false; + } + @GuardedBy("this") private void resetPrivateSpaceSettings() { setHidePrivateSpaceEntryPointSetting(HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL);