From 409f2a38792d58918c76503f17cd0a7ea7606061 Mon Sep 17 00:00:00 2001 From: wds Date: Thu, 19 Aug 2021 13:05:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9poiVideo=E7=9A=84=E6=96=B0?= =?UTF-8?q?=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../outdoor/activity/PicturesActivity.java | 122 ++++++++------- .../outdoor/fragment/PoiVideoFragment.java | 145 +++++++++++++----- .../outdoor/fragment/RoadFragment.java | 2 +- .../outdoor/fragment/TreasureFragment.java | 4 + .../java/com/navinfo/outdoor/room/PoiDao.java | 2 + app/src/main/res/layout/activity_pictures.xml | 10 +- .../main/res/layout/poi_video_fragment.xml | 13 +- 7 files changed, 196 insertions(+), 102 deletions(-) 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 a9c69ab..8b2607b 100644 --- a/app/src/main/java/com/navinfo/outdoor/activity/PicturesActivity.java +++ b/app/src/main/java/com/navinfo/outdoor/activity/PicturesActivity.java @@ -11,6 +11,7 @@ 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; import android.util.Log; @@ -83,24 +84,42 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen private TencentMap tencentMap; private MyLocationStyle locationStyle; private TextureMapView ivMap; - private CheckBox captureVideo; // 拍摄视频 - private Button btnVideo, stopVideo; + private Button stopPicture; - private String finalVideoPath; // 摄像后最终保存的文件名 - private File tmpFile; // 合并文件的临时文件路径 - private Timer timer; - private CsvTimerTask timerTask; // 执行定时写入csv文件的task - private DateFormat formatter; - private final long period = 1; // 记录csv文件的间隔时间,单位为秒 + // private String finalVideoPath; // 摄像后最终保存的文件名 + // private File tmpFile; // 合并文件的临时文件路径 + //private Timer timer; + // private CsvTimerTask timerTask; // 执行定时写入csv文件的task + // private DateFormat formatter; + // private final long period = 1; // 记录csv文件的间隔时间,单位为秒 private ViewGroup layerChange; // 切换地图和相机的父控件 - private boolean isFinishActivity = false; // 是否需要关闭当前activity + // private boolean isFinishActivity = false; // 是否需要关闭当前activity + private CheckBox capturePicture;//拍照 + private ArrayList pictureList; + private Handler handler=new Handler(new Handler.Callback() { + @Override + public boolean handleMessage(@NonNull Message msg) { + if (msg.what==0&&listenerPicture){ + File file= (File) msg.obj; + pictureList.add(file); + if (camera.isTakingPicture()){ + camera.destroy(); + }else { + camera.takePicture(); + } + + } + return false; + } + }); + private boolean listenerPicture=true; @Override protected int getLayout() { - EventBus.getDefault().register(this); + /* EventBus.getDefault().register(this); tmpFile = new File(Constant.PICTURE_FOLDER, "temp.mp4"); - formatter = new SimpleDateFormat("yyyyMMdd HHmmss"); + formatter = new SimpleDateFormat("yyyyMMdd HHmmss");*/ return R.layout.activity_pictures; } @@ -108,16 +127,13 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen protected void initView() { super.initView(); - if (getIntent()!=null) { + /* if (getIntent()!=null) { finalVideoPath = getIntent().getStringExtra(Constant.INTENT_VIDEO_PATH); - } - if (finalVideoPath == null) { - finalVideoPath = Constant.PICTURE_FOLDER+"/final.mp4"; - } - + }*/ + pictureList = new ArrayList<>(); layerChange = findViewById(R.id.layer_change); - timer = new Timer(); + //timer = new Timer(); // this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); ivMap = (TextureMapView) findViewById(R.id.iv_map); @@ -129,23 +145,23 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen CameraLogger.setLogLevel(CameraLogger.LEVEL_VERBOSE); camera = findViewById(R.id.camera); camera.setOnClickListener(this::onClick); - captureVideo = findViewById(R.id.capuretVideo); - captureVideo.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + capturePicture = findViewById(R.id.capuret_picture); + capturePicture.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { // 开始采集,设置按钮文字内容为“结束采集” - captureVideo.setText("暂停采集"); -// stopVideo.setEnabled(false);// 开始采集视频后,禁用停止采集的按钮,必须暂停采集后才可点击停止采集 - startTakenVideo(); // 开始采集视频 + capturePicture.setText("暂停采集"); + listenerPicture= true; + camera.takePicture(); } else { - stopTakenVideo(); - captureVideo.setText("开始采集"); + listenerPicture = false; + capturePicture.setText("开始采集"); } } }); - stopVideo = findViewById(R.id.btn_stop_video); - stopVideo.setOnClickListener(this::onClick); + stopPicture = findViewById(R.id.btn_stop_picture); + stopPicture.setOnClickListener(this::onClick); //拍照权限 camera.setLifecycleOwner(this); camera.setEngine(Engine.CAMERA1); @@ -198,12 +214,17 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen super.onPictureTaken(result); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); + SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss"); String format = formatter.format(calendar.getTime()); //文件 File file = new File(Constant.PICTURE_FOLDER, format + ".jpg"); result.toFile(file, new FileCallback() { @Override public void onFileReady(@Nullable @org.jetbrains.annotations.Nullable File file) { + Message message = new Message(); + message.what=0; + message.obj=file; + handler.sendMessageDelayed(message,2000); Toast.makeText(PicturesActivity.this, "保存成功:" + file.getPath(), Toast.LENGTH_SHORT).show(); } }); @@ -221,7 +242,7 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen super.onVideoTaken(result); Toast.makeText(PicturesActivity.this, "暂停摄像", Toast.LENGTH_SHORT).show(); //showLoadingDialog(); - new Thread(new Runnable() { + /* new Thread(new Runnable() { @Override public void run() { if (result!=null) { @@ -259,7 +280,7 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen } }); } - }).start(); + }).start();*/ } @Override @@ -271,9 +292,9 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen @Override public void onVideoRecordingStart() { super.onVideoRecordingStart(); - /** + /* *//** * 获取当前视频的时间,记录csv文件时使用 - * */ + * *//* long currentTime = AWMp4ParserHelper.getInstance().getVedioTotalTime(new File(finalVideoPath)); timerTask = new CsvTimerTask(new File(finalVideoPath+".txt")); @@ -284,17 +305,17 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen timerTask.setCurrentVideoTime(currentTime/1000+1); timer.schedule(timerTask, 1, period*1000); } - +*/ } @Override public void onVideoRecordingEnd() { super.onVideoRecordingEnd(); - if (timerTask!=null){ + /* if (timerTask!=null){ timerTask.cancel(); }else { // Toast.makeText(PictureActivity.this, "请先拍照", Toast.LENGTH_SHORT).show(); - } + }*/ } }); @@ -321,7 +342,7 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen @Override protected void initData() { super.initData(); - camera.setMode(Mode.VIDEO); + camera.setMode(Mode.PICTURE); } @Override public void onClick(View v) { @@ -335,22 +356,17 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen // File file = new File(Constant.PICTURE_FOLDER, format + ".mp4"); // cameraView.takeVideo(file, 15000); // break; - case R.id.btn_stop_video: - if (timerTask!=null){ - timerTask.cancel(); - Intent intent = new Intent(); - intent.putExtra(Constant.INTENT_VIDEO_PATH, finalVideoPath); - setResult(0x101, intent); - }else { - Toast.makeText(this, "本段视频没有计时!", Toast.LENGTH_SHORT).show(); - } - if (camera.isTakingVideo()) { - isFinishActivity = true; - camera.stopVideo(); - } else { - finish(); - } + case R.id.btn_stop_picture: +/* if (camera.isTakingPicture()) { + } else { + + }*/ + camera.destroy(); + Intent intent = new Intent(); + intent.putExtra(Constant.INTENT_VIDEO_PATH,pictureList ); + setResult(0x102, intent); + finish(); break; case R.id.btn_switch: @@ -484,7 +500,7 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen super.onDestroy(); stopTakenVideo(); camera.destroy(); - timer.cancel(); + // timer.cancel(); if (EventBus.getDefault().isRegistered(this)) { EventBus.getDefault().unregister(this); } @@ -530,7 +546,7 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen public void run() { // 记录当前时间、视频时间、以及当前经纬度信息 StringBuffer sb = new StringBuffer(); - sb.append(formatter.format(new Date())); // 记录当前时间 + // sb.append(formatter.format(new Date())); // 记录当前时间 sb.append(","); sb.append(currentVideoTime) ;// 记录视频时间 sb.append(","); @@ -539,7 +555,7 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen sb.append(Constant.currentLocation.getLongitude()); sb.append("\r\n"); FileUtils.writeFile(csvFile.getAbsolutePath(), sb.toString(), true); - currentVideoTime = currentVideoTime+period; // + // currentVideoTime = currentVideoTime+period; // } } } \ No newline at end of file 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 b35c49c..8d2ce4a 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/PoiVideoFragment.java @@ -28,6 +28,7 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.core.widget.NestedScrollView; +import com.bumptech.glide.Glide; import com.github.lazylibrary.util.FileUtils; import com.github.lazylibrary.util.StringUtils; import com.github.lazylibrary.util.ZipUtil; @@ -48,6 +49,7 @@ import com.navinfo.outdoor.activity.PictureActivity; import com.navinfo.outdoor.activity.PicturesActivity; import com.navinfo.outdoor.api.Constant; import com.navinfo.outdoor.base.BaseDrawerFragment; +import com.navinfo.outdoor.bean.Info; import com.navinfo.outdoor.bean.OtherUploadPicBean; import com.navinfo.outdoor.bean.PoiSaveBean; import com.navinfo.outdoor.bean.PoiVideoBean; @@ -74,6 +76,7 @@ import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import java.io.File; +import java.io.Serializable; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -103,6 +106,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick private NestedScrollView nestedScrollView; private LatLng latLng; private Marker markerPoiVideo; + private TextView tvPicture; public static PoiVideoFragment newInstance(Bundle bundle) { PoiVideoFragment fragment = new PoiVideoFragment(); @@ -162,8 +166,10 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick super.initView(); poiDatabase = PoiDatabase.getInstance(getContext()); poiDao = poiDatabase.getPoiDao(); - tvPictures = (TextView) findViewById(R.id.tv_pictures); + tvPictures = (TextView) findViewById(R.id.tv_pictures);//拍照 tvPictures.setOnClickListener(this::onClick); + tvPicture = (TextView) findViewById(R.id.tv_picture);//录像 + tvPicture.setOnClickListener(this::onClick); setSlidingUpPanelLayout(Constant.SLIDING_LAYOUT); nestedScrollView = findViewById(R.id.nested_scroll_view); if (slidingPaneLayout != null) { @@ -181,7 +187,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick btnPoiVideoUpload = findViewById(R.id.btn_poi_video_upload); btnPoiVideoUpload.setOnClickListener(this::onClick); rgType = (RadioGroup) findViewById(R.id.rg_type); - fmPoiVideoPic.setOnClickListener(new View.OnClickListener() { + /* fmPoiVideoPic.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (v.getTag() == null || ((List) v.getTag()).size() == 0) { @@ -196,7 +202,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick intent.putExtra(Constant.INTENT_VIDEO_PATH, finalFile.getAbsolutePath()); startActivityForResult(intent, 0x101); } - }); + });*/ fmPoiVideoPic.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { @@ -245,29 +251,47 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick etDesc.setText(describe + ""); } String photoList = showPoiEntity.getPhoto(); - if (!StringUtils.isEmpty(photoList)) { - String[] photos = photoList.split(","); - List videoFileList = new ArrayList<>(); - boolean isImageLoad = false; - if (photos != null && photos.length > 0) { - for (int i = 0; i < photos.length; i++) { - String photo = photos[i]; - if (!StringUtils.isEmpty(photo)) { - File videoFile = new File(photo); - videoFileList.add(new File(photo)); - if (videoFile.getPath().contains("0.mp4") && !videoFile.getPath().contains("0.mp4.txt")) { - if (videoFile.exists() && !isImageLoad) { - // 使用glide加载视频的第一帧 - AWMp4ParserHelper.getInstance().loadFirstWithGlide(getActivity(), Uri.fromFile(videoFile).toString(), ivPoiVideoPicture, 500); - isImageLoad = true; - } - } + if (showPoiEntity.getPhotoInfo()!=null&&photoList==null){ + tvPicture.setEnabled(false); + ArrayList files = new ArrayList<>(); + List list = showPoiEntity.getPhotoInfo(); + for (int i = 0; i < list.size(); i++) { + files.add(new File(list.get(i).getPhoto())); + } + if (files!=null){ + Uri uri = Uri.fromFile(files.get(0)); + Glide.with(getContext()).load(uri).into(ivPoiVideoPicture); + fmPoiVideoPic.setTag(files); + } + + }else if (showPoiEntity.getPhotoInfo()==null&&photoList!=null){ + tvPictures.setEnabled(false); + if (!StringUtils.isEmpty(photoList)) { + String[] photos = photoList.split(","); + List videoFileList = new ArrayList<>(); + boolean isImageLoad = false; + if (photos != null && photos.length > 0) { + for (int i = 0; i < photos.length; i++) { + String photo = photos[i]; + if (!StringUtils.isEmpty(photo)) { + File videoFile = new File(photo); + videoFileList.add(new File(photo)); + if (videoFile.getPath().contains("0.mp4") && !videoFile.getPath().contains("0.mp4.txt")) { + if (videoFile.exists() && !isImageLoad) { + // 使用glide加载视频的第一帧 + AWMp4ParserHelper.getInstance().loadFirstWithGlide(getActivity(), Uri.fromFile(videoFile).toString(), ivPoiVideoPicture, 500); + isImageLoad = true; + } + } + + } } + fmPoiVideoPic.setTag(videoFileList); } - fmPoiVideoPic.setTag(videoFileList); } } + } //判断是否是已做完任务并保存成功 if (showPoiEntity.getTaskStatus() == 3) { @@ -280,6 +304,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick rgType.setEnabled(false); ivPoiVideoPicture.setEnabled(false); tvPictures.setEnabled(false); + tvPicture.setEnabled(false); etDesc.setEnabled(false); btnRoadSave.setEnabled(false); rbCar.setEnabled(false); @@ -304,7 +329,13 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick case R.id.btn_poi_video_save: initPoiSaveLocal(false); break; - case R.id.tv_pictures: + case R.id.tv_pictures://拍照 + tvPicture.setEnabled(false); + Intent intents = new Intent(getContext(), PicturesActivity.class); + startActivityForResult(intents, 0x102); + break; + case R.id.tv_picture://录像 + tvPictures.setEnabled(false); // 根据用户点击的时间为视频名称赋值 // DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss"); // String videoFormatName = formatter.format(new Date()); @@ -314,7 +345,6 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick intent.putExtra("poiEntity", showPoiEntity); startActivityForResult(intent, 0x101); break; - case R.id.btn_poi_video_upload: showLoadingDialog(); setLoadingDialogText("压缩中..."); @@ -534,6 +564,16 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick fmPoiVideoPic.setTag(videoFileListByUUID); } } + } else if (requestCode == 0x102 && resultCode == 0x102) { + if (data != null) { + List serializableExtra = (List) data.getSerializableExtra(Constant.INTENT_VIDEO_PATH); + if (serializableExtra!=null){ + Uri uri = Uri.fromFile(serializableExtra.get(0)); + Glide.with(getContext()).load(uri).into(ivPoiVideoPicture); + fmPoiVideoPic.setTag(serializableExtra); + } + + } } } @@ -602,7 +642,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick obtain.what = Constant.JOB_WORD_MONITOR; obtain.obj = true; EventBus.getDefault().post(obtain); - }else { + } else { Message obtain = Message.obtain(); obtain.what = Constant.JOB_WORD_MONITOR; obtain.obj = true; @@ -701,7 +741,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick } String desc = etDesc.getText().toString().trim(); if (desc != null && !desc.equals("")) { - poiEntity.setDescribe(desc); + poiEntity.setMemo(desc); } DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar calendar = Calendar.getInstance(); @@ -711,20 +751,33 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick poiEntity.setType(3); poiEntity.setTaskStatus(2); poiEntity.setIsLocalData(1); - if (fmPoiVideoPic.getTag() == null) { - List videoFileListByUUID = AWMp4ParserHelper.getInstance().getVideoFileListByUUID(showPoiEntity.getId()); - if (videoFileListByUUID != null) { - fmPoiVideoPic.setTag(videoFileListByUUID); + + if (tvPicture.isEnabled()){ + if (fmPoiVideoPic.getTag() == null) { + List videoFileListByUUID = AWMp4ParserHelper.getInstance().getVideoFileListByUUID(showPoiEntity.getId()); + if (videoFileListByUUID != null) { + fmPoiVideoPic.setTag(videoFileListByUUID); + } + } + if (fmPoiVideoPic.getTag() != null && !((List) fmPoiVideoPic.getTag()).isEmpty()) { + List lineStringByVideoFileList = AWMp4ParserHelper.getInstance().getLineStringByVideoFileList((List) fmPoiVideoPic.getTag()); + String lineString = GeometryTools.getLineString(lineStringByVideoFileList); + Log.d("TAG", "onGranted: " + lineString); + String photoStr = AWMp4ParserHelper.getInstance().getVideoFileListStr((List) fmPoiVideoPic.getTag()); + poiEntity.setPhoto(photoStr); + if (lineString != null) { + poiEntity.setGeoWkt(lineString); + } } } - if (fmPoiVideoPic.getTag() != null && !((List) fmPoiVideoPic.getTag()).isEmpty()) { - List lineStringByVideoFileList = AWMp4ParserHelper.getInstance().getLineStringByVideoFileList((List) fmPoiVideoPic.getTag()); - String lineString = GeometryTools.getLineString(lineStringByVideoFileList); - Log.d("TAG", "onGranted: " + lineString); - String photoStr = AWMp4ParserHelper.getInstance().getVideoFileListStr((List) fmPoiVideoPic.getTag()); - poiEntity.setPhoto(photoStr); - if (lineString != null) { - poiEntity.setGeoWkt(lineString); + if (tvPictures.isEnabled()){ + if (fmPoiVideoPic.getTag() != null && !((List) fmPoiVideoPic.getTag()).isEmpty()) { + ArrayList infos = new ArrayList<>(); + List poiVideoPic = (List) fmPoiVideoPic.getTag(); + for (int i = 0; i < poiVideoPic.size(); i++) { + infos.add(new Info(poiVideoPic.get(i).getPath())); + } + poiEntity.setPhotoInfo(infos); } } return poiEntity; @@ -733,10 +786,20 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick @Override protected PoiCheckResult checkPoiEntity(PoiEntity entity) { PoiCheckResult poiCheckResult = new PoiCheckResult(); - if (entity.getPhoto() == null) { - poiCheckResult.setCode(1); - poiCheckResult.setMsg("请录像"); - return poiCheckResult; + if (tvPicture.isEnabled()) { + if (tvPictures.isEnabled()){ + poiCheckResult.setCode(1); + poiCheckResult.setMsg("请录像"); + return poiCheckResult; + } + + } + if (tvPictures.isEnabled()) { + if (tvPicture.isEnabled()){ + poiCheckResult.setCode(1); + poiCheckResult.setMsg("请拍照"); + return poiCheckResult; + } } if (entity.getWork_type() == -1) { poiCheckResult.setCode(1); 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 2fc1e5d..9b7e713 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/RoadFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/RoadFragment.java @@ -733,7 +733,7 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList } String desc = etDesc.getText().toString().trim(); if (desc != null && !desc.equals("")) { - poiEntity.setDescribe(desc); + poiEntity.setMemo(desc); } DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar calendar = Calendar.getInstance(); 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 4e4cec9..b29f577 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java @@ -717,6 +717,10 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen public void run() { List allTaskStatus = poiDao.getAllTaskStatus(taskStatus, taskStatus, type, type, limit, limit); //List allTaskStatus = poiDao.getAllPoi(); + List allPoiStatus = poiDao.getAllPoiStatus(); + if (allPoiStatus!=null){ + poiDao.deleteAll(allPoiStatus); + } getActivity().runOnUiThread(new Runnable() { @Override public void run() { diff --git a/app/src/main/java/com/navinfo/outdoor/room/PoiDao.java b/app/src/main/java/com/navinfo/outdoor/room/PoiDao.java index 1201b92..cb5ad0f 100644 --- a/app/src/main/java/com/navinfo/outdoor/room/PoiDao.java +++ b/app/src/main/java/com/navinfo/outdoor/room/PoiDao.java @@ -28,6 +28,8 @@ public interface PoiDao { @Query("SELECT * FROM poi where type=:type") List getAllPoiType(int type); + @Query("SELECT * FROM poi where taskStatus =5") + List getAllPoiStatus(); @Query("SELECT * FROM poi WHERE (:taskStatus =-1 or taskStatus=:taskStatus1) and (:type=-1 or type=:type1) and (:isExclusive=-1 or isExclusive=:isExclusive1) ") // @Query("SELECT * FROM poi WHERE taskStatus=:taskStatus and type=:type and (:isExclusive=-1 or isExclusive=:isExclusive) ") diff --git a/app/src/main/res/layout/activity_pictures.xml b/app/src/main/res/layout/activity_pictures.xml index e1f8019..431abf3 100644 --- a/app/src/main/res/layout/activity_pictures.xml +++ b/app/src/main/res/layout/activity_pictures.xml @@ -44,7 +44,7 @@ + app:layout_constraintRight_toLeftOf="@id/btn_stop_picture" />