Merge "Put widget view updating logic in setListener" into tm-qpr-dev am: 11c3d5dbac am: 9984f8d27e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19998325

Change-Id: I9244a57249582a720da8cac5d597f238b366fa93
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Sihua Ma
2022-10-19 23:35:44 +00:00
committed by Automerger Merge Worker

View File

@@ -418,14 +418,7 @@ public class AppWidgetHost {
AppWidgetHostView view = onCreateView(context, appWidgetId, appWidget);
view.setInteractionHandler(mInteractionHandler);
view.setAppWidget(appWidgetId, appWidget);
addListener(appWidgetId, view);
RemoteViews views;
try {
views = sService.getAppWidgetViews(mContextOpPackageName, appWidgetId);
} catch (RemoteException e) {
throw new RuntimeException("system server dead?", e);
}
view.updateAppWidget(views);
setListener(appWidgetId, view);
return view;
}
@@ -513,13 +506,19 @@ public class AppWidgetHost {
* The AppWidgetHost retains a pointer to the newly-created listener.
* @param appWidgetId The ID of the app widget for which to add the listener
* @param listener The listener interface that deals with actions towards the widget view
*
* @hide
*/
public void addListener(int appWidgetId, @NonNull AppWidgetHostListener listener) {
public void setListener(int appWidgetId, @NonNull AppWidgetHostListener listener) {
synchronized (mListeners) {
mListeners.put(appWidgetId, listener);
}
RemoteViews views = null;
try {
views = sService.getAppWidgetViews(mContextOpPackageName, appWidgetId);
} catch (RemoteException e) {
throw new RuntimeException("system server dead?", e);
}
listener.updateAppWidget(views);
}
/**