From 0814bc4f89dcb07df8a4017fb631aae0a968acb6 Mon Sep 17 00:00:00 2001
From: huangwei <983142558@qq.com>
Date: Wed, 7 Aug 2024 18:59:24 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=99=E6=A8=A1=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/AndroidManifest.xml | 5 +-
.../survey/ui/home/InstrumentFragment.kt | 22 +
.../GnssConfigSetActivity.java | 491 ++++++++++++++++++
.../MatchingPointRecyclerViewAdapter.java | 27 +
.../base/AbstractRtkBaseSettingActivity.java | 109 ++++
.../base/ComnavRtkBaseSettingActivity.java | 29 ++
.../base/DevecentRtkBaseSettingActivity.java | 28 +
.../base/FJDRtkBaseSettingActivity.java | 29 ++
.../base/GeoRtkBaseSettingActivity.java | 27 +
.../base/GeomaxRtkBaseSettingActivity.java | 28 +
.../base/HuaceRtkBaseSettingActivity.java | 29 ++
.../base/IceGpsRtkBaseSettingActivity.java | 28 +
.../base/LianshiRtkBaseSettingActivity.java | 28 +
.../base/QxwzRtkBaseSettingActivity.java | 29 ++
.../base/RtkBaseSettingActivity.java | 89 ++++
.../base/RtkMatchingPointsActivity.java | 124 +++++
.../base/RtkPointCorrectActivity.java | 80 +++
.../base/SouthRtkBaseSettingActivity.java | 28 +
.../base/SpectraRtkBaseSettingActivity.java | 29 ++
.../base/TersusRtkBaseSettingActivity.java | 30 ++
.../base/ZhdRtkBaseSettingActivity.java | 29 ++
.../rover/ComnavRtkRoverSettingActivity.java | 25 +
.../DevecentRtkRoverSettingActivity.java | 25 +
.../rover/FJDRtkRoverSettingActivity.java | 25 +
.../rover/GeoRtkRoverSettingActivity.java | 26 +
.../rover/GeomaxRtkRoverSettingActivity.java | 26 +
.../rover/HuaceRtkRoverSettingActivity.java | 25 +
.../rover/IceGpsRtkRoverSettingActivity.java | 25 +
.../rover/LianshiRtkRoverSettingActivity.java | 25 +
...wzLiteQuanFangRtkRoverSettingActivity.java | 25 +
.../rover/QxwzRtkRoverSettingActivity.java | 25 +
.../rover/RtkRoverSettingActivity.java | 125 +++++
.../rover/SouthRtkRoverSettingActivity.java | 26 +
.../rover/SpectraRtkRoverSettingActivity.java | 25 +
.../rover/TersusRtkRoverSettingActivity.java | 25 +
.../rover/ZhdRtkRoverSettingActivity.java | 25 +
.../ComnavRtkStaticSettingActivity.java | 21 +
.../staticc/FjdRtkStaticSettingActivity.java | 20 +
.../staticc/GeoRtkStaticSettingActivity.java | 7 +
.../HuaceRtkStaticSettingActivity.java | 7 +
.../staticc/RtkStaticSettingActivity.java | 98 ++++
.../SouthRtkStaticSettingActivity.java | 7 +
.../staticc/ZhdRtkStaticSettingActivity.java | 19 +
.../res/layout/activity_rtk_base_setting.xml | 38 ++
.../res/layout/activity_rtk_rover_setting.xml | 38 ++
.../layout/activity_rtk_static_setting.xml | 38 ++
.../main/res/layout/fragment_instrument.xml | 2 +
.../menu/menu_activity_rtk_point_correct.xml | 9 +
.../res/menu/menu_activity_rtk_station.xml | 8 +
app/src/main/res/values/strings.xml | 2 +
50 files changed, 2109 insertions(+), 1 deletion(-)
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/GnssConfigSetActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/adapter/MatchingPointRecyclerViewAdapter.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/AbstractRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/ComnavRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/DevecentRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/FJDRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/GeoRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/GeomaxRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/HuaceRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/IceGpsRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/LianshiRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/QxwzRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkMatchingPointsActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkPointCorrectActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/SouthRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/SpectraRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/TersusRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/ZhdRtkBaseSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/ComnavRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/DevecentRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/FJDRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/GeoRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/GeomaxRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/HuaceRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/IceGpsRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/LianshiRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/QxwzLiteQuanFangRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/QxwzRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/RtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/SouthRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/SpectraRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/TersusRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/ZhdRtkRoverSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/ComnavRtkStaticSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/FjdRtkStaticSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/GeoRtkStaticSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/HuaceRtkStaticSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/RtkStaticSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/SouthRtkStaticSettingActivity.java
create mode 100644 app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/ZhdRtkStaticSettingActivity.java
create mode 100644 app/src/main/res/layout/activity_rtk_base_setting.xml
create mode 100644 app/src/main/res/layout/activity_rtk_rover_setting.xml
create mode 100644 app/src/main/res/layout/activity_rtk_static_setting.xml
create mode 100644 app/src/main/res/menu/menu_activity_rtk_point_correct.xml
create mode 100644 app/src/main/res/menu/menu_activity_rtk_station.xml
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1b887a5..fe132f5 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -130,7 +130,10 @@
android:name=".ui.instrument.setupstation.SetupStationCurrentActivity"
android:exported="true"
android:windowSoftInputMode="adjustResize|stateHidden" />
-
+
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt b/app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt
index d2146a4..9e070f3 100644
--- a/app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt
+++ b/app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt
@@ -3,10 +3,17 @@ package com.project.survey.ui.home
import android.content.Intent
import android.view.LayoutInflater
import android.view.ViewGroup
+import blankj.utilcode.util.AppUtils
+import blankj.utilcode.util.ToastUtils
+import com.bingce.device.Device
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
import com.project.survey.databinding.FragmentInstrumentBinding
import com.project.survey.ui.base.BaseFragmentBinding
+import com.project.survey.ui.instrument.mobilestationmode.GnssConfigSetActivity
import com.project.survey.ui.instrument.satellitosis.SatelliteStatusActivity
import com.project.survey.ui.instrument.setupstation.InstrumentSetFragmentSetupStationTypeUtils
@@ -32,6 +39,21 @@ class InstrumentFragment : BaseFragmentBinding() {
//全站仪设站
InstrumentSetFragmentSetupStationTypeUtils.chooseSetupStationType(this)
}
+ mBinding.tvMobileStationMode.setOnClickListener {
+ //移动站模式
+ if (Device.getInstance().isDeviceConnected || AppUtils.isAppDebug()) {
+ if (RTK.getInstance().isSupportRoverSetting) {
+ GnssConfigManager.reset() //重置配置,防止未退出重新连接其他品牌型号导致配置集未改变的问题
+ val roverIntent = Intent(requireContext(), GnssConfigSetActivity::class.java)
+ roverIntent.putExtra("sysMode", 0)
+ startActivity(roverIntent)
+ } else {
+ ToastUtils.showShort(R.string.device_not_support_this_mode)
+ }
+ } else {
+ ToastUtils.showShort(R.string.rtk_not_connected)
+ }
+ }
}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/GnssConfigSetActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/GnssConfigSetActivity.java
new file mode 100644
index 0000000..ca10779
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/GnssConfigSetActivity.java
@@ -0,0 +1,491 @@
+package com.project.survey.ui.instrument.mobilestationmode;
+
+import static androidx.recyclerview.widget.LinearLayoutManager.VERTICAL;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.Button;
+
+import androidx.annotation.Keep;
+import androidx.annotation.Nullable;
+import androidx.appcompat.widget.Toolbar;
+import androidx.recyclerview.widget.DefaultItemAnimator;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bingce.device.Device;
+import com.bingce.device.enums.ConnectTypeEnum;
+import com.bingce.device.service.ntrip_sdk.CmccSdkService;
+import com.bingce.device.service.ntrip_sdk.LuoWangSdkService;
+import com.bingce.device.service.ntrip_sdk.NtripService;
+import com.bingce.device.service.ntrip_sdk.QxwzSdkService;
+import com.bingce.device.service.ntrip_sdk.SixentsSdkService;
+import com.bingce.device.ui.adapter.GnssConfigAdapter;
+import com.bingce.device.ui.utils.DeviceUtil;
+import com.bingce.rtk.command.RTK;
+import com.bingce.rtk.command.RtkCommand;
+import com.bingce.rtk.command.alpha.AlphaRTK;
+import com.bingce.rtk.command.comnav.ComNavRTK;
+import com.bingce.rtk.command.daspatial.DasMiniRTK;
+import com.bingce.rtk.command.devecent.DevecentRTK;
+import com.bingce.rtk.command.fjd.FJDRTK;
+import com.bingce.rtk.command.geo.GeoRTK;
+import com.bingce.rtk.command.geomax.GeoMaxRTK;
+import com.bingce.rtk.command.huace.HuaceRTK;
+import com.bingce.rtk.command.icegps.IceGpsRTK;
+import com.bingce.rtk.command.lianshi.LianshiRTK;
+import com.bingce.rtk.command.quanfang.QuanFangRTK;
+import com.bingce.rtk.command.qxlite.QxwzLiteRTK;
+import com.bingce.rtk.command.qxwz.QxwzRTK;
+import com.bingce.rtk.command.share.ShareRTK;
+import com.bingce.rtk.command.south.SouthRTK;
+import com.bingce.rtk.command.spectra.SpectraRTK;
+import com.bingce.rtk.command.tersus.TersusRTK;
+import com.bingce.rtk.command.xinyue.XinYueRTK;
+import com.bingce.rtk.command.zhd_new.ZhdNewRTK;
+import com.bingce.rtk.command.zhd_old.ZhdOldRTK;
+import com.bingce.rtk.config.GnssConfig;
+import com.bingce.rtk.config.GnssConfigManager;
+import com.bingce.rtk.enums.DataLinkModeEnum;
+import com.bingce.rtk.enums.WorkModeEnum;
+import com.bingce.rtk.event.RtkStartCmccServiceEvent;
+import com.bingce.rtk.event.RtkStartLuoWangServiceEvent;
+import com.bingce.rtk.event.RtkStartNtripServiceEvent;
+import com.bingce.rtk.event.RtkStartQxwzSdkServiceEvent;
+import com.bingce.rtk.event.RtkStartSixentsServiceEvent;
+import com.bingce.rtk.gnss.Gnss;
+import com.bingce.rtk.util.GnssUtil;
+import com.bingce.surveyor.agentweb.HelpWebActivity;
+import com.bingce.utils.Util;
+import com.project.survey.R;
+import com.project.survey.ui.instrument.mobilestationmode.base.ComnavRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.base.DevecentRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.base.FJDRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.base.GeoRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.base.GeomaxRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.base.HuaceRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.base.IceGpsRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.base.LianshiRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.base.QxwzRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.base.SouthRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.base.SpectraRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.base.TersusRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.base.ZhdRtkBaseSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.ComnavRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.DevecentRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.FJDRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.GeoRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.GeomaxRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.HuaceRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.IceGpsRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.LianshiRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.QxwzLiteQuanFangRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.QxwzRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.SouthRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.SpectraRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.TersusRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.rover.ZhdRtkRoverSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.staticc.ComnavRtkStaticSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.staticc.FjdRtkStaticSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.staticc.GeoRtkStaticSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.staticc.HuaceRtkStaticSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.staticc.SouthRtkStaticSettingActivity;
+import com.project.survey.ui.instrument.mobilestationmode.staticc.ZhdRtkStaticSettingActivity;
+
+import org.greenrobot.eventbus.EventBus;
+import org.polaric.colorful.ColorfulActivity;
+
+import blankj.utilcode.util.ServiceUtils;
+import blankj.utilcode.util.ToastUtils;
+
+@Keep
+public class GnssConfigSetActivity extends ColorfulActivity implements GnssConfigAdapter.onSlidingViewClickListener {
+ private Toolbar mToolbar;
+ public RecyclerView recyclerView;
+ public Button mBtnCreate;
+ public Button mBtnApply;
+ public Button mBtnStopStatic;
+ GnssConfigAdapter adapter;
+ private int apply_position;
+ private WorkModeEnum sysMode;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_gnss_config_set);
+ mToolbar = findViewById(R.id.toolbar);
+ recyclerView = findViewById(R.id.recyclerView);
+ mBtnCreate = findViewById(R.id.activity_gnss_config_set_create);
+ mBtnApply = findViewById(R.id.activity_gnss_config_set_apply);
+ mBtnStopStatic = findViewById(R.id.activity_gnss_config_set_stop_static);
+ setSupportActionBar(mToolbar);
+ if (getSupportActionBar() != null)
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+ int type = getIntent().getIntExtra("sysMode", 0);
+ switch (type) {
+ case 1:
+ sysMode = WorkModeEnum.BASE;
+ setTitle(getResources().getString(R.string.base_mode));
+ mBtnStopStatic.setVisibility(View.GONE);
+ String current_base_config_id = Util.getStringPreference("current_base_config_id", "");
+ for (int i = 0; i < GnssConfigManager.getInstance().getBaseConfigList().size(); i++) {
+ if (current_base_config_id.equals(GnssConfigManager.getInstance().getBaseConfigList().get(i).getId())) {
+ apply_position = i;
+ break;
+ }
+ }
+ break;
+ case 2:
+ sysMode = WorkModeEnum.STATIC;
+ setTitle(getResources().getString(R.string.static_mode));
+ mBtnStopStatic.setVisibility(View.VISIBLE);
+ String current_static_config_id = Util.getStringPreference("current_static_config_id", "");
+ for (int i = 0; i < GnssConfigManager.getInstance().getStaticConfigList().size(); i++) {
+ if (current_static_config_id.equals(GnssConfigManager.getInstance().getStaticConfigList().get(i).getId())) {
+ apply_position = i;
+ break;
+ }
+ }
+ break;
+ default:
+ sysMode = WorkModeEnum.ROVER;
+ setTitle(getResources().getString(R.string.rover_mode));
+ mBtnStopStatic.setVisibility(View.GONE);
+ String current_rover_config_id = Util.getStringPreference("current_rover_config_id", "");
+ for (int i = 0; i < GnssConfigManager.getInstance().getRoverConfigList().size(); i++) {
+ if (current_rover_config_id.equals(GnssConfigManager.getInstance().getRoverConfigList().get(i).getId())) {
+ apply_position = i;
+ break;
+ }
+ }
+ }
+
+ mBtnCreate.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ switch (sysMode) {
+ case ROVER:
+ roverSetting(-1);
+ break;
+ case BASE:
+ baseSetting(-1);
+ break;
+ case STATIC:
+ staticSetting(-1);
+ break;
+ }
+ }
+ });
+ mBtnApply.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (!Device.getInstance().isDeviceConnected()) {
+ ToastUtils.showShort(R.string.rtk_not_connected);
+ return;
+ }
+ ServiceUtils.stopService(NtripService.class);
+ ServiceUtils.stopService(QxwzSdkService.class);
+ ServiceUtils.stopService(CmccSdkService.class);
+ ServiceUtils.stopService(LuoWangSdkService.class);
+ ServiceUtils.stopService(SixentsSdkService.class);
+ GnssConfig gnssConfig;
+ switch (sysMode) {
+ case ROVER:
+ if (apply_position >= 0 && apply_position < GnssConfigManager.getInstance().getRoverConfigList().size()) {
+ gnssConfig = GnssConfigManager.getInstance().getRoverConfigList().get(apply_position);
+ GnssUtil.config2Gnss(gnssConfig);
+ Gnss.getInstance().save();
+ Util.putPreference("current_rover_config_id", gnssConfig.getId(), true);
+ if (gnssConfig.getDevice().getCurDataLink() == DataLinkModeEnum.PHONE && !(RTK.getInstance() instanceof QxwzRTK)) {
+ switch (gnssConfig.getNetwork().getMode()) {
+ case NTRIP:
+ case BASE_SN:
+ EventBus.getDefault().post(new RtkStartNtripServiceEvent());
+ break;
+ case QXWZ_SDK:
+ EventBus.getDefault().post(new RtkStartQxwzSdkServiceEvent());
+ break;
+ case SIXENTS_SDK:
+ EventBus.getDefault().post(new RtkStartSixentsServiceEvent());
+ break;
+ case CMCC_SDK:
+ EventBus.getDefault().post(new RtkStartCmccServiceEvent());
+ break;
+ case LUOWANG_SDK:
+ EventBus.getDefault().post(new RtkStartLuoWangServiceEvent());
+ break;
+ }
+ }
+ if (Device.getInstance().connectType == ConnectTypeEnum.CONNECT_TYPE_SPP
+ || Device.getInstance().connectType == ConnectTypeEnum.CONNECT_TYPE_BLE
+ || Device.getInstance().connectType == ConnectTypeEnum.CONNECT_TYPE_QXBT) {
+ Device.getInstance().rtkSendCommand(RtkCommand.getInstance().setRover(true));
+ }
+ } else {
+ ToastUtils.showShort(R.string.please_choose_config_first);
+ }
+ break;
+ case BASE:
+ if (apply_position >= 0 && apply_position < GnssConfigManager.getInstance().getBaseConfigList().size()) {
+ gnssConfig = GnssConfigManager.getInstance().getBaseConfigList().get(apply_position);
+ GnssUtil.config2Gnss(gnssConfig);
+ Gnss.getInstance().save();
+ Util.putPreference("current_base_config_id", gnssConfig.getId(), true);
+ if (Device.getInstance().connectType == ConnectTypeEnum.CONNECT_TYPE_SPP
+ || Device.getInstance().connectType == ConnectTypeEnum.CONNECT_TYPE_BLE
+ || Device.getInstance().connectType == ConnectTypeEnum.CONNECT_TYPE_QXBT) {
+ Device.getInstance().rtkSendCommand(RtkCommand.getInstance().setBase());
+ }
+ } else {
+ ToastUtils.showShort(R.string.please_choose_config_first);
+ }
+ break;
+ case STATIC:
+ if (apply_position >= 0 && apply_position < GnssConfigManager.getInstance().getStaticConfigList().size()) {
+ gnssConfig = GnssConfigManager.getInstance().getStaticConfigList().get(apply_position);
+ GnssUtil.config2Gnss(gnssConfig);
+ Gnss.getInstance().save();
+ Util.putPreference("current_static_config_id", gnssConfig.getId(), true);
+ if (Device.getInstance().connectType == ConnectTypeEnum.CONNECT_TYPE_SPP
+ || Device.getInstance().connectType == ConnectTypeEnum.CONNECT_TYPE_BLE
+ || Device.getInstance().connectType == ConnectTypeEnum.CONNECT_TYPE_QXBT) {
+ Device.getInstance().rtkSendCommand(RtkCommand.getInstance().setStatic());
+ }
+ } else {
+ ToastUtils.showShort(R.string.please_choose_config_first);
+ }
+ break;
+ }
+ }
+ });
+
+ mBtnStopStatic.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ ToastUtils.showShort(R.string.stop_static);
+ RTK.getInstance().sendStopStaticCmd();
+ }
+ });
+
+ if (adapter == null) {
+ adapter = new GnssConfigAdapter(this, sysMode);
+ LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
+ linearLayoutManager.setOrientation(VERTICAL);
+ recyclerView.setLayoutManager(linearLayoutManager);
+ recyclerView.setAdapter(adapter);
+ recyclerView.setItemAnimator(new DefaultItemAnimator());
+ } else {
+ adapter.notifyDataSetChanged();
+ }
+ adapter.setOnSlidListener(this);
+ }
+
+ private void baseSetting(int gnssConfigIndex) {
+ if (Device.getInstance().isDeviceConnected() || DeviceUtil.isDebug()) {
+ Intent intent = new Intent();
+ if (gnssConfigIndex >= 0)
+ intent.putExtra("gnssConfigIndex", gnssConfigIndex);
+ if (RTK.getInstance() instanceof GeoRTK
+ || RTK.getInstance() instanceof AlphaRTK) {
+ intent.setClass(GnssConfigSetActivity.this, GeoRtkBaseSettingActivity.class);
+ } else if (RTK.getInstance() instanceof ZhdNewRTK
+ || RTK.getInstance() instanceof ZhdOldRTK) {
+ intent.setClass(GnssConfigSetActivity.this, ZhdRtkBaseSettingActivity.class);
+ } else if (RTK.getInstance() instanceof HuaceRTK) {
+ intent.setClass(GnssConfigSetActivity.this, HuaceRtkBaseSettingActivity.class);
+ } else if (RTK.getInstance() instanceof SouthRTK) {
+ intent.setClass(GnssConfigSetActivity.this, SouthRtkBaseSettingActivity.class);
+ } else if (RTK.getInstance() instanceof ComNavRTK) {
+ intent.setClass(GnssConfigSetActivity.this, ComnavRtkBaseSettingActivity.class);
+ } else if (RTK.getInstance() instanceof GeoMaxRTK) {
+ intent.setClass(GnssConfigSetActivity.this, GeomaxRtkBaseSettingActivity.class);
+ } else if (RTK.getInstance() instanceof IceGpsRTK) {
+ intent.setClass(GnssConfigSetActivity.this, IceGpsRtkBaseSettingActivity.class);
+ } else if (RTK.getInstance() instanceof LianshiRTK) {
+ intent.setClass(GnssConfigSetActivity.this, LianshiRtkBaseSettingActivity.class);
+ } else if (RTK.getInstance() instanceof TersusRTK) {
+ intent.setClass(GnssConfigSetActivity.this, TersusRtkBaseSettingActivity.class);
+ } else if (RTK.getInstance() instanceof SpectraRTK) {
+ intent.setClass(GnssConfigSetActivity.this, SpectraRtkBaseSettingActivity.class);
+ } else if (RTK.getInstance() instanceof DevecentRTK) {
+ intent.setClass(GnssConfigSetActivity.this, DevecentRtkBaseSettingActivity.class);
+ } else if (RTK.getInstance() instanceof FJDRTK) {
+ intent.setClass(GnssConfigSetActivity.this, FJDRtkBaseSettingActivity.class);
+ } else if (RTK.getInstance() instanceof QxwzRTK) {
+ intent.setClass(GnssConfigSetActivity.this, QxwzRtkBaseSettingActivity.class);
+ } else {
+ ToastUtils.showShort(R.string.current_rtk_type_not_support_this_action);
+ return;
+ }
+
+ if (intent.getComponent() != null) {
+ startActivityForResult(intent, 1);
+ }
+ } else {
+ ToastUtils.showShort(R.string.device_connect_lost);
+ }
+ }
+
+ private void roverSetting(int gnssConfigIndex) {
+ if (Device.getInstance().isDeviceConnected() || DeviceUtil.isDebug()) {
+ Intent intent = new Intent();
+ if (gnssConfigIndex >= 0)
+ intent.putExtra("gnssConfigIndex", gnssConfigIndex);
+
+ if (RTK.getInstance() instanceof GeoRTK
+ || RTK.getInstance() instanceof AlphaRTK
+ || RTK.getInstance() instanceof ShareRTK) {
+ intent.setClass(GnssConfigSetActivity.this, GeoRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof ZhdNewRTK
+ || RTK.getInstance() instanceof ZhdOldRTK) {
+ intent.setClass(GnssConfigSetActivity.this, ZhdRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof HuaceRTK) {
+ intent.setClass(GnssConfigSetActivity.this, HuaceRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof SouthRTK) {
+ intent.setClass(GnssConfigSetActivity.this, SouthRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof ComNavRTK) {
+ intent.setClass(GnssConfigSetActivity.this, ComnavRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof GeoMaxRTK) {
+ intent.setClass(GnssConfigSetActivity.this, GeomaxRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof IceGpsRTK) {
+ intent.setClass(GnssConfigSetActivity.this, IceGpsRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof LianshiRTK) {
+ intent.setClass(GnssConfigSetActivity.this, LianshiRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof TersusRTK) {
+ intent.setClass(GnssConfigSetActivity.this, TersusRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof SpectraRTK) {
+ intent.setClass(GnssConfigSetActivity.this, SpectraRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof DevecentRTK) {
+ intent.setClass(GnssConfigSetActivity.this, DevecentRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof FJDRTK) {
+ intent.setClass(GnssConfigSetActivity.this, FJDRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof QxwzRTK) {
+ intent.setClass(GnssConfigSetActivity.this, QxwzRtkRoverSettingActivity.class);
+ } else if (RTK.getInstance() instanceof QxwzLiteRTK
+ || RTK.getInstance() instanceof QuanFangRTK
+ || RTK.getInstance() instanceof DasMiniRTK
+ || RTK.getInstance() instanceof XinYueRTK) {
+ intent.setClass(GnssConfigSetActivity.this, QxwzLiteQuanFangRtkRoverSettingActivity.class);
+ } else {
+ ToastUtils.showShort(R.string.current_rtk_type_not_support_this_action);
+ return;
+ }
+ if (intent.getComponent() != null) {
+ startActivityForResult(intent, 0);
+ }
+ } else {
+ ToastUtils.showShort(R.string.device_connect_lost);
+ }
+ }
+
+ private void staticSetting(int gnssConfigIndex) {
+ if (Device.getInstance().isDeviceConnected() || DeviceUtil.isDebug()) {
+ Intent intent = new Intent();
+ if (gnssConfigIndex >= 0)
+ intent.putExtra("gnssConfigIndex", gnssConfigIndex);
+
+ if (RTK.getInstance() instanceof GeoRTK || RTK.getInstance() instanceof AlphaRTK) {
+ intent.setClass(GnssConfigSetActivity.this, GeoRtkStaticSettingActivity.class);
+ } else if (RTK.getInstance() instanceof ZhdNewRTK
+ || RTK.getInstance() instanceof ZhdOldRTK) {
+ intent.setClass(GnssConfigSetActivity.this, ZhdRtkStaticSettingActivity.class);
+ } else if (RTK.getInstance() instanceof HuaceRTK) {
+ intent.setClass(GnssConfigSetActivity.this, HuaceRtkStaticSettingActivity.class);
+ } else if (RTK.getInstance() instanceof SouthRTK) {
+ intent.setClass(GnssConfigSetActivity.this, SouthRtkStaticSettingActivity.class);
+ } else if (RTK.getInstance() instanceof ComNavRTK) {
+ intent.setClass(GnssConfigSetActivity.this, ComnavRtkStaticSettingActivity.class);
+ } else if (RTK.getInstance() instanceof FJDRTK) {
+ intent.setClass(GnssConfigSetActivity.this, FjdRtkStaticSettingActivity.class);
+ } else {
+ ToastUtils.showShort(R.string.current_rtk_type_not_support_this_action);
+ return;
+ }
+ if (intent.getComponent() != null) {
+ startActivityForResult(intent, 2);
+ }
+ } else {
+ ToastUtils.showShort(R.string.device_connect_lost);
+ }
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ if (sysMode == WorkModeEnum.ROVER || sysMode == WorkModeEnum.BASE) {
+ getMenuInflater().inflate(R.menu.menu_activity_rtk_station, menu);
+ }
+ return super.onCreateOptionsMenu(menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case android.R.id.home:
+ finish();
+ break;
+ case R.id.menu_help:
+ HelpWebActivity.navigation2RtkStationHelp(this, sysMode);
+ break;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ if (adapter != null) {
+ adapter.updateCurrentId();
+ adapter.notifyDataSetChanged();
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ EventBus.getDefault().unregister(this);
+ }
+
+ @Override
+ public void onItemClick(WorkModeEnum workMode, int position) {
+ apply_position = position;
+ }
+
+ @Override
+ public void onDeleteBtnClick(WorkModeEnum workMode, int position) {
+ adapter.removeData(position);
+ }
+
+ @Override
+ public void onEditBtnClick(WorkModeEnum workMode, int position) {
+ switch (workMode) {
+ case ROVER:
+ roverSetting(position);
+ break;
+ case BASE:
+ baseSetting(position);
+ break;
+ case STATIC:
+ staticSetting(position);
+ break;
+ }
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK && data != null) {
+ boolean isReturnHome = data.getBooleanExtra("isReturnHome", false);
+ if (isReturnHome) {
+ Intent intent = new Intent();
+ intent.putExtra("isReturnHome", true);
+ setResult(Activity.RESULT_OK, intent);
+ finish();
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/adapter/MatchingPointRecyclerViewAdapter.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/adapter/MatchingPointRecyclerViewAdapter.java
new file mode 100644
index 0000000..8f5fec6
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/adapter/MatchingPointRecyclerViewAdapter.java
@@ -0,0 +1,27 @@
+package com.project.survey.ui.instrument.mobilestationmode.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+
+import com.bingce.coordlib.model.CoordinateSystem;
+import com.bingce.data.database.ProjectDb;
+import com.bingce.device.ui.adapter.AbstractMatchingPointRecyclerViewAdapter;
+import com.project.survey.ui.instrument.mobilestationmode.base.RtkMatchingPointsActivity;
+
+public class MatchingPointRecyclerViewAdapter extends AbstractMatchingPointRecyclerViewAdapter {
+ public MatchingPointRecyclerViewAdapter(Context context, CoordinateSystem coordinateSystem) {
+ super(context, coordinateSystem);
+ }
+
+ @Override
+ protected void startRtkMatchingPointsActivity(Context context, int position) {
+ Intent intent = new Intent(context, RtkMatchingPointsActivity.class);
+ intent.putExtra("position", position);
+ context.startActivity(intent);
+ }
+
+ @Override
+ protected void save(CoordinateSystem coordinateSystem) {
+ ProjectDb.getInstance().updateCurrentCoordinator(coordinateSystem);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/AbstractRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/AbstractRtkBaseSettingActivity.java
new file mode 100644
index 0000000..16f1ace
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/AbstractRtkBaseSettingActivity.java
@@ -0,0 +1,109 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.annotation.SuppressLint;
+import android.os.Bundle;
+import android.view.KeyEvent;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.Button;
+
+import androidx.annotation.Keep;
+import androidx.appcompat.widget.Toolbar;
+import androidx.fragment.app.Fragment;
+
+import com.bingce.device.ui.rtk.RtkBaseSettingFragment;
+import com.bingce.device.ui.utils.DeviceUtil;
+import com.bingce.rtk.command.RTK;
+import com.bingce.rtk.command.qxwz.QxwzRTK;
+import com.project.survey.R;
+
+import org.polaric.colorful.ColorfulActivity;
+
+
+@Keep
+public abstract class AbstractRtkBaseSettingActivity extends ColorfulActivity {
+ protected Button mBtnSaveApply, mBtnSave;
+
+ public void initUiSetting(Fragment fragment) {
+
+ }
+
+ @SuppressLint("SourceLockedOrientationActivity")
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_rtk_base_setting);
+ Toolbar mToolbar = findViewById(R.id.toolbar);
+ setSupportActionBar(mToolbar);
+ if (getSupportActionBar() != null)
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+ RtkBaseSettingFragment fragment = new RtkBaseSettingFragment();
+ setBasePositionClickListener(fragment);
+ initUiSetting(fragment);
+
+ getSupportFragmentManager()
+ .beginTransaction()
+ .add(R.id.activity_rtk_base_setting_fragment, fragment)
+ .commit();
+
+ mBtnSave = findViewById(R.id.activity_base_setting_btn_save);
+ mBtnSaveApply = findViewById(R.id.activity_base_setting_btn_save_apply);
+
+ mBtnSave.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ RtkBaseSettingFragment fragment = getBaseFragment();
+ if (fragment != null) {
+ if (fragment.saveSettings()) {
+ finish();
+ }
+ }
+ }
+ });
+
+ mBtnSaveApply.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ RtkBaseSettingFragment fragment = getBaseFragment();
+ if (fragment != null) {
+ if (fragment.saveSettings()) {
+ fragment.apply();
+ if (RTK.getInstance() instanceof QxwzRTK) {//千寻的设备没有进度条对话框,所以直接返回上一界面
+ finish();
+ }
+ }
+ }
+ }
+ });
+ }
+
+ public RtkBaseSettingFragment getBaseFragment() {
+ Fragment fragment = DeviceUtil.getCurrentFragment(this, R.id.activity_rtk_base_setting_fragment);
+ if (fragment instanceof RtkBaseSettingFragment) {
+ return (RtkBaseSettingFragment) fragment;
+ }
+ return null;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ int itemId = item.getItemId();
+ if (itemId == android.R.id.home) {
+ finish();
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ switch (keyCode) {
+ case KeyEvent.KEYCODE_BACK:
+ finish();
+ break;
+ }
+ return true;
+ }
+
+ protected abstract void setBasePositionClickListener(RtkBaseSettingFragment fragment);
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/ComnavRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/ComnavRtkBaseSettingActivity.java
new file mode 100644
index 0000000..e43ee3a
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/ComnavRtkBaseSettingActivity.java
@@ -0,0 +1,29 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class ComnavRtkBaseSettingActivity extends RtkBaseSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", true);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", true);
+ bundle.putBoolean("supportAutoStart", false);
+ bundle.putBoolean("supportEnablePPK", true);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportGsmBand", false);
+ bundle.putBoolean("supportExtRadioBaud", true);
+ bundle.putBoolean("supportDelayStart", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/DevecentRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/DevecentRtkBaseSettingActivity.java
new file mode 100644
index 0000000..2c929f7
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/DevecentRtkBaseSettingActivity.java
@@ -0,0 +1,28 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class DevecentRtkBaseSettingActivity extends RtkBaseSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportAutoStart", false);
+ bundle.putBoolean("supportEnablePPK", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportGsmBand", false);
+ bundle.putBoolean("supportExtRadioBaud", true);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/FJDRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/FJDRtkBaseSettingActivity.java
new file mode 100644
index 0000000..3077e31
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/FJDRtkBaseSettingActivity.java
@@ -0,0 +1,29 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class FJDRtkBaseSettingActivity extends RtkBaseSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", true);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", true);
+ bundle.putBoolean("supportAutoStart", false);
+ bundle.putBoolean("supportEnablePPK", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportGsmBand", false);
+ bundle.putBoolean("supportExtRadioBaud", false);
+ bundle.putBoolean("supportDelayStart", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/GeoRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/GeoRtkBaseSettingActivity.java
new file mode 100644
index 0000000..60bd8f1
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/GeoRtkBaseSettingActivity.java
@@ -0,0 +1,27 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class GeoRtkBaseSettingActivity extends RtkBaseSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", true);
+ bundle.putBoolean("supportRadioInterval", true);
+ bundle.putBoolean("supportRadioForeCorrect", true);
+ bundle.putBoolean("supportRadioPowerMode", true);
+ bundle.putBoolean("supportAutoStart", true);
+ bundle.putBoolean("supportEnablePPK", true);
+ bundle.putBoolean("supportAutoConnect", true);
+ bundle.putBoolean("supportPdopThreshold", true);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", true);
+ bundle.putBoolean("supportGsmBand", true);
+ bundle.putBoolean("supportExtRadioBaud", true);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/GeomaxRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/GeomaxRtkBaseSettingActivity.java
new file mode 100644
index 0000000..fab7146
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/GeomaxRtkBaseSettingActivity.java
@@ -0,0 +1,28 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class GeomaxRtkBaseSettingActivity extends RtkBaseSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportAutoStart", false);
+ bundle.putBoolean("supportEnablePPK", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportGsmBand", false);
+ bundle.putBoolean("supportExtRadioBaud", true);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/HuaceRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/HuaceRtkBaseSettingActivity.java
new file mode 100644
index 0000000..3c5131e
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/HuaceRtkBaseSettingActivity.java
@@ -0,0 +1,29 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class HuaceRtkBaseSettingActivity extends RtkBaseSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", true);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", true);
+ bundle.putBoolean("supportAutoStart", false);
+ bundle.putBoolean("supportEnablePPK", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportGsmBand", false);
+ bundle.putBoolean("supportExtRadioBaud", true);
+ bundle.putBoolean("supportDelayStart", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/IceGpsRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/IceGpsRtkBaseSettingActivity.java
new file mode 100644
index 0000000..7ad4f59
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/IceGpsRtkBaseSettingActivity.java
@@ -0,0 +1,28 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class IceGpsRtkBaseSettingActivity extends RtkBaseSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportAutoStart", false);
+ bundle.putBoolean("supportEnablePPK", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportGsmBand", false);
+ bundle.putBoolean("supportExtRadioBaud", true);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/LianshiRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/LianshiRtkBaseSettingActivity.java
new file mode 100644
index 0000000..640eb0b
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/LianshiRtkBaseSettingActivity.java
@@ -0,0 +1,28 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class LianshiRtkBaseSettingActivity extends RtkBaseSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportAutoStart", false);
+ bundle.putBoolean("supportEnablePPK", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportGsmBand", false);
+ bundle.putBoolean("supportExtRadioBaud", true);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/QxwzRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/QxwzRtkBaseSettingActivity.java
new file mode 100644
index 0000000..b70a77d
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/QxwzRtkBaseSettingActivity.java
@@ -0,0 +1,29 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class QxwzRtkBaseSettingActivity extends RtkBaseSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", true);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", true);
+ bundle.putBoolean("supportAutoStart", false);
+ bundle.putBoolean("supportEnablePPK", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportGsmBand", false);
+ bundle.putBoolean("supportExtRadioBaud", false);
+ bundle.putBoolean("supportDelayStart", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkBaseSettingActivity.java
new file mode 100644
index 0000000..77b6419
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkBaseSettingActivity.java
@@ -0,0 +1,89 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import com.bingce.coordlib.model.Blh;
+import com.bingce.coordlib.model.Coordinate;
+import com.bingce.coordlib.model.CoordinateSystem;
+import com.bingce.data.cache.CachedCurrentCoordinateSystem;
+import com.bingce.device.ui.dialog.DialogUtil;
+import com.bingce.device.ui.rtk.RtkBaseSettingFragment;
+import com.bingce.rtk.util.CoordTransUtil;
+import com.bingce.utils.ThreadPoolUtil;
+import com.project.survey.R;
+import com.project.survey.ui.instrument.setupstation.ControlPointsNewActivity;
+import com.project.survey.ui.instrument.setupstation.CoordinatePointsLibraryActivity;
+import com.project.survey.ui.instrument.setupstation.StakingNewJobActivity;
+import com.project.survey.util.CommonUtils;
+
+public class RtkBaseSettingActivity extends AbstractRtkBaseSettingActivity {
+ @Override
+ protected void setBasePositionClickListener(RtkBaseSettingFragment fragment) {
+ fragment.setBasePositionClickListener(coordinateType -> {
+ CommonUtils.hideSoftInput();
+ String[] arr = new String[]{RtkBaseSettingActivity.this.getString(R.string.road_control_point), RtkBaseSettingActivity.this.getString(R.string.global_control_point), RtkBaseSettingActivity.this.getString(R.string.point_survey_point_library), RtkBaseSettingActivity.this.getString(R.string.staking_point_library)};
+ ThreadPoolUtil.execute(new Runnable() {
+ @Override
+ public void run() {
+ CoordinateSystem coordinateSystem = CachedCurrentCoordinateSystem.currentCoordinateSystem();
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ DialogUtil.mMaterialItemsDialog(RtkBaseSettingActivity.this, R.string.data_source, arr, (dialog, itemView, position, text) -> {
+ switch (position) {
+ case 0:
+ ControlPointsNewActivity.pickPoint(RtkBaseSettingActivity.this, false, (name, code, x, y, z, lat, lon, alt, remarks) -> {
+ switch (coordinateType) {
+ case GEODETIC:
+ fragment.setBasePositionBlh(new Blh(lat, lon, alt));
+ break;
+ case PROJECTION:
+ fragment.setBasePositionCoordinate(new Coordinate(x, y, z));
+ break;
+ }
+ });
+ break;
+ case 1:
+ ControlPointsNewActivity.pickPoint(RtkBaseSettingActivity.this, true, (name, code, x, y, z, lat, lon, alt, remarks) -> {
+ switch (coordinateType) {
+ case GEODETIC:
+ fragment.setBasePositionBlh(new Blh(lat, lon, alt));
+ break;
+ case PROJECTION:
+ fragment.setBasePositionCoordinate(new Coordinate(x, y, z));
+ break;
+ }
+ });
+ break;
+ case 2:
+ CoordinatePointsLibraryActivity.pickPoint(RtkBaseSettingActivity.this, (name, code, x, y, z, b, l, h) -> {
+ switch (coordinateType) {
+ case GEODETIC:
+ fragment.setBasePositionBlh(new Blh(b, l, h));
+ break;
+ case PROJECTION:
+ fragment.setBasePositionCoordinate(new Coordinate(x, y, z));
+ break;
+ }
+ });
+ break;
+ case 3:
+ StakingNewJobActivity.pickPoint(RtkBaseSettingActivity.this, (name, x, y, z) -> {
+ switch (coordinateType) {
+ case GEODETIC:
+ Blh blh = CoordTransUtil.xyz2Wgs84Blh(x, y, z, coordinateSystem);
+ fragment.setBasePositionBlh(blh == null ? new Blh() : blh);
+ break;
+ case PROJECTION:
+ fragment.setBasePositionCoordinate(new Coordinate(x, y, z));
+ break;
+ }
+ });
+ break;
+ }
+ });
+ }
+ });
+ }
+ });
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkMatchingPointsActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkMatchingPointsActivity.java
new file mode 100644
index 0000000..df9f732
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkMatchingPointsActivity.java
@@ -0,0 +1,124 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import com.afollestad.materialdialogs.MaterialDialog;
+import com.bingce.coordlib.model.CoordinateSystem;
+import com.bingce.data.database.DBQueryConstant;
+import com.bingce.data.database.KeyValueDb;
+import com.bingce.data.database.ProjectDb;
+import com.bingce.data.surveyor.designdata.project.ProjectConstants;
+import com.bingce.data.surveyor.designdata.project.ProjectRecord;
+import com.bingce.device.ui.rtk.AbstractRtkMatchingPointsActivity;
+
+import com.bingce.utils.IOnSingleGetCallback;
+import com.bingce.utils.ThreadPoolUtil;
+import com.project.survey.App;
+import com.project.survey.R;
+import com.project.survey.ui.instrument.setupstation.BingCeBaseSurveyPresenter;
+import com.project.survey.ui.instrument.setupstation.ControlPointsNewActivity;
+import com.project.survey.ui.instrument.setupstation.CoordinatePointsLibraryActivity;
+import com.project.survey.ui.instrument.setupstation.StakingNewJobActivity;
+
+import blankj.utilcode.util.Utils;
+
+public class RtkMatchingPointsActivity extends AbstractRtkMatchingPointsActivity {
+ @Override
+ protected void hideSoftKey() {
+ BingCeBaseSurveyPresenter.hideSoftKey();
+ }
+
+ @Override
+ protected void speak(String string) {
+ BingCeBaseSurveyPresenter.speak(string);
+ }
+
+ @Override
+ protected void updateLastRTKLocation() {
+ BingCeBaseSurveyPresenter.updateLastRTKLocation();
+ }
+
+ @Override
+ protected boolean checkRegister() {
+ return BingCeBaseSurveyPresenter.checkRegister();
+ }
+
+ @Override
+ protected int volumeUpAction() {
+ return BingCeBaseSurveyPresenter.volumeUpAction();
+ }
+
+ @Override
+ protected int volumeDownAction() {
+ return BingCeBaseSurveyPresenter.volumeDownAction();
+ }
+
+ @Override
+ protected void selectBLH() {
+ new MaterialDialog.Builder(RtkMatchingPointsActivity.this)
+ .title(R.string.data_source)
+ .items(new String[]{getString(R.string.point_survey_point_library)})
+ .itemsCallback((dialog, itemView, which, text) -> {
+ switch (which) {
+ case 0:
+ CoordinatePointsLibraryActivity.pickPoint(this, (name, code, x, y, z, b, l, h) -> {
+ onPicked(b, l, h);
+ });
+ break;
+ }
+ }).show();
+ }
+
+ @Override
+ protected void selectXYZ() {
+ new MaterialDialog.Builder(RtkMatchingPointsActivity.this)
+ .title(R.string.data_source)
+ .items(new String[]{getString(R.string.road_control_point), getString(R.string.global_control_point), getString(R.string.point_survey_point_library), getString(R.string.staking_point_library)})
+ .itemsCallback((dialog, itemView, which, text) -> {
+ switch (which) {
+ case 0:
+ ControlPointsNewActivity.pickPoint(this, false, (name, code, x, y, z, remarks) -> {
+ onPicked(name, x, y, z);
+ });
+ break;
+ case 1:
+ ControlPointsNewActivity.pickPoint(this, true, (name, code, x, y, z, remarks) -> {
+ onPicked(name, x, y, z);
+ });
+ break;
+ case 2:
+ CoordinatePointsLibraryActivity.pickPoint(this, (name, code, x, y, z, b, l, h) -> {
+ onPicked(name, x, y, z);
+ });
+ break;
+ case 3:
+ StakingNewJobActivity.pickPoint(this, (name, x, y, z) -> {
+ onPicked(name, x, y, z);
+ });
+ break;
+ }
+ }).show();
+ }
+
+ @Override
+ protected boolean isThemeDark() {
+ return ((App) Utils.getApp()).isThemeDark;
+ }
+
+ @Override
+ protected void save(CoordinateSystem coordinateSystem) {
+ ProjectDb.getInstance().updateCurrentCoordinator(coordinateSystem);
+ }
+
+ @Override
+ protected void loadCurrentCoordinateSystem(IOnSingleGetCallback callback) {
+ ThreadPoolUtil.execute(() -> {
+ String currentProjectId = KeyValueDb.currentProjectId();
+ ProjectRecord projectRecord = ProjectDb.getInstance()
+ .rawQueryData(DBQueryConstant.findById(ProjectConstants.DB_NAME, currentProjectId));
+ if (projectRecord != null) {
+ runOnUiThread(() -> {
+ callback.onGet(projectRecord.coordinateSystem);
+ });
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkPointCorrectActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkPointCorrectActivity.java
new file mode 100644
index 0000000..4404f3e
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkPointCorrectActivity.java
@@ -0,0 +1,80 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.content.Context;
+import android.content.Intent;
+import android.view.Menu;
+import android.view.MenuItem;
+
+import com.bingce.coordlib.model.CoordinateSystem;
+import com.bingce.data.database.DBQueryConstant;
+import com.bingce.data.database.KeyValueDb;
+import com.bingce.data.database.ProjectDb;
+import com.bingce.data.surveyor.designdata.project.ProjectConstants;
+import com.bingce.device.ui.adapter.AbstractMatchingPointRecyclerViewAdapter;
+import com.bingce.device.ui.rtk.AbstractRtkPointCorrectActivity;
+import com.bingce.surveyor.agentweb.HelpWebActivity;
+import com.bingce.ui.coordinatesystem.BingCeCoordinateSystemActivity;
+import com.bingce.utils.IOnSingleGetCallback;
+import com.bingce.utils.ThreadPoolUtil;
+import com.project.survey.R;
+import com.project.survey.ui.instrument.mobilestationmode.adapter.MatchingPointRecyclerViewAdapter;
+
+
+public class RtkPointCorrectActivity extends AbstractRtkPointCorrectActivity {
+
+ @Override
+ protected void observeCurrentCoordinate(IOnSingleGetCallback callback) {
+ ThreadPoolUtil.execute(() -> {
+ String currentProjectId = KeyValueDb.currentProjectId();
+ runOnUiThread(() -> {
+ ProjectDb.getInstance().rawQueryLiveData(
+ DBQueryConstant.findById(ProjectConstants.DB_NAME, currentProjectId))
+ .observe(this, projectRecord -> {
+ if (projectRecord == null) {
+ return;
+ }
+ callback.onGet(projectRecord.coordinateSystem);
+ });
+ });
+ });
+ }
+
+ @Override
+ protected AbstractMatchingPointRecyclerViewAdapter newMatchingPointRecyclerViewAdapter(Context context, CoordinateSystem coordinateSystem) {
+ return new MatchingPointRecyclerViewAdapter(context, coordinateSystem);
+ }
+
+ @Override
+ protected void startRtkMatchingPointsActivityForResult(int requestCode) {
+ Intent intent = new Intent(RtkPointCorrectActivity.this, RtkMatchingPointsActivity.class);
+ startActivityForResult(intent, requestCode);
+ }
+
+ @Override
+ protected void skip2ProjViewAndModifyCurrentCoordinateSystem() {
+ BingCeCoordinateSystemActivity.skip2ProjViewAndModifyCurrentCoordinateSystem(this);
+ }
+
+ @Override
+ protected void save(CoordinateSystem coordinateSystem) {
+ ProjectDb.getInstance().updateCurrentCoordinator(coordinateSystem);
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ getMenuInflater().inflate(R.menu.menu_activity_rtk_point_correct, menu);
+ return super.onCreateOptionsMenu(menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ if (android.R.id.home == item.getItemId()) {
+ onBackPressed();
+ return true;
+ } else if (R.id.menu_help == item.getItemId()) {
+ HelpWebActivity.navigation2RtkPointCorrectHelp(this);
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/SouthRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/SouthRtkBaseSettingActivity.java
new file mode 100644
index 0000000..f3ecc66
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/SouthRtkBaseSettingActivity.java
@@ -0,0 +1,28 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class SouthRtkBaseSettingActivity extends RtkBaseSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", true);
+ bundle.putBoolean("supportAutoStart", false);
+ bundle.putBoolean("supportEnablePPK", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPdopThreshold", true);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportGsmBand", false);
+ bundle.putBoolean("supportExtRadioBaud", true);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/SpectraRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/SpectraRtkBaseSettingActivity.java
new file mode 100644
index 0000000..75630be
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/SpectraRtkBaseSettingActivity.java
@@ -0,0 +1,29 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class SpectraRtkBaseSettingActivity extends RtkBaseSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportAutoStart", false);
+ bundle.putBoolean("supportEnablePPK", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportGsmBand", false);
+ bundle.putBoolean("supportExtRadioBaud", true);
+ bundle.putBoolean("supportDelayStart", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/TersusRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/TersusRtkBaseSettingActivity.java
new file mode 100644
index 0000000..378622d
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/TersusRtkBaseSettingActivity.java
@@ -0,0 +1,30 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class TersusRtkBaseSettingActivity extends RtkBaseSettingActivity {
+
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportAutoStart", false);
+ bundle.putBoolean("supportEnablePPK", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportGsmBand", false);
+ bundle.putBoolean("supportExtRadioBaud", true);
+ bundle.putBoolean("supportDelayStart", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/ZhdRtkBaseSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/ZhdRtkBaseSettingActivity.java
new file mode 100644
index 0000000..8537ba2
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/ZhdRtkBaseSettingActivity.java
@@ -0,0 +1,29 @@
+package com.project.survey.ui.instrument.mobilestationmode.base;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class ZhdRtkBaseSettingActivity extends RtkBaseSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportAutoStart", false);
+ bundle.putBoolean("supportEnablePPK", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportGsmBand", false);
+ bundle.putBoolean("supportExtRadioBaud", true);
+ bundle.putBoolean("supportDelayStart", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/ComnavRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/ComnavRtkRoverSettingActivity.java
new file mode 100644
index 0000000..aafd9a3
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/ComnavRtkRoverSettingActivity.java
@@ -0,0 +1,25 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class ComnavRtkRoverSettingActivity extends RtkRoverSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", true);
+ bundle.putBoolean("supportRadioInterval", true);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", true);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/DevecentRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/DevecentRtkRoverSettingActivity.java
new file mode 100644
index 0000000..4942f1b
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/DevecentRtkRoverSettingActivity.java
@@ -0,0 +1,25 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class DevecentRtkRoverSettingActivity extends RtkRoverSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/FJDRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/FJDRtkRoverSettingActivity.java
new file mode 100644
index 0000000..ebebb35
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/FJDRtkRoverSettingActivity.java
@@ -0,0 +1,25 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class FJDRtkRoverSettingActivity extends RtkRoverSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", true);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", true);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/GeoRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/GeoRtkRoverSettingActivity.java
new file mode 100644
index 0000000..811d585
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/GeoRtkRoverSettingActivity.java
@@ -0,0 +1,26 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class GeoRtkRoverSettingActivity extends RtkRoverSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", true);
+ bundle.putBoolean("supportRadioInterval", true);
+ bundle.putBoolean("supportRadioForeCorrect", true);
+ bundle.putBoolean("supportRadioPowerMode", true);
+ bundle.putBoolean("supportGGAUploadInterval", true);
+ bundle.putBoolean("supportAutoConnect", true);
+ bundle.putBoolean("supportPPK", true);
+ bundle.putBoolean("supportApnSetting", true);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", true);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/GeomaxRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/GeomaxRtkRoverSettingActivity.java
new file mode 100644
index 0000000..696dd10
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/GeomaxRtkRoverSettingActivity.java
@@ -0,0 +1,26 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class GeomaxRtkRoverSettingActivity extends RtkRoverSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/HuaceRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/HuaceRtkRoverSettingActivity.java
new file mode 100644
index 0000000..55ba39b
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/HuaceRtkRoverSettingActivity.java
@@ -0,0 +1,25 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class HuaceRtkRoverSettingActivity extends RtkRoverSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", true);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/IceGpsRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/IceGpsRtkRoverSettingActivity.java
new file mode 100644
index 0000000..94060fc
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/IceGpsRtkRoverSettingActivity.java
@@ -0,0 +1,25 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class IceGpsRtkRoverSettingActivity extends RtkRoverSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/LianshiRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/LianshiRtkRoverSettingActivity.java
new file mode 100644
index 0000000..382a120
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/LianshiRtkRoverSettingActivity.java
@@ -0,0 +1,25 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class LianshiRtkRoverSettingActivity extends RtkRoverSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/QxwzLiteQuanFangRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/QxwzLiteQuanFangRtkRoverSettingActivity.java
new file mode 100644
index 0000000..db8d530
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/QxwzLiteQuanFangRtkRoverSettingActivity.java
@@ -0,0 +1,25 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class QxwzLiteQuanFangRtkRoverSettingActivity extends RtkRoverSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/QxwzRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/QxwzRtkRoverSettingActivity.java
new file mode 100644
index 0000000..b84906d
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/QxwzRtkRoverSettingActivity.java
@@ -0,0 +1,25 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class QxwzRtkRoverSettingActivity extends RtkRoverSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", true);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", true);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/RtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/RtkRoverSettingActivity.java
new file mode 100644
index 0000000..695cf27
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/RtkRoverSettingActivity.java
@@ -0,0 +1,125 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.annotation.SuppressLint;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.KeyEvent;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.Button;
+
+import androidx.annotation.Keep;
+import androidx.appcompat.widget.Toolbar;
+import androidx.fragment.app.Fragment;
+
+import com.bingce.device.ui.rtk.RtkRoverSettingFragment;
+import com.bingce.device.ui.utils.DeviceUtil;
+import com.bingce.rtk.command.RTK;
+import com.bingce.rtk.command.qxwz.QxwzRTK;
+import com.huawei.hms.hmsscankit.ScanUtil;
+import com.huawei.hms.ml.scan.HmsScan;
+import com.project.survey.R;
+
+import org.polaric.colorful.ColorfulActivity;
+
+
+@Keep
+public class RtkRoverSettingActivity extends ColorfulActivity {
+ protected Button btn_save_apply, btn_save;
+
+ public void initUiSetting(Fragment fragment) {
+
+ }
+
+ @SuppressLint("SourceLockedOrientationActivity")
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_rtk_rover_setting);
+ Toolbar mToolbar = findViewById(R.id.toolbar);
+ setSupportActionBar(mToolbar);
+ if (getSupportActionBar() != null)
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+ RtkRoverSettingFragment fragment = new RtkRoverSettingFragment();
+ initUiSetting(fragment);
+
+ getSupportFragmentManager()
+ .beginTransaction()
+ .add(R.id.activity_rtk_rover_setting_fragment, fragment)
+ .commit();
+
+ btn_save = findViewById(R.id.activity_rover_setting_btn_save);
+ btn_save_apply = findViewById(R.id.activity_rover_setting_btn_save_apply);
+
+ btn_save.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ RtkRoverSettingFragment fragment = getRoverFragment();
+ if (fragment != null) {
+ if (fragment.saveSettings()) {
+ finish();
+ }
+ }
+ }
+ });
+
+ btn_save_apply.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ RtkRoverSettingFragment fragment = getRoverFragment();
+ if (fragment != null) {
+ if (fragment.saveSettings()) {
+ fragment.apply();
+ if (RTK.getInstance() instanceof QxwzRTK) {//千寻没有进度条,所以直接返回上一界面
+ finish();
+ }
+ }
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode != RESULT_OK || data == null) {
+ return;
+ }
+ if (requestCode == RtkRoverSettingFragment.REQUEST_CODE_SCAN_ONE) {
+ HmsScan obj = data.getParcelableExtra(ScanUtil.RESULT);
+ String result = obj.getOriginalValue();
+ RtkRoverSettingFragment fragment = getRoverFragment();
+ if (fragment != null) {
+ fragment.scanResult(result);
+ }
+ }
+ }
+
+ public RtkRoverSettingFragment getRoverFragment() {
+ Fragment fragment = DeviceUtil.getCurrentFragment(this, R.id.activity_rtk_rover_setting_fragment);
+ if (fragment instanceof RtkRoverSettingFragment) {
+ return (RtkRoverSettingFragment) fragment;
+ }
+ return null;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ int itemId = item.getItemId();
+ if (itemId == android.R.id.home) {
+ finish();
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ switch (keyCode) {
+ case KeyEvent.KEYCODE_BACK:
+ finish();
+ break;
+ }
+ return true;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/SouthRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/SouthRtkRoverSettingActivity.java
new file mode 100644
index 0000000..e2b3cff
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/SouthRtkRoverSettingActivity.java
@@ -0,0 +1,26 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class SouthRtkRoverSettingActivity extends RtkRoverSettingActivity {
+
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/SpectraRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/SpectraRtkRoverSettingActivity.java
new file mode 100644
index 0000000..41eef03
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/SpectraRtkRoverSettingActivity.java
@@ -0,0 +1,25 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class SpectraRtkRoverSettingActivity extends RtkRoverSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/TersusRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/TersusRtkRoverSettingActivity.java
new file mode 100644
index 0000000..2c4cf3a
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/TersusRtkRoverSettingActivity.java
@@ -0,0 +1,25 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class TersusRtkRoverSettingActivity extends RtkRoverSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/ZhdRtkRoverSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/ZhdRtkRoverSettingActivity.java
new file mode 100644
index 0000000..95d82c3
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/ZhdRtkRoverSettingActivity.java
@@ -0,0 +1,25 @@
+package com.project.survey.ui.instrument.mobilestationmode.rover;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class ZhdRtkRoverSettingActivity extends RtkRoverSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportRadioFrequency", false);
+ bundle.putBoolean("supportRadioInterval", false);
+ bundle.putBoolean("supportRadioForeCorrect", false);
+ bundle.putBoolean("supportRadioPowerMode", false);
+ bundle.putBoolean("supportGGAUploadInterval", false);
+ bundle.putBoolean("supportAutoConnect", false);
+ bundle.putBoolean("supportPPK", false);
+ bundle.putBoolean("supportApnSetting", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ bundle.putBoolean("supportGsmBand", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/ComnavRtkStaticSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/ComnavRtkStaticSettingActivity.java
new file mode 100644
index 0000000..7d7ab7e
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/ComnavRtkStaticSettingActivity.java
@@ -0,0 +1,21 @@
+package com.project.survey.ui.instrument.mobilestationmode.staticc;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class ComnavRtkStaticSettingActivity extends RtkStaticSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportPointName", true);
+ bundle.putBoolean("supportEleMask", true);
+ bundle.putBoolean("supportAutoRecord", true);
+ bundle.putBoolean("supportFileInterval", false);
+ bundle.putBoolean("supportSatelliteSystem", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/FjdRtkStaticSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/FjdRtkStaticSettingActivity.java
new file mode 100644
index 0000000..c274c1a
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/FjdRtkStaticSettingActivity.java
@@ -0,0 +1,20 @@
+package com.project.survey.ui.instrument.mobilestationmode.staticc;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class FjdRtkStaticSettingActivity extends RtkStaticSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportPointName", true);
+ bundle.putBoolean("supportEleMask", true);
+ bundle.putBoolean("supportAutoRecord", false);
+ bundle.putBoolean("supportFileInterval", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/GeoRtkStaticSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/GeoRtkStaticSettingActivity.java
new file mode 100644
index 0000000..2520254
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/GeoRtkStaticSettingActivity.java
@@ -0,0 +1,7 @@
+package com.project.survey.ui.instrument.mobilestationmode.staticc;
+
+import androidx.annotation.Keep;
+
+@Keep
+public class GeoRtkStaticSettingActivity extends RtkStaticSettingActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/HuaceRtkStaticSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/HuaceRtkStaticSettingActivity.java
new file mode 100644
index 0000000..eaebd3f
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/HuaceRtkStaticSettingActivity.java
@@ -0,0 +1,7 @@
+package com.project.survey.ui.instrument.mobilestationmode.staticc;
+
+import androidx.annotation.Keep;
+
+@Keep
+public class HuaceRtkStaticSettingActivity extends RtkStaticSettingActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/RtkStaticSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/RtkStaticSettingActivity.java
new file mode 100644
index 0000000..ebce7c0
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/RtkStaticSettingActivity.java
@@ -0,0 +1,98 @@
+package com.project.survey.ui.instrument.mobilestationmode.staticc;
+
+import android.annotation.SuppressLint;
+import android.os.Bundle;
+import android.view.KeyEvent;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.Button;
+
+import androidx.annotation.Keep;
+import androidx.appcompat.widget.Toolbar;
+import androidx.fragment.app.Fragment;
+
+import com.bingce.device.ui.rtk.RtkStaticSettingFragment;
+import com.bingce.device.ui.utils.DeviceUtil;
+import com.project.survey.R;
+
+import org.polaric.colorful.ColorfulActivity;
+
+@Keep
+public class RtkStaticSettingActivity extends ColorfulActivity {
+ protected Button btn_apply, btn_save;
+
+ public void initUiSetting(Fragment fragment) {
+
+ }
+
+ @SuppressLint("SourceLockedOrientationActivity")
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_rtk_static_setting);
+ Toolbar mToolbar = findViewById( R.id.toolbar);
+ setSupportActionBar(mToolbar);
+ if (getSupportActionBar() != null)
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+ RtkStaticSettingFragment fragment = new RtkStaticSettingFragment();
+ initUiSetting(fragment);
+
+ getSupportFragmentManager()
+ .beginTransaction()
+ .add( R.id.activity_rtk_static_setting_fragment, fragment)
+ .commit();
+
+ btn_save = findViewById(R.id.activity_static_setting_btn_save);
+ btn_apply = findViewById(R.id.activity_static_setting_btn_save_apply);
+ btn_save.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ RtkStaticSettingFragment fragment = getStaticFragment();
+ if (fragment != null) {
+ if (fragment.saveSettings()) {
+ finish();
+ }
+ }
+ }
+ });
+ btn_apply.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ RtkStaticSettingFragment fragment = getStaticFragment();
+ if (fragment != null) {
+ if (fragment.saveSettings()) {
+ fragment.apply();
+ }
+ }
+ }
+ });
+ }
+
+ public RtkStaticSettingFragment getStaticFragment() {
+ Fragment fragment = DeviceUtil.getCurrentFragment(this, R.id.activity_rtk_static_setting_fragment);
+ if (fragment instanceof RtkStaticSettingFragment) {
+ return (RtkStaticSettingFragment) fragment;
+ }
+ return null;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ int itemId = item.getItemId();
+ if (itemId == android.R.id.home) {
+ finish();
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ switch (keyCode) {
+ case KeyEvent.KEYCODE_BACK:
+ finish();
+ break;
+ }
+ return true;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/SouthRtkStaticSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/SouthRtkStaticSettingActivity.java
new file mode 100644
index 0000000..fd4b8dc
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/SouthRtkStaticSettingActivity.java
@@ -0,0 +1,7 @@
+package com.project.survey.ui.instrument.mobilestationmode.staticc;
+
+import androidx.annotation.Keep;
+
+@Keep
+public class SouthRtkStaticSettingActivity extends RtkStaticSettingActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/ZhdRtkStaticSettingActivity.java b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/ZhdRtkStaticSettingActivity.java
new file mode 100644
index 0000000..70679c5
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/ZhdRtkStaticSettingActivity.java
@@ -0,0 +1,19 @@
+package com.project.survey.ui.instrument.mobilestationmode.staticc;
+
+import android.os.Bundle;
+
+import androidx.annotation.Keep;
+import androidx.fragment.app.Fragment;
+
+@Keep
+public class ZhdRtkStaticSettingActivity extends RtkStaticSettingActivity {
+ @Override
+ public void initUiSetting(Fragment fragment) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean("supportPdopThreshold", false);
+ bundle.putBoolean("supportPointName", false);
+ bundle.putBoolean("supportEleMask", false);
+ bundle.putBoolean("supportAutoRecord", false);
+ fragment.setArguments(bundle);
+ }
+}
diff --git a/app/src/main/res/layout/activity_rtk_base_setting.xml b/app/src/main/res/layout/activity_rtk_base_setting.xml
new file mode 100644
index 0000000..a7038d4
--- /dev/null
+++ b/app/src/main/res/layout/activity_rtk_base_setting.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_rtk_rover_setting.xml b/app/src/main/res/layout/activity_rtk_rover_setting.xml
new file mode 100644
index 0000000..bfc9892
--- /dev/null
+++ b/app/src/main/res/layout/activity_rtk_rover_setting.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_rtk_static_setting.xml b/app/src/main/res/layout/activity_rtk_static_setting.xml
new file mode 100644
index 0000000..33b8665
--- /dev/null
+++ b/app/src/main/res/layout/activity_rtk_static_setting.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_instrument.xml b/app/src/main/res/layout/fragment_instrument.xml
index 48cbd26..33c4615 100644
--- a/app/src/main/res/layout/fragment_instrument.xml
+++ b/app/src/main/res/layout/fragment_instrument.xml
@@ -134,6 +134,7 @@
app:drawableTopCompat="@drawable/total_station_instrumentation_station" />
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/menu_activity_rtk_station.xml b/app/src/main/res/menu/menu_activity_rtk_station.xml
new file mode 100644
index 0000000..255ac3b
--- /dev/null
+++ b/app/src/main/res/menu/menu_activity_rtk_station.xml
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b6d0815..55ccca2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -160,5 +160,7 @@
解状态
修改时间
无(长按记录按钮可以添加备注)
+ 当前仪器类型不支持此操作
+ 当前设备不支持此模式
\ No newline at end of file