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();
}