From 77647ea977b3695f16178421a88396c577e105a8 Mon Sep 17 00:00:00 2001 From: Yi Jiang Date: Tue, 2 Feb 2021 01:41:19 -0800 Subject: [PATCH] Makes screen attention unsearchable on the devices that don't have the feature Bug: 178866004 Test: make RunSettingsRoboTests Change-Id: I8881f6b87be73b2ff75e7dfe294d2dbb75ff73d4 --- .../settings/display/ScreenTimeoutSettings.java | 16 +++++++++------- .../display/ScreenTimeoutSettingsTest.java | 1 + 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/display/ScreenTimeoutSettings.java b/src/com/android/settings/display/ScreenTimeoutSettings.java index a90c886bf15..b5186462b3b 100644 --- a/src/com/android/settings/display/ScreenTimeoutSettings.java +++ b/src/com/android/settings/display/ScreenTimeoutSettings.java @@ -158,7 +158,7 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements screen.addPreference(pref); } - if (isScreenAttentionAvailable()) { + if (isScreenAttentionAvailable(getContext())) { mAdaptiveSleepPermissionController.addToScreen(screen); mAdaptiveSleepController.addToScreen(screen); screen.addPreference(mPrivacyPreference); @@ -199,11 +199,6 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements return R.string.help_url_adaptive_sleep; } - private boolean isScreenAttentionAvailable() { - return getResources().getBoolean( - com.android.internal.R.bool.config_adaptive_sleep_available); - } - private Long getMaxScreenTimeout(Context context) { if (context == null) { return Long.MAX_VALUE; @@ -239,6 +234,11 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements } } + private static boolean isScreenAttentionAvailable(Context context) { + return context.getResources().getBoolean( + com.android.internal.R.bool.config_adaptive_sleep_available); + } + private static class TimeoutCandidateInfo extends CandidateInfo { private final CharSequence mLabel; private final String mKey; @@ -269,11 +269,13 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements new BaseSearchIndexProvider(R.xml.screen_timeout_settings) { public List getRawDataToIndex(Context context, boolean enabled) { + if (!isScreenAttentionAvailable(context)) { + return null; + } final Resources res = context.getResources(); final SearchIndexableRaw data = new SearchIndexableRaw(context); data.title = res.getString(R.string.adaptive_sleep_title); data.key = AdaptiveSleepPreferenceController.PREFERENCE_KEY; - data.screenTitle = res.getString(R.string.screen_timeout_title); data.keywords = res.getString(R.string.adaptive_sleep_title); final List result = new ArrayList<>(1); diff --git a/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java b/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java index 621ddfa4ad0..efc45e02fe8 100644 --- a/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java +++ b/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java @@ -87,6 +87,7 @@ public class ScreenTimeoutSettingsTest { com.android.internal.R.bool.config_adaptive_sleep_available); doReturn(null).when(mContext).getSystemService(DevicePolicyManager.class); + doReturn(mResources).when(mContext).getResources(); doReturn(mResources).when(mSettings).getResources(); doReturn(mContext).when(mSettings).getContext();