Add support to configure double line clock in lockscreen [2/2]

This keeps the Settings entry under Lockscreen Settings for
Double line clock to be configurable.

As a result, this is now consistent with previous Android versions.

Co-authored-by: Luca Weiss <luca.weiss@fairphone.com>
Bug: 277244307
Test: atest SettingsRoboTests:com.android.settings.display.LockscreenClockPreferenceControllerTest
Change-Id: I08121a1a658cb4045aa30d0bd93e18ca22c3db6d
diff --git a/src/com/android/settings/display/LockscreenClockPreferenceController.java b/src/com/android/settings/display/LockscreenClockPreferenceController.java
index 70ae55e..bf427b2 100644
--- a/src/com/android/settings/display/LockscreenClockPreferenceController.java
+++ b/src/com/android/settings/display/LockscreenClockPreferenceController.java
@@ -37,7 +37,8 @@
 
     @Override
     public boolean isChecked() {
-        return Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1) != 0;
+        return Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY,
+                getDoublelineClockDefault()) != 0;
     }
 
     @Override
@@ -67,4 +68,9 @@
     public int getSliceHighlightMenuRes() {
         return R.string.menu_key_display;
     }
+
+    protected int getDoublelineClockDefault() {
+        return mContext.getResources()
+            .getInteger(com.android.internal.R.integer.config_doublelineClockDefault);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/display/LockscreenClockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/LockscreenClockPreferenceControllerTest.java
index 94f2dc6..88a3d23 100644
--- a/tests/robotests/src/com/android/settings/display/LockscreenClockPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/LockscreenClockPreferenceControllerTest.java
@@ -16,10 +16,14 @@
 
 package com.android.settings.display;
 
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.spy;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.ContentResolver;
 import android.content.Context;
+import android.content.res.Resources;
 import android.provider.Settings;
 
 import androidx.preference.Preference;
@@ -42,6 +46,8 @@
     private ContentResolver mContentResolver;
     private LockscreenClockPreferenceController mController;
 
+    private Resources mResources;
+
     @Mock
     private Preference mPreference;
 
@@ -51,12 +57,18 @@
         mContext = RuntimeEnvironment.application;
         mContentResolver = mContext.getContentResolver();
         mController = new LockscreenClockPreferenceController(mContext, TEST_KEY);
+        mResources = spy(mContext.getResources());
+        Context mClockContext = org.mockito.Mockito.mock(Context.class);
+        when(mClockContext.getResources()).thenReturn(mResources);
     }
 
     @Test
     public void isChecked_SettingIs1_returnTrue() {
         Settings.Secure.putInt(mContentResolver, SETTING_KEY, 1);
 
+        when(mResources.getInteger(com.android.internal.R.integer.config_doublelineClockDefault))
+            .thenReturn(1);
+
         assertThat(mController.isChecked()).isTrue();
     }
 
@@ -64,6 +76,9 @@
     public void isChecked_SettingIs0_returnFalse() {
         Settings.Secure.putInt(mContentResolver, SETTING_KEY, 0);
 
+        when(mResources.getInteger(com.android.internal.R.integer.config_doublelineClockDefault))
+            .thenReturn(0);
+
         assertThat(mController.isChecked()).isFalse();
     }