2 * Copyright (C) 2012 Andrew Neal
3 * Copyright (C) 2014 The CyanogenMod Project
4 * Licensed under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with the
6 * License. You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
8 * or agreed to in writing, software distributed under the License is
9 * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
10 * KIND, either express or implied. See the License for the specific language
11 * governing permissions and limitations under the License.
14 package com.cyanogenmod.eleven.recycler;
16 import android.view.View;
17 import android.widget.AbsListView.RecyclerListener;
19 import com.cyanogenmod.eleven.cache.ImageWorker;
20 import com.cyanogenmod.eleven.ui.MusicHolder;
23 * A @ {@link RecyclerListener} for {@link MusicHolder}'s views.
25 * @author Andrew Neal (andrewdneal@gmail.com)
27 public class RecycleHolder implements RecyclerListener {
33 public void onMovedToScrapHeap(final View view) {
34 MusicHolder holder = (MusicHolder)view.getTag();
36 holder = new MusicHolder(view);
40 // Release mImage's reference
41 if (holder.mImage.get() != null) {
42 ImageWorker.cancelWork(holder.mImage.get());
43 holder.mImage.get().setImageDrawable(null);
44 holder.mImage.get().setImageBitmap(null);
47 // Release mLineOne's reference
48 if (holder.mLineOne.get() != null) {
49 holder.mLineOne.get().setText(null);
52 // Release mLineTwo's reference
53 if (holder.mLineTwo.get() != null) {
54 holder.mLineTwo.get().setText(null);
57 // Stop the play pause button logic
58 if (holder.mPlayPauseProgressButton.get() != null) {
59 holder.mPlayPauseProgressButton.get().disableAndHide();