summaryrefslogtreecommitdiffstats
path: root/src/org/lineageos/eleven/service/MusicPlaybackTrack.java
diff options
context:
space:
mode:
authorMichael Bestas <mkbestas@lineageos.org>2018-01-22 21:02:42 +0200
committerMichael Bestas <mkbestas@lineageos.org>2018-01-23 19:35:52 +0200
commita907407e035b52e8dcdd4ac3ae48b533c7942d5a (patch)
treeef031b8478effd2fd828495832260359486950f4 /src/org/lineageos/eleven/service/MusicPlaybackTrack.java
parentda200d369e4e43f2587273e9dd7af9c91048cf68 (diff)
downloadandroid_packages_apps_Eleven-a907407e035b52e8dcdd4ac3ae48b533c7942d5a.tar.gz
android_packages_apps_Eleven-a907407e035b52e8dcdd4ac3ae48b533c7942d5a.tar.bz2
android_packages_apps_Eleven-a907407e035b52e8dcdd4ac3ae48b533c7942d5a.zip
Eleven: rebrand step 1: update paths
Change-Id: Iab35e4024e20c48e7439e78d1c6efe0ef4f730ca
Diffstat (limited to 'src/org/lineageos/eleven/service/MusicPlaybackTrack.java')
-rw-r--r--src/org/lineageos/eleven/service/MusicPlaybackTrack.java111
1 files changed, 111 insertions, 0 deletions
diff --git a/src/org/lineageos/eleven/service/MusicPlaybackTrack.java b/src/org/lineageos/eleven/service/MusicPlaybackTrack.java
new file mode 100644
index 0000000..2c9832a
--- /dev/null
+++ b/src/org/lineageos/eleven/service/MusicPlaybackTrack.java
@@ -0,0 +1,111 @@
+/*
+* 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.service;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import com.cyanogenmod.eleven.Config;
+
+/**
+ * This is used by the music playback service to track the music tracks it is playing
+ * It has extra meta data to determine where the track came from so that we can show the appropriate
+ * song playing indicator
+ */
+public class MusicPlaybackTrack implements Parcelable {
+ /**
+ * The track id
+ */
+ public long mId;
+
+ /**
+ * Where was this track added from? Artist id/Album id/Playlist id
+ */
+ public long mSourceId;
+
+ /**
+ * Where was this track added from? Artist/Album/Playlist
+ */
+ public Config.IdType mSourceType;
+
+ /**
+ * This is only used for playlists since it is possible that a playlist can contain the same
+ * song multiple times. So to prevent the song indicator showing up multiple times, we need
+ * to keep track of the position
+ */
+ public int mSourcePosition;
+
+ /**
+ * Parcelable creator
+ */
+ public static final Creator<MusicPlaybackTrack> CREATOR = new Creator<MusicPlaybackTrack>() {
+ @Override
+ public MusicPlaybackTrack createFromParcel(Parcel source) {
+ return new MusicPlaybackTrack(source);
+ }
+
+ @Override
+ public MusicPlaybackTrack[] newArray(int size) {
+ return new MusicPlaybackTrack[size];
+ }
+ };
+
+ public MusicPlaybackTrack(long id, long sourceId, Config.IdType type, int sourcePosition) {
+ mId = id;
+ mSourceId = sourceId;
+ mSourceType = type;
+ mSourcePosition = sourcePosition;
+ }
+
+ public MusicPlaybackTrack(Parcel in) {
+ mId = in.readLong();
+ mSourceId = in.readLong();
+ mSourceType = Config.IdType.getTypeById(in.readInt());
+ mSourcePosition = in.readInt();
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeLong(mId);
+ dest.writeLong(mSourceId);
+ dest.writeInt(mSourceType.mId);
+ dest.writeInt(mSourcePosition);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o instanceof MusicPlaybackTrack) {
+ MusicPlaybackTrack other = (MusicPlaybackTrack)o;
+ if (other != null) {
+ if (mId == other.mId
+ && mSourceId == other.mSourceId
+ && mSourceType == other.mSourceType
+ && mSourcePosition == other.mSourcePosition) {
+ return true;
+ }
+
+ return false;
+ }
+ }
+
+ return super.equals(o);
+ }
+}