summaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod/eleven/recycler
diff options
context:
space:
mode:
authorlinus_lee <llee@cyngn.com>2014-11-20 16:39:38 -0800
committerlinus_lee <llee@cyngn.com>2014-12-09 12:23:20 -0800
commit71810ebb2bf8fd792c92487fe87f9dbebefc8541 (patch)
tree42a4d11ba03a4c7af843edc0b45375b17c64053c /src/com/cyanogenmod/eleven/recycler
parentf199f983c9a5e2f4434b85273d1da0d609c33228 (diff)
downloadandroid_packages_apps_Eleven-71810ebb2bf8fd792c92487fe87f9dbebefc8541.tar.gz
android_packages_apps_Eleven-71810ebb2bf8fd792c92487fe87f9dbebefc8541.tar.bz2
android_packages_apps_Eleven-71810ebb2bf8fd792c92487fe87f9dbebefc8541.zip
Update Eleven headers and namespace for open source
Change-Id: I82caf2ebf991998e67f546ff2ac7eaf2b30dc6be
Diffstat (limited to 'src/com/cyanogenmod/eleven/recycler')
-rw-r--r--src/com/cyanogenmod/eleven/recycler/RecycleHolder.java63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/com/cyanogenmod/eleven/recycler/RecycleHolder.java b/src/com/cyanogenmod/eleven/recycler/RecycleHolder.java
new file mode 100644
index 0000000..d3b5a4e
--- /dev/null
+++ b/src/com/cyanogenmod/eleven/recycler/RecycleHolder.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2012 Andrew Neal
+ * Copyright (C) 2014 The CyanogenMod Project
+ * Licensed under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
+ * or agreed to in writing, software distributed under the License is
+ * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the specific language
+ * governing permissions and limitations under the License.
+ */
+
+package com.cyanogenmod.eleven.recycler;
+
+import android.view.View;
+import android.widget.AbsListView.RecyclerListener;
+
+import com.cyanogenmod.eleven.cache.ImageWorker;
+import com.cyanogenmod.eleven.ui.MusicHolder;
+
+/**
+ * A @ {@link RecyclerListener} for {@link MusicHolder}'s views.
+ *
+ * @author Andrew Neal (andrewdneal@gmail.com)
+ */
+public class RecycleHolder implements RecyclerListener {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void onMovedToScrapHeap(final View view) {
+ MusicHolder holder = (MusicHolder)view.getTag();
+ if (holder == null) {
+ holder = new MusicHolder(view);
+ view.setTag(holder);
+ }
+
+ // Release mImage's reference
+ if (holder.mImage.get() != null) {
+ ImageWorker.cancelWork(holder.mImage.get());
+ holder.mImage.get().setImageDrawable(null);
+ holder.mImage.get().setImageBitmap(null);
+ }
+
+ // Release mLineOne's reference
+ if (holder.mLineOne.get() != null) {
+ holder.mLineOne.get().setText(null);
+ }
+
+ // Release mLineTwo's reference
+ if (holder.mLineTwo.get() != null) {
+ holder.mLineTwo.get().setText(null);
+ }
+
+ // Stop the play pause button logic
+ if (holder.mPlayPauseProgressButton.get() != null) {
+ holder.mPlayPauseProgressButton.get().disableAndHide();
+ }
+ }
+
+}