Update ControlActivity.kt
This commit is contained in:
		@@ -69,6 +69,31 @@ enum class TypeOption(
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class ControlActivity : AppCompatActivity() {
 | 
			
		||||
    companion object {
 | 
			
		||||
        private const val CMD_STANDBY = "standby:"
 | 
			
		||||
        private const val CMD_LAYDOWN = "laydown:"
 | 
			
		||||
 | 
			
		||||
        private const val CMD_FORWARD = "forward:"
 | 
			
		||||
        private const val CMD_BACKWARD = "backward:"
 | 
			
		||||
 | 
			
		||||
        private const val CMD_FASTFORWARD = "fastforward:"
 | 
			
		||||
        private const val CMD_FASTBACKWARD = "fastbackward:"
 | 
			
		||||
 | 
			
		||||
        private const val CMD_SHIFTLEFT = "shiftleft:"
 | 
			
		||||
        private const val CMD_SHIFTRIGHT = "shiftright:"
 | 
			
		||||
 | 
			
		||||
        private const val CMD_TURNLEFT = "turnleft:"
 | 
			
		||||
        private const val CMD_TURNRIGHT = "turnright:"
 | 
			
		||||
 | 
			
		||||
        private const val CMD_CLIMBFORWARD = "climbforward:"
 | 
			
		||||
        private const val CMD_CLIMBBACKWARD = "climbbackward:"
 | 
			
		||||
 | 
			
		||||
        private const val CMD_ROTATEX = "rotatex:"
 | 
			
		||||
        private const val CMD_ROTATEY = "rotatey:"
 | 
			
		||||
        private const val CMD_ROTATEZ = "rotatez:"
 | 
			
		||||
 | 
			
		||||
        private const val CMD_TWIST = "twist:"
 | 
			
		||||
    }
 | 
			
		||||
    private var width = 0
 | 
			
		||||
    private var height = 0
 | 
			
		||||
    private var radius = 0f
 | 
			
		||||
@@ -84,10 +109,9 @@ class ControlActivity : AppCompatActivity() {
 | 
			
		||||
    private var btClient: BluetoothClient? = null
 | 
			
		||||
    private var mac: String = ""
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    private val scope = CoroutineScope(Job() + Dispatchers.IO)
 | 
			
		||||
 | 
			
		||||
    private var currentState: String = "standby"
 | 
			
		||||
    private var currentState: String = CMD_STANDBY
 | 
			
		||||
    private lateinit var progressBar: ConstraintLayout
 | 
			
		||||
 | 
			
		||||
    private var controlImage: ImageView? = null
 | 
			
		||||
@@ -122,7 +146,6 @@ class ControlActivity : AppCompatActivity() {
 | 
			
		||||
        progressBar = findViewById<ConstraintLayout>(R.id.progressBar)
 | 
			
		||||
 | 
			
		||||
        buttonRotateX = findViewById(R.id.button_rotatex)
 | 
			
		||||
//        buttonRotateX!!.backgroundTintList = applicationContext.getColorStateList(R.color.purple_500)
 | 
			
		||||
        buttonRotateY = findViewById(R.id.button_rotatey)
 | 
			
		||||
        buttonRotateZ = findViewById(R.id.button_rotatez)
 | 
			
		||||
        buttonClimb = findViewById(R.id.button_climb)
 | 
			
		||||
@@ -135,7 +158,6 @@ class ControlActivity : AppCompatActivity() {
 | 
			
		||||
                height = controlImage!!.measuredHeight
 | 
			
		||||
                width = controlImage!!.measuredWidth
 | 
			
		||||
                radius = width.coerceAtMost(height) / 2f
 | 
			
		||||
                println(radius)
 | 
			
		||||
                return true
 | 
			
		||||
            }
 | 
			
		||||
        })
 | 
			
		||||
@@ -157,10 +179,9 @@ class ControlActivity : AppCompatActivity() {
 | 
			
		||||
 | 
			
		||||
                    val length = sqrt(coorX.pow(2) + coorY.pow(2))
 | 
			
		||||
                    if (length < radius / 3) {
 | 
			
		||||
                        if (currentState != "standby") {
 | 
			
		||||
                            println("Standby")
 | 
			
		||||
                            sendMessageAsync("standby")
 | 
			
		||||
                            currentState = "standby"
 | 
			
		||||
                        if (currentState != CMD_STANDBY) {
 | 
			
		||||
                            sendMessageAsync(CMD_STANDBY)
 | 
			
		||||
                            currentState = CMD_STANDBY
 | 
			
		||||
                            controlImage!!.setImageResource(R.drawable.ic_control_circle_standby)
 | 
			
		||||
 | 
			
		||||
                            buttonRotateX!!.backgroundTintList =
 | 
			
		||||
@@ -177,31 +198,27 @@ class ControlActivity : AppCompatActivity() {
 | 
			
		||||
                    } else if (length >= radius / 3 && length < 2 * radius / 3) {
 | 
			
		||||
                        val angle = atan2(coorY, coorX)
 | 
			
		||||
                        if (angle > -PI / 4 && angle <= PI / 4) {
 | 
			
		||||
                            if (currentState != "shiftright") {
 | 
			
		||||
                                println("Move right")
 | 
			
		||||
                                sendMessageAsync("shiftright")
 | 
			
		||||
                                currentState = "shiftright"
 | 
			
		||||
                            if (currentState != CMD_SHIFTRIGHT) {
 | 
			
		||||
                                sendMessageAsync(CMD_SHIFTRIGHT)
 | 
			
		||||
                                currentState = CMD_SHIFTRIGHT
 | 
			
		||||
                                controlImage!!.setImageResource(R.drawable.ic_control_circle_right)
 | 
			
		||||
                            }
 | 
			
		||||
                        } else if (angle > PI / 4 && angle <= 3 * PI / 4) {
 | 
			
		||||
                            if (currentState != "backward") {
 | 
			
		||||
                                println("Move back")
 | 
			
		||||
                                sendMessageAsync("backward")
 | 
			
		||||
                                currentState = "backward"
 | 
			
		||||
                            if (currentState != CMD_BACKWARD) {
 | 
			
		||||
                                sendMessageAsync(CMD_BACKWARD)
 | 
			
		||||
                                currentState = CMD_BACKWARD
 | 
			
		||||
                                controlImage!!.setImageResource(R.drawable.ic_control_circle_backward)
 | 
			
		||||
                            }
 | 
			
		||||
                        } else if (angle > -3 * PI / 4 && angle < -PI / 4) {
 | 
			
		||||
                            if (currentState != "forward") {
 | 
			
		||||
                                println("Move forward")
 | 
			
		||||
                                sendMessageAsync("forward")
 | 
			
		||||
                                currentState = "forward"
 | 
			
		||||
                            if (currentState != CMD_FORWARD) {
 | 
			
		||||
                                sendMessageAsync(CMD_FORWARD)
 | 
			
		||||
                                currentState = CMD_FORWARD
 | 
			
		||||
                                controlImage!!.setImageResource(R.drawable.ic_control_circle_forward)
 | 
			
		||||
                            }
 | 
			
		||||
                        } else {
 | 
			
		||||
                            if (currentState != "shiftleft") {
 | 
			
		||||
                                println("Move left")
 | 
			
		||||
                                sendMessageAsync("shiftleft")
 | 
			
		||||
                                currentState = "shiftleft"
 | 
			
		||||
                            if (currentState != CMD_SHIFTLEFT) {
 | 
			
		||||
                                sendMessageAsync(CMD_SHIFTLEFT)
 | 
			
		||||
                                currentState = CMD_SHIFTLEFT
 | 
			
		||||
                                controlImage!!.setImageResource(R.drawable.ic_control_circle_left)
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
@@ -218,31 +235,27 @@ class ControlActivity : AppCompatActivity() {
 | 
			
		||||
                    } else if (length >= 2 * radius / 3 && length < radius) {
 | 
			
		||||
                        val angle = atan2(coorY, coorX)
 | 
			
		||||
                        if (angle > -PI / 4 && angle <= PI / 4) {
 | 
			
		||||
                            if (currentState != "rightturn") {
 | 
			
		||||
                                println("Turn right")
 | 
			
		||||
                                sendMessageAsync("rightturn")
 | 
			
		||||
                                currentState = "rightturn"
 | 
			
		||||
                            if (currentState != CMD_TURNRIGHT) {
 | 
			
		||||
                                sendMessageAsync(CMD_TURNRIGHT)
 | 
			
		||||
                                currentState = CMD_TURNRIGHT
 | 
			
		||||
                                controlImage!!.setImageResource(R.drawable.ic_control_circle_turnright)
 | 
			
		||||
                            }
 | 
			
		||||
                        } else if (angle > PI / 4 && angle <= 3 * PI / 4) {
 | 
			
		||||
                            if (currentState != "fastback") {
 | 
			
		||||
                                println("Fast back")
 | 
			
		||||
//                            sendMessageAsync("Fast back")
 | 
			
		||||
                                currentState = "fastback"
 | 
			
		||||
                            if (currentState != CMD_FASTBACKWARD) {
 | 
			
		||||
                                sendMessageAsync(CMD_FASTBACKWARD)
 | 
			
		||||
                                currentState = CMD_FASTBACKWARD
 | 
			
		||||
                                controlImage!!.setImageResource(R.drawable.ic_control_circle_fastbackward)
 | 
			
		||||
                            }
 | 
			
		||||
                        } else if (angle > -3 * PI / 4 && angle < -PI / 4) {
 | 
			
		||||
                            if (currentState != "fastforward") {
 | 
			
		||||
                                println("Fast forward")
 | 
			
		||||
                                sendMessageAsync("fastforward")
 | 
			
		||||
                                currentState = "fastforward"
 | 
			
		||||
                            if (currentState != CMD_FASTFORWARD) {
 | 
			
		||||
                                sendMessageAsync(CMD_FASTFORWARD)
 | 
			
		||||
                                currentState = CMD_FASTFORWARD
 | 
			
		||||
                                controlImage!!.setImageResource(R.drawable.ic_control_circle_fastforward)
 | 
			
		||||
                            }
 | 
			
		||||
                        } else {
 | 
			
		||||
                            if (currentState != "leftturn") {
 | 
			
		||||
                                println("Turn left")
 | 
			
		||||
                                sendMessageAsync("leftturn")
 | 
			
		||||
                                currentState = "leftturn"
 | 
			
		||||
                            if (currentState != CMD_TURNLEFT) {
 | 
			
		||||
                                sendMessageAsync(CMD_TURNLEFT)
 | 
			
		||||
                                currentState = CMD_TURNLEFT
 | 
			
		||||
                                controlImage!!.setImageResource(R.drawable.ic_control_circle_turnleft)
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
@@ -263,9 +276,9 @@ class ControlActivity : AppCompatActivity() {
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        buttonRotateX!!.setOnClickListener {
 | 
			
		||||
            if (currentState != "rotatex") {
 | 
			
		||||
                sendMessageAsync("rotatex")
 | 
			
		||||
                currentState = "rotatex"
 | 
			
		||||
            if (currentState != CMD_ROTATEX) {
 | 
			
		||||
                sendMessageAsync(CMD_ROTATEX)
 | 
			
		||||
                currentState = CMD_ROTATEX
 | 
			
		||||
                controlImage!!.setImageResource(R.drawable.ic_control_circle)
 | 
			
		||||
                buttonRotateX!!.backgroundTintList =
 | 
			
		||||
                    applicationContext.getColorStateList(R.color.purple_500)
 | 
			
		||||
@@ -281,9 +294,9 @@ class ControlActivity : AppCompatActivity() {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        buttonRotateY!!.setOnClickListener {
 | 
			
		||||
            if (currentState != "rotatey") {
 | 
			
		||||
                sendMessageAsync("rotatey")
 | 
			
		||||
                currentState = "rotatey"
 | 
			
		||||
            if (currentState != CMD_ROTATEY) {
 | 
			
		||||
                sendMessageAsync(CMD_ROTATEY)
 | 
			
		||||
                currentState = CMD_ROTATEY
 | 
			
		||||
                controlImage!!.setImageResource(R.drawable.ic_control_circle)
 | 
			
		||||
                buttonRotateX!!.backgroundTintList =
 | 
			
		||||
                    applicationContext.getColorStateList(R.color.grey_500)
 | 
			
		||||
@@ -299,9 +312,9 @@ class ControlActivity : AppCompatActivity() {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        buttonRotateZ!!.setOnClickListener {
 | 
			
		||||
            if (currentState != "rotatez") {
 | 
			
		||||
                sendMessageAsync("rotatez")
 | 
			
		||||
                currentState = "rotatez"
 | 
			
		||||
            if (currentState != CMD_ROTATEZ) {
 | 
			
		||||
                sendMessageAsync(CMD_ROTATEZ)
 | 
			
		||||
                currentState = CMD_ROTATEZ
 | 
			
		||||
                controlImage!!.setImageResource(R.drawable.ic_control_circle)
 | 
			
		||||
                buttonRotateX!!.backgroundTintList =
 | 
			
		||||
                    applicationContext.getColorStateList(R.color.grey_500)
 | 
			
		||||
@@ -317,9 +330,9 @@ class ControlActivity : AppCompatActivity() {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        buttonClimb!!.setOnClickListener {
 | 
			
		||||
            if (currentState != "climb") {
 | 
			
		||||
                sendMessageAsync("climb")
 | 
			
		||||
                currentState = "climb"
 | 
			
		||||
            if (currentState != CMD_CLIMBFORWARD) {
 | 
			
		||||
                sendMessageAsync(CMD_CLIMBFORWARD)
 | 
			
		||||
                currentState = CMD_CLIMBFORWARD
 | 
			
		||||
                controlImage!!.setImageResource(R.drawable.ic_control_circle)
 | 
			
		||||
                buttonRotateX!!.backgroundTintList =
 | 
			
		||||
                    applicationContext.getColorStateList(R.color.grey_500)
 | 
			
		||||
@@ -335,9 +348,9 @@ class ControlActivity : AppCompatActivity() {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        buttonTwist!!.setOnClickListener {
 | 
			
		||||
            if (currentState != "twist") {
 | 
			
		||||
                sendMessageAsync("twist")
 | 
			
		||||
                currentState = "twist"
 | 
			
		||||
            if (currentState != CMD_TWIST) {
 | 
			
		||||
                sendMessageAsync(CMD_TWIST)
 | 
			
		||||
                currentState = CMD_TWIST
 | 
			
		||||
                controlImage!!.setImageResource(R.drawable.ic_control_circle)
 | 
			
		||||
                buttonRotateX!!.backgroundTintList =
 | 
			
		||||
                    applicationContext.getColorStateList(R.color.grey_500)
 | 
			
		||||
@@ -414,7 +427,7 @@ class ControlActivity : AppCompatActivity() {
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        currentState = "standby"
 | 
			
		||||
        currentState = CMD_STANDBY
 | 
			
		||||
        controlImage!!.setImageResource(R.drawable.ic_control_circle_standby)
 | 
			
		||||
 | 
			
		||||
        buttonRotateX!!.backgroundTintList =
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user