diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2e6d007..a966f73 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,6 +3,8 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.br.operationsite">
+
+
@@ -22,6 +24,10 @@
+
+
-
+
+
+
@@ -22,6 +24,10 @@
+
+
-
+
+
+
@@ -22,6 +24,10 @@
+
+
-
+
+
+
@@ -22,6 +24,10 @@
+
+
-
+
+
+
@@ -22,6 +24,10 @@
+
+
-
+
()
private var previewHandle = -1
private var selectChannel = -1
private var returnUserID = -1
@@ -32,6 +46,7 @@
private var dChannelNum = 0
private var startDChannel = 0
private var isPreviewSuccess = false
+ private var connectivityManager: ConnectivityManager? = null
private lateinit var hostModel: DeviceConfigModel
//手指是否已经从方向控制盘抬起
@@ -40,12 +55,25 @@
override fun initLayoutView(): Int = R.layout.activity_hikvision
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
+
+ titleView.text = "摄像头参数"
}
override fun initData() {
hostModel = getDeviceConfigModels()[0]
configSelectView.text = "${hostModel.host}:${hostModel.port}"
+
+ //获取wifi列表
+ wifiModels.clear()
+ wifiManager.scanResults.forEach { res ->
+ //只要YTJ-010002
+ if (res.SSID == "YTJ-010002") {
+ wifiModels.add(res)
+ }
+ }
}
override fun observeRequestState() {
@@ -59,6 +87,45 @@
}
override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+
+ netSelectView.setOnClickListener {
+ val items = ArrayList()
+ wifiModels.forEach { res ->
+ items.add(res.SSID)
+ }
+
+ BottomActionSheet.Builder()
+ .setContext(this)
+ .setActionItemTitle(items)
+ .setItemTextColor(R.color.mainThemeColor.convertColor(this))
+ .setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
+ override fun onActionItemClick(position: Int) {
+ netSelectView.text = items[position]
+ val wifiModel = wifiModels[position]
+
+ //连接wifi
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ val specifier = WifiNetworkSpecifier.Builder()
+ .setSsid(wifiModel.SSID)
+ .setWpa2Passphrase(LocaleConstant.WIFI_PASSWORD)
+ .build()
+
+ val request = NetworkRequest.Builder()
+ .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
+ .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
+ .setNetworkSpecifier(specifier)
+ .build()
+
+ connectivityManager = context.getSystemService(
+ Context.CONNECTIVITY_SERVICE
+ ) as ConnectivityManager
+ connectivityManager?.requestNetwork(request, networkCallback)
+ }
+ }
+ }).build().show()
+ }
+
configSelectView.setOnClickListener {
val configModels = getDeviceConfigModels()
val items = ArrayList()
@@ -142,6 +209,17 @@
})
}
+ private val networkCallback = object : ConnectivityManager.NetworkCallback() {
+ override fun onAvailable(network: Network) {
+ super.onAvailable(network)
+ connectivityManager?.bindProcessToNetwork(network)
+ }
+
+ override fun onUnavailable() {
+
+ }
+ }
+
private fun closeHikVisionCamera() {
if (!SDKGuider.g_sdkGuider.m_comPreviewGuider.RealPlay_Stop_jni(previewHandle)) {
return
@@ -264,4 +342,10 @@
}
}
}
+
+ override fun onDestroy() {
+ super.onDestroy()
+ connectivityManager?.bindProcessToNetwork(null)
+ connectivityManager?.unregisterNetworkCallback(networkCallback)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2e6d007..a966f73 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,6 +3,8 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.br.operationsite">
+
+
@@ -22,6 +24,10 @@
+
+
-
+
()
private var previewHandle = -1
private var selectChannel = -1
private var returnUserID = -1
@@ -32,6 +46,7 @@
private var dChannelNum = 0
private var startDChannel = 0
private var isPreviewSuccess = false
+ private var connectivityManager: ConnectivityManager? = null
private lateinit var hostModel: DeviceConfigModel
//手指是否已经从方向控制盘抬起
@@ -40,12 +55,25 @@
override fun initLayoutView(): Int = R.layout.activity_hikvision
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
+
+ titleView.text = "摄像头参数"
}
override fun initData() {
hostModel = getDeviceConfigModels()[0]
configSelectView.text = "${hostModel.host}:${hostModel.port}"
+
+ //获取wifi列表
+ wifiModels.clear()
+ wifiManager.scanResults.forEach { res ->
+ //只要YTJ-010002
+ if (res.SSID == "YTJ-010002") {
+ wifiModels.add(res)
+ }
+ }
}
override fun observeRequestState() {
@@ -59,6 +87,45 @@
}
override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+
+ netSelectView.setOnClickListener {
+ val items = ArrayList()
+ wifiModels.forEach { res ->
+ items.add(res.SSID)
+ }
+
+ BottomActionSheet.Builder()
+ .setContext(this)
+ .setActionItemTitle(items)
+ .setItemTextColor(R.color.mainThemeColor.convertColor(this))
+ .setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
+ override fun onActionItemClick(position: Int) {
+ netSelectView.text = items[position]
+ val wifiModel = wifiModels[position]
+
+ //连接wifi
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ val specifier = WifiNetworkSpecifier.Builder()
+ .setSsid(wifiModel.SSID)
+ .setWpa2Passphrase(LocaleConstant.WIFI_PASSWORD)
+ .build()
+
+ val request = NetworkRequest.Builder()
+ .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
+ .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
+ .setNetworkSpecifier(specifier)
+ .build()
+
+ connectivityManager = context.getSystemService(
+ Context.CONNECTIVITY_SERVICE
+ ) as ConnectivityManager
+ connectivityManager?.requestNetwork(request, networkCallback)
+ }
+ }
+ }).build().show()
+ }
+
configSelectView.setOnClickListener {
val configModels = getDeviceConfigModels()
val items = ArrayList()
@@ -142,6 +209,17 @@
})
}
+ private val networkCallback = object : ConnectivityManager.NetworkCallback() {
+ override fun onAvailable(network: Network) {
+ super.onAvailable(network)
+ connectivityManager?.bindProcessToNetwork(network)
+ }
+
+ override fun onUnavailable() {
+
+ }
+ }
+
private fun closeHikVisionCamera() {
if (!SDKGuider.g_sdkGuider.m_comPreviewGuider.RealPlay_Stop_jni(previewHandle)) {
return
@@ -264,4 +342,10 @@
}
}
}
+
+ override fun onDestroy() {
+ super.onDestroy()
+ connectivityManager?.bindProcessToNetwork(null)
+ connectivityManager?.unregisterNetworkCallback(networkCallback)
+ }
}
\ 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 8807533..c8223fa 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
@@ -1,5 +1,14 @@
package com.casic.br.operationsite.view
+import android.content.Context
+import android.net.ConnectivityManager
+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
import android.view.View
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.createStartCommand
@@ -18,15 +27,20 @@
import kotlinx.android.synthetic.main.activity_methane.*
import kotlinx.android.synthetic.main.include_option_title.*
+
class MethaneActivity : KotlinBaseActivity() {
companion object {
lateinit var weakReferenceHandler: WeakReferenceHandler
}
+ private val kTag = "MethaneActivity"
+ private val context = this@MethaneActivity
+ private val wifiManager by lazy { applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager }
+ private val wifiModels = ArrayList()
private lateinit var hostModel: DeviceConfigModel
-
private var isConnectSuccess = false
+ private var connectivityManager: ConnectivityManager? = null
//点击中间开关次数
private var clickCount = 0
@@ -53,6 +67,15 @@
hostModel = getDeviceConfigModels()[0]
configSelectView.text = "${hostModel.host}:${hostModel.port}"
SocketManager.get.connectNetty(hostModel.host, hostModel.port)
+
+ //获取wifi列表
+ wifiModels.clear()
+ wifiManager.scanResults.forEach { res ->
+ //只要YTJ-010002
+ if (res.SSID == "YTJ-010002") {
+ wifiModels.add(res)
+ }
+ }
}
private fun getDeviceConfigModels(): ArrayList {
@@ -69,7 +92,40 @@
}
netSelectView.setOnClickListener {
+ val items = ArrayList()
+ wifiModels.forEach { res ->
+ items.add(res.SSID)
+ }
+ BottomActionSheet.Builder()
+ .setContext(this)
+ .setActionItemTitle(items)
+ .setItemTextColor(R.color.mainThemeColor.convertColor(this))
+ .setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
+ override fun onActionItemClick(position: Int) {
+ netSelectView.text = items[position]
+ val wifiModel = wifiModels[position]
+
+ //连接wifi
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ val specifier = WifiNetworkSpecifier.Builder()
+ .setSsid(wifiModel.SSID)
+ .setWpa2Passphrase(LocaleConstant.WIFI_PASSWORD)
+ .build()
+
+ val request = NetworkRequest.Builder()
+ .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
+ .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
+ .setNetworkSpecifier(specifier)
+ .build()
+
+ connectivityManager = context.getSystemService(
+ Context.CONNECTIVITY_SERVICE
+ ) as ConnectivityManager
+ connectivityManager?.requestNetwork(request, networkCallback)
+ }
+ }
+ }).build().show()
}
configSelectView.setOnClickListener {
@@ -165,6 +221,19 @@
lightStateView.setBackgroundColor(R.color.green.convertColor(this))
}
+ private val networkCallback = object : ConnectivityManager.NetworkCallback() {
+ override fun onAvailable(network: Network) {
+ super.onAvailable(network)
+ connectivityManager?.bindProcessToNetwork(network)
+ //连接成功后自动连接TCP
+ SocketManager.get.connectNetty(hostModel.host, hostModel.port)
+ }
+
+ override fun onUnavailable() {
+
+ }
+ }
+
override fun initLayoutView(): Int = R.layout.activity_methane
override fun observeRequestState() {
@@ -182,5 +251,7 @@
override fun onDestroy() {
super.onDestroy()
SocketManager.get.close()
+ connectivityManager?.bindProcessToNetwork(null)
+ connectivityManager?.unregisterNetworkCallback(networkCallback)
}
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2e6d007..a966f73 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,6 +3,8 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.br.operationsite">
+
+
@@ -22,6 +24,10 @@
+
+
-
+
()
private var previewHandle = -1
private var selectChannel = -1
private var returnUserID = -1
@@ -32,6 +46,7 @@
private var dChannelNum = 0
private var startDChannel = 0
private var isPreviewSuccess = false
+ private var connectivityManager: ConnectivityManager? = null
private lateinit var hostModel: DeviceConfigModel
//手指是否已经从方向控制盘抬起
@@ -40,12 +55,25 @@
override fun initLayoutView(): Int = R.layout.activity_hikvision
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
+
+ titleView.text = "摄像头参数"
}
override fun initData() {
hostModel = getDeviceConfigModels()[0]
configSelectView.text = "${hostModel.host}:${hostModel.port}"
+
+ //获取wifi列表
+ wifiModels.clear()
+ wifiManager.scanResults.forEach { res ->
+ //只要YTJ-010002
+ if (res.SSID == "YTJ-010002") {
+ wifiModels.add(res)
+ }
+ }
}
override fun observeRequestState() {
@@ -59,6 +87,45 @@
}
override fun initEvent() {
+ leftBackView.setOnClickListener { finish() }
+
+ netSelectView.setOnClickListener {
+ val items = ArrayList()
+ wifiModels.forEach { res ->
+ items.add(res.SSID)
+ }
+
+ BottomActionSheet.Builder()
+ .setContext(this)
+ .setActionItemTitle(items)
+ .setItemTextColor(R.color.mainThemeColor.convertColor(this))
+ .setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
+ override fun onActionItemClick(position: Int) {
+ netSelectView.text = items[position]
+ val wifiModel = wifiModels[position]
+
+ //连接wifi
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ val specifier = WifiNetworkSpecifier.Builder()
+ .setSsid(wifiModel.SSID)
+ .setWpa2Passphrase(LocaleConstant.WIFI_PASSWORD)
+ .build()
+
+ val request = NetworkRequest.Builder()
+ .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
+ .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
+ .setNetworkSpecifier(specifier)
+ .build()
+
+ connectivityManager = context.getSystemService(
+ Context.CONNECTIVITY_SERVICE
+ ) as ConnectivityManager
+ connectivityManager?.requestNetwork(request, networkCallback)
+ }
+ }
+ }).build().show()
+ }
+
configSelectView.setOnClickListener {
val configModels = getDeviceConfigModels()
val items = ArrayList()
@@ -142,6 +209,17 @@
})
}
+ private val networkCallback = object : ConnectivityManager.NetworkCallback() {
+ override fun onAvailable(network: Network) {
+ super.onAvailable(network)
+ connectivityManager?.bindProcessToNetwork(network)
+ }
+
+ override fun onUnavailable() {
+
+ }
+ }
+
private fun closeHikVisionCamera() {
if (!SDKGuider.g_sdkGuider.m_comPreviewGuider.RealPlay_Stop_jni(previewHandle)) {
return
@@ -264,4 +342,10 @@
}
}
}
+
+ override fun onDestroy() {
+ super.onDestroy()
+ connectivityManager?.bindProcessToNetwork(null)
+ connectivityManager?.unregisterNetworkCallback(networkCallback)
+ }
}
\ 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 8807533..c8223fa 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
@@ -1,5 +1,14 @@
package com.casic.br.operationsite.view
+import android.content.Context
+import android.net.ConnectivityManager
+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
import android.view.View
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.createStartCommand
@@ -18,15 +27,20 @@
import kotlinx.android.synthetic.main.activity_methane.*
import kotlinx.android.synthetic.main.include_option_title.*
+
class MethaneActivity : KotlinBaseActivity() {
companion object {
lateinit var weakReferenceHandler: WeakReferenceHandler
}
+ private val kTag = "MethaneActivity"
+ private val context = this@MethaneActivity
+ private val wifiManager by lazy { applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager }
+ private val wifiModels = ArrayList()
private lateinit var hostModel: DeviceConfigModel
-
private var isConnectSuccess = false
+ private var connectivityManager: ConnectivityManager? = null
//点击中间开关次数
private var clickCount = 0
@@ -53,6 +67,15 @@
hostModel = getDeviceConfigModels()[0]
configSelectView.text = "${hostModel.host}:${hostModel.port}"
SocketManager.get.connectNetty(hostModel.host, hostModel.port)
+
+ //获取wifi列表
+ wifiModels.clear()
+ wifiManager.scanResults.forEach { res ->
+ //只要YTJ-010002
+ if (res.SSID == "YTJ-010002") {
+ wifiModels.add(res)
+ }
+ }
}
private fun getDeviceConfigModels(): ArrayList {
@@ -69,7 +92,40 @@
}
netSelectView.setOnClickListener {
+ val items = ArrayList()
+ wifiModels.forEach { res ->
+ items.add(res.SSID)
+ }
+ BottomActionSheet.Builder()
+ .setContext(this)
+ .setActionItemTitle(items)
+ .setItemTextColor(R.color.mainThemeColor.convertColor(this))
+ .setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
+ override fun onActionItemClick(position: Int) {
+ netSelectView.text = items[position]
+ val wifiModel = wifiModels[position]
+
+ //连接wifi
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ val specifier = WifiNetworkSpecifier.Builder()
+ .setSsid(wifiModel.SSID)
+ .setWpa2Passphrase(LocaleConstant.WIFI_PASSWORD)
+ .build()
+
+ val request = NetworkRequest.Builder()
+ .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
+ .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
+ .setNetworkSpecifier(specifier)
+ .build()
+
+ connectivityManager = context.getSystemService(
+ Context.CONNECTIVITY_SERVICE
+ ) as ConnectivityManager
+ connectivityManager?.requestNetwork(request, networkCallback)
+ }
+ }
+ }).build().show()
}
configSelectView.setOnClickListener {
@@ -165,6 +221,19 @@
lightStateView.setBackgroundColor(R.color.green.convertColor(this))
}
+ private val networkCallback = object : ConnectivityManager.NetworkCallback() {
+ override fun onAvailable(network: Network) {
+ super.onAvailable(network)
+ connectivityManager?.bindProcessToNetwork(network)
+ //连接成功后自动连接TCP
+ SocketManager.get.connectNetty(hostModel.host, hostModel.port)
+ }
+
+ override fun onUnavailable() {
+
+ }
+ }
+
override fun initLayoutView(): Int = R.layout.activity_methane
override fun observeRequestState() {
@@ -182,5 +251,7 @@
override fun onDestroy() {
super.onDestroy()
SocketManager.get.close()
+ connectivityManager?.bindProcessToNetwork(null)
+ connectivityManager?.unregisterNetworkCallback(networkCallback)
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_hikvision.xml b/app/src/main/res/layout/activity_hikvision.xml
index e217f58..752d62c 100644
--- a/app/src/main/res/layout/activity_hikvision.xml
+++ b/app/src/main/res/layout/activity_hikvision.xml
@@ -1,28 +1,50 @@
+ android:orientation="vertical">
-
+
+
+
+
+
+
+
+
@@ -47,10 +69,16 @@
android:textSize="@dimen/sp_16" />
+
+
@@ -71,7 +99,8 @@
android:layout_margin="@dimen/dp_7"
app:controller_borderColor="@color/mainThemeColor"
app:controller_borderStroke="7"
- app:controller_outerCircleDiameter="175" />
+ app:controller_outerCircleDiameter="150" />
-
\ No newline at end of file
+
+