diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 551b934..ee21822 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -82,4 +82,8 @@ val dateFormat = SimpleDateFormat("MM-dd", Locale.CHINA) return dateFormat.format(date) +} + +fun String.splitGasParam(): List { + return this.split(":") } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 551b934..ee21822 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -82,4 +82,8 @@ val dateFormat = SimpleDateFormat("MM-dd", Locale.CHINA) return dateFormat.format(date) +} + +fun String.splitGasParam(): List { + return this.split(":") } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/MethaneActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MethaneActivity.kt index 3973574..000392e 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/MethaneActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/MethaneActivity.kt @@ -4,7 +4,6 @@ import android.net.Network import android.net.NetworkCapabilities import android.net.NetworkRequest -import android.net.wifi.ScanResult import android.net.wifi.WifiManager import android.net.wifi.WifiNetworkSpecifier import android.os.Build @@ -14,7 +13,7 @@ import com.casic.br.operationsite.extensions.createStartCommand import com.casic.br.operationsite.extensions.createStopCommand import com.casic.br.operationsite.extensions.initLayoutImmersionBar -import com.casic.br.operationsite.model.DeviceConfigModel +import com.casic.br.operationsite.extensions.splitGasParam import com.casic.br.operationsite.utils.DeviceType import com.casic.br.operationsite.utils.LocaleConstant import com.casic.br.operationsite.utils.RuntimeCache @@ -41,8 +40,8 @@ private val kTag = "MethaneActivity" private val context = this@MethaneActivity private val wifiManager by lazy { applicationContext.getSystemService() } - private val wifiModels = ArrayList() - private lateinit var hostModel: DeviceConfigModel + private val wifiSsids = ArrayList() + private val gasTreeItems = ArrayList() private var isConnectSuccess = false private var connectivityManager: ConnectivityManager? = null private lateinit var deviceViewModel: DeviceViewModel @@ -54,19 +53,10 @@ private var isActionUp = true override fun initData() { -// RuntimeCache.deviceModels.add( -// DeviceConfigModel( -// "", -// DeviceType.GAS, -// "192.168.43.66", -// 8000 -// ) -// ) - RuntimeCache.deviceModels.forEach { if (it.deviceType == DeviceType.GAS) { - hostModel = it - configSelectView.text = "${hostModel.host}:${hostModel.port}" + gasTreeItems.add("${it.host}:${it.port}") + configSelectView.text = gasTreeItems[0] } } @@ -86,16 +76,17 @@ } //获取wifi列表 - wifiModels.clear() + wifiSsids.clear() wifiManager?.scanResults?.forEach { res -> //只要YTJ-010002 if (res.SSID == "YTJ-010002") { - wifiModels.add(res) + wifiSsids.add(res.SSID) } } deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.getMethaneThreshold(hostModel.host, hostModel.port.toString()) + val gasParam = configSelectView.text.toString().splitGasParam() + deviceViewModel.getMethaneThreshold(gasParam[0], gasParam[1]) deviceViewModel.thresholdResult.observe(this) { if (it.code == 200) { thresholdView.setText(it.data) @@ -112,28 +103,35 @@ leftBackView.setOnClickListener { finish() } rightOptionView.setOnClickListener { - SocketManager.get.connectNetty(hostModel.host, hostModel.port) + val gasParam = configSelectView.text.toString().splitGasParam() + SocketManager.get.connectNetty(gasParam[0], gasParam[1].toInt()) } - netSelectView.setOnClickListener { - val items = ArrayList() - wifiModels.forEach { res -> - items.add(res.SSID) - } - + configSelectView.setOnClickListener { BottomActionSheet.Builder() .setContext(this) - .setActionItemTitle(items) + .setActionItemTitle(gasTreeItems) .setItemTextColor(R.color.mainThemeColor.convertColor(this)) .setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener { override fun onActionItemClick(position: Int) { - netSelectView.text = items[position] - val wifiModel = wifiModels[position] + configSelectView.text = gasTreeItems[position] + } + }).build().show() + } + + netSelectView.setOnClickListener { + BottomActionSheet.Builder() + .setContext(this) + .setActionItemTitle(wifiSsids) + .setItemTextColor(R.color.mainThemeColor.convertColor(this)) + .setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener { + override fun onActionItemClick(position: Int) { + netSelectView.text = wifiSsids[position] //连接wifi if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { val specifier = WifiNetworkSpecifier.Builder() - .setSsid(wifiModel.SSID) + .setSsid(wifiSsids[position]) .setWpa2Passphrase(LocaleConstant.WIFI_PASSWORD) .build() @@ -150,34 +148,14 @@ }).build().show() } - configSelectView.setOnClickListener { - val configModels = RuntimeCache.deviceModels - val items = ArrayList() - configModels.forEach { - if (it.deviceType == DeviceType.GAS) { - items.add("${it.host}:${it.port}") - } - } - - BottomActionSheet.Builder() - .setContext(this) - .setActionItemTitle(items) - .setItemTextColor(R.color.mainThemeColor.convertColor(this)) - .setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener { - override fun onActionItemClick(position: Int) { - configSelectView.text = items[position] - hostModel = configModels[position] - } - }).build().show() - } - configButton.setOnClickListener { if (thresholdView.text.isNullOrBlank()) { "阈值不能设置为空".show(this) return@setOnClickListener } + val gasParam = configSelectView.text.toString().splitGasParam() deviceViewModel.setMethaneThreshold( - hostModel.host, hostModel.port.toString(), thresholdView.text.toString() + gasParam[0], gasParam[1], thresholdView.text.toString() ) } @@ -258,7 +236,8 @@ super.onAvailable(network) connectivityManager?.bindProcessToNetwork(network) //连接成功后自动连接TCP - SocketManager.get.connectNetty(hostModel.host, hostModel.port) + val gasParam = configSelectView.text.toString().splitGasParam() + SocketManager.get.connectNetty(gasParam[0], gasParam[1].toInt()) } override fun onUnavailable() { diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 551b934..ee21822 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -82,4 +82,8 @@ val dateFormat = SimpleDateFormat("MM-dd", Locale.CHINA) return dateFormat.format(date) +} + +fun String.splitGasParam(): List { + return this.split(":") } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/MethaneActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MethaneActivity.kt index 3973574..000392e 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/MethaneActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/MethaneActivity.kt @@ -4,7 +4,6 @@ import android.net.Network import android.net.NetworkCapabilities import android.net.NetworkRequest -import android.net.wifi.ScanResult import android.net.wifi.WifiManager import android.net.wifi.WifiNetworkSpecifier import android.os.Build @@ -14,7 +13,7 @@ import com.casic.br.operationsite.extensions.createStartCommand import com.casic.br.operationsite.extensions.createStopCommand import com.casic.br.operationsite.extensions.initLayoutImmersionBar -import com.casic.br.operationsite.model.DeviceConfigModel +import com.casic.br.operationsite.extensions.splitGasParam import com.casic.br.operationsite.utils.DeviceType import com.casic.br.operationsite.utils.LocaleConstant import com.casic.br.operationsite.utils.RuntimeCache @@ -41,8 +40,8 @@ private val kTag = "MethaneActivity" private val context = this@MethaneActivity private val wifiManager by lazy { applicationContext.getSystemService() } - private val wifiModels = ArrayList() - private lateinit var hostModel: DeviceConfigModel + private val wifiSsids = ArrayList() + private val gasTreeItems = ArrayList() private var isConnectSuccess = false private var connectivityManager: ConnectivityManager? = null private lateinit var deviceViewModel: DeviceViewModel @@ -54,19 +53,10 @@ private var isActionUp = true override fun initData() { -// RuntimeCache.deviceModels.add( -// DeviceConfigModel( -// "", -// DeviceType.GAS, -// "192.168.43.66", -// 8000 -// ) -// ) - RuntimeCache.deviceModels.forEach { if (it.deviceType == DeviceType.GAS) { - hostModel = it - configSelectView.text = "${hostModel.host}:${hostModel.port}" + gasTreeItems.add("${it.host}:${it.port}") + configSelectView.text = gasTreeItems[0] } } @@ -86,16 +76,17 @@ } //获取wifi列表 - wifiModels.clear() + wifiSsids.clear() wifiManager?.scanResults?.forEach { res -> //只要YTJ-010002 if (res.SSID == "YTJ-010002") { - wifiModels.add(res) + wifiSsids.add(res.SSID) } } deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.getMethaneThreshold(hostModel.host, hostModel.port.toString()) + val gasParam = configSelectView.text.toString().splitGasParam() + deviceViewModel.getMethaneThreshold(gasParam[0], gasParam[1]) deviceViewModel.thresholdResult.observe(this) { if (it.code == 200) { thresholdView.setText(it.data) @@ -112,28 +103,35 @@ leftBackView.setOnClickListener { finish() } rightOptionView.setOnClickListener { - SocketManager.get.connectNetty(hostModel.host, hostModel.port) + val gasParam = configSelectView.text.toString().splitGasParam() + SocketManager.get.connectNetty(gasParam[0], gasParam[1].toInt()) } - netSelectView.setOnClickListener { - val items = ArrayList() - wifiModels.forEach { res -> - items.add(res.SSID) - } - + configSelectView.setOnClickListener { BottomActionSheet.Builder() .setContext(this) - .setActionItemTitle(items) + .setActionItemTitle(gasTreeItems) .setItemTextColor(R.color.mainThemeColor.convertColor(this)) .setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener { override fun onActionItemClick(position: Int) { - netSelectView.text = items[position] - val wifiModel = wifiModels[position] + configSelectView.text = gasTreeItems[position] + } + }).build().show() + } + + netSelectView.setOnClickListener { + BottomActionSheet.Builder() + .setContext(this) + .setActionItemTitle(wifiSsids) + .setItemTextColor(R.color.mainThemeColor.convertColor(this)) + .setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener { + override fun onActionItemClick(position: Int) { + netSelectView.text = wifiSsids[position] //连接wifi if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { val specifier = WifiNetworkSpecifier.Builder() - .setSsid(wifiModel.SSID) + .setSsid(wifiSsids[position]) .setWpa2Passphrase(LocaleConstant.WIFI_PASSWORD) .build() @@ -150,34 +148,14 @@ }).build().show() } - configSelectView.setOnClickListener { - val configModels = RuntimeCache.deviceModels - val items = ArrayList() - configModels.forEach { - if (it.deviceType == DeviceType.GAS) { - items.add("${it.host}:${it.port}") - } - } - - BottomActionSheet.Builder() - .setContext(this) - .setActionItemTitle(items) - .setItemTextColor(R.color.mainThemeColor.convertColor(this)) - .setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener { - override fun onActionItemClick(position: Int) { - configSelectView.text = items[position] - hostModel = configModels[position] - } - }).build().show() - } - configButton.setOnClickListener { if (thresholdView.text.isNullOrBlank()) { "阈值不能设置为空".show(this) return@setOnClickListener } + val gasParam = configSelectView.text.toString().splitGasParam() deviceViewModel.setMethaneThreshold( - hostModel.host, hostModel.port.toString(), thresholdView.text.toString() + gasParam[0], gasParam[1], thresholdView.text.toString() ) } @@ -258,7 +236,8 @@ super.onAvailable(network) connectivityManager?.bindProcessToNetwork(network) //连接成功后自动连接TCP - SocketManager.get.connectNetty(hostModel.host, hostModel.port) + val gasParam = configSelectView.text.toString().splitGasParam() + SocketManager.get.connectNetty(gasParam[0], gasParam[1].toInt()) } override fun onUnavailable() { diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt index 44c578f..963c092 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt @@ -117,14 +117,6 @@ } } } -// RuntimeCache.deviceModels.add( -// DeviceConfigModel( -// "", -// DeviceType.GAS, -// "192.168.10.21", -// 8000 -// ) -// ) } }