diff options
| author | 2022-03-22 18:31:54 +0000 | |
|---|---|---|
| committer | 2022-03-22 18:31:54 +0000 | |
| commit | e5a85040f8b876ae013eca98d893da0f7be0f75c (patch) | |
| tree | c009e619b8ed55c8013541b573373efffe0f8d4c | |
| parent | f51bb0783b4d941f0f2ea63142977ffcf983312c (diff) | |
| parent | 9c2cb7e257439bbfd3afc101025bf8bccc5ff5bc (diff) | |
Merge "Further defer loading widgets until it is absolutely needed." into tm-dev
| -rw-r--r-- | services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java index a65d5b3b94f7..312105a42b30 100644 --- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java +++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java @@ -1617,14 +1617,17 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku final int providerCount = mProviders.size(); for (int i = 0; i < providerCount; i++) { Provider provider = mProviders.get(i); - AppWidgetProviderInfo info = provider.getInfoLocked(mContext); final String providerPackageName = provider.id.componentName.getPackageName(); - // Ignore an invalid provider, one not matching the filter, - // or one that isn't in the given package, if any. - boolean inPackage = packageName == null - || providerPackageName.equals(packageName); - if (provider.zombie || (info.widgetCategory & categoryFilter) == 0 || !inPackage) { + // Ignore an invalid provider or one that isn't in the given package, if any. + boolean inPackage = packageName == null || providerPackageName.equals(packageName); + if (provider.zombie || !inPackage) { + continue; + } + + // Ignore the ones not matching the filter. + AppWidgetProviderInfo info = provider.getInfoLocked(mContext); + if ((info.widgetCategory & categoryFilter) == 0) { continue; } |