联机闪退问题修复

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:hardwareAccelerated="true"
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>
</manifest>

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

@ -8,8 +8,6 @@ import blankj.utilcode.util.AppUtils
import com.bingce.device.Device
import com.bingce.device.enums.ConnectTypeEnum
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.config.GnssConfigManager
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.mobilestationmode.GnssConfigSetActivity
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.setupstation.InstrumentSetFragmentSetupStationTypeUtils
import com.project.survey.ui.instrument.totalstation.ConnectTSActivity
import com.project.survey.util.ActivityNavUtil
import com.project.survey.util.SPUtils
@ -64,11 +64,11 @@ class InstrumentFragment : BaseBindingFragment<FragmentInstrumentBinding>() {
override fun initListener() {
//全站仪联机
mBinding.itemConnectTotalStation.setOnClickNoRepeatListener {
ConnectTSActivity.start(mContext)
ConnectTSActivity.start()
}
//RTK联机
mBinding.itemConnectRTK.setOnClickNoRepeatListener {
ConnectRtkActivity.start(this)
ConnectRtkActivity.start()
}
//卫星状态
mBinding.itemSatelliteStatus.setOnClickNoRepeatListener {
@ -125,7 +125,7 @@ class InstrumentFragment : BaseBindingFragment<FragmentInstrumentBinding>() {
private fun startBaseStationTranslation() {
if (!AppUtils.isAppDebug()) {
if (Device.getInstance().deviceType == DeviceTypeEnum.DEVICE_TYPE_TS) {
toast(R.string.please_choose_rtk_instrument)
toast("请选择RTK仪器连接后继续")
return
}
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.database.CoordinateSystemDb;
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.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.ui.coordinatesystem.event.UpdateCoordinateSystemEvent;
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.utils.CoordSysShareUtil;
import com.bingce.dialog.DialogUtils;
import com.bingce.error.BingCeErrorCode;
import com.bingce.event.SingleMessageEvent;
import com.bingce.surveyorBase.R;
import com.bingce.ui.coordinatesystem.PresetCoordinateSystemV2Activity;
@ -197,21 +204,20 @@ public class CoordinateSystemContainerFragment extends AbstractCoordinateSystemC
} else {
ThreadPoolUtil.execute(() -> {
//搜索当前坐标系
// KeyValueRecord currentProjectConfig = KeyValueDb.getInstance().findData(KeyValueConstants.KEY_CURRENT_PROJECT_ID);
// if (currentProjectConfig == null) {
// BingCeErrorCode.toast(BingCeErrorCode.NO_CURRENT_PROJECT);
// return;
// }
// ProjectRecord currentProjectRecord = ProjectDb.getInstance()
// .rawQueryData(DBQueryConstant.findById(ProjectConstants.DB_NAME, currentProjectConfig.value));
// if (currentProjectRecord == null) {
// BingCeErrorCode.toast(BingCeErrorCode.NO_FOUND_PROJECT_BY_ID);
// return;
// }
// currentProjectRecord.coordinateSystem = coordinateSystem;
// ProjectDb.getInstance().save(currentProjectRecord);
// TODO: 2024/8/15 存坐标系
KeyValueRecord currentProjectConfig = KeyValueDb.getInstance().findData(KeyValueConstants.KEY_CURRENT_PROJECT_ID);
if (currentProjectConfig == null) {
BingCeErrorCode.toast(BingCeErrorCode.NO_CURRENT_PROJECT);
return;
}
// 存坐标系
ProjectRecord currentProjectRecord = ProjectDb.getInstance()
.rawQueryData(DBQueryConstant.findById(ProjectConstants.DB_NAME, currentProjectConfig.value));
if (currentProjectRecord == null) {
BingCeErrorCode.toast(BingCeErrorCode.NO_FOUND_PROJECT_BY_ID);
return;
}
currentProjectRecord.coordinateSystem = coordinateSystem;
ProjectDb.getInstance().save(currentProjectRecord);
//切换线路
ThreadPoolUtil.executeInMain(success);
});

@ -4,15 +4,19 @@ import android.view.Menu
import android.view.MenuItem
import androidx.activity.viewModels
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.constants.EventConstants
import com.project.survey.constants.SPConstants
import com.project.survey.databinding.ActivityProjectListBinding
import com.project.survey.extend.smartDismiss
import com.project.survey.extend.toast
import com.project.survey.logic.event.Message
import com.project.survey.logic.viewmodel.ProjectViewModel
import com.project.survey.model.LoginBean
import com.project.survey.ui.MainActivity
import com.project.survey.ui.base.BaseBindingActivity
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.scwang.smart.refresh.layout.api.RefreshLayout
import com.scwang.smart.refresh.layout.listener.OnRefreshListener
import java.util.Date
class ProjectListActivity : BaseBindingActivity<ActivityProjectListBinding>(), OnRefreshListener {
@ -89,6 +94,26 @@ class ProjectListActivity : BaseBindingActivity<ActivityProjectListBinding>(), O
adapter.getItem(position)?.let { 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))
MainActivity.start()
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