feat: 增加POI录像自动捕捉功能

This commit is contained in:
xiaoyan 2023-02-22 14:26:58 +08:00
parent 54358b2ef0
commit 96bb6a35e6
5 changed files with 53 additions and 88 deletions

View File

@ -152,7 +152,7 @@
<!-- 自动捕捉POI录像任务 --> <!-- 自动捕捉POI录像任务 -->
<activity <activity
android:name=".activity.AutoTakePicture4PoiVideoActivity" android:name=".activity.AutoTakePicture4PoiVideoActivity"
android:screenOrientation="portrait" /> android:screenOrientation="landscape" />
<activity <activity
android:name=".activity.UserActivity" android:name=".activity.UserActivity"
android:configChanges="keyboardHidden|orientation" android:configChanges="keyboardHidden|orientation"

View File

@ -170,8 +170,8 @@ public class AutoTakePicture4PoiVideoActivity extends BaseActivity implements Vi
private HashMap<String, List<Marker>> removableHashMap; private HashMap<String, List<Marker>> removableHashMap;
private List<RoadMatchEntity> roadLinkEntityList/*请求到的待匹配道路数据*/, roadMatchEntityList/*已匹配起始点的道路数据*/; private List<RoadMatchEntity> roadLinkEntityList/*请求到的待匹配道路数据*/, roadMatchEntityList/*已匹配起始点的道路数据*/;
private int satelliteCount; // 卫星颗数 private int satelliteCount; // 卫星颗数
private static double MATCH_START_BUFFER_DISTANCE=50e-5; // 匹配起点用到的buffer距离此处5米使用简易判断 private static double MATCH_START_BUFFER_DISTANCE=30e-5; // 匹配起点用到的buffer距离此处5米使用简易判断
private static double MATCH_BUFFER_DISTANCE=30e-5; // 匹配途经点用到的buffer距离此处5米使用简易判断 private static double MATCH_BUFFER_DISTANCE=20e-5; // 匹配途经点用到的buffer距离此处5米使用简易判断
private static float /*UNMATCH_GIVE_UP_DISTANCE_BUFFER = 0.2f*//*放弃的距离匹配阈值*//*, */MATCH_CONFIRM_FINISH_BUFFER=0.75f/*完全匹配的距离阈值*/; private static float /*UNMATCH_GIVE_UP_DISTANCE_BUFFER = 0.2f*//*放弃的距离匹配阈值*//*, */MATCH_CONFIRM_FINISH_BUFFER=0.75f/*完全匹配的距离阈值*/;
private static int /*UNMATCH_BUFFER_START_BUFFER = 5*//*匹配开始后连续未匹配的个数*//*,*/ UNMATCH_BUFFER_MIDDLE_BUFFER = 20/*匹配过程中连续未匹配的个数*/; private static int /*UNMATCH_BUFFER_START_BUFFER = 5*//*匹配开始后连续未匹配的个数*//*,*/ UNMATCH_BUFFER_MIDDLE_BUFFER = 20/*匹配过程中连续未匹配的个数*/;
// private static float UNMATCH_COUNT_BUFFER = UNMATCH_GIVE_UP_DISTANCE_BUFFER/(1-UNMATCH_GIVE_UP_DISTANCE_BUFFER); // private static float UNMATCH_COUNT_BUFFER = UNMATCH_GIVE_UP_DISTANCE_BUFFER/(1-UNMATCH_GIVE_UP_DISTANCE_BUFFER);
@ -517,13 +517,12 @@ public class AutoTakePicture4PoiVideoActivity extends BaseActivity implements Vi
if (result != null && result.getData() != null && result.getData().length > 0) { if (result != null && result.getData() != null && result.getData().length > 0) {
super.onPictureTaken(result); super.onPictureTaken(result);
System.out.println("收到拍照按钮jieguo:"+result.getSize().toString()); System.out.println("收到拍照按钮jieguo:"+result.getSize().toString());
// 道路拍照必须为横向拍照 // poi录像不强制要求必须为横向拍照
// TODO 测试时先解除竖向拍摄检查 // if (Objects.requireNonNull(camera.getSnapshotSize()).getWidth() < camera.getSnapshotSize().getHeight()) {
if (Objects.requireNonNull(camera.getSnapshotSize()).getWidth() < camera.getSnapshotSize().getHeight()) { // ToastUtils.Message(AutoTakePicture4PoiVideoActivity.this, "不允许竖向拍摄...");
ToastUtils.Message(AutoTakePicture4PoiVideoActivity.this, "不允许竖向拍摄..."); // systemTTS.playText("不允许竖向拍摄");
systemTTS.playText("不允许竖向拍摄"); // return;
return; // }
}
File tmpPicFolder = new File(tmpPicFoldPath); File tmpPicFolder = new File(tmpPicFoldPath);
if (!tmpPicFolder.exists()) { if (!tmpPicFolder.exists()) {
@ -1122,7 +1121,7 @@ public class AutoTakePicture4PoiVideoActivity extends BaseActivity implements Vi
.getInstance() .getInstance()
.time(30) .time(30)
.Builder(AutoTakePicture4PoiVideoActivity.this) .Builder(AutoTakePicture4PoiVideoActivity.this)
.url(HttpInterface.RECEIVED_ROAD_TASK + "/" + entity.getDataDetail().getId()) .url(HttpInterface.RECEIVED_POI_VIDEO_TASK + "/" + entity.getDataDetail().getId())
.cls(TaskByNetBean.class) .cls(TaskByNetBean.class)
.params(new HttpParams()) .params(new HttpParams())
.token(Constant.ACCESS_TOKEN); .token(Constant.ACCESS_TOKEN);
@ -1398,7 +1397,7 @@ public class AutoTakePicture4PoiVideoActivity extends BaseActivity implements Vi
OkGoBuilder okGoBuilder = OkGoBuilder.getInstance() OkGoBuilder okGoBuilder = OkGoBuilder.getInstance()
.time(30) .time(30)
.Builder(AutoTakePicture4PoiVideoActivity.this) .Builder(AutoTakePicture4PoiVideoActivity.this)
.url(HttpInterface.ROAD_TASK_SUBMIT) .url(HttpInterface.INSIDE_API_LIST)
.cls(RoadSaveBean.class) .cls(RoadSaveBean.class)
.params(httpParams) .params(httpParams)
.token(Constant.ACCESS_TOKEN); .token(Constant.ACCESS_TOKEN);

View File

@ -68,7 +68,6 @@ public class UserApplication extends Application {
// 初始化对话框组件 // 初始化对话框组件
DialogX.init(this); DialogX.init(this);
DialogX.globalStyle = new MIUIStyle(); DialogX.globalStyle = new MIUIStyle();
DialogX.globalTheme = DialogX.THEME.LIGHT;
} }
public static UserApplication getUserApplication() { public static UserApplication getUserApplication() {

View File

@ -147,18 +147,18 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
if (showPoiEntity != null) { if (showPoiEntity != null) {
if (showPoiEntity.getTaskStatus() == 5) { if (showPoiEntity.getTaskStatus() == 5) {
DialogSettings.style = DialogSettings.STYLE.STYLE_IOS; DialogSettings.style = DialogSettings.STYLE.STYLE_IOS;
MessageDialog.show((AppCompatActivity) Objects.requireNonNull(getActivity()), "提示", "当前在任务作业中,是否退出", "确定", "取消").setOnOkButtonClickListener(new OnDialogButtonClickListener() { MessageDialog.show((AppCompatActivity) requireActivity(), "提示", "当前在任务作业中,是否退出", "确定", "取消").setOnOkButtonClickListener(new OnDialogButtonClickListener() {
@Override @Override
public boolean onClick(BaseDialog baseDialog, View v) { public boolean onClick(BaseDialog baseDialog, View v) {
poiVideoBuilder.append(TimestampUtil.time()).append(",").append("点击了返回当前页面的 确定 按钮,"); poiVideoBuilder.append(TimestampUtil.time()).append(",").append("点击了返回当前页面的 确定 按钮,");
initEndReceiveTask(HttpInterface.UNRECEIVED_POLYGON_TASK, showPoiEntity); initEndReceiveTask(HttpInterface.UNRECEIVED_POLYGON_TASK, showPoiEntity);
Objects.requireNonNull(getActivity()).getSupportFragmentManager().popBackStack(); requireActivity().getSupportFragmentManager().popBackStack();
return false; return false;
} }
}); });
} else if (showPoiEntity.getTaskStatus() == 0 || showPoiEntity.getTaskStatus() == 1) { } else if (showPoiEntity.getTaskStatus() == 0 || showPoiEntity.getTaskStatus() == 1) {
DialogSettings.style = DialogSettings.STYLE.STYLE_IOS; DialogSettings.style = DialogSettings.STYLE.STYLE_IOS;
MessageDialog.show((AppCompatActivity) Objects.requireNonNull(getActivity()), "提示", "当前在任务作业中,是否退出", "确定", "取消").setOnOkButtonClickListener(new OnDialogButtonClickListener() { MessageDialog.show((AppCompatActivity) requireActivity(), "提示", "当前在任务作业中,是否退出", "确定", "取消").setOnOkButtonClickListener(new OnDialogButtonClickListener() {
@Override @Override
public boolean onClick(BaseDialog baseDialog, View v) { public boolean onClick(BaseDialog baseDialog, View v) {
poiVideoBuilder.append(TimestampUtil.time()).append(",").append("点击了返回当前页面的 确定 按钮,"); poiVideoBuilder.append(TimestampUtil.time()).append(",").append("点击了返回当前页面的 确定 按钮,");
@ -186,7 +186,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
obtain1.obj = isSliding; obtain1.obj = isSliding;
EventBus.getDefault().post(obtain1); EventBus.getDefault().post(obtain1);
} }
Objects.requireNonNull(getActivity()).getSupportFragmentManager().popBackStack(); requireActivity().getSupportFragmentManager().popBackStack();
return false; return false;
} }
}); });
@ -205,7 +205,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
obtain1.obj = isSliding; obtain1.obj = isSliding;
EventBus.getDefault().post(obtain1); EventBus.getDefault().post(obtain1);
} }
Objects.requireNonNull(getActivity()).getSupportFragmentManager().popBackStack(); requireActivity().getSupportFragmentManager().popBackStack();
} }
} }
} }
@ -260,7 +260,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
@Override @Override
protected void initData() { protected void initData() {
super.initData(); super.initData();
SharedPreferences sharedPreferences = Objects.requireNonNull(getActivity()).getSharedPreferences(Constant.MESSAGE_TYPE, Context.MODE_PRIVATE); SharedPreferences sharedPreferences = requireActivity().getSharedPreferences(Constant.MESSAGE_TYPE, Context.MODE_PRIVATE);
SharedPreferences.Editor sharedEdit = sharedPreferences.edit(); SharedPreferences.Editor sharedEdit = sharedPreferences.edit();
@SuppressLint("SimpleDateFormat") @SuppressLint("SimpleDateFormat")
DateFormat formatter = new SimpleDateFormat("yyyyMMdd"); DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
@ -360,7 +360,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
if (fileListByUUID.get(i).getPath().contains(".webp") && !fileListByUUID.get(i).getPath().contains("paper.txt")) { if (fileListByUUID.get(i).getPath().contains(".webp") && !fileListByUUID.get(i).getPath().contains("paper.txt")) {
if (fileListByUUID.get(i).exists() && !isImageLoad) { if (fileListByUUID.get(i).exists() && !isImageLoad) {
// 使用glide加载视频的第一帧 // 使用glide加载视频的第一帧
Glide.with(Objects.requireNonNull(getActivity())).load(fileListByUUID.get(i)).into(ivPoiVideoPicture); Glide.with(requireActivity()).load(fileListByUUID.get(i)).into(ivPoiVideoPicture);
isImageLoad = true; isImageLoad = true;
} }
} }
@ -559,7 +559,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
if (never) { if (never) {
ToastUtils.Message(getActivity(), "被永久拒绝授权,请手动授予权限"); ToastUtils.Message(getActivity(), "被永久拒绝授权,请手动授予权限");
// 如果是被永久拒绝就跳转到应用权限系统设置页面 // 如果是被永久拒绝就跳转到应用权限系统设置页面
XXPermissions.startPermissionActivity(Objects.requireNonNull(getActivity()), permissions); XXPermissions.startPermissionActivity(requireActivity(), permissions);
} }
} }
}); });
@ -724,7 +724,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
//表示文件名系统将会在/dada/dada/包名/shared_prefs目录下生成 //表示文件名系统将会在/dada/dada/包名/shared_prefs目录下生成
//一个以该参数命名的.xml文件第二个mode表示创建的模式通过查看 //一个以该参数命名的.xml文件第二个mode表示创建的模式通过查看
//方法注释得知建议以0或者MODE_PRIVATE为默认值 //方法注释得知建议以0或者MODE_PRIVATE为默认值
SharedPreferences poi = Objects.requireNonNull(getActivity()).getSharedPreferences(Constant.DATA_FILE, 0); SharedPreferences poi = requireActivity().getSharedPreferences(Constant.DATA_FILE, 0);
//获取Editor对象 //获取Editor对象
SharedPreferences.Editor edit = poi.edit(); SharedPreferences.Editor edit = poi.edit();
//根据要保存的数据的类型调用对应的put方法, //根据要保存的数据的类型调用对应的put方法,
@ -850,7 +850,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
} }
sb.append("-").append(formats); sb.append("-").append(formats);
poiEntity.setName(sb.toString()); poiEntity.setName(sb.toString());
Objects.requireNonNull(getActivity()).runOnUiThread(new Runnable() { requireActivity().runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
etRoadName.setText(sb); etRoadName.setText(sb);

View File

@ -200,11 +200,11 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
protected void initView() { protected void initView() {
super.initView(); super.initView();
tencentMarkerUtils = new TencentMarkerUtils(); tencentMarkerUtils = new TencentMarkerUtils();
sharedPreferences = Objects.requireNonNull(getActivity()).getSharedPreferences(Constant.MESSAGE_TYPE, Context.MODE_PRIVATE); sharedPreferences = requireActivity().getSharedPreferences(Constant.MESSAGE_TYPE, Context.MODE_PRIVATE);
sharedEdit = sharedPreferences.edit(); sharedEdit = sharedPreferences.edit();
//fragment 管理器 //fragment 管理器
supportFragmentManager = Objects.requireNonNull(getActivity()).getSupportFragmentManager(); supportFragmentManager = requireActivity().getSupportFragmentManager();
builder = new AlertDialog.Builder(Objects.requireNonNull(getActivity())); builder = new AlertDialog.Builder(requireActivity());
frameLayout = findViewById(R.id.frame_layout); frameLayout = findViewById(R.id.frame_layout);
ivRaffish = findViewById(R.id.iv_refrish); ivRaffish = findViewById(R.id.iv_refrish);
ivRaffish.setOnClickListener(this); ivRaffish.setOnClickListener(this);
@ -317,9 +317,12 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
@RequiresApi(api = Build.VERSION_CODES.N) @RequiresApi(api = Build.VERSION_CODES.N)
@Override @Override
public void onClick(View v) { public void onClick(View v) {
PopMenu.show(v, new String[]{"道路任务", "POI录像"}) PopMenu.build()
.setOverlayBaseView(true) .setBaseView(v)
.setAlignGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL) .setMenuList(new String[]{"道路任务", "POI录像"})
.setOverlayBaseView(false)
.setWidth(320)
.setAlignGravity(Gravity.LEFT | Gravity.BOTTOM)
.setOnIconChangeCallBack(new OnIconChangeCallBack<PopMenu>() { .setOnIconChangeCallBack(new OnIconChangeCallBack<PopMenu>() {
@Override @Override
public int getIcon(PopMenu dialog, int index, String menuText) { public int getIcon(PopMenu dialog, int index, String menuText) {
@ -346,44 +349,8 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
} }
return false; return false;
} }
}); })
.show();
// // 设置亮度和摄像机刷新率
// CustomDialog.show((AppCompatActivity) getActivity(), R.layout.camera_setting_pre, new CustomDialog.OnBindView() {
// @Override
// public void onBind(CustomDialog dialog, View v) {
// SharedPreferences sharedPreferences = getActivity().getSharedPreferences("pic", Context.MODE_PRIVATE);
// int brightness = sharedPreferences.getInt("brightness", 40);
// EditText edtBrightness = v.findViewById(R.id.edt_camera_setting_brightness);
// edtBrightness.setText(brightness+"");
//
// int framness = sharedPreferences.getInt("framness", 30);
// EditText edtFramness = v.findViewById(R.id.edt_camera_setting_framness);
// edtFramness.setText(framness+"");
//
// Button btnConfirm = v.findViewById(R.id.btn_camera_setting_confirm);
// btnConfirm.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// SharedPreferences.Editor editor = getActivity().getSharedPreferences("pic", Context.MODE_PRIVATE).edit();
// if (!edtBrightness.getText().toString().isEmpty()) {
// int b = Integer.parseInt(edtBrightness.getText().toString());
// editor.putInt("brightness", b);
// }
// if (!edtFramness.getText().toString().isEmpty()) {
// int f = Integer.parseInt(edtFramness.getText().toString());
// editor.putInt("framness", f);
// }
// editor.commit();
// Toast.makeText(getActivity(), "设置完成", Toast.LENGTH_SHORT).show();
//
// Intent autoMatchIntent = new Intent(getContext(), AutoTakePictureActivity.class);
// startActivity(autoMatchIntent);
// dialog.doDismiss();
// }
// });
// }
// }).setFullScreen(true);
} }
}); });
ivNaviDistance = findViewById(R.id.img_navi_distance); ivNaviDistance = findViewById(R.id.img_navi_distance);
@ -1171,7 +1138,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
@Override @Override
protected void initData() { protected void initData() {
super.initData(); super.initData();
SharedPreferences sharedPreferences = Objects.requireNonNull(getActivity()).getSharedPreferences(Constant.MESSAGE_TYPE, Context.MODE_PRIVATE); SharedPreferences sharedPreferences = requireActivity().getSharedPreferences(Constant.MESSAGE_TYPE, Context.MODE_PRIVATE);
SharedPreferences.Editor sharedEdit = sharedPreferences.edit(); SharedPreferences.Editor sharedEdit = sharedPreferences.edit();
@SuppressLint("SimpleDateFormat") @SuppressLint("SimpleDateFormat")
DateFormat formatter = new SimpleDateFormat("yyyyMMdd"); DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
@ -1198,7 +1165,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
/*奔溃后的数据*/ /*奔溃后的数据*/
private void initSharePre() { private void initSharePre() {
//根据保存时所用的name属性获取SharedPreferences对象 //根据保存时所用的name属性获取SharedPreferences对象
SharedPreferences dataFile = Objects.requireNonNull(getActivity()).getSharedPreferences(Constant.DATA_FILE, 0); SharedPreferences dataFile = requireActivity().getSharedPreferences(Constant.DATA_FILE, 0);
//根据数据类型调用对应的get方法通过键取得对应的值 //根据数据类型调用对应的get方法通过键取得对应的值
String dataFileString = dataFile.getString("poiEntity", null); String dataFileString = dataFile.getString("poiEntity", null);
if (dataFileString != null) { if (dataFileString != null) {
@ -1207,7 +1174,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
case 1: case 1:
DialogSettings.style = DialogSettings.STYLE.STYLE_IOS; DialogSettings.style = DialogSettings.STYLE.STYLE_IOS;
DialogSettings.cancelable = false; DialogSettings.cancelable = false;
MessageDialog.show((AppCompatActivity) Objects.requireNonNull(getContext()), "提示", "你poi页面还有未提交完的数据之前的成果已保存点击确定可继续作业", "确定").setOkButton(new OnDialogButtonClickListener() { MessageDialog.show((AppCompatActivity) requireActivity(), "提示", "你poi页面还有未提交完的数据之前的成果已保存点击确定可继续作业", "确定").setOkButton(new OnDialogButtonClickListener() {
@Override @Override
public boolean onClick(BaseDialog baseDialog, View v) { public boolean onClick(BaseDialog baseDialog, View v) {
treasureBuilder.append(TimestampUtil.time()).append(",").append("未提交完的数据-点击了poi"); treasureBuilder.append(TimestampUtil.time()).append(",").append("未提交完的数据-点击了poi");
@ -1223,7 +1190,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
case 2: case 2:
DialogSettings.style = DialogSettings.STYLE.STYLE_IOS; DialogSettings.style = DialogSettings.STYLE.STYLE_IOS;
DialogSettings.cancelable = false; DialogSettings.cancelable = false;
MessageDialog.show((AppCompatActivity) Objects.requireNonNull(getContext()), "提示", "你充电站页面还有未提交完的数据,之前的成果已保存,点击确定可继续作业", "确定").setOkButton(new OnDialogButtonClickListener() { MessageDialog.show((AppCompatActivity) requireActivity(), "提示", "你充电站页面还有未提交完的数据,之前的成果已保存,点击确定可继续作业", "确定").setOkButton(new OnDialogButtonClickListener() {
@Override @Override
public boolean onClick(BaseDialog baseDialog, View v) { public boolean onClick(BaseDialog baseDialog, View v) {
treasureBuilder.append(TimestampUtil.time()).append(",").append("未提交完的数据-点击了充电站,"); treasureBuilder.append(TimestampUtil.time()).append(",").append("未提交完的数据-点击了充电站,");
@ -1239,7 +1206,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
case 3: case 3:
DialogSettings.style = DialogSettings.STYLE.STYLE_IOS; DialogSettings.style = DialogSettings.STYLE.STYLE_IOS;
DialogSettings.cancelable = false; DialogSettings.cancelable = false;
MessageDialog.show((AppCompatActivity) Objects.requireNonNull(getContext()), "提示", "你poi录像页面还有未提交完的数据之前的成果已保存点击确定可继续作业", "确定").setOkButton(new OnDialogButtonClickListener() { MessageDialog.show((AppCompatActivity) requireActivity(), "提示", "你poi录像页面还有未提交完的数据之前的成果已保存点击确定可继续作业", "确定").setOkButton(new OnDialogButtonClickListener() {
@RequiresApi(api = Build.VERSION_CODES.N) @RequiresApi(api = Build.VERSION_CODES.N)
@Override @Override
public boolean onClick(BaseDialog baseDialog, View v) { public boolean onClick(BaseDialog baseDialog, View v) {
@ -1268,7 +1235,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
case 4: case 4:
DialogSettings.style = DialogSettings.STYLE.STYLE_IOS; DialogSettings.style = DialogSettings.STYLE.STYLE_IOS;
DialogSettings.cancelable = false; DialogSettings.cancelable = false;
MessageDialog.show((AppCompatActivity) Objects.requireNonNull(getContext()), "提示", "你道路页面还有未提交完的数据,之前的成果已保存,点击确定可继续作业", "确定").setOkButton(new OnDialogButtonClickListener() { MessageDialog.show((AppCompatActivity) requireActivity(), "提示", "你道路页面还有未提交完的数据,之前的成果已保存,点击确定可继续作业", "确定").setOkButton(new OnDialogButtonClickListener() {
@Override @Override
public boolean onClick(BaseDialog baseDialog, View v) { public boolean onClick(BaseDialog baseDialog, View v) {
treasureBuilder.append(TimestampUtil.time()).append(",").append("未提交完的数据-点击了道路,"); treasureBuilder.append(TimestampUtil.time()).append(",").append("未提交完的数据-点击了道路,");
@ -1284,7 +1251,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
case 5: case 5:
DialogSettings.style = DialogSettings.STYLE.STYLE_IOS; DialogSettings.style = DialogSettings.STYLE.STYLE_IOS;
DialogSettings.cancelable = false; DialogSettings.cancelable = false;
MessageDialog.show((AppCompatActivity) Objects.requireNonNull(getContext()), "提示", "你其他页面还有未提交完的数据,之前的成果已保存,点击确定可继续作业", "确定").setOkButton(new OnDialogButtonClickListener() { MessageDialog.show((AppCompatActivity) requireActivity(), "提示", "你其他页面还有未提交完的数据,之前的成果已保存,点击确定可继续作业", "确定").setOkButton(new OnDialogButtonClickListener() {
@Override @Override
public boolean onClick(BaseDialog baseDialog, View v) { public boolean onClick(BaseDialog baseDialog, View v) {
treasureBuilder.append(TimestampUtil.time()).append(",").append("未提交完的数据-点击了其他,"); treasureBuilder.append(TimestampUtil.time()).append(",").append("未提交完的数据-点击了其他,");
@ -1307,7 +1274,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
//表示文件名系统将会在/dada/dada/包名/shared_prefs目录下生成 //表示文件名系统将会在/dada/dada/包名/shared_prefs目录下生成
//一个以该参数命名的.xml文件第二个mode表示创建的模式通过查看 //一个以该参数命名的.xml文件第二个mode表示创建的模式通过查看
//方法注释得知建议以0或者MODE_PRIVATE为默认值 //方法注释得知建议以0或者MODE_PRIVATE为默认值
SharedPreferences poi = Objects.requireNonNull(getActivity()).getSharedPreferences(Constant.DATA_FILE, 0); SharedPreferences poi = requireActivity().getSharedPreferences(Constant.DATA_FILE, 0);
//获取Editor对象 //获取Editor对象
SharedPreferences.Editor edit = poi.edit(); SharedPreferences.Editor edit = poi.edit();
//根据要保存的数据的类型调用对应的put方法, //根据要保存的数据的类型调用对应的put方法,
@ -1448,24 +1415,24 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
DialogSettings.style = DialogSettings.STYLE.STYLE_MIUI; DialogSettings.style = DialogSettings.STYLE.STYLE_MIUI;
List<ShareDialog.Item> itemList = new ArrayList<>(); List<ShareDialog.Item> itemList = new ArrayList<>();
if (upload.contains(1)) { if (upload.contains(1)) {
itemList.add(new ShareDialog.Item(Objects.requireNonNull(getContext()), R.drawable.marker_poi, "POI")); itemList.add(new ShareDialog.Item(requireActivity(), R.drawable.marker_poi, "POI"));
} }
if (upload.contains(2)) { if (upload.contains(2)) {
itemList.add(new ShareDialog.Item(Objects.requireNonNull(getContext()), R.drawable.marker_charge, "充电站")); itemList.add(new ShareDialog.Item(requireActivity(), R.drawable.marker_charge, "充电站"));
} }
if (upload.contains(3)) { if (upload.contains(3)) {
itemList.add(new ShareDialog.Item(Objects.requireNonNull(getContext()), R.drawable.marker_poi_video, "POI录像")); itemList.add(new ShareDialog.Item(requireActivity(), R.drawable.marker_poi_video, "POI录像"));
} }
if (upload.contains(4)) { if (upload.contains(4)) {
itemList.add(new ShareDialog.Item(Objects.requireNonNull(getContext()), R.drawable.marker_road, "道路")); itemList.add(new ShareDialog.Item(requireActivity(), R.drawable.marker_road, "道路"));
} }
if (upload.contains(5)) { if (upload.contains(5)) {
itemList.add(new ShareDialog.Item(Objects.requireNonNull(getContext()), R.drawable.marker_other, "其他")); itemList.add(new ShareDialog.Item(requireActivity(), R.drawable.marker_other, "其他"));
} }
if (upload.contains(3)) { if (upload.contains(3)) {
itemList.add(new ShareDialog.Item(Objects.requireNonNull(getContext()), R.drawable.icon_traffic_hub, "交通枢纽")); itemList.add(new ShareDialog.Item(requireActivity(), R.drawable.icon_traffic_hub, "交通枢纽"));
itemList.add(new ShareDialog.Item(Objects.requireNonNull(getContext()), R.drawable.icon_parking_hub, "区域设施")); itemList.add(new ShareDialog.Item(requireActivity(), R.drawable.icon_parking_hub, "区域设施"));
itemList.add(new ShareDialog.Item(Objects.requireNonNull(getContext()), R.drawable.icon_building_inside, "建筑物内部")); itemList.add(new ShareDialog.Item(requireActivity(), R.drawable.icon_building_inside, "建筑物内部"));
} }
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
PoiEntity poiEntity = new PoiEntity(); PoiEntity poiEntity = new PoiEntity();
@ -1478,7 +1445,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
poiEntity.setX(String.valueOf(newPoiLatLng.getLongitude())); poiEntity.setX(String.valueOf(newPoiLatLng.getLongitude()));
poiEntity.setY(String.valueOf(newPoiLatLng.getLatitude())); poiEntity.setY(String.valueOf(newPoiLatLng.getLatitude()));
bundle.putSerializable("poiEntity", poiEntity); bundle.putSerializable("poiEntity", poiEntity);
ShareDialog.show((AppCompatActivity) Objects.requireNonNull(getActivity()), itemList, new ShareDialog.OnItemClickListener() { ShareDialog.show((AppCompatActivity) requireActivity(), itemList, new ShareDialog.OnItemClickListener() {
@Override @Override
public boolean onClick(ShareDialog shareDialog, int index, ShareDialog.Item item) { public boolean onClick(ShareDialog shareDialog, int index, ShareDialog.Item item) {
if (item.getText().equals("POI")) { if (item.getText().equals("POI")) {
@ -1589,7 +1556,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
/*检查网络状态*/ /*检查网络状态*/
private void checkNetWork() { private void checkNetWork() {
showLoadingDialog(); showLoadingDialog();
if (NetWorkUtils.iConnected(Objects.requireNonNull(getContext()))) { // 当前网络可用 if (NetWorkUtils.iConnected(requireActivity())) { // 当前网络可用
checkMyLocation(); checkMyLocation();
} else { // 当前网络不可用 } else { // 当前网络不可用
dismissLoadingDialog(); dismissLoadingDialog();
@ -1630,10 +1597,10 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
if (never) { if (never) {
DialogSettings.style = DialogSettings.STYLE.STYLE_IOS; DialogSettings.style = DialogSettings.STYLE.STYLE_IOS;
DialogSettings.cancelable = false; DialogSettings.cancelable = false;
MessageDialog.show((AppCompatActivity) Objects.requireNonNull(getContext()), "提示", permissions.toString() + " 被永久拒绝授权,请手动授予定位权限,", "确定").setOkButton(new OnDialogButtonClickListener() { MessageDialog.show((AppCompatActivity) requireActivity(), "提示", permissions.toString() + " 被永久拒绝授权,请手动授予定位权限,", "确定").setOkButton(new OnDialogButtonClickListener() {
@Override @Override
public boolean onClick(BaseDialog baseDialog, View v) { public boolean onClick(BaseDialog baseDialog, View v) {
XXPermissions.startPermissionActivity(Objects.requireNonNull(getActivity()), permissions); XXPermissions.startPermissionActivity(requireActivity(), permissions);
getActivity().finish(); getActivity().finish();
return false; return false;
} }
@ -1891,7 +1858,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
dialog.show(); dialog.show();
RecyclerView recyclerView = dialogView.findViewById(R.id.rv_marker_view); RecyclerView recyclerView = dialogView.findViewById(R.id.rv_marker_view);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.addItemDecoration(new DividerItemDecoration(Objects.requireNonNull(getActivity()), DividerItemDecoration.VERTICAL)); recyclerView.addItemDecoration(new DividerItemDecoration(requireActivity(), DividerItemDecoration.VERTICAL));
MarkerAdapter markerAdapter = new MarkerAdapter(list, getActivity()); MarkerAdapter markerAdapter = new MarkerAdapter(list, getActivity());
recyclerView.setAdapter(markerAdapter); recyclerView.setAdapter(markerAdapter);
markerAdapter.setOnBankClick(new MarkerAdapter.OnBankClick() { markerAdapter.setOnBankClick(new MarkerAdapter.OnBankClick() {