NoMan support for FBE.
Rebind to service components that should now available. Bug: 26941542 Bug: 26940790 Change-Id: Id5290a75894f61cf55b3a2b82d08b1533bf099ca
This commit is contained in:
@@ -250,6 +250,12 @@ abstract public class ManagedServices {
|
||||
rebindServices();
|
||||
}
|
||||
|
||||
public void onUserUnlocked(int user) {
|
||||
if (DEBUG) Slog.d(TAG, "onUserUnlocked u=" + user);
|
||||
rebuildRestoredPackages();
|
||||
rebindServices();
|
||||
}
|
||||
|
||||
public ManagedServiceInfo getServiceFromTokenLocked(IInterface service) {
|
||||
if (service == null) {
|
||||
return null;
|
||||
|
||||
@@ -816,6 +816,12 @@ public class NotificationManagerService extends SystemService {
|
||||
} else if (action.equals(Intent.ACTION_USER_REMOVED)) {
|
||||
final int user = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL);
|
||||
mZenModeHelper.onUserRemoved(user);
|
||||
} else if (action.equals(Intent.ACTION_USER_UNLOCKED)) {
|
||||
final int user = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL);
|
||||
mConditionProviders.onUserUnlocked(user);
|
||||
mListeners.onUserUnlocked(user);
|
||||
mAssistant.onUserUnlocked(user);
|
||||
mZenModeHelper.onUserUnlocked(user);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -994,6 +1000,7 @@ public class NotificationManagerService extends SystemService {
|
||||
filter.addAction(Intent.ACTION_USER_SWITCHED);
|
||||
filter.addAction(Intent.ACTION_USER_ADDED);
|
||||
filter.addAction(Intent.ACTION_USER_REMOVED);
|
||||
filter.addAction(Intent.ACTION_USER_UNLOCKED);
|
||||
filter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED);
|
||||
getContext().registerReceiver(mIntentReceiver, filter);
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.server.notification;
|
||||
|
||||
import static android.media.AudioAttributes.USAGE_ALARM;
|
||||
import static android.media.AudioAttributes.USAGE_NOTIFICATION;
|
||||
import static android.media.AudioAttributes.USAGE_NOTIFICATION_RINGTONE;
|
||||
import static android.media.AudioAttributes.USAGE_UNKNOWN;
|
||||
@@ -195,19 +194,7 @@ public class ZenModeHelper {
|
||||
}
|
||||
|
||||
public void onUserSwitched(int user) {
|
||||
if (mUser == user || user < UserHandle.USER_SYSTEM) return;
|
||||
mUser = user;
|
||||
if (DEBUG) Log.d(TAG, "onUserSwitched u=" + user);
|
||||
ZenModeConfig config = mConfigs.get(user);
|
||||
if (config == null) {
|
||||
if (DEBUG) Log.d(TAG, "onUserSwitched: generating default config for user " + user);
|
||||
config = mDefaultConfig.copy();
|
||||
config.user = user;
|
||||
}
|
||||
synchronized (mConfig) {
|
||||
setConfigLocked(config, "onUserSwitched");
|
||||
}
|
||||
cleanUpZenRules();
|
||||
loadConfigForUser(user, "onUserSwitched");
|
||||
}
|
||||
|
||||
public void onUserRemoved(int user) {
|
||||
@@ -216,6 +203,26 @@ public class ZenModeHelper {
|
||||
mConfigs.remove(user);
|
||||
}
|
||||
|
||||
public void onUserUnlocked(int user) {
|
||||
loadConfigForUser(user, "onUserUnlocked");
|
||||
}
|
||||
|
||||
private void loadConfigForUser(int user, String reason) {
|
||||
if (mUser == user || user < UserHandle.USER_SYSTEM) return;
|
||||
mUser = user;
|
||||
if (DEBUG) Log.d(TAG, reason + " u=" + user);
|
||||
ZenModeConfig config = mConfigs.get(user);
|
||||
if (config == null) {
|
||||
if (DEBUG) Log.d(TAG, reason + " generating default config for user " + user);
|
||||
config = mDefaultConfig.copy();
|
||||
config.user = user;
|
||||
}
|
||||
synchronized (mConfig) {
|
||||
setConfigLocked(config, reason);
|
||||
}
|
||||
cleanUpZenRules();
|
||||
}
|
||||
|
||||
public int getZenModeListenerInterruptionFilter() {
|
||||
return NotificationManager.zenModeToInterruptionFilter(mZenMode);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user