Makes screen attention unsearchable on the devices that don't have the feature

Bug: 178866004
Test: make RunSettingsRoboTests
Change-Id: I8881f6b87be73b2ff75e7dfe294d2dbb75ff73d4
This commit is contained in:
Yi Jiang
2021-02-02 01:41:19 -08:00
parent 3b414eb10b
commit 77647ea977
2 changed files with 10 additions and 7 deletions

View File

@@ -158,7 +158,7 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
screen.addPreference(pref); screen.addPreference(pref);
} }
if (isScreenAttentionAvailable()) { if (isScreenAttentionAvailable(getContext())) {
mAdaptiveSleepPermissionController.addToScreen(screen); mAdaptiveSleepPermissionController.addToScreen(screen);
mAdaptiveSleepController.addToScreen(screen); mAdaptiveSleepController.addToScreen(screen);
screen.addPreference(mPrivacyPreference); screen.addPreference(mPrivacyPreference);
@@ -199,11 +199,6 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
return R.string.help_url_adaptive_sleep; 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) { private Long getMaxScreenTimeout(Context context) {
if (context == null) { if (context == null) {
return Long.MAX_VALUE; 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 static class TimeoutCandidateInfo extends CandidateInfo {
private final CharSequence mLabel; private final CharSequence mLabel;
private final String mKey; private final String mKey;
@@ -269,11 +269,13 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
new BaseSearchIndexProvider(R.xml.screen_timeout_settings) { new BaseSearchIndexProvider(R.xml.screen_timeout_settings) {
public List<SearchIndexableRaw> getRawDataToIndex(Context context, public List<SearchIndexableRaw> getRawDataToIndex(Context context,
boolean enabled) { boolean enabled) {
if (!isScreenAttentionAvailable(context)) {
return null;
}
final Resources res = context.getResources(); final Resources res = context.getResources();
final SearchIndexableRaw data = new SearchIndexableRaw(context); final SearchIndexableRaw data = new SearchIndexableRaw(context);
data.title = res.getString(R.string.adaptive_sleep_title); data.title = res.getString(R.string.adaptive_sleep_title);
data.key = AdaptiveSleepPreferenceController.PREFERENCE_KEY; data.key = AdaptiveSleepPreferenceController.PREFERENCE_KEY;
data.screenTitle = res.getString(R.string.screen_timeout_title);
data.keywords = res.getString(R.string.adaptive_sleep_title); data.keywords = res.getString(R.string.adaptive_sleep_title);
final List<SearchIndexableRaw> result = new ArrayList<>(1); final List<SearchIndexableRaw> result = new ArrayList<>(1);

View File

@@ -87,6 +87,7 @@ public class ScreenTimeoutSettingsTest {
com.android.internal.R.bool.config_adaptive_sleep_available); com.android.internal.R.bool.config_adaptive_sleep_available);
doReturn(null).when(mContext).getSystemService(DevicePolicyManager.class); doReturn(null).when(mContext).getSystemService(DevicePolicyManager.class);
doReturn(mResources).when(mContext).getResources();
doReturn(mResources).when(mSettings).getResources(); doReturn(mResources).when(mSettings).getResources();
doReturn(mContext).when(mSettings).getContext(); doReturn(mContext).when(mSettings).getContext();