Uses a resources string for new guest name.

Test: atest CarServiceUnitTest:com.android.car.CarPowerManagementServiceTest
Bug: 151325204

Change-Id: I5be1c23460b597eb4eab819a999516a463e4b0e0
diff --git a/service/res/values/strings.xml b/service/res/values/strings.xml
index 0215f32..30e0a50 100644
--- a/service/res/values/strings.xml
+++ b/service/res/values/strings.xml
@@ -481,4 +481,7 @@
     <!-- The ComponentName of the media source that will be selected as the default [CHAR LIMIT=NONE] -->
     <string name="default_media_source" translatable="false">com.android.bluetooth/com.android.bluetooth.avrcpcontroller.BluetoothMediaBrowserService</string>
 
+    <!-- Default name for new guest users [CHAR LIMIT=20] -->
+    <string name="default_guest_name">Guest</string>
+
 </resources>
diff --git a/service/src/com/android/car/CarPowerManagementService.java b/service/src/com/android/car/CarPowerManagementService.java
index eb5dcd8..7a463b8 100644
--- a/service/src/com/android/car/CarPowerManagementService.java
+++ b/service/src/com/android/car/CarPowerManagementService.java
@@ -121,6 +121,7 @@
     private final boolean mDisableUserSwitchDuringResume;
     private final CarUserManagerHelper mCarUserManagerHelper;
     private final UserManager mUserManager;    // CarUserManagerHelper is deprecated...
+    private final String mNewGuestName;
 
     // TODO:  Make this OEM configurable.
     private static final int SHUTDOWN_POLLING_INTERVAL_MS = 2000;
@@ -148,13 +149,13 @@
     public CarPowerManagementService(Context context, PowerHalService powerHal,
             SystemInterface systemInterface, CarUserManagerHelper carUserManagerHelper) {
         this(context, context.getResources(), powerHal, systemInterface, carUserManagerHelper,
-                UserManager.get(context));
+                UserManager.get(context), context.getString(R.string.default_guest_name));
     }
 
     @VisibleForTesting
     CarPowerManagementService(Context context, Resources resources, PowerHalService powerHal,
             SystemInterface systemInterface, CarUserManagerHelper carUserManagerHelper,
-            UserManager userManager) {
+            UserManager userManager, String newGuestName) {
         mContext = context;
         mHal = powerHal;
         mSystemInterface = systemInterface;
@@ -171,23 +172,7 @@
                     +  MIN_MAX_GARAGE_MODE_DURATION_MS + "(ms), Ignore resource.");
             mShutdownPrepareTimeMs = MIN_MAX_GARAGE_MODE_DURATION_MS;
         }
-    }
-
-    // TODO: remove?
-    /**
-     * Create a dummy instance for unit testing purpose only. Instance constructed in this way
-     * is not safe as members expected to be non-null are null.
-     */
-    @VisibleForTesting
-    protected CarPowerManagementService() {
-        mContext = null;
-        mHal = null;
-        mSystemInterface = null;
-        mHandlerThread = null;
-        mHandler = new PowerHandler(Looper.getMainLooper());
-        mCarUserManagerHelper = null;
-        mUserManager = null;
-        mDisableUserSwitchDuringResume = true;
+        mNewGuestName = newGuestName;
     }
 
     @VisibleForTesting
@@ -253,6 +238,7 @@
     public void dump(PrintWriter writer) {
         synchronized (mLock) {
             writer.println("*PowerManagementService*");
+            // TODO: split it in multiple lines
             writer.print("mCurrentState:" + mCurrentState);
             writer.print(",mProcessingStartTime:" + mProcessingStartTime);
             writer.print(",mLastSleepEntryTime:" + mLastSleepEntryTime);
@@ -263,6 +249,7 @@
             writer.print(",mShutdownPrepareTimeMs:" + mShutdownPrepareTimeMs);
             writer.print(",mDisableUserSwitchDuringResume:" + mDisableUserSwitchDuringResume);
             writer.println(",mRebootAfterGarageMode:" + mRebootAfterGarageMode);
+            writer.print("mNewGuestName: "); writer.println(mNewGuestName);
         }
     }
 
@@ -486,7 +473,7 @@
             return;
         }
 
-        UserInfo newGuest = mUserManager.createGuest(mContext, targetUserInfo.name);
+        UserInfo newGuest = mUserManager.createGuest(mContext, mNewGuestName);
 
         if (newGuest != null) {
             switchToUser(currentUserId, newGuest.id, "Created new guest");
diff --git a/service/src/com/android/car/user/CarUserService.java b/service/src/com/android/car/user/CarUserService.java
index fedae06..9ce12fa 100644
--- a/service/src/com/android/car/user/CarUserService.java
+++ b/service/src/com/android/car/user/CarUserService.java
@@ -33,6 +33,7 @@
 import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
 import android.content.pm.UserInfo;
+import android.content.res.Resources;
 import android.graphics.Bitmap;
 import android.hardware.automotive.vehicle.V2_0.InitialUserInfoResponseAction;
 import android.hardware.automotive.vehicle.V2_0.UsersInfo;
@@ -234,6 +235,12 @@
                 writer.println();
             }
             writer.println("EnablePassengerSupport: " + mEnablePassengerSupport);
+            writer.println("Relevant overlayable  properties");
+            Resources res = mContext.getResources();
+            writer.printf("%sowner_name=%s\n", indent,
+                    res.getString(com.android.internal.R.string.owner_name));
+            writer.printf("%sdefault_guest_name=%s\n", indent,
+                    res.getString(R.string.default_guest_name));
         }
     }
 
diff --git a/tests/carservice_unit_test/src/com/android/car/CarPowerManagementServiceTest.java b/tests/carservice_unit_test/src/com/android/car/CarPowerManagementServiceTest.java
index 7a54cab..d851753 100644
--- a/tests/carservice_unit_test/src/com/android/car/CarPowerManagementServiceTest.java
+++ b/tests/carservice_unit_test/src/com/android/car/CarPowerManagementServiceTest.java
@@ -98,6 +98,7 @@
     private static final long WAIT_TIMEOUT_MS = 2000;
     private static final long WAIT_TIMEOUT_LONG_MS = 5000;
     private static final int NO_USER_INFO_FLAGS = 0;
+    private static final String NEW_GUEST_NAME = "NewestGuestInTheBlock";
 
     private final MockDisplayInterface mDisplayInterface = new MockDisplayInterface();
     private final MockSystemStateInterface mSystemStateInterface = new MockSystemStateInterface();
@@ -201,7 +202,7 @@
                 + ", maxGarageModeRunningDurationInSecs="
                 + mResources.getInteger(R.integer.maxGarageModeRunningDurationInSecs));
         mService = new CarPowerManagementService(mContext, mResources, mPowerHal,
-                mSystemInterface, mCarUserManagerHelper, mUserManager);
+                mSystemInterface, mCarUserManagerHelper, mUserManager, NEW_GUEST_NAME);
         mService.init();
         mService.setShutdownTimersForTest(0, 0);
         mPowerHal.setSignalListener(mPowerSignalListener);
@@ -452,7 +453,7 @@
         setInitialUser(10);
         setCurrentUser(10);
         expectGuestMarkedForDeletionOk(10);
-        expectNewGuestCreated(11, "ElGuesto");
+        expectNewGuestCreated(11);
 
         suspendAndResumeForUserSwitchingTests();
 
@@ -468,7 +469,7 @@
         setInitialUser(11);
         setCurrentUser(10);
         expectGuestMarkedForDeletionOk(11);
-        expectNewGuestCreated(12, "ElGuesto");
+        expectNewGuestCreated(12);
 
         suspendAndResumeForUserSwitchingTests();
 
@@ -500,7 +501,7 @@
         setInitialUser(11);
         setCurrentUser(10);
         expectGuestMarkedForDeletionOk(11);
-        expectNewGuestCreated(12, "ElGuesto");
+        expectNewGuestCreated(12);
 
         suspendAndResumeForUserSwitchingTests();
 
@@ -588,7 +589,7 @@
         setInitialUser(10);
         setCurrentUser(10);
         expectGuestMarkedForDeletionOk(10);
-        expectNewGuestCreated(11, "ElGuesto");
+        expectNewGuestCreated(11);
 
         suspendAndResumeForUserSwitchingTests();
 
@@ -605,7 +606,7 @@
         setInitialUser(11);
         setCurrentUser(10);
         expectGuestMarkedForDeletionOk(11);
-        expectNewGuestCreated(12, "ElGuesto");
+        expectNewGuestCreated(12);
 
         suspendAndResumeForUserSwitchingTests();
 
@@ -640,7 +641,7 @@
         setInitialUser(11);
         setCurrentUser(10);
         expectGuestMarkedForDeletionOk(11);
-        expectNewGuestCreated(12, "ElGuesto");
+        expectNewGuestCreated(12);
 
         suspendAndResumeForUserSwitchingTests();
 
@@ -830,11 +831,11 @@
         when(mUserManager.markGuestForDeletion(userId)).thenReturn(false);
     }
 
-    private void expectNewGuestCreated(int userId, String name) {
+    private void expectNewGuestCreated(int userId) {
         final UserInfo userInfo = new UserInfo();
         userInfo.id = userId;
-        userInfo.name = name;
-        when(mUserManager.createGuest(notNull(), eq(name))).thenReturn(userInfo);
+        userInfo.name = NEW_GUEST_NAME;
+        when(mUserManager.createGuest(notNull(), eq(NEW_GUEST_NAME))).thenReturn(userInfo);
     }
 
     private void expectNewGuestCreationFailed(String name) {