mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2025-01-13 18:41:14 +01:00
e08a900978
Add actions to the filter (this should help with #536) Add "copy" constructors to MusicSpec and MusicStateSpec, and use those when receiving an updated intent, this way partial updates do not disrupt the local information. Iterate over incoming extra keys, explicitly check the incoming type and use only known type. This could help with #533 Possible problem: this code iterates over every key of the incoming bundle.
47 lines
1.2 KiB
Java
47 lines
1.2 KiB
Java
package nodomain.freeyourgadget.gadgetbridge.model;
|
|
|
|
/**
|
|
* Created by steffen on 07.06.16.
|
|
*/
|
|
public class MusicStateSpec {
|
|
public static final int STATE_PLAYING = 0;
|
|
public static final int STATE_PAUSED = 1;
|
|
public static final int STATE_STOPPED = 2;
|
|
public static final int STATE_UNKNOWN = 3;
|
|
|
|
public byte state;
|
|
public int position;
|
|
public int playRate;
|
|
public byte shuffle;
|
|
public byte repeat;
|
|
|
|
public MusicStateSpec() {
|
|
|
|
}
|
|
|
|
public MusicStateSpec(MusicStateSpec old) {
|
|
this.state = old.state;
|
|
this.position = old.position;
|
|
this.playRate = old.playRate;
|
|
this.shuffle = old.shuffle;
|
|
this.repeat = old.repeat;
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object obj) {
|
|
if (obj == this) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof MusicStateSpec)) {
|
|
return false;
|
|
}
|
|
MusicStateSpec stateSpec = (MusicStateSpec) obj;
|
|
|
|
return this.state == stateSpec.state &&
|
|
Math.abs(this.position - stateSpec.position)<=2 &&
|
|
this.playRate == stateSpec.playRate &&
|
|
this.shuffle == stateSpec.shuffle &&
|
|
this.repeat == stateSpec.repeat;
|
|
}
|
|
}
|