Loading packages/SystemUI/src/com/android/systemui/qs/QSSecurityFooter.java +21 −5 Original line number Diff line number Diff line Loading @@ -265,9 +265,13 @@ public class QSSecurityFooter implements OnClickListener, DialogInterface.OnClic private void createDialog() { final boolean isDeviceManaged = mSecurityController.isDeviceManaged(); boolean isProfileOwnerOfOrganizationOwnedDevice = mSecurityController.isProfileOwnerOfOrganizationOwnedDevice(); final boolean hasWorkProfile = mSecurityController.hasWorkProfile(); final CharSequence deviceOwnerOrganization = mSecurityController.getDeviceOwnerOrganizationName(); final CharSequence workProfileOrganizationName = mSecurityController.getWorkProfileOrganizationName(); final boolean hasCACerts = mSecurityController.hasCACertInCurrentUser(); final boolean hasCACertsInWorkProfile = mSecurityController.hasCACertInWorkProfile(); final boolean isNetworkLoggingEnabled = mSecurityController.isNetworkLoggingEnabled(); Loading @@ -284,7 +288,8 @@ public class QSSecurityFooter implements OnClickListener, DialogInterface.OnClic // device management section CharSequence managementMessage = getManagementMessage(isDeviceManaged, deviceOwnerOrganization); deviceOwnerOrganization, isProfileOwnerOfOrganizationOwnedDevice, workProfileOrganizationName); if (managementMessage == null) { dialogView.findViewById(R.id.device_management_disclosures).setVisibility(View.GONE); } else { Loading @@ -292,8 +297,12 @@ public class QSSecurityFooter implements OnClickListener, DialogInterface.OnClic TextView deviceManagementWarning = (TextView) dialogView.findViewById(R.id.device_management_warning); deviceManagementWarning.setText(managementMessage); // Don't show the policies button for profile owner of org owned device, because there // is no policies settings screen for it if (!isProfileOwnerOfOrganizationOwnedDevice) { mDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getSettingsButton(), this); } } // ca certificate section CharSequence caCertsMessage = getCaCertsMessage(isDeviceManaged, hasCACerts, Loading Loading @@ -382,11 +391,18 @@ public class QSSecurityFooter implements OnClickListener, DialogInterface.OnClic } protected CharSequence getManagementMessage(boolean isDeviceManaged, CharSequence organizationName) { if (!isDeviceManaged) return null; if (organizationName != null) CharSequence organizationName, boolean isProfileOwnerOfOrganizationOwnedDevice, CharSequence workProfileOrganizationName) { if (!isDeviceManaged && !isProfileOwnerOfOrganizationOwnedDevice) { return null; } if (isDeviceManaged && organizationName != null) { return mContext.getString( R.string.monitoring_description_named_management, organizationName); } else if (isProfileOwnerOfOrganizationOwnedDevice && workProfileOrganizationName != null) { return mContext.getString( R.string.monitoring_description_named_management, workProfileOrganizationName); } return mContext.getString(R.string.monitoring_description_management); } Loading packages/SystemUI/tests/src/com/android/systemui/qs/QSSecurityFooterTest.java +37 −4 Original line number Diff line number Diff line Loading @@ -367,13 +367,46 @@ public class QSSecurityFooterTest extends SysuiTestCase { } @Test public void testGetManagementMessage() { assertEquals(null, mFooter.getManagementMessage(false, MANAGING_ORGANIZATION)); public void testGetManagementMessage_noManagement() { assertEquals(null, mFooter.getManagementMessage( /* isDeviceManaged= */ false, MANAGING_ORGANIZATION, /* isProfileOwnerOfOrganizationOwnedDevice= */ false, MANAGING_ORGANIZATION)); } @Test public void testGetManagementMessage_deviceOwner() { assertEquals(mContext.getString(R.string.monitoring_description_named_management, MANAGING_ORGANIZATION), mFooter.getManagementMessage( /* isDeviceManaged= */ true, MANAGING_ORGANIZATION, /* isProfileOwnerOfOrganizationOwnedDevice= */ false, /* workProfileOrganizationName= */ null)); assertEquals(mContext.getString(R.string.monitoring_description_management), mFooter.getManagementMessage( /* isDeviceManaged= */ true, /* organizationName= */ null, /* isProfileOwnerOfOrganizationOwnedDevice= */ false, /* workProfileOrganizationName= */ null)); } @Test public void testGetManagementMessage_profileOwnerOfOrganizationOwnedDevice() { assertEquals(mContext.getString(R.string.monitoring_description_named_management, MANAGING_ORGANIZATION), mFooter.getManagementMessage(true, MANAGING_ORGANIZATION)); mFooter.getManagementMessage( /* isDeviceManaged= */ false, /* organizationName= */ null, /* isProfileOwnerOfOrganizationOwnedDevice= */ true, MANAGING_ORGANIZATION)); assertEquals(mContext.getString(R.string.monitoring_description_management), mFooter.getManagementMessage(true, null)); mFooter.getManagementMessage( /* isDeviceManaged= */ false, /* organizationName= */ null, /* isProfileOwnerOfOrganizationOwnedDevice= */ true, /* workProfileOrganizationName= */ null)); } @Test Loading Loading
packages/SystemUI/src/com/android/systemui/qs/QSSecurityFooter.java +21 −5 Original line number Diff line number Diff line Loading @@ -265,9 +265,13 @@ public class QSSecurityFooter implements OnClickListener, DialogInterface.OnClic private void createDialog() { final boolean isDeviceManaged = mSecurityController.isDeviceManaged(); boolean isProfileOwnerOfOrganizationOwnedDevice = mSecurityController.isProfileOwnerOfOrganizationOwnedDevice(); final boolean hasWorkProfile = mSecurityController.hasWorkProfile(); final CharSequence deviceOwnerOrganization = mSecurityController.getDeviceOwnerOrganizationName(); final CharSequence workProfileOrganizationName = mSecurityController.getWorkProfileOrganizationName(); final boolean hasCACerts = mSecurityController.hasCACertInCurrentUser(); final boolean hasCACertsInWorkProfile = mSecurityController.hasCACertInWorkProfile(); final boolean isNetworkLoggingEnabled = mSecurityController.isNetworkLoggingEnabled(); Loading @@ -284,7 +288,8 @@ public class QSSecurityFooter implements OnClickListener, DialogInterface.OnClic // device management section CharSequence managementMessage = getManagementMessage(isDeviceManaged, deviceOwnerOrganization); deviceOwnerOrganization, isProfileOwnerOfOrganizationOwnedDevice, workProfileOrganizationName); if (managementMessage == null) { dialogView.findViewById(R.id.device_management_disclosures).setVisibility(View.GONE); } else { Loading @@ -292,8 +297,12 @@ public class QSSecurityFooter implements OnClickListener, DialogInterface.OnClic TextView deviceManagementWarning = (TextView) dialogView.findViewById(R.id.device_management_warning); deviceManagementWarning.setText(managementMessage); // Don't show the policies button for profile owner of org owned device, because there // is no policies settings screen for it if (!isProfileOwnerOfOrganizationOwnedDevice) { mDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getSettingsButton(), this); } } // ca certificate section CharSequence caCertsMessage = getCaCertsMessage(isDeviceManaged, hasCACerts, Loading Loading @@ -382,11 +391,18 @@ public class QSSecurityFooter implements OnClickListener, DialogInterface.OnClic } protected CharSequence getManagementMessage(boolean isDeviceManaged, CharSequence organizationName) { if (!isDeviceManaged) return null; if (organizationName != null) CharSequence organizationName, boolean isProfileOwnerOfOrganizationOwnedDevice, CharSequence workProfileOrganizationName) { if (!isDeviceManaged && !isProfileOwnerOfOrganizationOwnedDevice) { return null; } if (isDeviceManaged && organizationName != null) { return mContext.getString( R.string.monitoring_description_named_management, organizationName); } else if (isProfileOwnerOfOrganizationOwnedDevice && workProfileOrganizationName != null) { return mContext.getString( R.string.monitoring_description_named_management, workProfileOrganizationName); } return mContext.getString(R.string.monitoring_description_management); } Loading
packages/SystemUI/tests/src/com/android/systemui/qs/QSSecurityFooterTest.java +37 −4 Original line number Diff line number Diff line Loading @@ -367,13 +367,46 @@ public class QSSecurityFooterTest extends SysuiTestCase { } @Test public void testGetManagementMessage() { assertEquals(null, mFooter.getManagementMessage(false, MANAGING_ORGANIZATION)); public void testGetManagementMessage_noManagement() { assertEquals(null, mFooter.getManagementMessage( /* isDeviceManaged= */ false, MANAGING_ORGANIZATION, /* isProfileOwnerOfOrganizationOwnedDevice= */ false, MANAGING_ORGANIZATION)); } @Test public void testGetManagementMessage_deviceOwner() { assertEquals(mContext.getString(R.string.monitoring_description_named_management, MANAGING_ORGANIZATION), mFooter.getManagementMessage( /* isDeviceManaged= */ true, MANAGING_ORGANIZATION, /* isProfileOwnerOfOrganizationOwnedDevice= */ false, /* workProfileOrganizationName= */ null)); assertEquals(mContext.getString(R.string.monitoring_description_management), mFooter.getManagementMessage( /* isDeviceManaged= */ true, /* organizationName= */ null, /* isProfileOwnerOfOrganizationOwnedDevice= */ false, /* workProfileOrganizationName= */ null)); } @Test public void testGetManagementMessage_profileOwnerOfOrganizationOwnedDevice() { assertEquals(mContext.getString(R.string.monitoring_description_named_management, MANAGING_ORGANIZATION), mFooter.getManagementMessage(true, MANAGING_ORGANIZATION)); mFooter.getManagementMessage( /* isDeviceManaged= */ false, /* organizationName= */ null, /* isProfileOwnerOfOrganizationOwnedDevice= */ true, MANAGING_ORGANIZATION)); assertEquals(mContext.getString(R.string.monitoring_description_management), mFooter.getManagementMessage(true, null)); mFooter.getManagementMessage( /* isDeviceManaged= */ false, /* organizationName= */ null, /* isProfileOwnerOfOrganizationOwnedDevice= */ true, /* workProfileOrganizationName= */ null)); } @Test Loading