1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-07-09 07:01:33 +02:00
Gadgetbridge/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/MusicSpec.java
Daniele Gobbetti 3fac021ff2 Amazfit Cor: implement basic music controls
Play/pause and skip to previous/next song work. The currently playing song
name is shown on the Cor. The track length and progress are now shown as
we don't know how to send these yet.
2018-08-06 23:11:40 +02:00

91 lines
2.9 KiB
Java

/* Copyright (C) 2016-2018 Andreas Shimokawa, Carsten Pfeiffer, Daniele
Gobbetti
This file is part of Gadgetbridge.
Gadgetbridge is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Gadgetbridge is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.model;
import java.util.Objects;
public class MusicSpec {
public static final int MUSIC_UNDEFINED = 0;
public static final int MUSIC_PLAY = 1;
public static final int MUSIC_PAUSE = 2;
public static final int MUSIC_PLAYPAUSE = 3;
public static final int MUSIC_NEXT = 4;
public static final int MUSIC_PREVIOUS = 5;
public String artist;
public String album;
public String track;
public int duration;
public int trackCount;
public int trackNr;
public MusicSpec() {
}
public MusicSpec(MusicSpec old) {
this.duration = old.duration;
this.trackCount = old.trackCount;
this.trackNr = old.trackNr;
this.track = old.track;
this.album = old.album;
this.artist = old.artist;
}
@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof MusicSpec)) {
return false;
}
MusicSpec musicSpec = (MusicSpec) obj;
return Objects.equals(this.artist, musicSpec.artist) &&
Objects.equals(this.album, musicSpec.album) &&
Objects.equals(this.track, musicSpec.track) &&
this.duration == musicSpec.duration &&
this.trackCount == musicSpec.trackCount &&
this.trackNr == musicSpec.trackNr;
}
@Override
public int hashCode() {
int result = artist != null ? artist.hashCode() : 0;
result = 31 * result + (album != null ? album.hashCode() : 0);
result = 31 * result + (track != null ? track.hashCode() : 0);
result = 31 * result + duration;
result = 31 * result + trackCount;
result = 31 * result + trackNr;
return result;
}
@Override
public String toString() {
return "MusicSpec{" +
"artist='" + artist + '\'' +
", album='" + album + '\'' +
", track='" + track + '\'' +
", duration=" + duration +
", trackCount=" + trackCount +
", trackNr=" + trackNr +
'}';
}
}