summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/Utils.java
diff options
context:
space:
mode:
authorVictor Chang <vichang@google.com>2016-03-11 19:44:56 +0000
committerVictor Chang <vichang@google.com>2016-03-21 12:36:23 +0000
commit16da2aa45000dd32213a3d84baacc82cd2b16e5f (patch)
tree63b2d43f1f76f0f2e8a62c9367dcb82b18c9758a /src/com/android/settings/Utils.java
parente580f940795da75b920753c75fd4ec43a8db8957 (diff)
downloadpackages_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.java31
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);
+ }
}
/**