移动站模式

main
huangwei 9 months ago
parent fb0d12cd49
commit 0814bc4f89
  1. 5
      app/src/main/AndroidManifest.xml
  2. 22
      app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt
  3. 491
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/GnssConfigSetActivity.java
  4. 27
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/adapter/MatchingPointRecyclerViewAdapter.java
  5. 109
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/AbstractRtkBaseSettingActivity.java
  6. 29
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/ComnavRtkBaseSettingActivity.java
  7. 28
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/DevecentRtkBaseSettingActivity.java
  8. 29
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/FJDRtkBaseSettingActivity.java
  9. 27
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/GeoRtkBaseSettingActivity.java
  10. 28
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/GeomaxRtkBaseSettingActivity.java
  11. 29
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/HuaceRtkBaseSettingActivity.java
  12. 28
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/IceGpsRtkBaseSettingActivity.java
  13. 28
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/LianshiRtkBaseSettingActivity.java
  14. 29
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/QxwzRtkBaseSettingActivity.java
  15. 89
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkBaseSettingActivity.java
  16. 124
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkMatchingPointsActivity.java
  17. 80
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/RtkPointCorrectActivity.java
  18. 28
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/SouthRtkBaseSettingActivity.java
  19. 29
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/SpectraRtkBaseSettingActivity.java
  20. 30
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/TersusRtkBaseSettingActivity.java
  21. 29
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/base/ZhdRtkBaseSettingActivity.java
  22. 25
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/ComnavRtkRoverSettingActivity.java
  23. 25
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/DevecentRtkRoverSettingActivity.java
  24. 25
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/FJDRtkRoverSettingActivity.java
  25. 26
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/GeoRtkRoverSettingActivity.java
  26. 26
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/GeomaxRtkRoverSettingActivity.java
  27. 25
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/HuaceRtkRoverSettingActivity.java
  28. 25
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/IceGpsRtkRoverSettingActivity.java
  29. 25
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/LianshiRtkRoverSettingActivity.java
  30. 25
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/QxwzLiteQuanFangRtkRoverSettingActivity.java
  31. 25
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/QxwzRtkRoverSettingActivity.java
  32. 125
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/RtkRoverSettingActivity.java
  33. 26
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/SouthRtkRoverSettingActivity.java
  34. 25
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/SpectraRtkRoverSettingActivity.java
  35. 25
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/TersusRtkRoverSettingActivity.java
  36. 25
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/rover/ZhdRtkRoverSettingActivity.java
  37. 21
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/ComnavRtkStaticSettingActivity.java
  38. 20
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/FjdRtkStaticSettingActivity.java
  39. 7
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/GeoRtkStaticSettingActivity.java
  40. 7
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/HuaceRtkStaticSettingActivity.java
  41. 98
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/RtkStaticSettingActivity.java
  42. 7
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/SouthRtkStaticSettingActivity.java
  43. 19
      app/src/main/java/com/project/survey/ui/instrument/mobilestationmode/staticc/ZhdRtkStaticSettingActivity.java
  44. 38
      app/src/main/res/layout/activity_rtk_base_setting.xml
  45. 38
      app/src/main/res/layout/activity_rtk_rover_setting.xml
  46. 38
      app/src/main/res/layout/activity_rtk_static_setting.xml
  47. 2
      app/src/main/res/layout/fragment_instrument.xml
  48. 9
      app/src/main/res/menu/menu_activity_rtk_point_correct.xml
  49. 8
      app/src/main/res/menu/menu_activity_rtk_station.xml
  50. 2
      app/src/main/res/values/strings.xml

@ -130,7 +130,10 @@
android:name=".ui.instrument.setupstation.SetupStationCurrentActivity" android:name=".ui.instrument.setupstation.SetupStationCurrentActivity"
android:exported="true" android:exported="true"
android:windowSoftInputMode="adjustResize|stateHidden" /> android:windowSoftInputMode="adjustResize|stateHidden" />
<activity
android:name=".ui.instrument.mobilestationmode.GnssConfigSetActivity"
android:exported="true"
android:windowSoftInputMode="adjustResize|stateHidden" />
</application> </application>
</manifest> </manifest>

@ -3,10 +3,17 @@ package com.project.survey.ui.home
import android.content.Intent import android.content.Intent
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup 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.ConnectRtkActivity
import com.bingce.device.ui.ConnectTSActivity 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.databinding.FragmentInstrumentBinding
import com.project.survey.ui.base.BaseFragmentBinding 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.satellitosis.SatelliteStatusActivity
import com.project.survey.ui.instrument.setupstation.InstrumentSetFragmentSetupStationTypeUtils import com.project.survey.ui.instrument.setupstation.InstrumentSetFragmentSetupStationTypeUtils
@ -32,6 +39,21 @@ class InstrumentFragment : BaseFragmentBinding<FragmentInstrumentBinding>() {
//全站仪设站 //全站仪设站
InstrumentSetFragmentSetupStationTypeUtils.chooseSetupStationType(this) 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)
}
}
} }

@ -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();
}
}
}
}

@ -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);
}
}

@ -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);
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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;
}
});
}
});
}
});
});
}
}

@ -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<CoordinateSystem> 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);
});
}
});
}
}

@ -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<CoordinateSystem> 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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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;
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -0,0 +1,7 @@
package com.project.survey.ui.instrument.mobilestationmode.staticc;
import androidx.annotation.Keep;
@Keep
public class GeoRtkStaticSettingActivity extends RtkStaticSettingActivity {
}

@ -0,0 +1,7 @@
package com.project.survey.ui.instrument.mobilestationmode.staticc;
import androidx.annotation.Keep;
@Keep
public class HuaceRtkStaticSettingActivity extends RtkStaticSettingActivity {
}

@ -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;
}
}

@ -0,0 +1,7 @@
package com.project.survey.ui.instrument.mobilestationmode.staticc;
import androidx.annotation.Keep;
@Keep
public class SouthRtkStaticSettingActivity extends RtkStaticSettingActivity {
}

@ -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);
}
}

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/toolbar" />
<FrameLayout
android:id="@+id/activity_rtk_base_setting_fragment"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/activity_base_setting_btn_save"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="match_parent"
android:layout_height="@dimen/bt_height"
android:layout_weight="1"
android:singleLine="true"
android:text="@string/save" />
<Button
android:id="@+id/activity_base_setting_btn_save_apply"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="match_parent"
android:layout_height="@dimen/bt_height"
android:layout_weight="1"
android:singleLine="true"
android:text="@string/save_and_apply" />
</LinearLayout>
</LinearLayout>

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/toolbar" />
<FrameLayout
android:id="@+id/activity_rtk_rover_setting_fragment"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/activity_rover_setting_btn_save"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="match_parent"
android:layout_height="@dimen/bt_height"
android:layout_weight="1"
android:singleLine="true"
android:text="@string/save" />
<Button
android:id="@+id/activity_rover_setting_btn_save_apply"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="match_parent"
android:layout_height="@dimen/bt_height"
android:layout_weight="1"
android:singleLine="true"
android:text="@string/save_and_apply" />
</LinearLayout>
</LinearLayout>

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/toolbar" />
<FrameLayout
android:id="@+id/activity_rtk_static_setting_fragment"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/activity_static_setting_btn_save"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="match_parent"
android:layout_height="@dimen/bt_height"
android:layout_weight="1"
android:singleLine="true"
android:text="@string/save" />
<Button
android:id="@+id/activity_static_setting_btn_save_apply"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="match_parent"
android:layout_height="@dimen/bt_height"
android:layout_weight="1"
android:singleLine="true"
android:text="@string/save_and_apply" />
</LinearLayout>
</LinearLayout>

@ -134,6 +134,7 @@
app:drawableTopCompat="@drawable/total_station_instrumentation_station" /> app:drawableTopCompat="@drawable/total_station_instrumentation_station" />
<TextView <TextView
android:id="@+id/tvMobileStationMode"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
@ -145,6 +146,7 @@
app:drawableTopCompat="@drawable/mobile_station_mode" /> app:drawableTopCompat="@drawable/mobile_station_mode" />
<TextView <TextView
android:id="@+id/tvBaseStationMode"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"

@ -0,0 +1,9 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_help"
android:title="@string/help"
app:showAsAction="ifRoom" />
</menu>

@ -0,0 +1,8 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_help"
android:title="@string/help"
app:showAsAction="ifRoom" />
</menu>

@ -160,5 +160,7 @@
<string name="solution_status">解状态</string> <string name="solution_status">解状态</string>
<string name="modify_time">修改时间</string> <string name="modify_time">修改时间</string>
<string name="record_none">无(长按记录按钮可以添加备注)</string> <string name="record_none">无(长按记录按钮可以添加备注)</string>
<string name="current_rtk_type_not_support_this_action">当前仪器类型不支持此操作</string>
<string name="device_not_support_this_mode">当前设备不支持此模式</string>
</resources> </resources>
Loading…
Cancel
Save