diff --git a/app/build.gradle b/app/build.gradle index 9a00059..47379b3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -115,8 +115,6 @@ implementation 'io.github.lucksiege:pictureselector:v3.11.1' //图片压缩 implementation 'top.zibin:Luban:1.1.8' - //高德导航、定位、地图三合一 - implementation 'com.amap.api:navi-3dmap:latest.integration' //生成二维码 implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' implementation project(':sdk') diff --git a/app/build.gradle b/app/build.gradle index 9a00059..47379b3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -115,8 +115,6 @@ implementation 'io.github.lucksiege:pictureselector:v3.11.1' //图片压缩 implementation 'top.zibin:Luban:1.1.8' - //高德导航、定位、地图三合一 - implementation 'com.amap.api:navi-3dmap:latest.integration' //生成二维码 implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' implementation project(':sdk') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 50019c7..4cb9a4a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -25,10 +25,6 @@ android:minSdkVersion="33" /> - - - - @@ -125,14 +121,6 @@ android:screenOrientation="landscape" android:theme="@style/Theme.BigImageActivity" /> - - - - - - - - - - @@ -125,14 +121,6 @@ android:screenOrientation="landscape" android:theme="@style/Theme.BigImageActivity" /> - - - - - - = Build.VERSION_CODES.R) { @@ -25,16 +23,12 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE, - Manifest.permission.ACCESS_COARSE_LOCATION, - Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CAMERA ) } else { arrayOf( Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, - Manifest.permission.ACCESS_COARSE_LOCATION, - Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CAMERA ) } diff --git a/app/build.gradle b/app/build.gradle index 9a00059..47379b3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -115,8 +115,6 @@ implementation 'io.github.lucksiege:pictureselector:v3.11.1' //图片压缩 implementation 'top.zibin:Luban:1.1.8' - //高德导航、定位、地图三合一 - implementation 'com.amap.api:navi-3dmap:latest.integration' //生成二维码 implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' implementation project(':sdk') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 50019c7..4cb9a4a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -25,10 +25,6 @@ android:minSdkVersion="33" /> - - - - @@ -125,14 +121,6 @@ android:screenOrientation="landscape" android:theme="@style/Theme.BigImageActivity" /> - - - - - - = Build.VERSION_CODES.R) { @@ -25,16 +23,12 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE, - Manifest.permission.ACCESS_COARSE_LOCATION, - Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CAMERA ) } else { arrayOf( Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, - Manifest.permission.ACCESS_COARSE_LOCATION, - Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CAMERA ) } diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt deleted file mode 100644 index d4e0d2a..0000000 --- a/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt +++ /dev/null @@ -1,41 +0,0 @@ -package com.casic.br.ar.app.utils - -import android.content.Context -import android.util.Log -import com.amap.api.location.AMapLocation -import com.amap.api.location.AMapLocationClient -import com.amap.api.location.AMapLocationClientOption - -class LocationManager constructor(context: Context) { - - private val kTag = "LocationManager" - private val locationClient by lazy { AMapLocationClient(context) } - - fun getCurrentLocation(isOnceLocation: Boolean, listener: OnGetLocationListener) { - val locationOption = AMapLocationClientOption() - locationOption.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy - locationOption.isOnceLocation = isOnceLocation - locationOption.isNeedAddress = true - locationClient.setLocationOption(locationOption) - locationClient.setLocationListener { - if (it.errorCode == 0) { - listener.onAMapLocationGet(it) - } else { - listener.onAMapLocationGet(null) - Log.e(kTag, "errCode:${it.errorCode}, errInfo:${it.errorInfo}") - } - } - locationClient.startLocation() - } - - fun stopLocation() { - locationClient.stopLocation() - } - - /** - * 经纬度定位回调 - * */ - interface OnGetLocationListener { - fun onAMapLocationGet(location: AMapLocation?) //高德定位数据 - } -} \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 9a00059..47379b3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -115,8 +115,6 @@ implementation 'io.github.lucksiege:pictureselector:v3.11.1' //图片压缩 implementation 'top.zibin:Luban:1.1.8' - //高德导航、定位、地图三合一 - implementation 'com.amap.api:navi-3dmap:latest.integration' //生成二维码 implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' implementation project(':sdk') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 50019c7..4cb9a4a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -25,10 +25,6 @@ android:minSdkVersion="33" /> - - - - @@ -125,14 +121,6 @@ android:screenOrientation="landscape" android:theme="@style/Theme.BigImageActivity" /> - - - - - - = Build.VERSION_CODES.R) { @@ -25,16 +23,12 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE, - Manifest.permission.ACCESS_COARSE_LOCATION, - Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CAMERA ) } else { arrayOf( Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, - Manifest.permission.ACCESS_COARSE_LOCATION, - Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CAMERA ) } diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt deleted file mode 100644 index d4e0d2a..0000000 --- a/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt +++ /dev/null @@ -1,41 +0,0 @@ -package com.casic.br.ar.app.utils - -import android.content.Context -import android.util.Log -import com.amap.api.location.AMapLocation -import com.amap.api.location.AMapLocationClient -import com.amap.api.location.AMapLocationClientOption - -class LocationManager constructor(context: Context) { - - private val kTag = "LocationManager" - private val locationClient by lazy { AMapLocationClient(context) } - - fun getCurrentLocation(isOnceLocation: Boolean, listener: OnGetLocationListener) { - val locationOption = AMapLocationClientOption() - locationOption.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy - locationOption.isOnceLocation = isOnceLocation - locationOption.isNeedAddress = true - locationClient.setLocationOption(locationOption) - locationClient.setLocationListener { - if (it.errorCode == 0) { - listener.onAMapLocationGet(it) - } else { - listener.onAMapLocationGet(null) - Log.e(kTag, "errCode:${it.errorCode}, errInfo:${it.errorInfo}") - } - } - locationClient.startLocation() - } - - fun stopLocation() { - locationClient.stopLocation() - } - - /** - * 经纬度定位回调 - * */ - interface OnGetLocationListener { - fun onAMapLocationGet(location: AMapLocation?) //高德定位数据 - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt index 780a876..0b271e7 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt @@ -9,12 +9,10 @@ import android.util.Log import android.view.KeyEvent import android.view.SurfaceHolder -import android.view.View import android.view.WindowManager import androidx.activity.result.contract.ActivityResultContracts import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope -import com.amap.api.location.AMapLocation import com.casic.br.ar.app.databinding.ActivityCheckModeBinding import com.casic.br.ar.app.extensions.convert2YoloResult import com.casic.br.ar.app.extensions.getSceneByTarget @@ -25,7 +23,6 @@ import com.casic.br.ar.app.external.Yolov8ncnn import com.casic.br.ar.app.model.DictionaryModel import com.casic.br.ar.app.utils.LocaleConstant -import com.casic.br.ar.app.utils.LocationManager import com.casic.br.ar.app.utils.RuntimeCache import com.casic.br.ar.app.vm.AlarmViewModel import com.casic.br.ar.app.vm.ConfigViewModel @@ -33,7 +30,6 @@ import com.casic.br.ar.app.vm.InspectionViewModel import com.casic.br.ar.app.widgets.DetectResultDialog import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.extensions.timestampToDate import com.pengxh.kt.lite.extensions.timestampToTime @@ -41,9 +37,6 @@ import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog -import com.rokid.glass.instruct.InstructLifeManager -import com.rokid.glass.instruct.entity.EntityKey -import com.rokid.glass.instruct.entity.InstructEntity import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -52,12 +45,11 @@ import java.io.File class CheckModeActivity : KotlinBaseActivity(), SurfaceHolder.Callback, - INativeCallback, Handler.Callback, InstructLifeManager.IInstructLifeListener { + INativeCallback, Handler.Callback { private val kTag = "StartCheckActivity" private val context = this private val classArray = arrayOf("电线整洁", "电线杂乱", "餐馆厨房") - private val locationManager by lazy { LocationManager(this) } private val targetSet by lazy { HashSet() } private val detectedSceneSet by lazy { HashSet() } private val detectedTargetSet by lazy { HashSet() } @@ -69,7 +61,6 @@ private lateinit var configViewModel: ConfigViewModel private lateinit var imageFileViewModel: ImageFileViewModel private lateinit var alarmViewModel: AlarmViewModel - private var inspectionAddress = "" private var mainDicModels: MutableList = ArrayList() private var isDetectTarget = false private var alarmCode = "" @@ -79,7 +70,7 @@ OpenCVNativeLoader().init() - //加载算法模型。先用检测识别场景,再用分割识别目标和隐患(分割函数用了两个模型) + //加载算法模型 yolov8ncnn.loadModel( assets, 1, useGpu = false, useClassify = false, useSegmentation = false, useDetect = true @@ -90,14 +81,6 @@ yolov8ncnn.openCamera(1) - locationManager.getCurrentLocation(false, object : LocationManager.OnGetLocationListener { - override fun onAMapLocationGet(location: AMapLocation?) { - location?.apply { - inspectionAddress = address - } - } - }) - inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] val inspectionUser = SaveKeyValues.getValue( LocaleConstant.ACCOUNT, "" @@ -107,7 +90,7 @@ val inspectionDate = currentTimeMillis.timestampToDate() val startTime = currentTimeMillis.timestampToTime() inspectionViewModel.startInspection( - this, inspectionUser, inspectionAddress, inspectionDate, startTime + this, inspectionUser, "北京市", inspectionDate, startTime ) inspectionViewModel.addResultModel.observe(this) { if (it.code == 200) { @@ -133,36 +116,36 @@ } override fun initEvent() { - val instructLifeManager = InstructLifeManager(this, lifecycle, this) - instructLifeManager.addInstructEntity( - InstructEntity() - .addEntityKey(EntityKey("检查清单", "jian cha qing dan")) - .setShowTips(true) - .setIgnoreHelp(false) - .setCallback { _, _, _ -> - navigatePageTo() - } - ).addInstructEntity( - InstructEntity() - .addEntityKey(EntityKey("添加隐患", "tian jia yin huan")) - .setShowTips(true) - .setIgnoreHelp(false) - .setCallback { _, _, _ -> - RuntimeCache.mat = mat - RuntimeCache.mainDicModels = mainDicModels - navigatePageTo() - } - ).addInstructEntity( - InstructEntity() - .addEntityKey(EntityKey("结束检查", "jie shu jian cha")) - .setShowTips(true) - .setIgnoreHelp(false) - .setCallback { _, _, _ -> - Intent(this, CheckResultActivity::class.java).also { - stopTaskLauncher.launch(it) - } - } - ) +// val instructLifeManager = InstructLifeManager(this, lifecycle, this) +// instructLifeManager.addInstructEntity( +// InstructEntity() +// .addEntityKey(EntityKey("检查清单", "jian cha qing dan")) +// .setShowTips(true) +// .setIgnoreHelp(false) +// .setCallback { _, _, _ -> +// navigatePageTo() +// } +// ).addInstructEntity( +// InstructEntity() +// .addEntityKey(EntityKey("添加隐患", "tian jia yin huan")) +// .setShowTips(true) +// .setIgnoreHelp(false) +// .setCallback { _, _, _ -> +// RuntimeCache.mat = mat +// RuntimeCache.mainDicModels = mainDicModels +// navigatePageTo() +// } +// ).addInstructEntity( +// InstructEntity() +// .addEntityKey(EntityKey("结束检查", "jie shu jian cha")) +// .setShowTips(true) +// .setIgnoreHelp(false) +// .setCallback { _, _, _ -> +// Intent(this, CheckResultActivity::class.java).also { +// stopTaskLauncher.launch(it) +// } +// } +// ) } override fun initViewBinding(): ActivityCheckModeBinding { @@ -174,8 +157,7 @@ } override fun setupTopBarLayout() { - val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) - window.decorView.systemUiVisibility = uiOptions + } override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { @@ -461,7 +443,7 @@ override fun onConfirmClick() { RuntimeCache.sceneName = scene detectedSceneSet.add(scene) - binding.titleView.text = scene + binding.sceneNameView.text = scene //暂停算法 yolov8ncnn.onPause() @@ -503,20 +485,15 @@ return true } - override fun onDestroy() { - super.onDestroy() - locationManager.stopLocation() - } - - override fun onInterceptCommand(command: String?): Boolean { - return false - } - - override fun onTipsUiReady() { - - } - - override fun onHelpLayerShow(show: Boolean) { - - } +// override fun onInterceptCommand(command: String?): Boolean { +// return false +// } +// +// override fun onTipsUiReady() { +// +// } +// +// override fun onHelpLayerShow(show: Boolean) { +// +// } } \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 9a00059..47379b3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -115,8 +115,6 @@ implementation 'io.github.lucksiege:pictureselector:v3.11.1' //图片压缩 implementation 'top.zibin:Luban:1.1.8' - //高德导航、定位、地图三合一 - implementation 'com.amap.api:navi-3dmap:latest.integration' //生成二维码 implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' implementation project(':sdk') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 50019c7..4cb9a4a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -25,10 +25,6 @@ android:minSdkVersion="33" /> - - - - @@ -125,14 +121,6 @@ android:screenOrientation="landscape" android:theme="@style/Theme.BigImageActivity" /> - - - - - - = Build.VERSION_CODES.R) { @@ -25,16 +23,12 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE, - Manifest.permission.ACCESS_COARSE_LOCATION, - Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CAMERA ) } else { arrayOf( Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, - Manifest.permission.ACCESS_COARSE_LOCATION, - Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CAMERA ) } diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt deleted file mode 100644 index d4e0d2a..0000000 --- a/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt +++ /dev/null @@ -1,41 +0,0 @@ -package com.casic.br.ar.app.utils - -import android.content.Context -import android.util.Log -import com.amap.api.location.AMapLocation -import com.amap.api.location.AMapLocationClient -import com.amap.api.location.AMapLocationClientOption - -class LocationManager constructor(context: Context) { - - private val kTag = "LocationManager" - private val locationClient by lazy { AMapLocationClient(context) } - - fun getCurrentLocation(isOnceLocation: Boolean, listener: OnGetLocationListener) { - val locationOption = AMapLocationClientOption() - locationOption.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy - locationOption.isOnceLocation = isOnceLocation - locationOption.isNeedAddress = true - locationClient.setLocationOption(locationOption) - locationClient.setLocationListener { - if (it.errorCode == 0) { - listener.onAMapLocationGet(it) - } else { - listener.onAMapLocationGet(null) - Log.e(kTag, "errCode:${it.errorCode}, errInfo:${it.errorInfo}") - } - } - locationClient.startLocation() - } - - fun stopLocation() { - locationClient.stopLocation() - } - - /** - * 经纬度定位回调 - * */ - interface OnGetLocationListener { - fun onAMapLocationGet(location: AMapLocation?) //高德定位数据 - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt index 780a876..0b271e7 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt @@ -9,12 +9,10 @@ import android.util.Log import android.view.KeyEvent import android.view.SurfaceHolder -import android.view.View import android.view.WindowManager import androidx.activity.result.contract.ActivityResultContracts import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope -import com.amap.api.location.AMapLocation import com.casic.br.ar.app.databinding.ActivityCheckModeBinding import com.casic.br.ar.app.extensions.convert2YoloResult import com.casic.br.ar.app.extensions.getSceneByTarget @@ -25,7 +23,6 @@ import com.casic.br.ar.app.external.Yolov8ncnn import com.casic.br.ar.app.model.DictionaryModel import com.casic.br.ar.app.utils.LocaleConstant -import com.casic.br.ar.app.utils.LocationManager import com.casic.br.ar.app.utils.RuntimeCache import com.casic.br.ar.app.vm.AlarmViewModel import com.casic.br.ar.app.vm.ConfigViewModel @@ -33,7 +30,6 @@ import com.casic.br.ar.app.vm.InspectionViewModel import com.casic.br.ar.app.widgets.DetectResultDialog import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.extensions.timestampToDate import com.pengxh.kt.lite.extensions.timestampToTime @@ -41,9 +37,6 @@ import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog -import com.rokid.glass.instruct.InstructLifeManager -import com.rokid.glass.instruct.entity.EntityKey -import com.rokid.glass.instruct.entity.InstructEntity import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -52,12 +45,11 @@ import java.io.File class CheckModeActivity : KotlinBaseActivity(), SurfaceHolder.Callback, - INativeCallback, Handler.Callback, InstructLifeManager.IInstructLifeListener { + INativeCallback, Handler.Callback { private val kTag = "StartCheckActivity" private val context = this private val classArray = arrayOf("电线整洁", "电线杂乱", "餐馆厨房") - private val locationManager by lazy { LocationManager(this) } private val targetSet by lazy { HashSet() } private val detectedSceneSet by lazy { HashSet() } private val detectedTargetSet by lazy { HashSet() } @@ -69,7 +61,6 @@ private lateinit var configViewModel: ConfigViewModel private lateinit var imageFileViewModel: ImageFileViewModel private lateinit var alarmViewModel: AlarmViewModel - private var inspectionAddress = "" private var mainDicModels: MutableList = ArrayList() private var isDetectTarget = false private var alarmCode = "" @@ -79,7 +70,7 @@ OpenCVNativeLoader().init() - //加载算法模型。先用检测识别场景,再用分割识别目标和隐患(分割函数用了两个模型) + //加载算法模型 yolov8ncnn.loadModel( assets, 1, useGpu = false, useClassify = false, useSegmentation = false, useDetect = true @@ -90,14 +81,6 @@ yolov8ncnn.openCamera(1) - locationManager.getCurrentLocation(false, object : LocationManager.OnGetLocationListener { - override fun onAMapLocationGet(location: AMapLocation?) { - location?.apply { - inspectionAddress = address - } - } - }) - inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] val inspectionUser = SaveKeyValues.getValue( LocaleConstant.ACCOUNT, "" @@ -107,7 +90,7 @@ val inspectionDate = currentTimeMillis.timestampToDate() val startTime = currentTimeMillis.timestampToTime() inspectionViewModel.startInspection( - this, inspectionUser, inspectionAddress, inspectionDate, startTime + this, inspectionUser, "北京市", inspectionDate, startTime ) inspectionViewModel.addResultModel.observe(this) { if (it.code == 200) { @@ -133,36 +116,36 @@ } override fun initEvent() { - val instructLifeManager = InstructLifeManager(this, lifecycle, this) - instructLifeManager.addInstructEntity( - InstructEntity() - .addEntityKey(EntityKey("检查清单", "jian cha qing dan")) - .setShowTips(true) - .setIgnoreHelp(false) - .setCallback { _, _, _ -> - navigatePageTo() - } - ).addInstructEntity( - InstructEntity() - .addEntityKey(EntityKey("添加隐患", "tian jia yin huan")) - .setShowTips(true) - .setIgnoreHelp(false) - .setCallback { _, _, _ -> - RuntimeCache.mat = mat - RuntimeCache.mainDicModels = mainDicModels - navigatePageTo() - } - ).addInstructEntity( - InstructEntity() - .addEntityKey(EntityKey("结束检查", "jie shu jian cha")) - .setShowTips(true) - .setIgnoreHelp(false) - .setCallback { _, _, _ -> - Intent(this, CheckResultActivity::class.java).also { - stopTaskLauncher.launch(it) - } - } - ) +// val instructLifeManager = InstructLifeManager(this, lifecycle, this) +// instructLifeManager.addInstructEntity( +// InstructEntity() +// .addEntityKey(EntityKey("检查清单", "jian cha qing dan")) +// .setShowTips(true) +// .setIgnoreHelp(false) +// .setCallback { _, _, _ -> +// navigatePageTo() +// } +// ).addInstructEntity( +// InstructEntity() +// .addEntityKey(EntityKey("添加隐患", "tian jia yin huan")) +// .setShowTips(true) +// .setIgnoreHelp(false) +// .setCallback { _, _, _ -> +// RuntimeCache.mat = mat +// RuntimeCache.mainDicModels = mainDicModels +// navigatePageTo() +// } +// ).addInstructEntity( +// InstructEntity() +// .addEntityKey(EntityKey("结束检查", "jie shu jian cha")) +// .setShowTips(true) +// .setIgnoreHelp(false) +// .setCallback { _, _, _ -> +// Intent(this, CheckResultActivity::class.java).also { +// stopTaskLauncher.launch(it) +// } +// } +// ) } override fun initViewBinding(): ActivityCheckModeBinding { @@ -174,8 +157,7 @@ } override fun setupTopBarLayout() { - val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) - window.decorView.systemUiVisibility = uiOptions + } override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { @@ -461,7 +443,7 @@ override fun onConfirmClick() { RuntimeCache.sceneName = scene detectedSceneSet.add(scene) - binding.titleView.text = scene + binding.sceneNameView.text = scene //暂停算法 yolov8ncnn.onPause() @@ -503,20 +485,15 @@ return true } - override fun onDestroy() { - super.onDestroy() - locationManager.stopLocation() - } - - override fun onInterceptCommand(command: String?): Boolean { - return false - } - - override fun onTipsUiReady() { - - } - - override fun onHelpLayerShow(show: Boolean) { - - } +// override fun onInterceptCommand(command: String?): Boolean { +// return false +// } +// +// override fun onTipsUiReady() { +// +// } +// +// override fun onHelpLayerShow(show: Boolean) { +// +// } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/view/SelectCheckModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/SelectCheckModeActivity.kt index 7650a48..3e592f3 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/SelectCheckModeActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/SelectCheckModeActivity.kt @@ -5,7 +5,6 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView -import com.amap.api.location.AMapLocationClient import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivitySelectCheckModeBinding import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -61,10 +60,6 @@ RecyclerViewItemOffsets(marginOffset, 0, marginOffset, 0) ) binding.recyclerView.adapter = itemAdapter - - //先把定位隐私政策声明,后面会用到 - AMapLocationClient.updatePrivacyShow(this, true, true) - AMapLocationClient.updatePrivacyAgree(this, true) } override fun initViewBinding(): ActivitySelectCheckModeBinding { diff --git a/app/build.gradle b/app/build.gradle index 9a00059..47379b3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -115,8 +115,6 @@ implementation 'io.github.lucksiege:pictureselector:v3.11.1' //图片压缩 implementation 'top.zibin:Luban:1.1.8' - //高德导航、定位、地图三合一 - implementation 'com.amap.api:navi-3dmap:latest.integration' //生成二维码 implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' implementation project(':sdk') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 50019c7..4cb9a4a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -25,10 +25,6 @@ android:minSdkVersion="33" /> - - - - @@ -125,14 +121,6 @@ android:screenOrientation="landscape" android:theme="@style/Theme.BigImageActivity" /> - - - - - - = Build.VERSION_CODES.R) { @@ -25,16 +23,12 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE, - Manifest.permission.ACCESS_COARSE_LOCATION, - Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CAMERA ) } else { arrayOf( Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, - Manifest.permission.ACCESS_COARSE_LOCATION, - Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CAMERA ) } diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt deleted file mode 100644 index d4e0d2a..0000000 --- a/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt +++ /dev/null @@ -1,41 +0,0 @@ -package com.casic.br.ar.app.utils - -import android.content.Context -import android.util.Log -import com.amap.api.location.AMapLocation -import com.amap.api.location.AMapLocationClient -import com.amap.api.location.AMapLocationClientOption - -class LocationManager constructor(context: Context) { - - private val kTag = "LocationManager" - private val locationClient by lazy { AMapLocationClient(context) } - - fun getCurrentLocation(isOnceLocation: Boolean, listener: OnGetLocationListener) { - val locationOption = AMapLocationClientOption() - locationOption.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy - locationOption.isOnceLocation = isOnceLocation - locationOption.isNeedAddress = true - locationClient.setLocationOption(locationOption) - locationClient.setLocationListener { - if (it.errorCode == 0) { - listener.onAMapLocationGet(it) - } else { - listener.onAMapLocationGet(null) - Log.e(kTag, "errCode:${it.errorCode}, errInfo:${it.errorInfo}") - } - } - locationClient.startLocation() - } - - fun stopLocation() { - locationClient.stopLocation() - } - - /** - * 经纬度定位回调 - * */ - interface OnGetLocationListener { - fun onAMapLocationGet(location: AMapLocation?) //高德定位数据 - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt index 780a876..0b271e7 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt @@ -9,12 +9,10 @@ import android.util.Log import android.view.KeyEvent import android.view.SurfaceHolder -import android.view.View import android.view.WindowManager import androidx.activity.result.contract.ActivityResultContracts import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope -import com.amap.api.location.AMapLocation import com.casic.br.ar.app.databinding.ActivityCheckModeBinding import com.casic.br.ar.app.extensions.convert2YoloResult import com.casic.br.ar.app.extensions.getSceneByTarget @@ -25,7 +23,6 @@ import com.casic.br.ar.app.external.Yolov8ncnn import com.casic.br.ar.app.model.DictionaryModel import com.casic.br.ar.app.utils.LocaleConstant -import com.casic.br.ar.app.utils.LocationManager import com.casic.br.ar.app.utils.RuntimeCache import com.casic.br.ar.app.vm.AlarmViewModel import com.casic.br.ar.app.vm.ConfigViewModel @@ -33,7 +30,6 @@ import com.casic.br.ar.app.vm.InspectionViewModel import com.casic.br.ar.app.widgets.DetectResultDialog import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.extensions.timestampToDate import com.pengxh.kt.lite.extensions.timestampToTime @@ -41,9 +37,6 @@ import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog -import com.rokid.glass.instruct.InstructLifeManager -import com.rokid.glass.instruct.entity.EntityKey -import com.rokid.glass.instruct.entity.InstructEntity import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -52,12 +45,11 @@ import java.io.File class CheckModeActivity : KotlinBaseActivity(), SurfaceHolder.Callback, - INativeCallback, Handler.Callback, InstructLifeManager.IInstructLifeListener { + INativeCallback, Handler.Callback { private val kTag = "StartCheckActivity" private val context = this private val classArray = arrayOf("电线整洁", "电线杂乱", "餐馆厨房") - private val locationManager by lazy { LocationManager(this) } private val targetSet by lazy { HashSet() } private val detectedSceneSet by lazy { HashSet() } private val detectedTargetSet by lazy { HashSet() } @@ -69,7 +61,6 @@ private lateinit var configViewModel: ConfigViewModel private lateinit var imageFileViewModel: ImageFileViewModel private lateinit var alarmViewModel: AlarmViewModel - private var inspectionAddress = "" private var mainDicModels: MutableList = ArrayList() private var isDetectTarget = false private var alarmCode = "" @@ -79,7 +70,7 @@ OpenCVNativeLoader().init() - //加载算法模型。先用检测识别场景,再用分割识别目标和隐患(分割函数用了两个模型) + //加载算法模型 yolov8ncnn.loadModel( assets, 1, useGpu = false, useClassify = false, useSegmentation = false, useDetect = true @@ -90,14 +81,6 @@ yolov8ncnn.openCamera(1) - locationManager.getCurrentLocation(false, object : LocationManager.OnGetLocationListener { - override fun onAMapLocationGet(location: AMapLocation?) { - location?.apply { - inspectionAddress = address - } - } - }) - inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java] val inspectionUser = SaveKeyValues.getValue( LocaleConstant.ACCOUNT, "" @@ -107,7 +90,7 @@ val inspectionDate = currentTimeMillis.timestampToDate() val startTime = currentTimeMillis.timestampToTime() inspectionViewModel.startInspection( - this, inspectionUser, inspectionAddress, inspectionDate, startTime + this, inspectionUser, "北京市", inspectionDate, startTime ) inspectionViewModel.addResultModel.observe(this) { if (it.code == 200) { @@ -133,36 +116,36 @@ } override fun initEvent() { - val instructLifeManager = InstructLifeManager(this, lifecycle, this) - instructLifeManager.addInstructEntity( - InstructEntity() - .addEntityKey(EntityKey("检查清单", "jian cha qing dan")) - .setShowTips(true) - .setIgnoreHelp(false) - .setCallback { _, _, _ -> - navigatePageTo() - } - ).addInstructEntity( - InstructEntity() - .addEntityKey(EntityKey("添加隐患", "tian jia yin huan")) - .setShowTips(true) - .setIgnoreHelp(false) - .setCallback { _, _, _ -> - RuntimeCache.mat = mat - RuntimeCache.mainDicModels = mainDicModels - navigatePageTo() - } - ).addInstructEntity( - InstructEntity() - .addEntityKey(EntityKey("结束检查", "jie shu jian cha")) - .setShowTips(true) - .setIgnoreHelp(false) - .setCallback { _, _, _ -> - Intent(this, CheckResultActivity::class.java).also { - stopTaskLauncher.launch(it) - } - } - ) +// val instructLifeManager = InstructLifeManager(this, lifecycle, this) +// instructLifeManager.addInstructEntity( +// InstructEntity() +// .addEntityKey(EntityKey("检查清单", "jian cha qing dan")) +// .setShowTips(true) +// .setIgnoreHelp(false) +// .setCallback { _, _, _ -> +// navigatePageTo() +// } +// ).addInstructEntity( +// InstructEntity() +// .addEntityKey(EntityKey("添加隐患", "tian jia yin huan")) +// .setShowTips(true) +// .setIgnoreHelp(false) +// .setCallback { _, _, _ -> +// RuntimeCache.mat = mat +// RuntimeCache.mainDicModels = mainDicModels +// navigatePageTo() +// } +// ).addInstructEntity( +// InstructEntity() +// .addEntityKey(EntityKey("结束检查", "jie shu jian cha")) +// .setShowTips(true) +// .setIgnoreHelp(false) +// .setCallback { _, _, _ -> +// Intent(this, CheckResultActivity::class.java).also { +// stopTaskLauncher.launch(it) +// } +// } +// ) } override fun initViewBinding(): ActivityCheckModeBinding { @@ -174,8 +157,7 @@ } override fun setupTopBarLayout() { - val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) - window.decorView.systemUiVisibility = uiOptions + } override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { @@ -461,7 +443,7 @@ override fun onConfirmClick() { RuntimeCache.sceneName = scene detectedSceneSet.add(scene) - binding.titleView.text = scene + binding.sceneNameView.text = scene //暂停算法 yolov8ncnn.onPause() @@ -503,20 +485,15 @@ return true } - override fun onDestroy() { - super.onDestroy() - locationManager.stopLocation() - } - - override fun onInterceptCommand(command: String?): Boolean { - return false - } - - override fun onTipsUiReady() { - - } - - override fun onHelpLayerShow(show: Boolean) { - - } +// override fun onInterceptCommand(command: String?): Boolean { +// return false +// } +// +// override fun onTipsUiReady() { +// +// } +// +// override fun onHelpLayerShow(show: Boolean) { +// +// } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/view/SelectCheckModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/SelectCheckModeActivity.kt index 7650a48..3e592f3 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/SelectCheckModeActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/SelectCheckModeActivity.kt @@ -5,7 +5,6 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView -import com.amap.api.location.AMapLocationClient import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivitySelectCheckModeBinding import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter @@ -61,10 +60,6 @@ RecyclerViewItemOffsets(marginOffset, 0, marginOffset, 0) ) binding.recyclerView.adapter = itemAdapter - - //先把定位隐私政策声明,后面会用到 - AMapLocationClient.updatePrivacyShow(this, true, true) - AMapLocationClient.updatePrivacyAgree(this, true) } override fun initViewBinding(): ActivitySelectCheckModeBinding { diff --git a/app/src/main/res/layout/activity_check_mode.xml b/app/src/main/res/layout/activity_check_mode.xml index 2dc91ff..9920bc0 100644 --- a/app/src/main/res/layout/activity_check_mode.xml +++ b/app/src/main/res/layout/activity_check_mode.xml @@ -14,7 +14,7 @@ android:layout_height="match_parent" />