From f63bbeb8fe728d165e848c8eeaed7c833f02e23f Mon Sep 17 00:00:00 2001 From: wangdongsheng Date: Wed, 1 Sep 2021 18:52:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=9E=E6=8B=8D=E8=BF=87?= =?UTF-8?q?=E7=A8=8B=E9=97=AA=E9=80=80=EF=BC=8C=E9=87=8D=E6=96=B0=E7=99=BB?= =?UTF-8?q?=E5=85=A5=E6=95=B0=E6=8D=AE=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../outdoor/activity/PictureActivity.java | 10 ++++++- .../outdoor/activity/PicturesActivity.java | 27 ++++++++++++++++++- .../outdoor/fragment/PoiVideoFragment.java | 2 ++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/navinfo/outdoor/activity/PictureActivity.java b/app/src/main/java/com/navinfo/outdoor/activity/PictureActivity.java index 41dfb14..b0fde8c 100644 --- a/app/src/main/java/com/navinfo/outdoor/activity/PictureActivity.java +++ b/app/src/main/java/com/navinfo/outdoor/activity/PictureActivity.java @@ -10,6 +10,7 @@ import android.content.pm.ActivityInfo; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; +import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.DisplayMetrics; @@ -485,7 +486,14 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene } } - + @Override + public void onSaveInstanceState(@NonNull Bundle outState) { + super.onSaveInstanceState(outState); + Message obtain = Message.obtain(); + obtain.what = Constant.PICTURE_VIDEO_WORD; + obtain.obj = true; + EventBus.getDefault().post(obtain); + } public void stopVideoAndFinish() { if (timerTask != null) { diff --git a/app/src/main/java/com/navinfo/outdoor/activity/PicturesActivity.java b/app/src/main/java/com/navinfo/outdoor/activity/PicturesActivity.java index 3d19240..7c532a8 100644 --- a/app/src/main/java/com/navinfo/outdoor/activity/PicturesActivity.java +++ b/app/src/main/java/com/navinfo/outdoor/activity/PicturesActivity.java @@ -7,6 +7,7 @@ import android.content.pm.ActivityInfo; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; +import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.DisplayMetrics; @@ -25,6 +26,7 @@ import com.navinfo.outdoor.R; import com.navinfo.outdoor.api.Constant; import com.navinfo.outdoor.base.BaseActivity; import com.navinfo.outdoor.room.PoiEntity; +import com.navinfo.outdoor.util.AWMp4ParserHelper; import com.navinfo.outdoor.util.GeometryTools; import com.navinfo.outdoor.util.MyTecentLocationSource; import com.otaliastudios.cameraview.CameraException; @@ -181,6 +183,22 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen uiSettings.setTiltGesturesEnabled(false);//禁止倾斜手势. setLocMarkerStyle(LOCATION_TYPE_LOCATION_ROTATE); initLine(); + if (poiEntity.getId() != null) { + List videoFileListByUUID = AWMp4ParserHelper.getInstance().getJPGFileListByUUID(poiEntity.getId()); + if (videoFileListByUUID != null) { + List lineStringByPictureFileList = AWMp4ParserHelper.getInstance().getLineStringByPictureFileList(videoFileListByUUID); + for (int i = 0; i < lineStringByPictureFileList.size(); i++) { + LatLng latLng = lineStringByPictureFileList.get(i); + if (latLng != null) { + BitmapDescriptor pileDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.ic_baseline); + Marker marker = tencentMap.addMarker(new MarkerOptions(latLng).icon(pileDescriptor).alpha(0.9f) + .flat(true) + .clockwise(false)); + removables.add(marker); + } + } + } + } camera.addCameraListener(new CameraListener() {//相机预览监听 @Override public void onPictureTaken(@NonNull @NotNull PictureResult result) { @@ -429,7 +447,14 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen capturePicture.setText("继续采集"); } } - + @Override + public void onSaveInstanceState(@NonNull Bundle outState) { + super.onSaveInstanceState(outState); + Message obtain = Message.obtain(); + obtain.what = Constant.PICTURE_VIDEO_WORD; + obtain.obj = true; + EventBus.getDefault().post(obtain); + } @Override protected void onPause() { super.onPause(); 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 d882994..b1606fe 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java @@ -356,6 +356,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick initPoiSaveLocal(false); break; case R.id.tv_pictures://拍照 + isRequest = 0x102; Intent intents = new Intent(getContext(), PicturesActivity.class); File filePath = AWMp4ParserHelper.getInstance().obtainJPGFilePath(new File(Constant.PICTURE_FOLDER, showPoiEntity.getId()).getAbsolutePath()); intents.putExtra(Constant.INTENT_JPG_PATH, filePath.getAbsolutePath()); @@ -365,6 +366,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick startActivityForResult(intents, 0x102); break; case R.id.tv_picture://录像 + isRequest = 0x101; Intent intent = new Intent(getContext(), PictureActivity.class); File finalFile = AWMp4ParserHelper.getInstance().obtainMp4FilePath(new File(Constant.PICTURE_FOLDER, showPoiEntity.getId()).getAbsolutePath()); intent.putExtra(Constant.INTENT_VIDEO_PATH, finalFile.getAbsolutePath());