Signal-Android/app/src/main/java/org/thoughtcrime/securesms/ringrtc/CameraState.java

53 lines
1.1 KiB
Java

package org.thoughtcrime.securesms.ringrtc;
import androidx.annotation.NonNull;
public class CameraState {
public static final CameraState UNKNOWN = new CameraState(Direction.NONE, 0);
private final Direction activeDirection;
private final int cameraCount;
public CameraState(@NonNull Direction activeDirection, int cameraCount) {
this.activeDirection = activeDirection;
this.cameraCount = cameraCount;
}
public int getCameraCount() {
return cameraCount;
}
public Direction getActiveDirection() {
return activeDirection;
}
public boolean isEnabled() {
return this.activeDirection != Direction.NONE;
}
@Override
public String toString() {
return "count: " + cameraCount + ", activeDirection: " + activeDirection;
}
public enum Direction {
FRONT, BACK, NONE, PENDING;
public boolean isUsable() {
return this == FRONT || this == BACK;
}
public Direction switchDirection() {
switch (this) {
case FRONT:
return BACK;
case BACK:
return FRONT;
default:
return this;
}
}
}
}