diff options
3 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java index 1922327dce23..59404860a96d 100644 --- a/core/java/android/widget/RemoteViews.java +++ b/core/java/android/widget/RemoteViews.java @@ -1448,6 +1448,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 de94715592a2..b906a81df947 100644 --- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java +++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java @@ -2373,6 +2373,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 } @@ -2520,6 +2525,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 } |