Merge "Return widget uid only when it is bound to screen" into tm-qpr-dev am: 731c7bb7b5 am: 417d9b1e7d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20861026 Change-Id: I2a2a4fdc26fe22330cc257bc89179ab10d072959 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -826,7 +826,8 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
|
||||
if (host != null) {
|
||||
host.callbacks = null;
|
||||
pruneHostLocked(host);
|
||||
mAppOpsManagerInternal.updateAppWidgetVisibility(host.getWidgetUids(), false);
|
||||
mAppOpsManagerInternal.updateAppWidgetVisibility(host.getWidgetUidsIfBound(),
|
||||
false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -897,12 +898,8 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
|
||||
Host host = lookupHostLocked(id);
|
||||
|
||||
if (host != null) {
|
||||
try {
|
||||
mAppOpsManagerInternal.updateAppWidgetVisibility(host.getWidgetUids(), false);
|
||||
} catch (NullPointerException e) {
|
||||
Slog.e(TAG, "setAppWidgetHidden(): Getting host uids: " + host.toString(), e);
|
||||
throw e;
|
||||
}
|
||||
mAppOpsManagerInternal.updateAppWidgetVisibility(host.getWidgetUidsIfBound(),
|
||||
false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4370,14 +4367,15 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
|
||||
PendingHostUpdate.appWidgetRemoved(appWidgetId));
|
||||
}
|
||||
|
||||
public SparseArray<String> getWidgetUids() {
|
||||
public SparseArray<String> getWidgetUidsIfBound() {
|
||||
final SparseArray<String> uids = new SparseArray<>();
|
||||
for (int i = widgets.size() - 1; i >= 0; i--) {
|
||||
final Widget widget = widgets.get(i);
|
||||
if (widget.provider == null) {
|
||||
if (DEBUG) {
|
||||
Slog.e(TAG, "Widget with no provider " + widget.toString());
|
||||
Slog.d(TAG, "Widget with no provider " + widget.toString());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
final ProviderId providerId = widget.provider.id;
|
||||
uids.put(providerId.uid, providerId.componentName.getPackageName());
|
||||
|
||||
Reference in New Issue
Block a user