Merge "NoMan support for FBE."

This commit is contained in:
Julia Reynolds
2016-02-05 17:10:23 +00:00
committed by Android (Google) Code Review
3 changed files with 34 additions and 14 deletions

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);
}