diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2020-03-23 20:20:27 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-03-23 20:20:27 +0000 |
| commit | 2ec0aece700b2bece9b1bde0cda0773c3ca94e27 (patch) | |
| tree | a760815902dbb06129a61036076adbf549528358 /user | |
| parent | f501c3a3662b7d5e94421d9feb1f02c0afb688c6 (diff) | |
| parent | c5683ceed696efee9b20c15795bb2f08ba65cc78 (diff) | |
| download | platform_packages_services_Car-2ec0aece700b2bece9b1bde0cda0773c3ca94e27.tar.gz platform_packages_services_Car-2ec0aece700b2bece9b1bde0cda0773c3ca94e27.tar.bz2 platform_packages_services_Car-2ec0aece700b2bece9b1bde0cda0773c3ca94e27.zip | |
Merge "Refactored InitialUserSetter to use the right API." into rvc-dev
Diffstat (limited to 'user')
| -rw-r--r-- | user/car-user-lib/src/android/car/userlib/InitialUserSetter.java | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/user/car-user-lib/src/android/car/userlib/InitialUserSetter.java b/user/car-user-lib/src/android/car/userlib/InitialUserSetter.java index 0916ee156..0c0294d9b 100644 --- a/user/car-user-lib/src/android/car/userlib/InitialUserSetter.java +++ b/user/car-user-lib/src/android/car/userlib/InitialUserSetter.java @@ -79,21 +79,27 @@ public final class InitialUserSetter { // TODO(b/151758646): implement } + @VisibleForTesting + void fallbackDefaultBehavior(@NonNull String reason) { + Log.w(TAG, "Falling back to default behavior. Reason: " + reason); + executeDefaultBehavior(); + } + /** - * Switches to the given user, falling back to {@link #executeDefaultBehavior()} if it fails. + * Switches to the given user, falling back to {@link #fallbackDefaultBehavior(String)} if it + * fails. */ public void switchUser(@UserIdInt int userId) { if (DBG) Log.d(TAG, "switchUser(): userId= " + userId); - if (!mHelper.switchToUserId(userId)) { - Log.w(TAG, "am.switchUser(" + userId + ") failed; falling back to default behavior"); - executeDefaultBehavior(); + if (!mHelper.startForegroundUser(userId)) { + fallbackDefaultBehavior("am.switchUser(" + userId + ") failed"); } } /** - * Creates a new user and switches to it, falling back to {@link #executeDefaultBehavior()} if - * any of these steps fails. + * Creates a new user and switches to it, falling back to + * {@link #fallbackDefaultBehavior(String) if any of these steps fails. * * @param name (optional) name of the new user * @param halFlags user flags as defined by Vehicle HAL ({@code UserFlags} enum). @@ -105,8 +111,7 @@ public final class InitialUserSetter { } if (UserHalHelper.isSystem(halFlags)) { - Log.w(TAG, "Cannot create system user"); - executeDefaultBehavior(); + fallbackDefaultBehavior("Cannot create system user"); return; } @@ -121,7 +126,7 @@ public final class InitialUserSetter { validAdmin = false; } if (!validAdmin) { - executeDefaultBehavior(); + fallbackDefaultBehavior("Invalid flags for admin user"); return; } } @@ -139,10 +144,8 @@ public final class InitialUserSetter { UserInfo userInfo = mUm.createUser(name, type, flags); if (userInfo == null) { - Log.w(TAG, "createUser(name=" + safeName(name) + ", flags=" - + userFlagsToString(halFlags) + "): failed to create user; falling back to " - + "default behavior"); - executeDefaultBehavior(); + fallbackDefaultBehavior("createUser(name=" + safeName(name) + ", flags=" + + userFlagsToString(halFlags) + "): failed to create user"); return; } |
