Fix security dialog bug

This CL fixes a bug introduced by ag/19712818: when inflating the
security dialog content, we should use the Quick Settings context (which
is always using dark mode) and not the application context. Otherwise,
if we are in light mode, then the color of the text is the same as the
background and it looks like there is not content in the dialog. In dark
mode, everything was looking fine because the text color from the
application context would be light.

Bug: 247961387
Test: Manual
Change-Id: I0088206b8a3f5473f22d6f80e89a5dd07875c167
This commit is contained in:
Jordan Demeulenaere
2022-09-30 14:53:52 +02:00
parent d5d35fb282
commit aeae9af5f5
2 changed files with 7 additions and 7 deletions

View File

@@ -444,7 +444,7 @@ public class QSSecurityFooterUtils implements DialogInterface.OnClickListener {
mShouldUseSettingsButton.set(false);
mBgHandler.post(() -> {
String settingsButtonText = getSettingsButton();
final View dialogView = createDialogView();
final View dialogView = createDialogView(quickSettingsContext);
mMainHandler.post(() -> {
mDialog = new SystemUIDialog(quickSettingsContext, 0);
mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -469,14 +469,14 @@ public class QSSecurityFooterUtils implements DialogInterface.OnClickListener {
}
@VisibleForTesting
View createDialogView() {
View createDialogView(Context quickSettingsContext) {
if (mSecurityController.isParentalControlsEnabled()) {
return createParentalControlsDialogView();
}
return createOrganizationDialogView();
return createOrganizationDialogView(quickSettingsContext);
}
private View createOrganizationDialogView() {
private View createOrganizationDialogView(Context quickSettingsContext) {
final boolean isDeviceManaged = mSecurityController.isDeviceManaged();
final boolean hasWorkProfile = mSecurityController.hasWorkProfile();
final CharSequence deviceOwnerOrganization =
@@ -487,7 +487,7 @@ public class QSSecurityFooterUtils implements DialogInterface.OnClickListener {
final String vpnName = mSecurityController.getPrimaryVpnName();
final String vpnNameWorkProfile = mSecurityController.getWorkProfileVpnName();
View dialogView = LayoutInflater.from(mContext)
View dialogView = LayoutInflater.from(quickSettingsContext)
.inflate(R.layout.quick_settings_footer_dialog, null, false);
// device management section

View File

@@ -726,7 +726,7 @@ public class QSSecurityFooterTest extends SysuiTestCase {
when(mSecurityController.isParentalControlsEnabled()).thenReturn(true);
when(mSecurityController.getLabel(any())).thenReturn(PARENTAL_CONTROLS_LABEL);
View view = mFooterUtils.createDialogView();
View view = mFooterUtils.createDialogView(getContext());
TextView textView = (TextView) view.findViewById(R.id.parental_controls_title);
assertEquals(PARENTAL_CONTROLS_LABEL, textView.getText());
}
@@ -749,7 +749,7 @@ public class QSSecurityFooterTest extends SysuiTestCase {
when(mSecurityController.getDeviceOwnerType(DEVICE_OWNER_COMPONENT))
.thenReturn(DEVICE_OWNER_TYPE_FINANCED);
View view = mFooterUtils.createDialogView();
View view = mFooterUtils.createDialogView(getContext());
TextView managementSubtitle = view.findViewById(R.id.device_management_subtitle);
assertEquals(View.VISIBLE, managementSubtitle.getVisibility());