修复连接RTK问题

main
chenglifeng 7 months ago
parent 9496f8c666
commit 521b4f63f3
  1. 15
      app/src/main/java/com/project/survey/ui/MainActivity.kt
  2. 35
      app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt

@ -1,11 +1,13 @@
package com.project.survey.ui package com.project.survey.ui
import android.content.Intent
import android.view.KeyEvent import android.view.KeyEvent
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentPagerAdapter import androidx.fragment.app.FragmentPagerAdapter
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager
import blankj.utilcode.util.LogUtils import blankj.utilcode.util.LogUtils
import com.bingce.device.Device
import com.bingce.ui.TabEntity import com.bingce.ui.TabEntity
import com.bingce.utils.SdkUtils import com.bingce.utils.SdkUtils
import com.flyco.tablayout.listener.OnTabSelectListener import com.flyco.tablayout.listener.OnTabSelectListener
@ -26,6 +28,8 @@ import com.project.survey.util.ActivityNavUtil
class MainActivity : BaseBindingActivity<ActivityMainBinding>() { class MainActivity : BaseBindingActivity<ActivityMainBinding>() {
companion object { companion object {
val RC_OPEN_BT = 1330
fun start() { fun start() {
ActivityNavUtil.startActivity<MainActivity> {} ActivityNavUtil.startActivity<MainActivity> {}
} }
@ -117,6 +121,17 @@ class MainActivity : BaseBindingActivity<ActivityMainBinding>() {
}) })
} }
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {
RC_OPEN_BT -> if (resultCode == RESULT_OK) {
Device.getInstance().requestConnect()
} else {
toast(R.string.bt_not_enabled)
}
}
}
private var exitTime: Long = 0 private var exitTime: Long = 0
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {

@ -1,5 +1,10 @@
package com.project.survey.ui.base package com.project.survey.ui.base
import android.Manifest
import android.bluetooth.BluetoothAdapter
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Bundle import android.os.Bundle
import android.view.MenuItem import android.view.MenuItem
import android.view.WindowManager import android.view.WindowManager
@ -7,12 +12,15 @@ import androidx.annotation.StringRes
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.app.AppCompatDelegate
import androidx.appcompat.widget.Toolbar import androidx.appcompat.widget.Toolbar
import androidx.core.app.ActivityCompat
import androidx.viewbinding.ViewBinding import androidx.viewbinding.ViewBinding
import blankj.utilcode.util.LogUtils import blankj.utilcode.util.LogUtils
import com.bingce.coordlib.model.Blh import com.bingce.coordlib.model.Blh
import com.bingce.coordlib.model.Coordinate import com.bingce.coordlib.model.Coordinate
import com.bingce.device.Device import com.bingce.device.Device
import com.bingce.device.Device.IDeviceRequestListener
import com.bingce.device.ui.manager.DeviceConnectManager import com.bingce.device.ui.manager.DeviceConnectManager
import com.bingce.device.ui.manager.DeviceRequestManager
import com.bingce.device.ui.manager.RtkManager import com.bingce.device.ui.manager.RtkManager
import com.bingce.device.ui.manager.TsAnglesRefreshManager import com.bingce.device.ui.manager.TsAnglesRefreshManager
import com.bingce.device.ui.manager.TsBatteryRefreshManager import com.bingce.device.ui.manager.TsBatteryRefreshManager
@ -22,6 +30,7 @@ import com.bingce.device.ui.manager.TsMeasSdAnglesManager
import com.bingce.totalstation.TsListener import com.bingce.totalstation.TsListener
import com.gyf.immersionbar.ImmersionBar import com.gyf.immersionbar.ImmersionBar
import com.project.survey.R import com.project.survey.R
import com.project.survey.ui.MainActivity
import com.project.survey.ui.MainActivityUtils import com.project.survey.ui.MainActivityUtils
import com.project.survey.widget.LoadingDialog import com.project.survey.widget.LoadingDialog
import org.polaric.colorful.Colorful import org.polaric.colorful.Colorful
@ -34,26 +43,50 @@ abstract class BaseBindingActivity<VB : ViewBinding> : AppCompatActivity() {
private var toolBar: Toolbar? = null private var toolBar: Toolbar? = null
protected lateinit var mContext: Context
abstract fun getBinding(): VB abstract fun getBinding(): VB
abstract fun initView() abstract fun initView()
abstract fun initData() abstract fun initData()
abstract fun initListener() abstract fun initListener()
val mainActivityUtils: MainActivityUtils = MainActivityUtils(this) { this }
protected val deviceRequestManager: DeviceRequestManager = DeviceRequestManager(this, object: IDeviceRequestListener{
override fun onDeviceRequestConnect() {
LogUtils.d("onDeviceRequestConnect")
mainActivityUtils.onRequestConnect()
}
override fun onDeviceRequestDisconnect() {
LogUtils.d("onDeviceRequestDisconnect")
}
override fun onDeviceRequestSetupChat() {
LogUtils.d("onDeviceRequestSetupChat")
}
})
protected val deviceConnectManager: DeviceConnectManager = DeviceConnectManager(this, object : Device.IDeviceConnectListener{ protected val deviceConnectManager: DeviceConnectManager = DeviceConnectManager(this, object : Device.IDeviceConnectListener{
override fun onDeviceConnectSucceed() { override fun onDeviceConnectSucceed() {
LogUtils.d("onDeviceConnectSucceed") LogUtils.d("onDeviceConnectSucceed")
mainActivityUtils.onDeviceConnectSuccess()
} }
override fun onDeviceConnectLost() { override fun onDeviceConnectLost() {
LogUtils.d("onDeviceConnectLost") LogUtils.d("onDeviceConnectLost")
mainActivityUtils.onDeviceConnectLost()
} }
override fun onDeviceConnectFailed() { override fun onDeviceConnectFailed() {
LogUtils.d("onDeviceConnectFailed") LogUtils.d("onDeviceConnectFailed")
mainActivityUtils.onDeviceConnectFailed()
} }
override fun onDeviceConnectNeedOpenBT() { override fun onDeviceConnectNeedOpenBT() {
LogUtils.d("onDeviceConnectNeedOpenBT") LogUtils.d("onDeviceConnectNeedOpenBT")
if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.BLUETOOTH_CONNECT ) == PackageManager.PERMISSION_GRANTED) {
val intent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE)
startActivityForResult(intent, MainActivity.RC_OPEN_BT)
}
} }
}) })
@ -136,10 +169,10 @@ abstract class BaseBindingActivity<VB : ViewBinding> : AppCompatActivity() {
} }
}) })
val mainActivityUtils: MainActivityUtils = MainActivityUtils(this) { this }
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
mContext = this
_binding = getBinding() _binding = getBinding()
setContentView(mBinding.root) setContentView(mBinding.root)
// //设置背景色 // //设置背景色

Loading…
Cancel
Save