Cancel image requests for view holder detached from the window.
Fixes: 147510845
Test: manual
Change-Id: I3558adca40b2b0bcd310912736ba12559efb6359
diff --git a/src/com/android/car/media/PlaybackFragment.java b/src/com/android/car/media/PlaybackFragment.java
index 182fd4c..62f272d 100644
--- a/src/com/android/car/media/PlaybackFragment.java
+++ b/src/com/android/car/media/PlaybackFragment.java
@@ -180,6 +180,20 @@
return active;
}
+
+ void onViewAttachedToWindow() {
+ if (mShowThumbnailForQueueItem) {
+ Context context = mView.getContext();
+ mThumbnailBinder.maybeRestartLoading(context);
+ }
+ }
+
+ void onViewDetachedFromWindow() {
+ if (mShowThumbnailForQueueItem) {
+ Context context = mView.getContext();
+ mThumbnailBinder.maybeCancelLoading(context);
+ }
+ }
}
@@ -249,6 +263,18 @@
}
@Override
+ public void onViewAttachedToWindow(@NonNull QueueViewHolder holder) {
+ super.onViewAttachedToWindow(holder);
+ holder.onViewAttachedToWindow();
+ }
+
+ @Override
+ public void onViewDetachedFromWindow(@NonNull QueueViewHolder holder) {
+ super.onViewDetachedFromWindow(holder);
+ holder.onViewDetachedFromWindow();
+ }
+
+ @Override
public int getItemCount() {
return mQueueItems.size();
}
diff --git a/src/com/android/car/media/browse/BrowseAdapter.java b/src/com/android/car/media/browse/BrowseAdapter.java
index fc0fd99..9ba3cd1 100644
--- a/src/com/android/car/media/browse/BrowseAdapter.java
+++ b/src/com/android/car/media/browse/BrowseAdapter.java
@@ -182,6 +182,18 @@
}
@Override
+ public void onViewAttachedToWindow(@NonNull BrowseViewHolder holder) {
+ super.onViewAttachedToWindow(holder);
+ holder.onViewAttachedToWindow(mContext);
+ }
+
+ @Override
+ public void onViewDetachedFromWindow(@NonNull BrowseViewHolder holder) {
+ super.onViewDetachedFromWindow(holder);
+ holder.onViewDetachedFromWindow(mContext);
+ }
+
+ @Override
public int getItemViewType(int position) {
return getItem(position).mViewType.ordinal();
}
diff --git a/src/com/android/car/media/browse/BrowseViewHolder.java b/src/com/android/car/media/browse/BrowseViewHolder.java
index bf8df77..aa4449f 100644
--- a/src/com/android/car/media/browse/BrowseViewHolder.java
+++ b/src/com/android/car/media/browse/BrowseViewHolder.java
@@ -104,4 +104,12 @@
ViewUtils.setVisible(mSubTitleDownloadIcon, showSubtitle && downloaded);
ViewUtils.setVisible(mSubTitleExplicitIcon, showSubtitle && explicit);
}
+
+ void onViewAttachedToWindow(Context context) {
+ mAlbumArtBinder.maybeRestartLoading(context);
+ }
+
+ void onViewDetachedFromWindow(Context context) {
+ mAlbumArtBinder.maybeCancelLoading(context);
+ }
}