package de.danoeh.antennapod.core.service.playback;

public enum PlayerStatus {
    INDETERMINATE,  // player is currently changing its state, listeners should wait until the player has left this state.
	ERROR, 
	PREPARING, 
	PAUSED, 
	PLAYING, 
	STOPPED, 
	PREPARED, 
	SEEKING,
	INITIALIZING,			// playback service is loading the Playable's metadata
	INITIALIZED;	// playback service was started, data source of media player was set.

    private static final PlayerStatus[] fromOrdinalLookup;

    static {
        fromOrdinalLookup = PlayerStatus.values();
    }

    public static PlayerStatus fromOrdinal(int o) {
        return fromOrdinalLookup[o];
    }
}

@@ -90,16 +90,19 @@
 ERMINATE
+(0)
 ,  // pl
@@ -205,18 +205,21 @@
 .%0A%09ERROR
+(-1)
 ,
- 
 %0A%09PREPAR
@@ -225,18 +225,21 @@
 RING
+(19)
 ,
- 
 %0A%09PAUSED
 , %0A%09
@@ -234,18 +234,21 @@
 %0A%09PAUSED
+(30)
 ,
- 
 %0A%09PLAYIN
@@ -248,18 +248,21 @@
 %09PLAYING
+(40)
 ,
- 
 %0A%09STOPPE
@@ -262,18 +262,20 @@
 %09STOPPED
+(5)
 ,
- 
 %0A%09PREPAR
@@ -276,18 +276,21 @@
 PREPARED
+(20)
 ,
- 
 %0A%09SEEKIN
@@ -290,16 +290,20 @@
 %09SEEKING
+(29)
 ,%0A%09INITI
@@ -309,16 +309,19 @@
 IALIZING
+(9)
 ,%09%09%09// p
@@ -383,16 +383,20 @@
 TIALIZED
+(10)
 ;%09// pla
@@ -460,16 +460,42 @@
 s set.%0A%0A
+%09private int statusValue;%0A
     priv
@@ -617,16 +617,66 @@
 %0A    %7D%0A%0A
+%09PlayerStatus(int val) %7B%0A%09%09statusValue = val;%0A%09%7D%0A%0A
     publ
@@ -761,11 +761,126 @@
 %5D;%0A    %7D
+%0A%0A%09public boolean isAtLeast(PlayerStatus other) %7B%0A%09%09return other == null %7C%7C this.statusValue%3E=other.statusValue;%0A%09%7D
 %0A%7D%0A

Add ordering relations to PlayerStatus