From a1e184ebec06b4b1cbc777aa72e1f3f6593a536c Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Wed, 24 Feb 2021 15:15:19 -0800 Subject: Stop listening to config changes in AppWidgetService Config chages are required to load the correct label. But the label had been deprecated few years ago and hosts are expected to load the label themselves This avoids another reload just after unlock since the local list is not prepared initially Bug: 180867488 Test: Presubmit and CTS already passing Change-Id: Iff4543bb62d06c81713b47b76330b2147a10386c --- .../server/appwidget/AppWidgetServiceImpl.java | 69 ---------------------- 1 file changed, 69 deletions(-) diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java index 809304bb24ae..a0f588b11dcb 100644 --- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java +++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java @@ -137,7 +137,6 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; -import java.util.Locale; import java.util.Map; import java.util.Objects; import java.util.Set; @@ -181,9 +180,6 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } switch (action) { - case Intent.ACTION_CONFIGURATION_CHANGED: - onConfigurationChanged(); - break; case Intent.ACTION_MANAGED_PROFILE_AVAILABLE: case Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE: synchronized (mLock) { @@ -243,8 +239,6 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku private Handler mSaveStateHandler; private Handler mCallbackHandler; - private Locale mLocale; - private final SparseIntArray mNextAppWidgetIds = new SparseIntArray(); private boolean mSafeMode; @@ -290,13 +284,6 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } private void registerBroadcastReceiver() { - // Register for configuration changes so we can update the names - // of the widgets when the locale changes. - IntentFilter configFilter = new IntentFilter(); - configFilter.addAction(Intent.ACTION_CONFIGURATION_CHANGED); - mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL, - configFilter, null, null); - // Register for broadcasts about package install, etc., so we can // update the provider list. IntentFilter packageFilter = new IntentFilter(); @@ -338,62 +325,6 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku mSafeMode = safeMode; } - private void onConfigurationChanged() { - if (DEBUG) { - Slog.i(TAG, "onConfigurationChanged()"); - } - - Locale revised = Locale.getDefault(); - if (revised == null || mLocale == null || !revised.equals(mLocale)) { - mLocale = revised; - - synchronized (mLock) { - SparseIntArray changedGroups = null; - - // Note: updateProvidersForPackageLocked() may remove providers, so we must copy the - // list of installed providers and skip providers that we don't need to update. - // Also note that remove the provider does not clear the Provider component data. - ArrayList installedProviders = new ArrayList<>(mProviders); - HashSet removedProviders = new HashSet<>(); - - int N = installedProviders.size(); - for (int i = N - 1; i >= 0; i--) { - Provider provider = installedProviders.get(i); - - final int userId = provider.getUserId(); - if (!mUserManager.isUserUnlockingOrUnlocked(userId) || - isProfileWithLockedParent(userId)) { - continue; - } - ensureGroupStateLoadedLocked(userId); - - if (!removedProviders.contains(provider.id)) { - final boolean changed = updateProvidersForPackageLocked( - provider.id.componentName.getPackageName(), - provider.getUserId(), removedProviders); - - if (changed) { - if (changedGroups == null) { - changedGroups = new SparseIntArray(); - } - final int groupId = mSecurityPolicy.getGroupParent( - provider.getUserId()); - changedGroups.put(groupId, groupId); - } - } - } - - if (changedGroups != null) { - final int groupCount = changedGroups.size(); - for (int i = 0; i < groupCount; i++) { - final int groupId = changedGroups.get(i); - saveGroupStateAsync(groupId); - } - } - } - } - } - private void onPackageBroadcastReceived(Intent intent, int userId) { final String action = intent.getAction(); boolean added = false; -- cgit v1.2.3-59-g8ed1b