Merge changes Ibc9d5374,I28a14ab9 into tm-qpr-dev am: b81944dee2 am: 4ecdb9172f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20641167 Change-Id: Id7a79bbbd2b29863b2fcf9ba827b30bf8a7fb77f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
committed by
Automerger Merge Worker
commit
e10628f3f3
@@ -247,7 +247,7 @@ public class QSSecurityFooterUtils implements DialogInterface.OnClickListener {
|
||||
|
||||
Icon icon;
|
||||
ContentDescription contentDescription = null;
|
||||
if (isParentalControlsEnabled) {
|
||||
if (isParentalControlsEnabled && securityModel.getDeviceAdminIcon() != null) {
|
||||
icon = new Icon.Loaded(securityModel.getDeviceAdminIcon(), contentDescription);
|
||||
} else if (vpnName != null || vpnNameWorkProfile != null) {
|
||||
if (securityModel.isVpnBranded()) {
|
||||
@@ -476,7 +476,7 @@ public class QSSecurityFooterUtils implements DialogInterface.OnClickListener {
|
||||
@VisibleForTesting
|
||||
View createDialogView(Context quickSettingsContext) {
|
||||
if (mSecurityController.isParentalControlsEnabled()) {
|
||||
return createParentalControlsDialogView();
|
||||
return createParentalControlsDialogView(quickSettingsContext);
|
||||
}
|
||||
return createOrganizationDialogView(quickSettingsContext);
|
||||
}
|
||||
@@ -579,8 +579,8 @@ public class QSSecurityFooterUtils implements DialogInterface.OnClickListener {
|
||||
return dialogView;
|
||||
}
|
||||
|
||||
private View createParentalControlsDialogView() {
|
||||
View dialogView = LayoutInflater.from(mContext)
|
||||
private View createParentalControlsDialogView(Context quickSettingsContext) {
|
||||
View dialogView = LayoutInflater.from(quickSettingsContext)
|
||||
.inflate(R.layout.quick_settings_footer_dialog_parental_controls, null, false);
|
||||
|
||||
DeviceAdminInfo info = mSecurityController.getDeviceAdminInfo();
|
||||
|
||||
@@ -703,28 +703,32 @@ public class QSSecurityFooterTest extends SysuiTestCase {
|
||||
public void testParentalControls() {
|
||||
// Make sure the security footer is visible, so that the images are updated.
|
||||
when(mSecurityController.isProfileOwnerOfOrganizationOwnedDevice()).thenReturn(true);
|
||||
|
||||
when(mSecurityController.isParentalControlsEnabled()).thenReturn(true);
|
||||
|
||||
// We use the default icon when there is no admin icon.
|
||||
when(mSecurityController.getIcon(any())).thenReturn(null);
|
||||
mFooter.refreshState();
|
||||
TestableLooper.get(this).processAllMessages();
|
||||
assertEquals(mContext.getString(R.string.quick_settings_disclosure_parental_controls),
|
||||
mFooterText.getText());
|
||||
assertEquals(DEFAULT_ICON_ID, mPrimaryFooterIcon.getLastImageResource());
|
||||
|
||||
Drawable testDrawable = new VectorDrawable();
|
||||
when(mSecurityController.getIcon(any())).thenReturn(testDrawable);
|
||||
assertNotNull(mSecurityController.getIcon(null));
|
||||
|
||||
mFooter.refreshState();
|
||||
|
||||
TestableLooper.get(this).processAllMessages();
|
||||
|
||||
assertEquals(mContext.getString(R.string.quick_settings_disclosure_parental_controls),
|
||||
mFooterText.getText());
|
||||
assertEquals(View.VISIBLE, mPrimaryFooterIcon.getVisibility());
|
||||
|
||||
assertEquals(testDrawable, mPrimaryFooterIcon.getDrawable());
|
||||
|
||||
// Ensure the primary icon is back to default after parental controls are gone
|
||||
when(mSecurityController.isParentalControlsEnabled()).thenReturn(false);
|
||||
mFooter.refreshState();
|
||||
TestableLooper.get(this).processAllMessages();
|
||||
|
||||
assertEquals(DEFAULT_ICON_ID, mPrimaryFooterIcon.getLastImageResource());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user