diff options
| author | 2024-09-06 19:28:12 +0000 | |
|---|---|---|
| committer | 2024-09-06 19:28:12 +0000 | |
| commit | 3f1a00a604dc18fc4e1e8568b8aa326602e2110c (patch) | |
| tree | 327d35d522cf8840553053f15ed72655e1ac6fff | |
| parent | af00cc737b632e572620096fc15898409d3929f9 (diff) | |
| parent | be09d5f691d696ff65428ae99cdcce0d5716277b (diff) | |
Merge "Properly handle onNullBinding() in appwidget service." into main
3 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java index eb3581717637..a395c1a05744 100644 --- a/core/java/android/widget/RemoteViews.java +++ b/core/java/android/widget/RemoteViews.java @@ -1447,6 +1447,11 @@ public class RemoteViews implements Parcelable, Filter { } @Override + public void onNullBinding(ComponentName name) { + context.unbindService(this); + } + + @Override public void onServiceDisconnected(ComponentName componentName) { } }); diff --git a/core/java/android/widget/RemoteViewsAdapter.java b/core/java/android/widget/RemoteViewsAdapter.java index 2f28a8704cd3..118edc29f378 100644 --- a/core/java/android/widget/RemoteViewsAdapter.java +++ b/core/java/android/widget/RemoteViewsAdapter.java @@ -241,6 +241,11 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback } @Override + public void onNullBinding(ComponentName name) { + enqueueDeferredUnbindServiceMessage(); + } + + @Override public void handleMessage(Message msg) { RemoteViewsAdapter adapter = mAdapter.get(); diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java index b2e36549e083..b53bf984880d 100644 --- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java +++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java @@ -2404,6 +2404,11 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } @Override + public void onNullBinding(ComponentName name) { + mContext.unbindService(this); + } + + @Override public void onServiceDisconnected(ComponentName name) { // Do nothing } @@ -2551,6 +2556,11 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } @Override + public void onNullBinding(ComponentName name) { + mContext.unbindService(this); + } + + @Override public void onServiceDisconnected(android.content.ComponentName name) { // Do nothing } |