diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 621c154..bea2916 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,6 +9,9 @@
+
+
+
+
+
+
() {
- override fun initOnCreate(savedInstanceState: Bundle?) {
+ private val kTag = "BaseSettingsFragment"
+ private val broadcastManager by lazy { BroadcastManager(requireContext()) }
+ private val wifi by lazy { requireContext().getSystemService()!! }
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ intent?.apply {
+ if (action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
+ val wifiState = intent.getIntExtra(
+ WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN
+ )
+ if (wifiState == WifiManager.WIFI_STATE_ENABLED) {
+ //WiFi已关闭
+ binding.wifiNameView.text = "WiFi已关闭"
+ }
+ } else if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
+ val net = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ intent.getParcelableExtra(
+ WifiManager.EXTRA_NETWORK_INFO, NetworkInfo::class.java
+ )
+ } else {
+ intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO)
+ }
+
+ if (net == null) {
+ "NetworkInfo is null".show(requireContext())
+ return
+ }
+ if (net.isConnected) {
+ binding.wifiNameView.text = wifi.connectionInfo.ssid
+ .removePrefix("\"")
+ .removeSuffix("\"")
+ } else {
+ //WiFi断开
+ binding.wifiNameView.text = "WiFi已断开"
+ }
+ }
+ }
+ }
+ }, WifiManager.WIFI_STATE_CHANGED_ACTION, WifiManager.NETWORK_STATE_CHANGED_ACTION
+ )
}
override fun initViewBinding(
@@ -29,4 +80,20 @@
override fun initEvent() {
}
+
+ override fun onResume() {
+ super.onResume()
+ binding.wifiNameView.text = wifi.connectionInfo.ssid
+ }
+
+ /**
+ * onDestroyView -> onDestroy -> onDetach
+ * */
+ override fun onDestroy() {
+ super.onDestroy()
+ broadcastManager.destroy(
+ WifiManager.WIFI_STATE_CHANGED_ACTION,
+ WifiManager.NETWORK_STATE_CHANGED_ACTION
+ )
+ }
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 621c154..bea2916 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,6 +9,9 @@
+
+
+
() {
- override fun initOnCreate(savedInstanceState: Bundle?) {
+ private val kTag = "BaseSettingsFragment"
+ private val broadcastManager by lazy { BroadcastManager(requireContext()) }
+ private val wifi by lazy { requireContext().getSystemService()!! }
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ intent?.apply {
+ if (action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
+ val wifiState = intent.getIntExtra(
+ WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN
+ )
+ if (wifiState == WifiManager.WIFI_STATE_ENABLED) {
+ //WiFi已关闭
+ binding.wifiNameView.text = "WiFi已关闭"
+ }
+ } else if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
+ val net = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ intent.getParcelableExtra(
+ WifiManager.EXTRA_NETWORK_INFO, NetworkInfo::class.java
+ )
+ } else {
+ intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO)
+ }
+
+ if (net == null) {
+ "NetworkInfo is null".show(requireContext())
+ return
+ }
+ if (net.isConnected) {
+ binding.wifiNameView.text = wifi.connectionInfo.ssid
+ .removePrefix("\"")
+ .removeSuffix("\"")
+ } else {
+ //WiFi断开
+ binding.wifiNameView.text = "WiFi已断开"
+ }
+ }
+ }
+ }
+ }, WifiManager.WIFI_STATE_CHANGED_ACTION, WifiManager.NETWORK_STATE_CHANGED_ACTION
+ )
}
override fun initViewBinding(
@@ -29,4 +80,20 @@
override fun initEvent() {
}
+
+ override fun onResume() {
+ super.onResume()
+ binding.wifiNameView.text = wifi.connectionInfo.ssid
+ }
+
+ /**
+ * onDestroyView -> onDestroy -> onDetach
+ * */
+ override fun onDestroy() {
+ super.onDestroy()
+ broadcastManager.destroy(
+ WifiManager.WIFI_STATE_CHANGED_ACTION,
+ WifiManager.NETWORK_STATE_CHANGED_ACTION
+ )
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt
index 8a94464..88556ac 100644
--- a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt
@@ -1,6 +1,14 @@
package com.casic.app.safetreecontroller.utils
+import android.Manifest
+
object LocaleConstant {
+ val USER_PERMISSIONS = arrayOf(
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION
+ )
+
+ const val PERMISSIONS_CODE = 999
const val PLAY_RTSP_CODE = 20241001
/***
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 621c154..bea2916 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,6 +9,9 @@
+
+
+
() {
- override fun initOnCreate(savedInstanceState: Bundle?) {
+ private val kTag = "BaseSettingsFragment"
+ private val broadcastManager by lazy { BroadcastManager(requireContext()) }
+ private val wifi by lazy { requireContext().getSystemService()!! }
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ intent?.apply {
+ if (action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
+ val wifiState = intent.getIntExtra(
+ WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN
+ )
+ if (wifiState == WifiManager.WIFI_STATE_ENABLED) {
+ //WiFi已关闭
+ binding.wifiNameView.text = "WiFi已关闭"
+ }
+ } else if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
+ val net = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ intent.getParcelableExtra(
+ WifiManager.EXTRA_NETWORK_INFO, NetworkInfo::class.java
+ )
+ } else {
+ intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO)
+ }
+
+ if (net == null) {
+ "NetworkInfo is null".show(requireContext())
+ return
+ }
+ if (net.isConnected) {
+ binding.wifiNameView.text = wifi.connectionInfo.ssid
+ .removePrefix("\"")
+ .removeSuffix("\"")
+ } else {
+ //WiFi断开
+ binding.wifiNameView.text = "WiFi已断开"
+ }
+ }
+ }
+ }
+ }, WifiManager.WIFI_STATE_CHANGED_ACTION, WifiManager.NETWORK_STATE_CHANGED_ACTION
+ )
}
override fun initViewBinding(
@@ -29,4 +80,20 @@
override fun initEvent() {
}
+
+ override fun onResume() {
+ super.onResume()
+ binding.wifiNameView.text = wifi.connectionInfo.ssid
+ }
+
+ /**
+ * onDestroyView -> onDestroy -> onDetach
+ * */
+ override fun onDestroy() {
+ super.onDestroy()
+ broadcastManager.destroy(
+ WifiManager.WIFI_STATE_CHANGED_ACTION,
+ WifiManager.NETWORK_STATE_CHANGED_ACTION
+ )
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt
index 8a94464..88556ac 100644
--- a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt
@@ -1,6 +1,14 @@
package com.casic.app.safetreecontroller.utils
+import android.Manifest
+
object LocaleConstant {
+ val USER_PERMISSIONS = arrayOf(
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION
+ )
+
+ const val PERMISSIONS_CODE = 999
const val PLAY_RTSP_CODE = 20241001
/***
diff --git a/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt b/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt
index 4fcfa29..09c1168 100644
--- a/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt
@@ -2,7 +2,6 @@
import android.net.ConnectivityManager
import android.net.Network
-import android.net.wifi.WifiManager
import android.os.Bundle
import android.os.Handler
import android.os.Message
@@ -31,10 +30,10 @@
import com.pengxh.kt.lite.extensions.getSystemService
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.WeakReferenceHandler
-
+import pub.devrel.easypermissions.EasyPermissions
class MainActivity : KotlinBaseActivity(), Handler.Callback,
- ISocketConnectionListener {
+ ISocketConnectionListener, EasyPermissions.PermissionCallbacks {
companion object {
lateinit var weakReferenceHandler: WeakReferenceHandler
@@ -46,7 +45,6 @@
private val pageTitles = arrayOf("相机控制", "激光监测", "语音设置", "基础配置")
private val tcpClient by lazy { TcpClient(this) }
private val connectivityManager by lazy { getSystemService() }
- private val wifiManager by lazy { getSystemService()!! }
private var clickTime: Long = 0
init {
@@ -64,6 +62,11 @@
}
override fun initOnCreate(savedInstanceState: Bundle?) {
+ EasyPermissions.requestPermissions(
+ this, "${resources.getString(R.string.app_name)}需要获取一些必要权限",
+ LocaleConstant.PERMISSIONS_CODE, *LocaleConstant.USER_PERMISSIONS
+ )
+
weakReferenceHandler = WeakReferenceHandler(this)
binding.viewPager.adapter = TabPageViewAdapter(
@@ -154,6 +157,13 @@
}
}
+ override fun onRequestPermissionsResult(
+ requestCode: Int, permissions: Array, grantResults: IntArray
+ ) {
+ super.onRequestPermissionsResult(requestCode, permissions, grantResults)
+ EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this)
+ }
+
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (System.currentTimeMillis() - clickTime > 2000) {
@@ -171,4 +181,14 @@
super.onDestroy()
tcpClient.disconnect()
}
+
+ override fun onPermissionsGranted(requestCode: Int, perms: MutableList) {
+
+ }
+
+ override fun onPermissionsDenied(requestCode: Int, perms: MutableList) {
+ perms.forEach {
+ Log.d(kTag, "onPermissionsGranted: $it")
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 621c154..bea2916 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,6 +9,9 @@
+
+
+
() {
- override fun initOnCreate(savedInstanceState: Bundle?) {
+ private val kTag = "BaseSettingsFragment"
+ private val broadcastManager by lazy { BroadcastManager(requireContext()) }
+ private val wifi by lazy { requireContext().getSystemService()!! }
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ intent?.apply {
+ if (action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
+ val wifiState = intent.getIntExtra(
+ WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN
+ )
+ if (wifiState == WifiManager.WIFI_STATE_ENABLED) {
+ //WiFi已关闭
+ binding.wifiNameView.text = "WiFi已关闭"
+ }
+ } else if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
+ val net = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ intent.getParcelableExtra(
+ WifiManager.EXTRA_NETWORK_INFO, NetworkInfo::class.java
+ )
+ } else {
+ intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO)
+ }
+
+ if (net == null) {
+ "NetworkInfo is null".show(requireContext())
+ return
+ }
+ if (net.isConnected) {
+ binding.wifiNameView.text = wifi.connectionInfo.ssid
+ .removePrefix("\"")
+ .removeSuffix("\"")
+ } else {
+ //WiFi断开
+ binding.wifiNameView.text = "WiFi已断开"
+ }
+ }
+ }
+ }
+ }, WifiManager.WIFI_STATE_CHANGED_ACTION, WifiManager.NETWORK_STATE_CHANGED_ACTION
+ )
}
override fun initViewBinding(
@@ -29,4 +80,20 @@
override fun initEvent() {
}
+
+ override fun onResume() {
+ super.onResume()
+ binding.wifiNameView.text = wifi.connectionInfo.ssid
+ }
+
+ /**
+ * onDestroyView -> onDestroy -> onDetach
+ * */
+ override fun onDestroy() {
+ super.onDestroy()
+ broadcastManager.destroy(
+ WifiManager.WIFI_STATE_CHANGED_ACTION,
+ WifiManager.NETWORK_STATE_CHANGED_ACTION
+ )
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt
index 8a94464..88556ac 100644
--- a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt
@@ -1,6 +1,14 @@
package com.casic.app.safetreecontroller.utils
+import android.Manifest
+
object LocaleConstant {
+ val USER_PERMISSIONS = arrayOf(
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION
+ )
+
+ const val PERMISSIONS_CODE = 999
const val PLAY_RTSP_CODE = 20241001
/***
diff --git a/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt b/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt
index 4fcfa29..09c1168 100644
--- a/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt
@@ -2,7 +2,6 @@
import android.net.ConnectivityManager
import android.net.Network
-import android.net.wifi.WifiManager
import android.os.Bundle
import android.os.Handler
import android.os.Message
@@ -31,10 +30,10 @@
import com.pengxh.kt.lite.extensions.getSystemService
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.WeakReferenceHandler
-
+import pub.devrel.easypermissions.EasyPermissions
class MainActivity : KotlinBaseActivity(), Handler.Callback,
- ISocketConnectionListener {
+ ISocketConnectionListener, EasyPermissions.PermissionCallbacks {
companion object {
lateinit var weakReferenceHandler: WeakReferenceHandler
@@ -46,7 +45,6 @@
private val pageTitles = arrayOf("相机控制", "激光监测", "语音设置", "基础配置")
private val tcpClient by lazy { TcpClient(this) }
private val connectivityManager by lazy { getSystemService() }
- private val wifiManager by lazy { getSystemService()!! }
private var clickTime: Long = 0
init {
@@ -64,6 +62,11 @@
}
override fun initOnCreate(savedInstanceState: Bundle?) {
+ EasyPermissions.requestPermissions(
+ this, "${resources.getString(R.string.app_name)}需要获取一些必要权限",
+ LocaleConstant.PERMISSIONS_CODE, *LocaleConstant.USER_PERMISSIONS
+ )
+
weakReferenceHandler = WeakReferenceHandler(this)
binding.viewPager.adapter = TabPageViewAdapter(
@@ -154,6 +157,13 @@
}
}
+ override fun onRequestPermissionsResult(
+ requestCode: Int, permissions: Array, grantResults: IntArray
+ ) {
+ super.onRequestPermissionsResult(requestCode, permissions, grantResults)
+ EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this)
+ }
+
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (System.currentTimeMillis() - clickTime > 2000) {
@@ -171,4 +181,14 @@
super.onDestroy()
tcpClient.disconnect()
}
+
+ override fun onPermissionsGranted(requestCode: Int, perms: MutableList) {
+
+ }
+
+ override fun onPermissionsDenied(requestCode: Int, perms: MutableList) {
+ perms.forEach {
+ Log.d(kTag, "onPermissionsGranted: $it")
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_base_settings.xml b/app/src/main/res/layout/fragment_base_settings.xml
index b3e8368..68b09c5 100644
--- a/app/src/main/res/layout/fragment_base_settings.xml
+++ b/app/src/main/res/layout/fragment_base_settings.xml
@@ -142,13 +142,12 @@
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />
-
@@ -170,6 +169,7 @@
android:textSize="@dimen/sp_16" />
@@ -221,6 +221,7 @@
android:layout_weight="2.25"
android:background="@drawable/bg_solid_layout_white_radius_5"
android:padding="@dimen/dp_5"
+ android:singleLine="true"
android:text="111.198.18.188"
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />
@@ -249,6 +250,7 @@
android:background="@drawable/bg_solid_layout_white_radius_5"
android:inputType="number"
android:padding="@dimen/dp_5"
+ android:singleLine="true"
android:text="8080"
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 621c154..bea2916 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,6 +9,9 @@
+
+
+
() {
- override fun initOnCreate(savedInstanceState: Bundle?) {
+ private val kTag = "BaseSettingsFragment"
+ private val broadcastManager by lazy { BroadcastManager(requireContext()) }
+ private val wifi by lazy { requireContext().getSystemService()!! }
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ intent?.apply {
+ if (action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
+ val wifiState = intent.getIntExtra(
+ WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN
+ )
+ if (wifiState == WifiManager.WIFI_STATE_ENABLED) {
+ //WiFi已关闭
+ binding.wifiNameView.text = "WiFi已关闭"
+ }
+ } else if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
+ val net = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ intent.getParcelableExtra(
+ WifiManager.EXTRA_NETWORK_INFO, NetworkInfo::class.java
+ )
+ } else {
+ intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO)
+ }
+
+ if (net == null) {
+ "NetworkInfo is null".show(requireContext())
+ return
+ }
+ if (net.isConnected) {
+ binding.wifiNameView.text = wifi.connectionInfo.ssid
+ .removePrefix("\"")
+ .removeSuffix("\"")
+ } else {
+ //WiFi断开
+ binding.wifiNameView.text = "WiFi已断开"
+ }
+ }
+ }
+ }
+ }, WifiManager.WIFI_STATE_CHANGED_ACTION, WifiManager.NETWORK_STATE_CHANGED_ACTION
+ )
}
override fun initViewBinding(
@@ -29,4 +80,20 @@
override fun initEvent() {
}
+
+ override fun onResume() {
+ super.onResume()
+ binding.wifiNameView.text = wifi.connectionInfo.ssid
+ }
+
+ /**
+ * onDestroyView -> onDestroy -> onDetach
+ * */
+ override fun onDestroy() {
+ super.onDestroy()
+ broadcastManager.destroy(
+ WifiManager.WIFI_STATE_CHANGED_ACTION,
+ WifiManager.NETWORK_STATE_CHANGED_ACTION
+ )
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt
index 8a94464..88556ac 100644
--- a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt
@@ -1,6 +1,14 @@
package com.casic.app.safetreecontroller.utils
+import android.Manifest
+
object LocaleConstant {
+ val USER_PERMISSIONS = arrayOf(
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION
+ )
+
+ const val PERMISSIONS_CODE = 999
const val PLAY_RTSP_CODE = 20241001
/***
diff --git a/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt b/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt
index 4fcfa29..09c1168 100644
--- a/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt
@@ -2,7 +2,6 @@
import android.net.ConnectivityManager
import android.net.Network
-import android.net.wifi.WifiManager
import android.os.Bundle
import android.os.Handler
import android.os.Message
@@ -31,10 +30,10 @@
import com.pengxh.kt.lite.extensions.getSystemService
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.WeakReferenceHandler
-
+import pub.devrel.easypermissions.EasyPermissions
class MainActivity : KotlinBaseActivity(), Handler.Callback,
- ISocketConnectionListener {
+ ISocketConnectionListener, EasyPermissions.PermissionCallbacks {
companion object {
lateinit var weakReferenceHandler: WeakReferenceHandler
@@ -46,7 +45,6 @@
private val pageTitles = arrayOf("相机控制", "激光监测", "语音设置", "基础配置")
private val tcpClient by lazy { TcpClient(this) }
private val connectivityManager by lazy { getSystemService() }
- private val wifiManager by lazy { getSystemService()!! }
private var clickTime: Long = 0
init {
@@ -64,6 +62,11 @@
}
override fun initOnCreate(savedInstanceState: Bundle?) {
+ EasyPermissions.requestPermissions(
+ this, "${resources.getString(R.string.app_name)}需要获取一些必要权限",
+ LocaleConstant.PERMISSIONS_CODE, *LocaleConstant.USER_PERMISSIONS
+ )
+
weakReferenceHandler = WeakReferenceHandler(this)
binding.viewPager.adapter = TabPageViewAdapter(
@@ -154,6 +157,13 @@
}
}
+ override fun onRequestPermissionsResult(
+ requestCode: Int, permissions: Array, grantResults: IntArray
+ ) {
+ super.onRequestPermissionsResult(requestCode, permissions, grantResults)
+ EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this)
+ }
+
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (System.currentTimeMillis() - clickTime > 2000) {
@@ -171,4 +181,14 @@
super.onDestroy()
tcpClient.disconnect()
}
+
+ override fun onPermissionsGranted(requestCode: Int, perms: MutableList) {
+
+ }
+
+ override fun onPermissionsDenied(requestCode: Int, perms: MutableList) {
+ perms.forEach {
+ Log.d(kTag, "onPermissionsGranted: $it")
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_base_settings.xml b/app/src/main/res/layout/fragment_base_settings.xml
index b3e8368..68b09c5 100644
--- a/app/src/main/res/layout/fragment_base_settings.xml
+++ b/app/src/main/res/layout/fragment_base_settings.xml
@@ -142,13 +142,12 @@
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />
-
@@ -170,6 +169,7 @@
android:textSize="@dimen/sp_16" />
@@ -221,6 +221,7 @@
android:layout_weight="2.25"
android:background="@drawable/bg_solid_layout_white_radius_5"
android:padding="@dimen/dp_5"
+ android:singleLine="true"
android:text="111.198.18.188"
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />
@@ -249,6 +250,7 @@
android:background="@drawable/bg_solid_layout_white_radius_5"
android:inputType="number"
android:padding="@dimen/dp_5"
+ android:singleLine="true"
android:text="8080"
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />
diff --git a/app/src/main/res/layout/fragment_methane_monitor.xml b/app/src/main/res/layout/fragment_methane_monitor.xml
index 9f0a26e..9b6015d 100644
--- a/app/src/main/res/layout/fragment_methane_monitor.xml
+++ b/app/src/main/res/layout/fragment_methane_monitor.xml
@@ -71,6 +71,7 @@
android:layout_weight="1"
android:background="@drawable/bg_solid_layout_white_radius_5"
android:padding="@dimen/dp_5"
+ android:singleLine="true"
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />
@@ -110,6 +111,7 @@
android:layout_weight="1"
android:background="@drawable/bg_solid_layout_white_radius_5"
android:padding="@dimen/dp_5"
+ android:singleLine="true"
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />