summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/tuner
diff options
context:
space:
mode:
authorJason Monk <jmonk@google.com>2015-08-11 14:18:14 -0400
committerJason Monk <jmonk@google.com>2015-08-11 14:21:52 -0400
commit540542b4173d7ce99addfb910d9e73b028ea0f5e (patch)
tree055efc1053df656add4505ac3bda34017b4f8385 /packages/SystemUI/src/com/android/systemui/tuner
parentad7719dea4e8fd34854e4dcc918fc593c4416d82 (diff)
downloadframeworks_base-540542b4173d7ce99addfb910d9e73b028ea0f5e.zip
frameworks_base-540542b4173d7ce99addfb910d9e73b028ea0f5e.tar.gz
frameworks_base-540542b4173d7ce99addfb910d9e73b028ea0f5e.tar.bz2
Fix tuner for secondary users
Bug: 23112000 Change-Id: I52aabdd1f345fb50e2c5015d233f4de3cc8d994d
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/tuner')
-rw-r--r--packages/SystemUI/src/com/android/systemui/tuner/TunerService.java17
1 files changed, 14 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerService.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerService.java
index d3f33ab..50234b2 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerService.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerService.java
@@ -16,7 +16,6 @@
package com.android.systemui.tuner;
import android.app.ActivityManager;
-import android.app.AlertDialog;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.ContentResolver;
@@ -25,10 +24,12 @@ import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
import android.database.ContentObserver;
import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
+import android.os.UserHandle;
import android.provider.Settings;
import android.util.ArrayMap;
@@ -169,6 +170,7 @@ public class TunerService extends SystemUI {
public static final void showResetRequest(final Context context, final Runnable onDisabled) {
SystemUIDialog dialog = new SystemUIDialog(context);
+ dialog.setShowForAllUsers(true);
dialog.setMessage(R.string.remove_from_settings_prompt);
dialog.setButton(DialogInterface.BUTTON_NEGATIVE, context.getString(R.string.cancel),
(OnClickListener) null);
@@ -192,7 +194,7 @@ public class TunerService extends SystemUI {
}
public static final void setTunerEnabled(Context context, boolean enabled) {
- context.getPackageManager().setComponentEnabledSetting(
+ userContext(context).getPackageManager().setComponentEnabledSetting(
new ComponentName(context, TunerActivity.class),
enabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
: PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
@@ -200,11 +202,20 @@ public class TunerService extends SystemUI {
}
public static final boolean isTunerEnabled(Context context) {
- return context.getPackageManager().getComponentEnabledSetting(
+ return userContext(context).getPackageManager().getComponentEnabledSetting(
new ComponentName(context, TunerActivity.class))
== PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
}
+ private static Context userContext(Context context) {
+ try {
+ return context.createPackageContextAsUser(context.getPackageName(), 0,
+ new UserHandle(ActivityManager.getCurrentUser()));
+ } catch (NameNotFoundException e) {
+ return context;
+ }
+ }
+
private class Observer extends ContentObserver {
public Observer() {
super(new Handler(Looper.getMainLooper()));