data class MoveServiceFailure(
val service: MoveDetectionService,
val reasons: List<MoveError>
)
sealed class MoveError {
AccelerometerMissing,
BatteryPermissionMissing,
InternetPermissionMissing,
LocationPermissionMissing,
MotionPermissionMissing,
NotificationMissing,
OverlayPermissionMissing,
PhonePermissionMissing,
Unauthorized
}
struct MoveServiceFailure {
enum Reason {
case unauthorized
case missingPermission([MovePermission])
}
var service: MoveConfig.DetectionService
var reason: Reason
}
enum MovePermission: Int {
case location
case backgroundLocation
case preciseLocation
case motionActivity
case gyroscope
case accelerometer
}