Loading src/com/android/settings/display/AdaptiveSleepPreferenceController.java +7 −3 Original line number Diff line number Diff line Loading @@ -139,13 +139,17 @@ public class AdaptiveSleepPreferenceController { } public static int isControllerAvailable(Context context) { return context.getResources().getBoolean( com.android.internal.R.bool.config_adaptive_sleep_available) && isAttentionServiceAvailable(context) return isAdaptiveSleepSupported(context) ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE; } static boolean isAdaptiveSleepSupported(Context context) { return context.getResources().getBoolean( com.android.internal.R.bool.config_adaptive_sleep_available) && isAttentionServiceAvailable(context); } private static boolean isAttentionServiceAvailable(Context context) { final PackageManager packageManager = context.getPackageManager(); final String resolvePackage = packageManager.getAttentionServicePackageName(); Loading src/com/android/settings/display/ScreenTimeoutSettings.java +1 −2 Original line number Diff line number Diff line Loading @@ -314,8 +314,7 @@ 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); return AdaptiveSleepPreferenceController.isAdaptiveSleepSupported(context); } private static class TimeoutCandidateInfo extends CandidateInfo { Loading tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java +27 −0 Original line number Diff line number Diff line Loading @@ -22,16 +22,24 @@ import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.app.admin.DevicePolicyManager; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; import android.content.res.Resources; import android.provider.SearchIndexableResource; import android.provider.Settings; Loading Loading @@ -80,6 +88,9 @@ public class ScreenTimeoutSettingsTest { @Mock Preference mDisableOptionsPreference; @Mock private PackageManager mPackageManager; @Before public void setup() { MockitoAnnotations.initMocks(this); Loading @@ -90,6 +101,15 @@ public class ScreenTimeoutSettingsTest { mContentResolver = mContext.getContentResolver(); mResources = spy(mContext.getResources()); doReturn(mPackageManager).when(mContext).getPackageManager(); when(mPackageManager.getAttentionServicePackageName()).thenReturn("some.package"); when(mPackageManager.checkPermission(any(), any())).thenReturn( PackageManager.PERMISSION_GRANTED); final ResolveInfo attentionServiceResolveInfo = new ResolveInfo(); attentionServiceResolveInfo.serviceInfo = new ServiceInfo(); when(mPackageManager.resolveService(isA(Intent.class), anyInt())).thenReturn( attentionServiceResolveInfo); doReturn(TIMEOUT_ENTRIES).when(mResources).getStringArray(R.array.screen_timeout_entries); doReturn(TIMEOUT_VALUES).when(mResources).getStringArray(R.array.screen_timeout_entries); doReturn(true).when(mResources).getBoolean( Loading Loading @@ -147,6 +167,13 @@ public class ScreenTimeoutSettingsTest { verify(mSettings.mAdaptiveSleepController, never()).addToScreen(mPreferenceScreen); } @Test public void updateCandidates_AttentionServiceNotInstalled_doNoShowAdaptiveSleepPreference() { when(mPackageManager.resolveService(isA(Intent.class), anyInt())).thenReturn(null); verify(mSettings.mAdaptiveSleepController, never()).addToScreen(mPreferenceScreen); } @Test public void updateCandidates_enforcedAdmin_showDisabledByAdminPreference() { mSettings.mAdmin = new RestrictedLockUtils.EnforcedAdmin(); Loading Loading
src/com/android/settings/display/AdaptiveSleepPreferenceController.java +7 −3 Original line number Diff line number Diff line Loading @@ -139,13 +139,17 @@ public class AdaptiveSleepPreferenceController { } public static int isControllerAvailable(Context context) { return context.getResources().getBoolean( com.android.internal.R.bool.config_adaptive_sleep_available) && isAttentionServiceAvailable(context) return isAdaptiveSleepSupported(context) ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE; } static boolean isAdaptiveSleepSupported(Context context) { return context.getResources().getBoolean( com.android.internal.R.bool.config_adaptive_sleep_available) && isAttentionServiceAvailable(context); } private static boolean isAttentionServiceAvailable(Context context) { final PackageManager packageManager = context.getPackageManager(); final String resolvePackage = packageManager.getAttentionServicePackageName(); Loading
src/com/android/settings/display/ScreenTimeoutSettings.java +1 −2 Original line number Diff line number Diff line Loading @@ -314,8 +314,7 @@ 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); return AdaptiveSleepPreferenceController.isAdaptiveSleepSupported(context); } private static class TimeoutCandidateInfo extends CandidateInfo { Loading
tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java +27 −0 Original line number Diff line number Diff line Loading @@ -22,16 +22,24 @@ import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.app.admin.DevicePolicyManager; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; import android.content.res.Resources; import android.provider.SearchIndexableResource; import android.provider.Settings; Loading Loading @@ -80,6 +88,9 @@ public class ScreenTimeoutSettingsTest { @Mock Preference mDisableOptionsPreference; @Mock private PackageManager mPackageManager; @Before public void setup() { MockitoAnnotations.initMocks(this); Loading @@ -90,6 +101,15 @@ public class ScreenTimeoutSettingsTest { mContentResolver = mContext.getContentResolver(); mResources = spy(mContext.getResources()); doReturn(mPackageManager).when(mContext).getPackageManager(); when(mPackageManager.getAttentionServicePackageName()).thenReturn("some.package"); when(mPackageManager.checkPermission(any(), any())).thenReturn( PackageManager.PERMISSION_GRANTED); final ResolveInfo attentionServiceResolveInfo = new ResolveInfo(); attentionServiceResolveInfo.serviceInfo = new ServiceInfo(); when(mPackageManager.resolveService(isA(Intent.class), anyInt())).thenReturn( attentionServiceResolveInfo); doReturn(TIMEOUT_ENTRIES).when(mResources).getStringArray(R.array.screen_timeout_entries); doReturn(TIMEOUT_VALUES).when(mResources).getStringArray(R.array.screen_timeout_entries); doReturn(true).when(mResources).getBoolean( Loading Loading @@ -147,6 +167,13 @@ public class ScreenTimeoutSettingsTest { verify(mSettings.mAdaptiveSleepController, never()).addToScreen(mPreferenceScreen); } @Test public void updateCandidates_AttentionServiceNotInstalled_doNoShowAdaptiveSleepPreference() { when(mPackageManager.resolveService(isA(Intent.class), anyInt())).thenReturn(null); verify(mSettings.mAdaptiveSleepController, never()).addToScreen(mPreferenceScreen); } @Test public void updateCandidates_enforcedAdmin_showDisabledByAdminPreference() { mSettings.mAdmin = new RestrictedLockUtils.EnforcedAdmin(); Loading