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:
Jordan Demeulenaere
2022-12-06 20:05:59 +00:00
committed by Automerger Merge Worker
2 changed files with 12 additions and 8 deletions

View File

@@ -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();

View File

@@ -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());
}