// Path: app/src/main/java/org/indywidualni/centrumfm/MyApplication.java
// public class MyApplication extends Application {
// 
//     private static Context mContext;
//     private Tracker mTracker;
// 
//     public static Context getContextOfApplication() {
//         return mContext;
//     }
// 
//     @Override
//     public void onCreate() {
//         mContext = getApplicationContext();
//         super.onCreate();
//     }
// 
//     /**
//      * Gets the default {@link Tracker} for this {@link Application}.
//      *
//      * @return tracker
//      */
//     synchronized public Tracker getDefaultTracker() {
//         if (mTracker == null) {
//             // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
//             GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
//             analytics.setDryRun(BuildConfig.DEBUG);
// 
//             mTracker = analytics.newTracker(R.xml.global_tracker);
//             mTracker.enableAutoActivityTracking(true);
//             mTracker.enableExceptionReporting(true);
//         }
//         return mTracker;
//     }
// 
// }
// 
// Path: app/src/main/java/org/indywidualni/centrumfm/rest/model/Song.java
// public class Song implements Parcelable, Comparable<Song> {
// 
//     public static final Parcelable.Creator<Song> CREATOR = new Parcelable.Creator<Song>() {
//         @Override
//         public Song createFromParcel(Parcel source) {
//             return new Song(source);
//         }
// 
//         @Override
//         public Song[] newArray(int size) {
//             return new Song[size];
//         }
//     };
//     
//     private String id;
//     private String sum;
//     private String title;
//     private String duration;
//     private String played;
//     private String artist;
//     private int dbId;
// 
//     public Song() {
//     }
// 
//     protected Song(Parcel in) {
//         this.id = in.readString();
//         this.sum = in.readString();
//         this.title = in.readString();
//         this.duration = in.readString();
//         this.played = in.readString();
//         this.artist = in.readString();
//         this.dbId = in.readInt();
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     public void setId(String id) {
//         this.id = id;
//     }
// 
//     public String getSum() {
//         return sum;
//     }
// 
//     public void setSum(String sum) {
//         this.sum = sum;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getDuration() {
//         return duration;
//     }
// 
//     public void setDuration(String duration) {
//         this.duration = duration;
//     }
// 
//     public String getPlayed() {
//         return played;
//     }
// 
//     public void setPlayed(String played) {
//         this.played = played;
//     }
// 
//     public String getArtist() {
//         return artist;
//     }
// 
//     public void setArtist(String artist) {
//         this.artist = artist;
//     }
// 
//     public int getDbId() {
//         return dbId;
//     }
// 
//     public void setDbId(int dbId) {
//         this.dbId = dbId;
//     }
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel dest, int flags) {
//         dest.writeString(this.id);
//         dest.writeString(this.sum);
//         dest.writeString(this.title);
//         dest.writeString(this.duration);
//         dest.writeString(this.played);
//         dest.writeString(this.artist);
//         dest.writeInt(this.dbId);
//     }
// 
//     public String getSearchableData() {
//         return artist + " " + title + " " + sum + " " + duration + " " + played;
//     }
// 
//     @Override
//     public int compareTo(@NonNull Song o) {
//         if (getDbId() > o.getDbId())
//             return -1;
//         else if (getDbId() < o.getDbId())
//             return 1;
//         else
//             return 0;
//     }
// 
//     @Override
//     public String toString() {
//         return "ClassPojo [id = " + id + ", sum = " + sum + ", title = " + title + ", " +
//                 "duration = " + duration + ", played = " + played + ", artist = " + artist + ", dbId = " + dbId + "]";
//     }
// 
// }


import android.annotation.SuppressLint;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.TextView;
import org.indywidualni.centrumfm.MyApplication;
import org.indywidualni.centrumfm.R;
import org.indywidualni.centrumfm.rest.model.Song;
import java.util.ArrayList;
import java.util.List;

        public ViewHolder(View v, IViewHolderClicks listener) {
            super(v);
            mListener = listener;

            frameLayout = (FrameLayout) v.findViewById(R.id.element);
            id = (TextView) v.findViewById(R.id.id);
            title = (TextView) v.findViewById(R.id.title);
            artist = (TextView) v.findViewById(R.id.artist);
            played = (TextView) v.findViewById(R.id.played);
            duration = (TextView) v.findViewById(R.id.duration);
            selectedOverlay = v.findViewById(R.id.selectedOverlay);

            frameLayout.setOnClickListener(this);
            frameLayout.setOnLongClickListener(this);
        }

        @Override
        public void onClick(View v) {
            if (mListener != null) {
                if (v instanceof FrameLayout)
                    mListener.onContentClick((FrameLayout) v, getAdapterPosition());
            }
        }
        
        @Override
        public boolean onLongClick(View v) {
            return mListener != null && mListener.onContentLongClick(getAdapterPosition());
        }

// Path: app/src/main/java/org/indywidualni/centrumfm/MyApplication.java
// public class MyApplication extends Application {
// 
//     private static Context mContext;
//     private Tracker mTracker;
// 
//     public static Context getContextOfApplication() {
//         return mContext;
//     }
// 
//     @Override
//     public void onCreate() {
//         mContext = getApplicationContext();
//         super.onCreate();
//     }
// 
//     /**
//      * Gets the default {@link Tracker} for this {@link Application}.
//      *
//      * @return tracker
//      */
//     synchronized public Tracker getDefaultTracker() {
//         if (mTracker == null) {
//             // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
//             GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
//             analytics.setDryRun(BuildConfig.DEBUG);
// 
//             mTracker = analytics.newTracker(R.xml.global_tracker);
//             mTracker.enableAutoActivityTracking(true);
//             mTracker.enableExceptionReporting(true);
//         }
//         return mTracker;
//     }
// 
// }
// 
// Path: app/src/main/java/org/indywidualni/centrumfm/rest/model/Song.java
// public class Song implements Parcelable, Comparable<Song> {
// 
//     public static final Parcelable.Creator<Song> CREATOR = new Parcelable.Creator<Song>() {
//         @Override
//         public Song createFromParcel(Parcel source) {
//             return new Song(source);
//         }
// 
//         @Override
//         public Song[] newArray(int size) {
//             return new Song[size];
//         }
//     };
//     
//     private String id;
//     private String sum;
//     private String title;
//     private String duration;
//     private String played;
//     private String artist;
//     private int dbId;
// 
//     public Song() {
//     }
// 
//     protected Song(Parcel in) {
//         this.id = in.readString();
//         this.sum = in.readString();
//         this.title = in.readString();
//         this.duration = in.readString();
//         this.played = in.readString();
//         this.artist = in.readString();
//         this.dbId = in.readInt();
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     public void setId(String id) {
//         this.id = id;
//     }
// 
//     public String getSum() {
//         return sum;
//     }
// 
//     public void setSum(String sum) {
//         this.sum = sum;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getDuration() {
//         return duration;
//     }
// 
//     public void setDuration(String duration) {
//         this.duration = duration;
//     }
// 
//     public String getPlayed() {
//         return played;
//     }
// 
//     public void setPlayed(String played) {
//         this.played = played;
//     }
// 
//     public String getArtist() {
//         return artist;
//     }
// 
//     public void setArtist(String artist) {
//         this.artist = artist;
//     }
// 
//     public int getDbId() {
//         return dbId;
//     }
// 
//     public void setDbId(int dbId) {
//         this.dbId = dbId;
//     }
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel dest, int flags) {
//         dest.writeString(this.id);
//         dest.writeString(this.sum);
//         dest.writeString(this.title);
//         dest.writeString(this.duration);
//         dest.writeString(this.played);
//         dest.writeString(this.artist);
//         dest.writeInt(this.dbId);
//     }
// 
//     public String getSearchableData() {
//         return artist + " " + title + " " + sum + " " + duration + " " + played;
//     }
// 
//     @Override
//     public int compareTo(@NonNull Song o) {
//         if (getDbId() > o.getDbId())
//             return -1;
//         else if (getDbId() < o.getDbId())
//             return 1;
//         else
//             return 0;
//     }
// 
//     @Override
//     public String toString() {
//         return "ClassPojo [id = " + id + ", sum = " + sum + ", title = " + title + ", " +
//                 "duration = " + duration + ", played = " + played + ", artist = " + artist + ", dbId = " + dbId + "]";
//     }
// 
// }


// Path: app/src/main/java/org/indywidualni/centrumfm/rest/adapter/SongsAdapter.java
import android.annotation.SuppressLint;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.TextView;
import org.indywidualni.centrumfm.MyApplication;
import org.indywidualni.centrumfm.R;
import org.indywidualni.centrumfm.rest.model.Song;
import java.util.ArrayList;
import java.util.List;


        public ViewHolder(View v, IViewHolderClicks listener) {
            super(v);
            mListener = listener;

            frameLayout = (FrameLayout) v.findViewById(R.id.element);
            id = (TextView) v.findViewById(R.id.id);
            title = (TextView) v.findViewById(R.id.title);
            artist = (TextView) v.findViewById(R.id.artist);
            played = (TextView) v.findViewById(R.id.played);
            duration = (TextView) v.findViewById(R.id.duration);
            selectedOverlay = v.findViewById(R.id.selectedOverlay);

            frameLayout.setOnClickListener(this);
            frameLayout.setOnLongClickListener(this);
        }

        @Override
        public void onClick(View v) {
            if (mListener != null) {
                if (v instanceof FrameLayout)
                    mListener.onContentClick((FrameLayout) v, getAdapterPosition());
            }
        }
        
        @Override
        public boolean onLongClick(View v) {
            return mListener != null && mListener.onContentLongClick(getAdapterPosition());
        }

        public TextView getId() {