Allow apps from managed profles to close notification shade.
Listen for ACTION_CLOSE_SYSTEM_DIALOGS for all users so that apps running in the managed profile can close the notification shade. Bug: 18255982 Change-Id: I6b70eb39d182a0766eef24421fae45f033efa9e9
This commit is contained in:
@@ -689,6 +689,12 @@ public abstract class BaseStatusBar extends SystemUI implements
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean isCurrentProfile(int userId) {
|
||||
synchronized (mCurrentProfiles) {
|
||||
return mCurrentProfiles.get(userId) != null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCurrentMediaNotificationKey() {
|
||||
return null;
|
||||
|
||||
@@ -922,7 +922,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
filter.addAction("fake_artwork");
|
||||
}
|
||||
filter.addAction(ACTION_DEMO);
|
||||
context.registerReceiver(mBroadcastReceiver, filter);
|
||||
context.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL, filter, null, null);
|
||||
|
||||
// listen for USER_SETUP_COMPLETE setting (per-user)
|
||||
resetUserSetupObserver();
|
||||
@@ -3102,12 +3102,14 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
if (DEBUG) Log.v(TAG, "onReceive: " + intent);
|
||||
String action = intent.getAction();
|
||||
if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) {
|
||||
int flags = CommandQueue.FLAG_EXCLUDE_NONE;
|
||||
String reason = intent.getStringExtra("reason");
|
||||
if (reason != null && reason.equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) {
|
||||
flags |= CommandQueue.FLAG_EXCLUDE_RECENTS_PANEL;
|
||||
if (isCurrentProfile(getSendingUserId())) {
|
||||
int flags = CommandQueue.FLAG_EXCLUDE_NONE;
|
||||
String reason = intent.getStringExtra("reason");
|
||||
if (reason != null && reason.equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) {
|
||||
flags |= CommandQueue.FLAG_EXCLUDE_RECENTS_PANEL;
|
||||
}
|
||||
animateCollapsePanels(flags);
|
||||
}
|
||||
animateCollapsePanels(flags);
|
||||
}
|
||||
else if (Intent.ACTION_SCREEN_OFF.equals(action)) {
|
||||
mScreenOn = false;
|
||||
|
||||
Reference in New Issue
Block a user