From 52247f69a579c189a881c53d2d021eeffa1609a8 Mon Sep 17 00:00:00 2001 From: Victor Chang Date: Fri, 24 Jun 2016 16:32:28 +0100 Subject: [PATCH] Add explanatory text displayed when 'Always-on' switch is greyed-out for VPN apps w/targetSdk<24 Bug: 28413917 Change-Id: I3e7c079b4f91c02e5d0c0e8fda4ac6775dd0247b --- res/values/strings.xml | 2 ++ src/com/android/settings/vpn2/AppManagementFragment.java | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index cc162400365..adcd38c00b9 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -5253,6 +5253,8 @@ No VPNs added. Always-on active + + Not supported by this app Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN. diff --git a/src/com/android/settings/vpn2/AppManagementFragment.java b/src/com/android/settings/vpn2/AppManagementFragment.java index 170b128f251..99d2f556179 100644 --- a/src/com/android/settings/vpn2/AppManagementFragment.java +++ b/src/com/android/settings/vpn2/AppManagementFragment.java @@ -224,8 +224,14 @@ public class AppManagementFragment extends SettingsPreferenceFragment mPreferenceForget.checkRestrictionAndSetDisabled(UserManager.DISALLOW_CONFIG_VPN, mUserId); - if (!checkTargetVersion()) { + if (checkTargetVersion()) { + // setSummary doesn't override the admin message when user restriction is applied + mPreferenceAlwaysOn.setSummary(null); + // setEnabled is not required here, as checkRestrictionAndSetDisabled + // should have refreshed the enable state. + } else { mPreferenceAlwaysOn.setEnabled(false); + mPreferenceAlwaysOn.setSummary(R.string.vpn_not_supported_by_this_app); } } }