diff options
author | Michael Bestas <mkbestas@lineageos.org> | 2018-01-22 21:02:42 +0200 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2018-01-23 19:35:52 +0200 |
commit | a907407e035b52e8dcdd4ac3ae48b533c7942d5a (patch) | |
tree | ef031b8478effd2fd828495832260359486950f4 /src/org/lineageos/eleven/service/MusicPlaybackTrack.java | |
parent | da200d369e4e43f2587273e9dd7af9c91048cf68 (diff) | |
download | android_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.java | 111 |
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); + } +} |