联机闪退问题修复

main
chenglifeng 8 months ago
parent 19c605844d
commit a510595e81
  1. BIN
      app/libs/device-release.aar
  2. 14
      app/src/main/AndroidManifest.xml
  3. 11
      app/src/main/java/com/project/survey/ui/base/BaseSurveyNewActivity.java
  4. 10
      app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt
  5. 36
      app/src/main/java/com/project/survey/ui/instrument/coordinatesystem/fragment/CoordinateSystemContainerFragment.java
  6. 1085
      app/src/main/java/com/project/survey/ui/instrument/rtk/ConnectRtkActivity.java
  7. 1154
      app/src/main/java/com/project/survey/ui/instrument/totalstation/ConnectTSActivity.java
  8. 29
      app/src/main/java/com/project/survey/ui/project/ProjectListActivity.kt
  9. 21
      app/src/main/res/menu/menu_activity_connect_rtk.xml

Binary file not shown.

@ -260,6 +260,20 @@
android:exported="true" android:exported="true"
android:hardwareAccelerated="true" android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustUnspecified|stateHidden" /> android:windowSoftInputMode="adjustUnspecified|stateHidden" />
<activity
android:name=".ui.instrument.rtk.ConnectRtkActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="true"
android:label="@string/connect_rtk"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
<activity
android:name=".ui.instrument.totalstation.ConnectTSActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="true"
android:label="@string/connect_rtk"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
</application> </application>
</manifest> </manifest>

@ -216,14 +216,15 @@ public abstract class BaseSurveyNewActivity extends ColorfulActivity implements
//激光 //激光
if (Device.getInstance().deviceType == DeviceTypeEnum.DEVICE_TYPE_TS) { if (Device.getInstance().deviceType == DeviceTypeEnum.DEVICE_TYPE_TS) {
tsSettingDialogUtils.showTotalStationSettingDialog(); tsSettingDialogUtils.showTotalStationSettingDialog();
} else {
startActivity(new Intent(this, SatelliteStatusActivity.class));
} }
// else {
// startActivity(new Intent(this, SatelliteStatusActivity.class));
// }
}); });
baseSurveyActivityUtils.activityBaseSurveyBinding.llRtkStatus.setOnClickListener(v -> { // baseSurveyActivityUtils.activityBaseSurveyBinding.llRtkStatus.setOnClickListener(v -> {
DeviceConnectUtil.startDeviceConnected(this, baseSurveyActivityUtils.activityBaseSurveyBinding); // DeviceConnectUtil.startDeviceConnected(this, baseSurveyActivityUtils.activityBaseSurveyBinding);
}); // });
animUtil = new AnimUtil(); animUtil = new AnimUtil();

@ -8,8 +8,6 @@ import blankj.utilcode.util.AppUtils
import com.bingce.device.Device import com.bingce.device.Device
import com.bingce.device.enums.ConnectTypeEnum import com.bingce.device.enums.ConnectTypeEnum
import com.bingce.device.enums.DeviceTypeEnum import com.bingce.device.enums.DeviceTypeEnum
import com.bingce.device.ui.ConnectRtkActivity
import com.bingce.device.ui.ConnectTSActivity
import com.bingce.rtk.command.RTK import com.bingce.rtk.command.RTK
import com.bingce.rtk.config.GnssConfigManager import com.bingce.rtk.config.GnssConfigManager
import com.project.survey.R import com.project.survey.R
@ -25,8 +23,10 @@ import com.project.survey.ui.instrument.basestationtranslation.RtkBaseCorrectAct
import com.project.survey.ui.instrument.coordinatesystem.BingCeCoordinateSystemActivity import com.project.survey.ui.instrument.coordinatesystem.BingCeCoordinateSystemActivity
import com.project.survey.ui.instrument.mobilestationmode.GnssConfigSetActivity import com.project.survey.ui.instrument.mobilestationmode.GnssConfigSetActivity
import com.project.survey.ui.instrument.mobilestationmode.base.RtkPointCorrectActivity import com.project.survey.ui.instrument.mobilestationmode.base.RtkPointCorrectActivity
import com.project.survey.ui.instrument.rtk.ConnectRtkActivity
import com.project.survey.ui.instrument.satellitosis.SatelliteStatusActivity import com.project.survey.ui.instrument.satellitosis.SatelliteStatusActivity
import com.project.survey.ui.instrument.setupstation.InstrumentSetFragmentSetupStationTypeUtils import com.project.survey.ui.instrument.setupstation.InstrumentSetFragmentSetupStationTypeUtils
import com.project.survey.ui.instrument.totalstation.ConnectTSActivity
import com.project.survey.util.ActivityNavUtil import com.project.survey.util.ActivityNavUtil
import com.project.survey.util.SPUtils import com.project.survey.util.SPUtils
@ -64,11 +64,11 @@ class InstrumentFragment : BaseBindingFragment<FragmentInstrumentBinding>() {
override fun initListener() { override fun initListener() {
//全站仪联机 //全站仪联机
mBinding.itemConnectTotalStation.setOnClickNoRepeatListener { mBinding.itemConnectTotalStation.setOnClickNoRepeatListener {
ConnectTSActivity.start(mContext) ConnectTSActivity.start()
} }
//RTK联机 //RTK联机
mBinding.itemConnectRTK.setOnClickNoRepeatListener { mBinding.itemConnectRTK.setOnClickNoRepeatListener {
ConnectRtkActivity.start(this) ConnectRtkActivity.start()
} }
//卫星状态 //卫星状态
mBinding.itemSatelliteStatus.setOnClickNoRepeatListener { mBinding.itemSatelliteStatus.setOnClickNoRepeatListener {
@ -125,7 +125,7 @@ class InstrumentFragment : BaseBindingFragment<FragmentInstrumentBinding>() {
private fun startBaseStationTranslation() { private fun startBaseStationTranslation() {
if (!AppUtils.isAppDebug()) { if (!AppUtils.isAppDebug()) {
if (Device.getInstance().deviceType == DeviceTypeEnum.DEVICE_TYPE_TS) { if (Device.getInstance().deviceType == DeviceTypeEnum.DEVICE_TYPE_TS) {
toast(R.string.please_choose_rtk_instrument) toast("请选择RTK仪器连接后继续")
return return
} }
if (Device.getInstance().connectType == ConnectTypeEnum.CONNECT_TYPE_PHONE_LOCATION) { if (Device.getInstance().connectType == ConnectTypeEnum.CONNECT_TYPE_PHONE_LOCATION) {

@ -25,8 +25,14 @@ import com.bingce.coordlib.util.CoordinateSystemUtil;
import com.bingce.data.cache.AbstractCachedObserver; import com.bingce.data.cache.AbstractCachedObserver;
import com.bingce.data.database.CoordinateSystemDb; import com.bingce.data.database.CoordinateSystemDb;
import com.bingce.data.database.DBQueryConstant; import com.bingce.data.database.DBQueryConstant;
import com.bingce.data.database.KeyValueDb;
import com.bingce.data.database.ProjectDb;
import com.bingce.data.surveyor.designdata.coordinate.CoordinateSystemConstants; import com.bingce.data.surveyor.designdata.coordinate.CoordinateSystemConstants;
import com.bingce.data.surveyor.designdata.coordinate.CoordinateSystemRecord; import com.bingce.data.surveyor.designdata.coordinate.CoordinateSystemRecord;
import com.bingce.data.surveyor.designdata.kv.KeyValueConstants;
import com.bingce.data.surveyor.designdata.kv.KeyValueRecord;
import com.bingce.data.surveyor.designdata.project.ProjectConstants;
import com.bingce.data.surveyor.designdata.project.ProjectRecord;
import com.bingce.device.Device; import com.bingce.device.Device;
import com.bingce.device.ui.coordinatesystem.event.UpdateCoordinateSystemEvent; import com.bingce.device.ui.coordinatesystem.event.UpdateCoordinateSystemEvent;
import com.bingce.device.ui.coordinatesystem.fragment.AbstractCoordinateSystemContainerFragment; import com.bingce.device.ui.coordinatesystem.fragment.AbstractCoordinateSystemContainerFragment;
@ -39,6 +45,7 @@ import com.bingce.device.ui.coordinatesystem.fragment.GridTransformFragment;
import com.bingce.device.ui.coordinatesystem.fragment.ProjectionFragment; import com.bingce.device.ui.coordinatesystem.fragment.ProjectionFragment;
import com.bingce.device.ui.utils.CoordSysShareUtil; import com.bingce.device.ui.utils.CoordSysShareUtil;
import com.bingce.dialog.DialogUtils; import com.bingce.dialog.DialogUtils;
import com.bingce.error.BingCeErrorCode;
import com.bingce.event.SingleMessageEvent; import com.bingce.event.SingleMessageEvent;
import com.bingce.surveyorBase.R; import com.bingce.surveyorBase.R;
import com.bingce.ui.coordinatesystem.PresetCoordinateSystemV2Activity; import com.bingce.ui.coordinatesystem.PresetCoordinateSystemV2Activity;
@ -197,21 +204,20 @@ public class CoordinateSystemContainerFragment extends AbstractCoordinateSystemC
} else { } else {
ThreadPoolUtil.execute(() -> { ThreadPoolUtil.execute(() -> {
//搜索当前坐标系 //搜索当前坐标系
// KeyValueRecord currentProjectConfig = KeyValueDb.getInstance().findData(KeyValueConstants.KEY_CURRENT_PROJECT_ID); KeyValueRecord currentProjectConfig = KeyValueDb.getInstance().findData(KeyValueConstants.KEY_CURRENT_PROJECT_ID);
// if (currentProjectConfig == null) { if (currentProjectConfig == null) {
// BingCeErrorCode.toast(BingCeErrorCode.NO_CURRENT_PROJECT); BingCeErrorCode.toast(BingCeErrorCode.NO_CURRENT_PROJECT);
// return; return;
// } }
// ProjectRecord currentProjectRecord = ProjectDb.getInstance() // 存坐标系
// .rawQueryData(DBQueryConstant.findById(ProjectConstants.DB_NAME, currentProjectConfig.value)); ProjectRecord currentProjectRecord = ProjectDb.getInstance()
// if (currentProjectRecord == null) { .rawQueryData(DBQueryConstant.findById(ProjectConstants.DB_NAME, currentProjectConfig.value));
// BingCeErrorCode.toast(BingCeErrorCode.NO_FOUND_PROJECT_BY_ID); if (currentProjectRecord == null) {
// return; BingCeErrorCode.toast(BingCeErrorCode.NO_FOUND_PROJECT_BY_ID);
// } return;
// currentProjectRecord.coordinateSystem = coordinateSystem; }
// ProjectDb.getInstance().save(currentProjectRecord); currentProjectRecord.coordinateSystem = coordinateSystem;
ProjectDb.getInstance().save(currentProjectRecord);
// TODO: 2024/8/15 存坐标系
//切换线路 //切换线路
ThreadPoolUtil.executeInMain(success); ThreadPoolUtil.executeInMain(success);
}); });

@ -4,15 +4,19 @@ import android.view.Menu
import android.view.MenuItem import android.view.MenuItem
import androidx.activity.viewModels import androidx.activity.viewModels
import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.MaterialDialog
import com.bingce.data.database.KeyValueDb
import com.bingce.data.database.ProjectDb
import com.bingce.data.surveyor.designdata.kv.KeyValueConstants
import com.bingce.data.surveyor.designdata.kv.KeyValueRecord
import com.bingce.data.surveyor.designdata.project.ProjectRecord
import com.bingce.utils.ThreadPoolUtil
import com.project.survey.R import com.project.survey.R
import com.project.survey.constants.EventConstants import com.project.survey.constants.EventConstants
import com.project.survey.constants.SPConstants import com.project.survey.constants.SPConstants
import com.project.survey.databinding.ActivityProjectListBinding import com.project.survey.databinding.ActivityProjectListBinding
import com.project.survey.extend.smartDismiss import com.project.survey.extend.smartDismiss
import com.project.survey.extend.toast
import com.project.survey.logic.event.Message import com.project.survey.logic.event.Message
import com.project.survey.logic.viewmodel.ProjectViewModel import com.project.survey.logic.viewmodel.ProjectViewModel
import com.project.survey.model.LoginBean
import com.project.survey.ui.MainActivity import com.project.survey.ui.MainActivity
import com.project.survey.ui.base.BaseBindingActivity import com.project.survey.ui.base.BaseBindingActivity
import com.project.survey.ui.login.LoginActivity import com.project.survey.ui.login.LoginActivity
@ -23,6 +27,7 @@ import com.project.survey.util.SPUtils
import com.project.survey.widget.decoration.HorDividerDecoration import com.project.survey.widget.decoration.HorDividerDecoration
import com.scwang.smart.refresh.layout.api.RefreshLayout import com.scwang.smart.refresh.layout.api.RefreshLayout
import com.scwang.smart.refresh.layout.listener.OnRefreshListener import com.scwang.smart.refresh.layout.listener.OnRefreshListener
import java.util.Date
class ProjectListActivity : BaseBindingActivity<ActivityProjectListBinding>(), OnRefreshListener { class ProjectListActivity : BaseBindingActivity<ActivityProjectListBinding>(), OnRefreshListener {
@ -89,6 +94,26 @@ class ProjectListActivity : BaseBindingActivity<ActivityProjectListBinding>(), O
adapter.getItem(position)?.let { bean -> adapter.getItem(position)?.let { bean ->
// 进入项目,设置当前项目 // 进入项目,设置当前项目
SPUtils.put(SPConstants.CURRENT_PROJECT, bean) SPUtils.put(SPConstants.CURRENT_PROJECT, bean)
// 存储配置--当前项目
ThreadPoolUtil.execute {
//存储新的项目
ProjectDb.getInstance().save(
ProjectRecord(bean.BD_XMXX_ID, bean.XMXX_NAME, null, Date().time).apply {
author = bean.XMXX_CONTACTNAME
}
)
var currentProjectConfig =
KeyValueDb.getInstance().findData(KeyValueConstants.KEY_CURRENT_PROJECT_ID)
if (currentProjectConfig != null) {
currentProjectConfig.value = bean.XMXX_CODE
} else {
currentProjectConfig =
KeyValueRecord(KeyValueConstants.KEY_CURRENT_PROJECT_ID, bean.XMXX_CODE)
}
KeyValueDb.getInstance().save(currentProjectConfig)
}
viewModel.msgEvent.postValue(Message(EventConstants.UPDATE_PROJECT)) viewModel.msgEvent.postValue(Message(EventConstants.UPDATE_PROJECT))
MainActivity.start() MainActivity.start()
ActivityNavUtil.finishActivity<ProjectListActivity>() ActivityNavUtil.finishActivity<ProjectListActivity>()

@ -0,0 +1,21 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_activity_connect_rtk_scan"
android:title="@string/scan"
app:showAsAction="ifRoom" />
<item
android:id="@+id/menu_activity_connect_rtk_disconnect"
android:title="@string/disconnect"
app:showAsAction="ifRoom" />
<!-- <item-->
<!-- android:id="@+id/menu_activity_connect_rtk_help"-->
<!-- android:title="@string/help"-->
<!-- app:showAsAction="ifRoom" />-->
<item
android:id="@+id/menu_activity_connect_rtk_comm_debug"
android:title="@string/comm_debug"
android:visible="false"
app:showAsAction="never" />
</menu>
Loading…
Cancel
Save