summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Pinyao Ting <pinyaoting@google.com> 2022-03-22 18:31:54 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-03-22 18:31:54 +0000
commite5a85040f8b876ae013eca98d893da0f7be0f75c (patch)
treec009e619b8ed55c8013541b573373efffe0f8d4c
parentf51bb0783b4d941f0f2ea63142977ffcf983312c (diff)
parent9c2cb7e257439bbfd3afc101025bf8bccc5ff5bc (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.java15
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;
}