Merge changes I7773ed3a,I73d97d9a into nyc-dev

am: a4400059a3

* commit 'a4400059a307adfea00a2ae3726949c802d4e2ad':
  Process user events from service lifecycle callbacks.

Change-Id: Ia7436eba1886c9bd739cc3cda5029fd8caf0b109
This commit is contained in:
Selim Cinek
2016-05-24 20:16:16 +00:00
committed by android-build-merger
2 changed files with 18 additions and 16 deletions

View File

@@ -44,4 +44,19 @@ public class AppWidgetService extends SystemService {
mImpl.setSafeMode(isSafeMode()); mImpl.setSafeMode(isSafeMode());
} }
} }
@Override
public void onUnlockUser(int userHandle) {
mImpl.onUserUnlocked(userHandle);
}
@Override
public void onStopUser(int userHandle) {
mImpl.onUserStopped(userHandle);
}
@Override
public void onSwitchUser(int userHandle) {
mImpl.reloadWidgetsMaskedStateForGroup(userHandle);
}
} }

View File

@@ -158,12 +158,6 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
if (Intent.ACTION_CONFIGURATION_CHANGED.equals(action)) { if (Intent.ACTION_CONFIGURATION_CHANGED.equals(action)) {
onConfigurationChanged(); onConfigurationChanged();
} else if (Intent.ACTION_USER_UNLOCKED.equals(action)) {
onUserUnlocked(userId);
} else if (Intent.ACTION_USER_STOPPED.equals(action)) {
onUserStopped(userId);
} else if (Intent.ACTION_USER_SWITCHED.equals(action)) {
reloadWidgetsMaskedStateForGroup(userId);
} else if (Intent.ACTION_MANAGED_PROFILE_AVAILABLE.equals(action) } else if (Intent.ACTION_MANAGED_PROFILE_AVAILABLE.equals(action)
|| Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE.equals(action)) { || Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE.equals(action)) {
synchronized (mLock) { synchronized (mLock) {
@@ -281,13 +275,6 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL, mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL,
sdFilter, null, null); sdFilter, null, null);
IntentFilter userFilter = new IntentFilter();
userFilter.addAction(Intent.ACTION_USER_UNLOCKED);
userFilter.addAction(Intent.ACTION_USER_STOPPED);
userFilter.addAction(Intent.ACTION_USER_SWITCHED);
mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL,
userFilter, null, null);
IntentFilter offModeFilter = new IntentFilter(); IntentFilter offModeFilter = new IntentFilter();
offModeFilter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABLE); offModeFilter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABLE);
offModeFilter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE); offModeFilter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
@@ -454,7 +441,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
* due to user not being available and package suspension. * due to user not being available and package suspension.
* userId must be the group parent. * userId must be the group parent.
*/ */
private void reloadWidgetsMaskedStateForGroup(int userId) { void reloadWidgetsMaskedStateForGroup(int userId) {
if (!mUserManager.isUserUnlockingOrUnlocked(userId)) { if (!mUserManager.isUserUnlockingOrUnlocked(userId)) {
return; return;
} }
@@ -2525,7 +2512,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
} }
} }
private void onUserUnlocked(int userId) { void onUserUnlocked(int userId) {
if (isProfileWithLockedParent(userId)) { if (isProfileWithLockedParent(userId)) {
return; return;
} }
@@ -3072,7 +3059,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
return new AtomicFile(settingsFile); return new AtomicFile(settingsFile);
} }
private void onUserStopped(int userId) { void onUserStopped(int userId) {
synchronized (mLock) { synchronized (mLock) {
boolean crossProfileWidgetsChanged = false; boolean crossProfileWidgetsChanged = false;