summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI
diff options
context:
space:
mode:
authorAdrian Roos <roosa@google.com>2015-07-16 19:42:22 -0700
committerAdrian Roos <roosa@google.com>2015-07-16 19:43:40 -0700
commit8e3e83639b04ee3317ce5af7da991fc1afcda48a (patch)
tree262257ae534594c372ae1ffc33a538c5e7eb7eca /packages/SystemUI
parent75f6b94a5d5cadb218725011729466e8e438b231 (diff)
downloadframeworks_base-8e3e83639b04ee3317ce5af7da991fc1afcda48a.zip
frameworks_base-8e3e83639b04ee3317ce5af7da991fc1afcda48a.tar.gz
frameworks_base-8e3e83639b04ee3317ce5af7da991fc1afcda48a.tar.bz2
Protect demo mode commands with permission
Bug: 22542269 Change-Id: I828942723c0e4030127915fdce3000ad5f3b7a99
Diffstat (limited to 'packages/SystemUI')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java24
1 files changed, 19 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 1e78f66..94a699c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -198,6 +198,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
public static final boolean SHOW_LOCKSCREEN_MEDIA_ARTWORK = true;
+ public static final String ACTION_FAKE_ARTWORK = "fake_artwork";
+
private static final int MSG_OPEN_NOTIFICATION_PANEL = 1000;
private static final int MSG_CLOSE_PANELS = 1001;
private static final int MSG_OPEN_SETTINGS_PANEL = 1002;
@@ -890,11 +892,15 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);
+ context.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL, filter, null, null);
+
+ IntentFilter demoFilter = new IntentFilter();
if (DEBUG_MEDIA_FAKE_ARTWORK) {
- filter.addAction("fake_artwork");
+ demoFilter.addAction(ACTION_FAKE_ARTWORK);
}
- filter.addAction(ACTION_DEMO);
- context.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL, filter, null, null);
+ demoFilter.addAction(ACTION_DEMO);
+ context.registerReceiverAsUser(mDemoReceiver, UserHandle.ALL, demoFilter,
+ android.Manifest.permission.DUMP, null);
// listen for USER_SETUP_COMPLETE setting (per-user)
resetUserSetupObserver();
@@ -2851,7 +2857,14 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
mScreenOn = true;
notifyNavigationBarScreenOn(true);
}
- else if (ACTION_DEMO.equals(action)) {
+ }
+ };
+
+ private BroadcastReceiver mDemoReceiver = new BroadcastReceiver() {
+ public void onReceive(Context context, Intent intent) {
+ if (DEBUG) Log.v(TAG, "onReceive: " + intent);
+ String action = intent.getAction();
+ if (ACTION_DEMO.equals(action)) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
String command = bundle.getString("command", "").trim().toLowerCase();
@@ -2863,7 +2876,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
}
}
}
- } else if ("fake_artwork".equals(action)) {
+ } else if (ACTION_FAKE_ARTWORK.equals(action)) {
if (DEBUG_MEDIA_FAKE_ARTWORK) {
updateMediaMetaData(true);
}
@@ -3187,6 +3200,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
mHandlerThread = null;
}
mContext.unregisterReceiver(mBroadcastReceiver);
+ mContext.unregisterReceiver(mDemoReceiver);
mAssistManager.destroy();
final SignalClusterView signalCluster =