// Path: mobile/src/main/java/com/laithlab/rhythm/dto/SongDTO.java
// public class SongDTO implements Parcelable {
// 
//     private String songTitle;
//     private long songDuration;
//     private String songLocation;
//     private String albumId;
//     private String id;
// 
//     public void setSongTitle(String songTitle) {
//         this.songTitle = songTitle;
//     }
// 
//     public String getSongTitle() {
//         return songTitle;
//     }
// 
//     public void setSongDuration(long songDuration) {
//         this.songDuration = songDuration;
//     }
// 
//     public long getSongDuration() {
//         return songDuration;
//     }
// 
//     public void setSongLocation(String songLocation) {
//         this.songLocation = songLocation;
//     }
// 
//     public String getSongLocation() {
//         return songLocation;
//     }
// 
//     public String getAlbumId() {
//         return albumId;
//     }
// 
//     public void setAlbumId(String albumId) {
//         this.albumId = albumId;
//     }
// 
//     public void setId(String id) {
//         this.id = id;
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel dest, int flags) {
//         dest.writeString(this.songTitle);
//         dest.writeLong(this.songDuration);
//         dest.writeString(this.songLocation);
//         dest.writeString(this.albumId);
//         dest.writeString(this.id);
//     }
// 
//     public SongDTO() {
//     }
// 
//     protected SongDTO(Parcel in) {
//         this.songTitle = in.readString();
//         this.songDuration = in.readLong();
//         this.songLocation = in.readString();
//         this.albumId = in.readString();
//         this.id = in.readString();
//     }
// 
//     public static final Parcelable.Creator<SongDTO> CREATOR = new Parcelable.Creator<SongDTO>() {
//         public SongDTO createFromParcel(Parcel source) {
//             return new SongDTO(source);
//         }
// 
//         public SongDTO[] newArray(int size) {
//             return new SongDTO[size];
//         }
//     };
// }
// 
// Path: mobile/src/main/java/com/laithlab/rhythm/utils/ContentType.java
// public enum ContentType {
//     ARTIST, ALBUM, PLAYLIST, MOST_PLAYED, LAST_PLAYED
// }
// 
// Path: mobile/src/main/java/com/laithlab/rhythm/utils/TimeFormatUtils.java
// public class TimeFormatUtils {
// 
//     public static String secondsToTimer(long totalSeconds) {
//         String finalTimerString = "";
//         String secondsString;
// 
//         // Convert total duration into time
//         int hours = (int) (totalSeconds / (60 * 60));
//         int minutes = (int) (totalSeconds % (60 * 60)) / (60);
//         int seconds = (int) ((totalSeconds % (60 * 60)) % (60));
//         // Add hours if there
//         if (hours > 0) {
//             finalTimerString = hours + ":";
//         }
// 
//         // Prepending 0 to seconds if it is one digit
//         if (seconds < 10) {
//             secondsString = "0" + seconds;
//         } else {
//             secondsString = "" + seconds;
//         }
// 
//         finalTimerString = finalTimerString + minutes + ":" + secondsString;
// 
//         // return timer string
//         return finalTimerString;
//     }
// }


import android.animation.ObjectAnimator;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.laithlab.rhythm.R;
import com.laithlab.rhythm.dto.SongDTO;
import com.laithlab.rhythm.utils.ContentType;
import com.laithlab.rhythm.utils.TimeFormatUtils;
import java.util.List;
package com.laithlab.rhythm.adapter;





public class SongListAdapter extends SelectableAdapter<SongListAdapter.ViewHolder> {

    private List<SongDTO> songs;
    private final ContentType contentType;
    private ClickListener clickListener;

// Path: mobile/src/main/java/com/laithlab/rhythm/dto/SongDTO.java
// public class SongDTO implements Parcelable {
// 
//     private String songTitle;
//     private long songDuration;
//     private String songLocation;
//     private String albumId;
//     private String id;
// 
//     public void setSongTitle(String songTitle) {
//         this.songTitle = songTitle;
//     }
// 
//     public String getSongTitle() {
//         return songTitle;
//     }
// 
//     public void setSongDuration(long songDuration) {
//         this.songDuration = songDuration;
//     }
// 
//     public long getSongDuration() {
//         return songDuration;
//     }
// 
//     public void setSongLocation(String songLocation) {
//         this.songLocation = songLocation;
//     }
// 
//     public String getSongLocation() {
//         return songLocation;
//     }
// 
//     public String getAlbumId() {
//         return albumId;
//     }
// 
//     public void setAlbumId(String albumId) {
//         this.albumId = albumId;
//     }
// 
//     public void setId(String id) {
//         this.id = id;
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel dest, int flags) {
//         dest.writeString(this.songTitle);
//         dest.writeLong(this.songDuration);
//         dest.writeString(this.songLocation);
//         dest.writeString(this.albumId);
//         dest.writeString(this.id);
//     }
// 
//     public SongDTO() {
//     }
// 
//     protected SongDTO(Parcel in) {
//         this.songTitle = in.readString();
//         this.songDuration = in.readLong();
//         this.songLocation = in.readString();
//         this.albumId = in.readString();
//         this.id = in.readString();
//     }
// 
//     public static final Parcelable.Creator<SongDTO> CREATOR = new Parcelable.Creator<SongDTO>() {
//         public SongDTO createFromParcel(Parcel source) {
//             return new SongDTO(source);
//         }
// 
//         public SongDTO[] newArray(int size) {
//             return new SongDTO[size];
//         }
//     };
// }
// 
// Path: mobile/src/main/java/com/laithlab/rhythm/utils/ContentType.java
// public enum ContentType {
//     ARTIST, ALBUM, PLAYLIST, MOST_PLAYED, LAST_PLAYED
// }
// 
// Path: mobile/src/main/java/com/laithlab/rhythm/utils/TimeFormatUtils.java
// public class TimeFormatUtils {
// 
//     public static String secondsToTimer(long totalSeconds) {
//         String finalTimerString = "";
//         String secondsString;
// 
//         // Convert total duration into time
//         int hours = (int) (totalSeconds / (60 * 60));
//         int minutes = (int) (totalSeconds % (60 * 60)) / (60);
//         int seconds = (int) ((totalSeconds % (60 * 60)) % (60));
//         // Add hours if there
//         if (hours > 0) {
//             finalTimerString = hours + ":";
//         }
// 
//         // Prepending 0 to seconds if it is one digit
//         if (seconds < 10) {
//             secondsString = "0" + seconds;
//         } else {
//             secondsString = "" + seconds;
//         }
// 
//         finalTimerString = finalTimerString + minutes + ":" + secondsString;
// 
//         // return timer string
//         return finalTimerString;
//     }
// }


// Path: mobile/src/main/java/com/laithlab/rhythm/adapter/SongListAdapter.java
import android.animation.ObjectAnimator;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.laithlab.rhythm.R;
import com.laithlab.rhythm.dto.SongDTO;
import com.laithlab.rhythm.utils.ContentType;
import com.laithlab.rhythm.utils.TimeFormatUtils;
import java.util.List;

package com.laithlab.rhythm.adapter;





public class SongListAdapter extends SelectableAdapter<SongListAdapter.ViewHolder> {

    private List<SongDTO> songs;
    private final ContentType contentType;
    private ClickListener clickListener;

    public SongListAdapter(List<SongDTO> songs, ClickListener clickListener, ContentType contentType) {