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 @@ + + + + + + + + + +