Skip to content
Snippets Groups Projects
Commit c1671be8 authored by Alex Johnston's avatar Alex Johnston
Browse files

Update network logging message

* Update QS menu network logging message if the
  device is a organization owned device with a
  managed profile or a BYOD device with a
  managed profile.

Bug: 170460270
Test: atest com.android.systemui.qs.QSSecurityFooterTest
Change-Id: Ieda889d33d20858d90ae40b24fb78ef3e698677e
parent 4803f158
No related branches found
No related tags found
No related merge requests found
......@@ -1341,6 +1341,9 @@
<!-- Monitoring dialog: Description of Network Logging. [CHAR LIMIT=NONE]-->
<string name="monitoring_description_management_network_logging">Your admin has turned on network logging, which monitors traffic on your device.</string>
<!-- Monitoring dialog: Description of Network Logging in the work profile. [CHAR LIMIT=NONE]-->
<string name="monitoring_description_managed_profile_network_logging">Your admin has turned on network logging, which monitors traffic in your work profile but not in your personal profile.</string>
<!-- Monitoring dialog: Description of an active VPN. [CHAR LIMIT=NONE]-->
<string name="monitoring_description_named_vpn">You\'re connected to <xliff:g id="vpn_app" example="Foo VPN App">%1$s</xliff:g>, which can monitor your network activity, including emails, apps, and websites.</string>
......
......@@ -170,7 +170,8 @@ class QSSecurityFooter implements OnClickListener, DialogInterface.OnClickListen
// Update visibility of footer
mIsVisible = (isDeviceManaged && !isDemoDevice) || hasCACerts || hasCACertsInWorkProfile
|| vpnName != null || vpnNameWorkProfile != null
|| isProfileOwnerOfOrganizationOwnedDevice || isParentalControlsEnabled;
|| isProfileOwnerOfOrganizationOwnedDevice || isParentalControlsEnabled
|| (hasWorkProfile && isNetworkLoggingEnabled);
// Update the string
mFooterTextContent = getFooterText(isDeviceManaged, hasWorkProfile,
hasCACerts, hasCACertsInWorkProfile, isNetworkLoggingEnabled, vpnName,
......@@ -275,12 +276,30 @@ class QSSecurityFooter implements OnClickListener, DialogInterface.OnClickListen
vpnName);
}
if (isProfileOwnerOfOrganizationOwnedDevice) {
if (isNetworkLoggingEnabled) {
if (organizationName == null) {
return mContext.getString(
R.string.quick_settings_disclosure_management_monitoring);
}
return mContext.getString(
R.string.quick_settings_disclosure_named_management_monitoring,
organizationName);
}
if (workProfileOrganizationName == null) {
return mContext.getString(R.string.quick_settings_disclosure_management);
}
return mContext.getString(R.string.quick_settings_disclosure_named_management,
workProfileOrganizationName);
}
if (hasWorkProfile && isNetworkLoggingEnabled) {
if (workProfileOrganizationName == null) {
return mContext.getString(
R.string.quick_settings_disclosure_managed_profile_monitoring);
}
return mContext.getString(
R.string.quick_settings_disclosure_named_managed_profile_monitoring,
workProfileOrganizationName);
}
return null;
}
......@@ -367,7 +386,8 @@ class QSSecurityFooter implements OnClickListener, DialogInterface.OnClickListen
}
// network logging section
CharSequence networkLoggingMessage = getNetworkLoggingMessage(isNetworkLoggingEnabled);
CharSequence networkLoggingMessage = getNetworkLoggingMessage(isDeviceManaged,
isNetworkLoggingEnabled);
if (networkLoggingMessage == null) {
dialogView.findViewById(R.id.network_logging_disclosures).setVisibility(View.GONE);
} else {
......@@ -492,9 +512,15 @@ class QSSecurityFooter implements OnClickListener, DialogInterface.OnClickListen
return mContext.getString(R.string.monitoring_description_ca_certificate);
}
protected CharSequence getNetworkLoggingMessage(boolean isNetworkLoggingEnabled) {
protected CharSequence getNetworkLoggingMessage(boolean isDeviceManaged,
boolean isNetworkLoggingEnabled) {
if (!isNetworkLoggingEnabled) return null;
return mContext.getString(R.string.monitoring_description_management_network_logging);
if (isDeviceManaged) {
return mContext.getString(R.string.monitoring_description_management_network_logging);
} else {
return mContext.getString(
R.string.monitoring_description_managed_profile_network_logging);
}
}
protected CharSequence getVpnMessage(boolean isDeviceManaged, boolean hasWorkProfile,
......
......@@ -443,9 +443,18 @@ public class QSSecurityFooterTest extends SysuiTestCase {
@Test
public void testGetNetworkLoggingMessage() {
assertEquals(null, mFooter.getNetworkLoggingMessage(false));
// Test network logging message on a device with a device owner.
// Network traffic may be monitored on the device.
assertEquals(null, mFooter.getNetworkLoggingMessage(true, false));
assertEquals(mContext.getString(R.string.monitoring_description_management_network_logging),
mFooter.getNetworkLoggingMessage(true));
mFooter.getNetworkLoggingMessage(true, true));
// Test network logging message on a device with a managed profile owner
// Network traffic may be monitored on the work profile.
assertEquals(null, mFooter.getNetworkLoggingMessage(false, false));
assertEquals(
mContext.getString(R.string.monitoring_description_managed_profile_network_logging),
mFooter.getNetworkLoggingMessage(false, true));
}
@Test
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment