diff --git a/app/build.gradle b/app/build.gradle index 46d29da..8f730a3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 29 buildToolsVersion '29.0.2' - ndkVersion '21.0.6113669' + ndkVersion '23.0.7123448' defaultConfig { applicationId "com.navinfo.outdoor" diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java index 58f7f52..35fc83a 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java @@ -333,7 +333,6 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. existence = 0; break; case 1: - rlInternalPhotos.setVisibility(View.GONE); rlElse.setVisibility(View.GONE); rlScutcheon.setVisibility(View.GONE); diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/GatherGetFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/GatherGetFragment.java index 158ce8c..14c202b 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/GatherGetFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/GatherGetFragment.java @@ -28,7 +28,11 @@ import com.navinfo.outdoor.room.PoiDao; import com.navinfo.outdoor.room.PoiDatabase; import com.navinfo.outdoor.room.PoiEntity; import com.navinfo.outdoor.util.GeometryTools; +import com.tencent.tencentmap.mapsdk.maps.model.BitmapDescriptor; +import com.tencent.tencentmap.mapsdk.maps.model.BitmapDescriptorFactory; import com.tencent.tencentmap.mapsdk.maps.model.LatLng; +import com.tencent.tencentmap.mapsdk.maps.model.Marker; +import com.tencent.tencentmap.mapsdk.maps.model.MarkerOptions; import com.vividsolutions.jts.geom.Geometry; import org.greenrobot.eventbus.EventBus; @@ -45,6 +49,7 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe private PoiEntity poiEntity; private PoiDao poiDao; private ChargingPileDao chargingPileDao; + private Marker poiMarker; public static GatherGetFragment newInstance(Bundle bundle) { @@ -126,6 +131,7 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe if (poiEntity.getDist() != null) { tvDistance.setText("距离:" + format5(Double.valueOf(poiEntity.getDist()) / 1000) + "km"); } + } int taskStatus = poiEntity.getTaskStatus(); initViewByTaskStatus(taskStatus); diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java index e8e5434..9751fab 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java @@ -253,21 +253,83 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe initShowPoi(); //禁用所有可操作控件 //disables(); -// ivPanorama.setOnLongClickListener(new View.OnLongClickListener() { -// @Override -// public boolean onLongClick(View v) { -// DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE; -// MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { -// @Override -// public boolean onClick(BaseDialog baseDialog, View v) { -// tagPanorama.isEmpty(); -// return false; -// } -// }); -// return true; -// } -// }); + //拍照长按删除 + onLongDel(); + + } + + private void onLongDel() { + rlPanorama.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE; + MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { + @Override + public boolean onClick(BaseDialog baseDialog, View v) { + ivPanorama.setImageDrawable(null); + return false; + } + }); + return false; + } + }); + rlName.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE; + MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { + @Override + public boolean onClick(BaseDialog baseDialog, View v) { + ivName.setImageDrawable(null); + return false; + } + }); + return false; + } + }); + rlElse.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE; + MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { + @Override + public boolean onClick(BaseDialog baseDialog, View v) { + ivElse.setImageDrawable(null); + return false; + } + }); + return false; + } + }); + rlInternalPhotos.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE; + MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { + @Override + public boolean onClick(BaseDialog baseDialog, View v) { + ivInternal.setImageDrawable(null); + return false; + } + }); + return false; + } + }); + rlCard.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE; + MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { + @Override + public boolean onClick(BaseDialog baseDialog, View v) { + ivCard.setImageDrawable(null); + return false; + } + }); + return false; + } + }); } private void initShowPoi() { diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java index 940af5b..eb1adb8 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java @@ -174,7 +174,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick @Override public boolean onLongClick(View v) { DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE; - MessageDialog.show((AppCompatActivity) getContext(), "提示", "对否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { + MessageDialog.show((AppCompatActivity) getContext(), "提示", "是否删除", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { @Override public boolean onClick(BaseDialog baseDialog, View v) { if (videoFile != null) { @@ -520,7 +520,6 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick }); } }).start(); - Toast.makeText(getActivity(), "保存成功", Toast.LENGTH_SHORT).show(); }else { Toast.makeText(getActivity(), "没有获取到具体位置", Toast.LENGTH_SHORT).show(); } diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/RoadFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/RoadFragment.java index e85f497..bee2562 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/RoadFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/RoadFragment.java @@ -157,7 +157,7 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList @Override public void onClick(View v) { if (v.getTag() == null) { - Toast.makeText(getActivity(), "还没有拍摄视频!", Toast.LENGTH_SHORT).show(); + Toast.makeText(getContext(), "还没有拍摄视频!", Toast.LENGTH_SHORT).show(); return; } File videoFile = (File) v.getTag(); @@ -393,14 +393,14 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList }).start(); //onBackPressed(); } else { - Toast.makeText(getActivity(), "没有申请权限,请手动申请", Toast.LENGTH_SHORT).show(); + Toast.makeText(getContext(), "没有申请权限,请手动申请", Toast.LENGTH_SHORT).show(); } } @Override public void onDenied(List permissions, boolean never) { if (never) { - Toast.makeText(getActivity(), "被永久拒绝授权,请手动授予权限", Toast.LENGTH_SHORT).show(); + Toast.makeText(getContext(), "被永久拒绝授权,请手动授予权限", Toast.LENGTH_SHORT).show(); // 如果是被永久拒绝就跳转到应用权限系统设置页面 XXPermissions.startPermissionActivity(getActivity(), permissions); } @@ -411,11 +411,11 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList private void poiVideoUpload(int body, File fileZip) { if (body == 0) { - Toast.makeText(getActivity(), "请先保存本地在上传", Toast.LENGTH_SHORT).show(); + Toast.makeText(getContext(), "请先保存本地在上传", Toast.LENGTH_SHORT).show(); return; } if (fileZip == null) { - Toast.makeText(getActivity(), "未压缩完成", Toast.LENGTH_SHORT).show(); + Toast.makeText(getContext(), "未压缩完成", Toast.LENGTH_SHORT).show(); return; } OkGo @@ -429,15 +429,17 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList @Override public void onSuccess(Response otherUploadPicBeanResponse) { dismissLoadingDialog(); - Toast.makeText(getActivity(), "上传成功", Toast.LENGTH_SHORT).show(); + new Thread(new Runnable() { @Override public void run() { PoiEntity poiDaoPoiEntity = poiDao.getPoiEntity(showPoiEntity.getId()); poiDao.deletePoiEntity(poiDaoPoiEntity); + getActivity().runOnUiThread(new Runnable() { @Override public void run() { + Toast.makeText(getContext(), "上传成功", Toast.LENGTH_SHORT).show(); getActivity().onBackPressed();//回退 } }); @@ -450,7 +452,7 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList public void onError(Response response) { super.onError(response); dismissLoadingDialog(); - Toast.makeText(getActivity(), response.code() + "", Toast.LENGTH_SHORT).show(); + Toast.makeText(getContext(), response.code() + "", Toast.LENGTH_SHORT).show(); Log.d("TAG", "onError: " + response.code() + ""); } }); @@ -493,16 +495,15 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList if (isLocal) { poiVideoUpload(poiVideoBody, fileZip); } else { - Toast.makeText(getActivity(), "保存成功", Toast.LENGTH_SHORT).show(); + Toast.makeText(getContext(), "保存成功", Toast.LENGTH_SHORT).show(); + onBackPressed(); } } }); } }).start(); - Toast.makeText(getActivity(), "保存成功", Toast.LENGTH_SHORT).show(); - onBackPressed(); }else { - Toast.makeText(getActivity(), "没获取到具体的位置", Toast.LENGTH_SHORT).show(); + Toast.makeText(getContext(), "没获取到具体的位置", Toast.LENGTH_SHORT).show(); } diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/StaySubmitFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/StaySubmitFragment.java index f54dfd6..b566d64 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/StaySubmitFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/StaySubmitFragment.java @@ -81,6 +81,7 @@ public class StaySubmitFragment extends BaseFragment implements View.OnClickList stayXrv.addItemDecoration(new DividerItemDecoration(getContext(), DividerItemDecoration.VERTICAL)); staySubmitAdapter = new StaySubmitAdapter(getContext()); stayXrv.setAdapter(staySubmitAdapter); + //点击条目跳转 staySubmitAdapter.setOnClickItem(new StaySubmitAdapter.onClickItem() { @Override public void item(int position, PoiEntity poiEntity) { diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java index 07991cf..25c77a8 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java @@ -369,6 +369,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen .borderWidth(1); // 绘制折线 Polyline polyline = tencentMap.addPolyline(polylineOptions); + polyline.setZIndex(3); removables.add(polyline); if (latLineString != null && latLineString.size() > 0) { latLng = latLineString.get(0); @@ -384,6 +385,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen strokeColor(0xff000000). //边线宽度15像素 strokeWidth(5)); + polygon.setZIndex(1); removables.add(polygon); if (latPolygon != null && latPolygon.size() > 0) { latLng = latPolygon.get(0); @@ -395,6 +397,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen Marker poiMarker = tencentMap.addMarker(new MarkerOptions(latLng).icon(poiDescriptor).alpha(0.9f) .flat(true) .clockwise(false)); + poiMarker.setZIndex(2); poiMarker.setTag(listBean); removables.add(poiMarker); poiMarker.setClickable(true); @@ -407,6 +410,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen stationMarker.setTag(listBean); removables.add(stationMarker); stationMarker.setClickable(true); + stationMarker.setZIndex(2); break; case 3://poi录像 BitmapDescriptor poiVideoDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.marker_poi_video_bg1); @@ -416,6 +420,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen poiVideoMarker.setTag(listBean); removables.add(poiVideoMarker); poiVideoMarker.setClickable(true); + poiVideoMarker.setZIndex(2); break; case 4://道路录像 BitmapDescriptor roadDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.marker_road_bg); @@ -425,6 +430,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen roadMarker.setTag(listBean); removables.add(roadMarker); roadMarker.setClickable(true); + roadMarker.setZIndex(2); break; case 5://其他 BitmapDescriptor otherDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.marker_other_bg1); @@ -434,6 +440,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen otherMarker.setTag(listBean); removables.add(otherMarker); otherMarker.setClickable(true); + otherMarker.setZIndex(2); break; case 6://面状任务 BitmapDescriptor Descriptor = BitmapDescriptorFactory.fromResource(R.drawable.poi_video_bg); @@ -444,6 +451,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen planarMarker.setTag(listBean); removables.add(planarMarker); planarMarker.setClickable(true); + planarMarker.setZIndex(2); break; } } @@ -517,6 +525,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen .borderWidth(1); // 绘制折线 Polyline polyline = tencentMap.addPolyline(polylineOptions); + polyline.setZIndex(3); removablesLocality.add(polyline); if (latLineString != null && latLineString.size() > 0) { latLng = latLineString.get(0); @@ -532,6 +541,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen strokeColor(0xff00ff00). //边线宽度15像素 strokeWidth(5)); + polygon.setZIndex(1); removablesLocality.add(polygon); if (latPolygon != null && latPolygon.size() > 0) { latLng = latPolygon.get(0); @@ -550,6 +560,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen .flat(true) .clockwise(false)); poiMarker.setClickable(true); + poiMarker.setZIndex(2); poiMarker.setTitle(poiEntity.getName() + ""); poiMarker.setTag(poiEntity); removablesLocality.add(poiMarker); @@ -562,6 +573,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen .flat(true) .clockwise(false)); stationMarker.setClickable(true); + stationMarker.setZIndex(2); stationMarker.setTitle(poiEntity.getName() + ""); stationMarker.setTag(poiEntity); removablesLocality.add(stationMarker); @@ -572,6 +584,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen .flat(true) .clockwise(false)); poiVideoMarker.setClickable(true); + poiVideoMarker.setZIndex(2); poiVideoMarker.setTitle(poiEntity.getName() + ""); poiVideoMarker.setTag(poiEntity); removablesLocality.add(poiVideoMarker); @@ -582,6 +595,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen .flat(true) .clockwise(false)); roadMarker.setClickable(true); + roadMarker.setZIndex(2); roadMarker.setTitle(poiEntity.getName() + ""); roadMarker.setTag(poiEntity); removablesLocality.add(roadMarker); @@ -592,6 +606,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen .flat(true) .clockwise(false)); otherMarker.setClickable(true); + otherMarker.setZIndex(2); otherMarker.setTitle(poiEntity.getName() + ""); otherMarker.setTag(poiEntity); removablesLocality.add(otherMarker); @@ -602,6 +617,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen .clockwise(false) .flat(true)); planarMarker.setClickable(true); + planarMarker.setZIndex(2); planarMarker.setTitle(poiEntity.getName() + ""); planarMarker.setTag(poiEntity); removablesLocality.add(planarMarker); @@ -965,7 +981,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen sliding_layout.setPanelState(SlidingUpPanelLayout.PanelState.HIDDEN); for (int i = 0; i < poiEntities.size(); i++) { LatLng position = new LatLng(Double.valueOf(poiEntities.get(i).getY()), Double.valueOf(poiEntities.get(i).getX())); - tencentMap.addMarker(new MarkerOptions(position)); + tencentMap.addMarker(new MarkerOptions(position).zIndex(2)); } } @@ -1267,15 +1283,15 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen private void showPoiMarkerByType(int type, LatLng latLng) { if (type == 1) { - markerPoi = tencentMap.addMarker(new MarkerOptions(latLng).icon(bitmapDescriptor1)); + markerPoi = tencentMap.addMarker(new MarkerOptions(latLng).icon(bitmapDescriptor1).zIndex(2)); } else if (type == 2) { - markerPoi = tencentMap.addMarker(new MarkerOptions(latLng).icon(bitmapDescriptor2)); + markerPoi = tencentMap.addMarker(new MarkerOptions(latLng).icon(bitmapDescriptor2).zIndex(2)); } else if (type == 3) { - markerPoi = tencentMap.addMarker(new MarkerOptions(latLng).icon(bitmapDescriptor3)); + markerPoi = tencentMap.addMarker(new MarkerOptions(latLng).icon(bitmapDescriptor3).zIndex(2)); } else if (type == 4) { - markerPoi = tencentMap.addMarker(new MarkerOptions(latLng).icon(bitmapDescriptor4)); + markerPoi = tencentMap.addMarker(new MarkerOptions(latLng).icon(bitmapDescriptor4).zIndex(2)); } else if (type == 5) { - markerPoi = tencentMap.addMarker(new MarkerOptions(latLng).icon(bitmapDescriptor5)); + markerPoi = tencentMap.addMarker(new MarkerOptions(latLng).icon(bitmapDescriptor5).zIndex(2)); } } diff --git a/app/src/main/java/com/navinfo/outdoor/room/PoiEntity.java b/app/src/main/java/com/navinfo/outdoor/room/PoiEntity.java index 7a1c73b..d3c7084 100644 --- a/app/src/main/java/com/navinfo/outdoor/room/PoiEntity.java +++ b/app/src/main/java/com/navinfo/outdoor/room/PoiEntity.java @@ -42,7 +42,7 @@ public class PoiEntity implements Serializable { private String y;//纬度 private String detail;//深度信息 private String dist;//距离用户位置 - private int taskStatus;//任务状态 0.未领取 1.已领取,2.未保存(保存到本地但未提交成功),3.已保存(保存到本地提交成功),4已上传(结束采集), + private int taskStatus;//任务状态 0.未领取 1.已领取,2.未保存(保存到本地但未提交成功),3.已保存(保存到本地提交成功),4已上传(结束采集) private int type;//1 "POI"2 "充电站"3 "POI录像"4 "道路录像"5 "其他"6 "面状任务" private int station_type;//1."充电站"2 "充换电站"3 "充电桩组"4 "换电站"5 "门牌", "公交:6 情报:7 private int isLocalData;//是否是本地数据 0,服务 1,本地 diff --git a/app/src/main/res/layout/fragment_other.xml b/app/src/main/res/layout/fragment_other.xml index 1af56bf..1234974 100644 --- a/app/src/main/res/layout/fragment_other.xml +++ b/app/src/main/res/layout/fragment_other.xml @@ -208,6 +208,7 @@ @@ -241,6 +242,7 @@ diff --git a/app/src/main/res/layout/other_header.xml b/app/src/main/res/layout/other_header.xml index 810c75b..78286e2 100644 --- a/app/src/main/res/layout/other_header.xml +++ b/app/src/main/res/layout/other_header.xml @@ -3,89 +3,22 @@ android:layout_width="match_parent" android:layout_height="wrap_content" xmlns:app="http://schemas.android.com/apk/res-auto"> - - - - - - - - - - - - - - + app:layout_constraintTop_toTopOf="parent"/> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/poi_fragment.xml b/app/src/main/res/layout/poi_fragment.xml index 0465f0d..6bf5af4 100644 --- a/app/src/main/res/layout/poi_fragment.xml +++ b/app/src/main/res/layout/poi_fragment.xml @@ -263,7 +263,6 @@ android:layout_height="match_parent" android:layout_marginTop="10dp" android:background="@drawable/selector_red_bg" - android:layout_marginRight="10dp" android:layout_marginBottom="10dp">