Merge "Add power consumption footer in screen timeout page." into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
f122a93efc
@@ -2656,6 +2656,8 @@
|
|||||||
<string name="adaptive_sleep_contextual_slice_title">Turn on screen attention</string>
|
<string name="adaptive_sleep_contextual_slice_title">Turn on screen attention</string>
|
||||||
<!-- Description about the contextual adaptive sleep card [CHAR LIMIT=NONE]-->
|
<!-- Description about the contextual adaptive sleep card [CHAR LIMIT=NONE]-->
|
||||||
<string name="adaptive_sleep_contextual_slice_summary">Keep screen on when looking at it</string>
|
<string name="adaptive_sleep_contextual_slice_summary">Keep screen on when looking at it</string>
|
||||||
|
<!-- Description about the power consumption implication in screen timeout footer [CHAR LIMIT=NONE]-->
|
||||||
|
<string name="power_consumption_footer_summary">Longer screen timeout will use more battery.</string>
|
||||||
<!-- auto_rotate settings screen, title about the camera privacy lock enabled [CHAR LIMIT=NONE]-->
|
<!-- auto_rotate settings screen, title about the camera privacy lock enabled [CHAR LIMIT=NONE]-->
|
||||||
<string name="auto_rotate_camera_lock_title">Camera is locked</string>
|
<string name="auto_rotate_camera_lock_title">Camera is locked</string>
|
||||||
<!-- Description feature's privacy sensitive details to make sure users understand what feature users, what it saves/sends etc [CHAR LIMIT=NONE]-->
|
<!-- Description feature's privacy sensitive details to make sure users understand what feature users, what it saves/sends etc [CHAR LIMIT=NONE]-->
|
||||||
|
@@ -92,6 +92,9 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
|
|||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
FooterPreference mDisableOptionsPreference;
|
FooterPreference mDisableOptionsPreference;
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
FooterPreference mPowerConsumptionPreference;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
AdaptiveSleepPermissionPreferenceController mAdaptiveSleepPermissionController;
|
AdaptiveSleepPermissionPreferenceController mAdaptiveSleepPermissionController;
|
||||||
|
|
||||||
@@ -216,6 +219,9 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
|
|||||||
if (mAdmin != null) {
|
if (mAdmin != null) {
|
||||||
setupDisabledFooterPreference();
|
setupDisabledFooterPreference();
|
||||||
screen.addPreference(mDisableOptionsPreference);
|
screen.addPreference(mDisableOptionsPreference);
|
||||||
|
} else {
|
||||||
|
setupPowerConsumptionFooterPreference();
|
||||||
|
screen.addPreference(mPowerConsumptionPreference);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -236,8 +242,20 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
|
|||||||
mDisableOptionsPreference.setIcon(R.drawable.ic_info_outline_24dp);
|
mDisableOptionsPreference.setIcon(R.drawable.ic_info_outline_24dp);
|
||||||
|
|
||||||
// The 'disabled by admin' preference should always be at the end of the setting page.
|
// The 'disabled by admin' preference should always be at the end of the setting page.
|
||||||
mDisableOptionsPreference.setOrder(DEFAULT_ORDER_OF_LOWEST_PREFERENCE);
|
|
||||||
mPrivacyPreference.setOrder(DEFAULT_ORDER_OF_LOWEST_PREFERENCE - 1);
|
mPrivacyPreference.setOrder(DEFAULT_ORDER_OF_LOWEST_PREFERENCE - 1);
|
||||||
|
mDisableOptionsPreference.setOrder(DEFAULT_ORDER_OF_LOWEST_PREFERENCE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
void setupPowerConsumptionFooterPreference() {
|
||||||
|
mPowerConsumptionPreference = new FooterPreference(getContext());
|
||||||
|
mPowerConsumptionPreference.setTitle(R.string.power_consumption_footer_summary);
|
||||||
|
mPowerConsumptionPreference.setSelectable(false);
|
||||||
|
mPowerConsumptionPreference.setIcon(R.drawable.ic_info_outline_24dp);
|
||||||
|
|
||||||
|
// The 'Longer screen timeout' preference should always be at the end of the setting page.
|
||||||
|
mPrivacyPreference.setOrder(DEFAULT_ORDER_OF_LOWEST_PREFERENCE - 1);
|
||||||
|
mPowerConsumptionPreference.setOrder(DEFAULT_ORDER_OF_LOWEST_PREFERENCE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -92,6 +92,9 @@ public class ScreenTimeoutSettingsTest {
|
|||||||
@Mock
|
@Mock
|
||||||
FooterPreference mDisableOptionsPreference;
|
FooterPreference mDisableOptionsPreference;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
FooterPreference mPowerConsumptionPreference;
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
private PackageManager mPackageManager;
|
private PackageManager mPackageManager;
|
||||||
|
|
||||||
@@ -182,11 +185,28 @@ public class ScreenTimeoutSettingsTest {
|
|||||||
public void updateCandidates_enforcedAdmin_showDisabledByAdminPreference() {
|
public void updateCandidates_enforcedAdmin_showDisabledByAdminPreference() {
|
||||||
mSettings.mAdmin = new RestrictedLockUtils.EnforcedAdmin();
|
mSettings.mAdmin = new RestrictedLockUtils.EnforcedAdmin();
|
||||||
mSettings.mDisableOptionsPreference = mDisableOptionsPreference;
|
mSettings.mDisableOptionsPreference = mDisableOptionsPreference;
|
||||||
|
mSettings.mPowerConsumptionPreference = mPowerConsumptionPreference;
|
||||||
doNothing().when(mSettings).setupDisabledFooterPreference();
|
doNothing().when(mSettings).setupDisabledFooterPreference();
|
||||||
|
doNothing().when(mSettings).setupPowerConsumptionFooterPreference();
|
||||||
|
|
||||||
mSettings.updateCandidates();
|
mSettings.updateCandidates();
|
||||||
|
|
||||||
verify(mPreferenceScreen, atLeast(1)).addPreference(mDisableOptionsPreference);
|
verify(mPreferenceScreen, atLeast(1)).addPreference(mDisableOptionsPreference);
|
||||||
|
verify(mPreferenceScreen, never()).addPreference(mPowerConsumptionPreference);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateCandidates_withoutAdmin_showPowerConsumptionPreference() {
|
||||||
|
mSettings.mAdmin = null;
|
||||||
|
mSettings.mDisableOptionsPreference = mDisableOptionsPreference;
|
||||||
|
mSettings.mPowerConsumptionPreference = mPowerConsumptionPreference;
|
||||||
|
doNothing().when(mSettings).setupDisabledFooterPreference();
|
||||||
|
doNothing().when(mSettings).setupPowerConsumptionFooterPreference();
|
||||||
|
|
||||||
|
mSettings.updateCandidates();
|
||||||
|
|
||||||
|
verify(mPreferenceScreen, never()).addPreference(mDisableOptionsPreference);
|
||||||
|
verify(mPreferenceScreen, atLeast(1)).addPreference(mPowerConsumptionPreference);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user