summaryrefslogtreecommitdiffstats
path: root/core/java/android/widget/AdapterViewAnimator.java
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2010-12-17 12:03:17 -0800
committerAdam Cohen <adamcohen@google.com>2010-12-17 12:09:50 -0800
commitfb60386b46d0c6216c765c10bd33ac42ca780917 (patch)
tree3328cd44ed4084970b5734e13a16c1d1273c7712 /core/java/android/widget/AdapterViewAnimator.java
parent8903058a4a77ae920502054ba136b1b4539f1ea1 (diff)
downloadframeworks_base-fb60386b46d0c6216c765c10bd33ac42ca780917.zip
frameworks_base-fb60386b46d0c6216c765c10bd33ac42ca780917.tar.gz
frameworks_base-fb60386b46d0c6216c765c10bd33ac42ca780917.tar.bz2
Addressing issues associated RemoteViewsAdapter's service crashes / disconnects
-See issue: 3052667 Change-Id: I95f1cac3defeadc38ac75453d9d59cd1b3cbcc83
Diffstat (limited to 'core/java/android/widget/AdapterViewAnimator.java')
-rw-r--r--core/java/android/widget/AdapterViewAnimator.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/core/java/android/widget/AdapterViewAnimator.java b/core/java/android/widget/AdapterViewAnimator.java
index 162b030..ec8e93c 100644
--- a/core/java/android/widget/AdapterViewAnimator.java
+++ b/core/java/android/widget/AdapterViewAnimator.java
@@ -964,6 +964,8 @@ public abstract class AdapterViewAnimator extends AdapterView<Adapter>
public void onRemoteAdapterConnected() {
if (mRemoteViewsAdapter != mAdapter) {
setAdapter(mRemoteViewsAdapter);
+ } else if (mRemoteViewsAdapter != null) {
+ mRemoteViewsAdapter.superNotifyDataSetChanged();
}
}
@@ -971,10 +973,11 @@ public abstract class AdapterViewAnimator extends AdapterView<Adapter>
* Called back when the adapter disconnects from the RemoteViewsService.
*/
public void onRemoteAdapterDisconnected() {
- if (mRemoteViewsAdapter != mAdapter) {
- mRemoteViewsAdapter = null;
- setAdapter(mRemoteViewsAdapter);
- }
+ // If the remote adapter disconnects, we keep it around
+ // since the currently displayed items are still cached.
+ // Further, we want the service to eventually reconnect
+ // when necessary, as triggered by this view requesting
+ // items from the Adapter.
}
public void advance() {