From a249aee10b621a94c986f4823d840e33c2a7d480 Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Wed, 3 Feb 2016 13:42:56 +0000 Subject: [PATCH] Declare provider.Settings intent for VPN fragment Currently used for a number of tests. May also be useful for 3rd-party apps using VPN in some manner or another. Bug: 27700919 Bug: 26887434 Change-Id: I4d269954265a2590499e20150f009fe437c8078f --- api/current.txt | 1 + api/system-current.txt | 1 + api/test-current.txt | 1 + core/java/android/provider/Settings.java | 14 ++++++++++++++ .../src/com/android/systemui/qs/QSFooter.java | 4 ++-- .../com/android/server/net/LockdownVpnTracker.java | 5 +---- 6 files changed, 20 insertions(+), 6 deletions(-) diff --git a/api/current.txt b/api/current.txt index 8a8302485172d..def26cb1336f5 100644 --- a/api/current.txt +++ b/api/current.txt @@ -32387,6 +32387,7 @@ package android.provider { field public static final java.lang.String ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE = "android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE"; field public static final java.lang.String ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE = "android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE"; field public static final java.lang.String ACTION_VOICE_INPUT_SETTINGS = "android.settings.VOICE_INPUT_SETTINGS"; + field public static final java.lang.String ACTION_VPN_SETTINGS = "android.settings.VPN_SETTINGS"; field public static final java.lang.String ACTION_VR_LISTENER_SETTINGS = "android.settings.VR_LISTENER_SETTINGS"; field public static final java.lang.String ACTION_WIFI_IP_SETTINGS = "android.settings.WIFI_IP_SETTINGS"; field public static final java.lang.String ACTION_WIFI_SETTINGS = "android.settings.WIFI_SETTINGS"; diff --git a/api/system-current.txt b/api/system-current.txt index 2cad670aca10f..ee9afd9ab7063 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -34834,6 +34834,7 @@ package android.provider { field public static final java.lang.String ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE = "android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE"; field public static final java.lang.String ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE = "android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE"; field public static final java.lang.String ACTION_VOICE_INPUT_SETTINGS = "android.settings.VOICE_INPUT_SETTINGS"; + field public static final java.lang.String ACTION_VPN_SETTINGS = "android.settings.VPN_SETTINGS"; field public static final java.lang.String ACTION_VR_LISTENER_SETTINGS = "android.settings.VR_LISTENER_SETTINGS"; field public static final java.lang.String ACTION_WIFI_IP_SETTINGS = "android.settings.WIFI_IP_SETTINGS"; field public static final java.lang.String ACTION_WIFI_SETTINGS = "android.settings.WIFI_SETTINGS"; diff --git a/api/test-current.txt b/api/test-current.txt index d3a12ed8e92c8..1090d000c3020 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -32456,6 +32456,7 @@ package android.provider { field public static final java.lang.String ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE = "android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE"; field public static final java.lang.String ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE = "android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE"; field public static final java.lang.String ACTION_VOICE_INPUT_SETTINGS = "android.settings.VOICE_INPUT_SETTINGS"; + field public static final java.lang.String ACTION_VPN_SETTINGS = "android.settings.VPN_SETTINGS"; field public static final java.lang.String ACTION_VR_LISTENER_SETTINGS = "android.settings.VR_LISTENER_SETTINGS"; field public static final java.lang.String ACTION_WIFI_IP_SETTINGS = "android.settings.WIFI_IP_SETTINGS"; field public static final java.lang.String ACTION_WIFI_SETTINGS = "android.settings.WIFI_SETTINGS"; diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 5fc2899877f49..b7e1a03777be7 100755 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -321,6 +321,20 @@ public final class Settings { public static final String ACTION_PRIVACY_SETTINGS = "android.settings.PRIVACY_SETTINGS"; + /** + * Activity Action: Show settings to allow configuration of VPN. + *

+ * In some cases, a matching Activity may not exist, so ensure you + * safeguard against this. + *

+ * Input: Nothing. + *

+ * Output: Nothing. + */ + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) + public static final String ACTION_VPN_SETTINGS = + "android.settings.VPN_SETTINGS"; + /** * Activity Action: Show settings to allow configuration of Wi-Fi. *

diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java b/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java index 6d8b47665531d..51efbf06739f3 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java @@ -36,12 +36,12 @@ import com.android.systemui.statusbar.phone.QSTileHost; import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.statusbar.policy.SecurityController; +import static android.provider.Settings.ACTION_VPN_SETTINGS; + public class QSFooter implements OnClickListener, DialogInterface.OnClickListener { protected static final String TAG = "QSFooter"; protected static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); - private static final String ACTION_VPN_SETTINGS = "android.net.vpn.SETTINGS"; - private final View mRootView; private final TextView mFooterText; private final ImageView mFooterIcon; diff --git a/services/core/java/com/android/server/net/LockdownVpnTracker.java b/services/core/java/com/android/server/net/LockdownVpnTracker.java index 5b1cedca3ee24..fc412e3dc9fa5 100644 --- a/services/core/java/com/android/server/net/LockdownVpnTracker.java +++ b/services/core/java/com/android/server/net/LockdownVpnTracker.java @@ -20,6 +20,7 @@ import static android.Manifest.permission.CONNECTIVITY_INTERNAL; import static android.net.NetworkPolicyManager.FIREWALL_CHAIN_NONE; import static android.net.NetworkPolicyManager.FIREWALL_RULE_ALLOW; import static android.net.NetworkPolicyManager.FIREWALL_RULE_DEFAULT; +import static android.provider.Settings.ACTION_VPN_SETTINGS; import android.app.Notification; import android.app.NotificationManager; @@ -66,9 +67,6 @@ public class LockdownVpnTracker { private static final String ACTION_LOCKDOWN_RESET = "com.android.server.action.LOCKDOWN_RESET"; - private static final String ACTION_VPN_SETTINGS = "android.net.vpn.SETTINGS"; - private static final String EXTRA_PICK_LOCKDOWN = "android.net.vpn.PICK_LOCKDOWN"; - private static final int ROOT_UID = 0; private final Context mContext; @@ -101,7 +99,6 @@ public class LockdownVpnTracker { mProfile = Preconditions.checkNotNull(profile); final Intent configIntent = new Intent(ACTION_VPN_SETTINGS); - configIntent.putExtra(EXTRA_PICK_LOCKDOWN, true); mConfigIntent = PendingIntent.getActivity(mContext, 0, configIntent, 0); final Intent resetIntent = new Intent(ACTION_LOCKDOWN_RESET);