From 7fe45b31db1e5d7e28515cc5a486b936e2755a85 Mon Sep 17 00:00:00 2001 From: Bharath Date: Fri, 18 Aug 2023 09:57:44 +0530 Subject: [PATCH] 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 Bug: 277244307 Test: atest SettingsRoboTests:com.android.settings.display.LockscreenClockPreferenceControllerTest Change-Id: I08121a1a658cb4045aa30d0bd93e18ca22c3db6d --- .../LockscreenClockPreferenceController.java | 8 +++++++- .../LockscreenClockPreferenceControllerTest.java | 15 +++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/display/LockscreenClockPreferenceController.java b/src/com/android/settings/display/LockscreenClockPreferenceController.java index 70ae55eaf91..bf427b203bb 100644 --- a/src/com/android/settings/display/LockscreenClockPreferenceController.java +++ b/src/com/android/settings/display/LockscreenClockPreferenceController.java @@ -37,7 +37,8 @@ public class LockscreenClockPreferenceController extends TogglePreferenceControl @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 class LockscreenClockPreferenceController extends TogglePreferenceControl 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 94f2dc66555..88a3d232fd7 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 @@ public class LockscreenClockPreferenceControllerTest { private ContentResolver mContentResolver; private LockscreenClockPreferenceController mController; + private Resources mResources; + @Mock private Preference mPreference; @@ -51,12 +57,18 @@ public class LockscreenClockPreferenceControllerTest { 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 class LockscreenClockPreferenceControllerTest { 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(); }