diff options
author | Victor Chang <vichang@google.com> | 2016-03-11 19:44:56 +0000 |
---|---|---|
committer | Victor Chang <vichang@google.com> | 2016-03-21 12:36:23 +0000 |
commit | 16da2aa45000dd32213a3d84baacc82cd2b16e5f (patch) | |
tree | 63b2d43f1f76f0f2e8a62c9367dcb82b18c9758a /src/com/android/settings/Utils.java | |
parent | e580f940795da75b920753c75fd4ec43a8db8957 (diff) | |
download | packages_apps_Settings-16da2aa45000dd32213a3d84baacc82cd2b16e5f.tar.gz packages_apps_Settings-16da2aa45000dd32213a3d84baacc82cd2b16e5f.tar.bz2 packages_apps_Settings-16da2aa45000dd32213a3d84baacc82cd2b16e5f.zip |
Vpn settings per vpn
This CL adds a setting for each VPN
- When no_config_vpn user restriction is applied, user can't change anything in the page
- Launch the subsetting activity in the corresponding user to unlock keystore and force work challenge
- Show dialog when user replace always-on-VPN package
- When forget VPN, unset always-on-vpn
TODO: show per-VPN status in VPN list
Change-Id: Ica360ea44117db6a4ecfaed1eec6c188189c246c
Diffstat (limited to 'src/com/android/settings/Utils.java')
-rw-r--r-- | src/com/android/settings/Utils.java | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index 5a76bf3fdf..60973e143c 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -521,21 +521,32 @@ public final class Utils extends com.android.settingslib.Utils { public static void startWithFragmentAsUser(Context context, String fragmentName, Bundle args, int titleResId, CharSequence title, boolean isShortcut, UserHandle userHandle) { - Intent intent = onBuildStartFragmentIntent(context, fragmentName, args, - null /* titleResPackageName */, titleResId, title, isShortcut); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); - context.startActivityAsUser(intent, userHandle); + // workaround to avoid crash in b/17523189 + if (userHandle.getIdentifier() == UserHandle.myUserId()) { + startWithFragment(context, fragmentName, args, null, 0, titleResId, title, isShortcut); + } else { + Intent intent = onBuildStartFragmentIntent(context, fragmentName, args, + null /* titleResPackageName */, titleResId, title, isShortcut); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); + context.startActivityAsUser(intent, userHandle); + } } public static void startWithFragmentAsUser(Context context, String fragmentName, Bundle args, String titleResPackageName, int titleResId, CharSequence title, boolean isShortcut, UserHandle userHandle) { - Intent intent = onBuildStartFragmentIntent(context, fragmentName, args, titleResPackageName, - titleResId, title, isShortcut); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); - context.startActivityAsUser(intent, userHandle); + // workaround to avoid crash in b/17523189 + if (userHandle.getIdentifier() == UserHandle.myUserId()) { + startWithFragment(context, fragmentName, args, null, 0, titleResPackageName, titleResId, + title, isShortcut); + } else { + Intent intent = onBuildStartFragmentIntent(context, fragmentName, args, + titleResPackageName, titleResId, title, isShortcut); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); + context.startActivityAsUser(intent, userHandle); + } } /** |