Update ControlActivity.kt
This commit is contained in:
		@@ -2,9 +2,6 @@ package com.rookiedev.hexapod
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import android.annotation.SuppressLint
 | 
					import android.annotation.SuppressLint
 | 
				
			||||||
import android.app.AlertDialog
 | 
					import android.app.AlertDialog
 | 
				
			||||||
import android.bluetooth.BluetoothAdapter
 | 
					 | 
				
			||||||
import android.bluetooth.BluetoothManager
 | 
					 | 
				
			||||||
import android.bluetooth.BluetoothSocket
 | 
					 | 
				
			||||||
import android.content.Context
 | 
					import android.content.Context
 | 
				
			||||||
import android.content.DialogInterface
 | 
					import android.content.DialogInterface
 | 
				
			||||||
import android.os.Bundle
 | 
					import android.os.Bundle
 | 
				
			||||||
@@ -15,14 +12,9 @@ import android.widget.Button
 | 
				
			|||||||
import android.widget.ImageView
 | 
					import android.widget.ImageView
 | 
				
			||||||
import androidx.appcompat.app.AppCompatActivity
 | 
					import androidx.appcompat.app.AppCompatActivity
 | 
				
			||||||
import androidx.constraintlayout.widget.ConstraintLayout
 | 
					import androidx.constraintlayout.widget.ConstraintLayout
 | 
				
			||||||
import com.rookiedev.hexapod.network.BluetoothService
 | 
					import com.rookiedev.hexapod.network.BluetoothClient
 | 
				
			||||||
import com.rookiedev.hexapod.network.TCPClient
 | 
					import com.rookiedev.hexapod.network.TCPClient
 | 
				
			||||||
import com.rookiedev.hexapod.network.TCPClient.*
 | 
					 | 
				
			||||||
import kotlinx.coroutines.*
 | 
					import kotlinx.coroutines.*
 | 
				
			||||||
import java.io.*
 | 
					 | 
				
			||||||
import java.lang.reflect.InvocationTargetException
 | 
					 | 
				
			||||||
import java.lang.reflect.Method
 | 
					 | 
				
			||||||
import java.util.*
 | 
					 | 
				
			||||||
import kotlin.math.PI
 | 
					import kotlin.math.PI
 | 
				
			||||||
import kotlin.math.atan2
 | 
					import kotlin.math.atan2
 | 
				
			||||||
import kotlin.math.pow
 | 
					import kotlin.math.pow
 | 
				
			||||||
@@ -85,15 +77,14 @@ class ControlActivity : AppCompatActivity() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    private var mContext: Context? = null
 | 
					    private var mContext: Context? = null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private var mac: String = ""
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    //    private val mBluetoothAdapter: BluetoothAdapter? = null
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private var tcpClient: TCPClient? = null
 | 
					    private var tcpClient: TCPClient? = null
 | 
				
			||||||
    private var ip: String = ""
 | 
					    private var ip: String = ""
 | 
				
			||||||
    private var port = 0
 | 
					    private var port = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private var btClient: BluetoothClient? = null
 | 
				
			||||||
 | 
					    private var mac: String = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private val scope = CoroutineScope(Job() + Dispatchers.IO)
 | 
					    private val scope = CoroutineScope(Job() + Dispatchers.IO)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private var currentState: String = "standby"
 | 
					    private var currentState: String = "standby"
 | 
				
			||||||
@@ -368,14 +359,14 @@ class ControlActivity : AppCompatActivity() {
 | 
				
			|||||||
        progressBar.visibility = View.VISIBLE
 | 
					        progressBar.visibility = View.VISIBLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (connectInterface == "WiFi") {
 | 
					        if (connectInterface == "WiFi") {
 | 
				
			||||||
            this.tcpClient = TCPClient(ip, port, object : OnMessageReceived {
 | 
					            this.tcpClient = TCPClient(ip, port, object : TCPClient.OnMessageReceived {
 | 
				
			||||||
                override fun messageReceived(message: String?) {
 | 
					                override fun messageReceived(message: String?) {
 | 
				
			||||||
                    if (message == null) {
 | 
					                    if (message == null) {
 | 
				
			||||||
//                    alertDialog(DISCONNECTED)
 | 
					//                    alertDialog(DISCONNECTED)
 | 
				
			||||||
                        println("no message")
 | 
					                        println("no message")
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }, object : OnConnectEstablished {
 | 
					            }, object : TCPClient.OnConnectEstablished {
 | 
				
			||||||
                override fun onConnected() {
 | 
					                override fun onConnected() {
 | 
				
			||||||
//                udpClient.start()
 | 
					//                udpClient.start()
 | 
				
			||||||
                    println("connected")
 | 
					                    println("connected")
 | 
				
			||||||
@@ -383,7 +374,7 @@ class ControlActivity : AppCompatActivity() {
 | 
				
			|||||||
                        progressBar.visibility = View.GONE
 | 
					                        progressBar.visibility = View.GONE
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }, object : OnDisconnected {
 | 
					            }, object : TCPClient.OnDisconnected {
 | 
				
			||||||
                override fun onDisconnected() {
 | 
					                override fun onDisconnected() {
 | 
				
			||||||
                    Handler(Looper.getMainLooper()).post {
 | 
					                    Handler(Looper.getMainLooper()).post {
 | 
				
			||||||
                        progressBar.visibility = View.GONE
 | 
					                        progressBar.visibility = View.GONE
 | 
				
			||||||
@@ -395,6 +386,31 @@ class ControlActivity : AppCompatActivity() {
 | 
				
			|||||||
            this.tcpClient!!.start()
 | 
					            this.tcpClient!!.start()
 | 
				
			||||||
        } else if (connectInterface == "Bluetooth") {
 | 
					        } else if (connectInterface == "Bluetooth") {
 | 
				
			||||||
            println("Bluetooth")
 | 
					            println("Bluetooth")
 | 
				
			||||||
 | 
					            this.btClient = BluetoothClient(mContext, mac, object : BluetoothClient.OnMessageReceived {
 | 
				
			||||||
 | 
					                override fun messageReceived(message: String?) {
 | 
				
			||||||
 | 
					                    if (message == null) {
 | 
				
			||||||
 | 
					//                    alertDialog(DISCONNECTED)
 | 
				
			||||||
 | 
					                        println("no message")
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }, object : BluetoothClient.OnConnectEstablished {
 | 
				
			||||||
 | 
					                override fun onConnected() {
 | 
				
			||||||
 | 
					//                udpClient.start()
 | 
				
			||||||
 | 
					                    println("connected")
 | 
				
			||||||
 | 
					                    Handler(Looper.getMainLooper()).post {
 | 
				
			||||||
 | 
					                        progressBar.visibility = View.GONE
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }, object : BluetoothClient.OnDisconnected {
 | 
				
			||||||
 | 
					                override fun onDisconnected() {
 | 
				
			||||||
 | 
					                    Handler(Looper.getMainLooper()).post {
 | 
				
			||||||
 | 
					                        progressBar.visibility = View.GONE
 | 
				
			||||||
 | 
					                        alertDialog(0)
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            this.btClient!!.start()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -419,8 +435,13 @@ class ControlActivity : AppCompatActivity() {
 | 
				
			|||||||
        println("on Pause")
 | 
					        println("on Pause")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//        saveSharedPref()
 | 
					//        saveSharedPref()
 | 
				
			||||||
        tcpClient!!.stopClient()
 | 
					        if (connectInterface == "WiFi") {
 | 
				
			||||||
        tcpClient!!.interrupt()
 | 
					            tcpClient!!.stopClient()
 | 
				
			||||||
 | 
					            tcpClient!!.interrupt()
 | 
				
			||||||
 | 
					        }else if (connectInterface == "Bluetooth"){
 | 
				
			||||||
 | 
					            btClient!!.stopClient()
 | 
				
			||||||
 | 
					            btClient!!.interrupt()
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -444,8 +465,13 @@ class ControlActivity : AppCompatActivity() {
 | 
				
			|||||||
        // Starts a new coroutine within the scope
 | 
					        // Starts a new coroutine within the scope
 | 
				
			||||||
        scope.launch {
 | 
					        scope.launch {
 | 
				
			||||||
            // New coroutine that can call suspend functions
 | 
					            // New coroutine that can call suspend functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            withContext(Dispatchers.IO) {              // Dispatchers.IO (main-safety block)
 | 
					            withContext(Dispatchers.IO) {              // Dispatchers.IO (main-safety block)
 | 
				
			||||||
                tcpClient?.sendMessage(message)
 | 
					                if (connectInterface == "WiFi") {
 | 
				
			||||||
 | 
					                    tcpClient?.sendMessage(message)
 | 
				
			||||||
 | 
					                }else if(connectInterface == "Bluetooth"){
 | 
				
			||||||
 | 
					                    btClient?.sendMessage(message)
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user