修改1、2、3级bug(部分)
This commit is contained in:
parent
eccc2fdadb
commit
839c96e638
@ -3,7 +3,7 @@ apply plugin: 'com.android.application'
|
||||
android {
|
||||
compileSdkVersion 29
|
||||
buildToolsVersion '29.0.2'
|
||||
// ndkVersion '23.0.7123448'
|
||||
ndkVersion '23.0.7123448'
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.navinfo.outdoor"
|
||||
|
@ -43,8 +43,6 @@
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.WhiteScreen">
|
||||
<activity android:name=".activity.PicturesActivity"
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|navigation"
|
||||
android:screenOrientation="portrait"
|
||||
>
|
||||
|
||||
</activity>
|
||||
|
@ -96,7 +96,7 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
|
||||
private TextureMapView ivMap;
|
||||
private CheckBox captureVideo; // 拍摄视频
|
||||
private Button btnVideo, stopVideo;
|
||||
private ImageView ivPic;
|
||||
|
||||
private String finalVideoPath; // 摄像后最终保存的文件名
|
||||
private File tmpFile; // 合并文件的临时文件路径
|
||||
private Timer timer;
|
||||
@ -131,7 +131,6 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
|
||||
|
||||
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
||||
ivMap = (TextureMapView) findViewById(R.id.iv_map);
|
||||
ivPic = findViewById(R.id.iv_pic);
|
||||
btnVideo = findViewById(R.id.btn_video);
|
||||
btnVideo.setOnClickListener(this::onClick);
|
||||
btnSwitch = (Button) findViewById(R.id.btn_switch);
|
||||
@ -443,7 +442,6 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
|
||||
}
|
||||
|
||||
public void btnSwich() {
|
||||
|
||||
DisplayMetrics dm = new DisplayMetrics();
|
||||
getWindowManager().getDefaultDisplay().getMetrics(dm);
|
||||
System.out.println("width-display :" + dm.widthPixels);
|
||||
@ -457,7 +455,7 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
|
||||
|
||||
layerChange.removeAllViews();
|
||||
if (widthMap > widthCamera) {
|
||||
ivPic.setVisibility(View.VISIBLE);
|
||||
|
||||
layoutParamsCamera.width = dm.widthPixels;
|
||||
layoutParamsCamera.height = dm.heightPixels;
|
||||
layoutParamsMap.height = heightCamera;
|
||||
@ -467,7 +465,7 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
|
||||
layerChange.addView(camera);
|
||||
layerChange.addView(ivMap);
|
||||
} else {
|
||||
ivPic.setVisibility(View.GONE);
|
||||
|
||||
layoutParamsMap.height = dm.heightPixels;
|
||||
layoutParamsMap.width = dm.widthPixels;
|
||||
layoutParamsCamera.height = heightMap;
|
||||
|
@ -5,116 +5,543 @@ import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Matrix;
|
||||
import android.os.Bundle;
|
||||
import android.os.Message;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.github.lazylibrary.util.DensityUtil;
|
||||
import com.github.lazylibrary.util.FileUtils;
|
||||
import com.navinfo.outdoor.R;
|
||||
import com.navinfo.outdoor.api.Constant;
|
||||
import com.navinfo.outdoor.base.BaseActivity;
|
||||
import com.navinfo.outdoor.util.AWMp4ParserHelper;
|
||||
import com.navinfo.outdoor.util.MyTecentLocationSource;
|
||||
import com.otaliastudios.cameraview.CameraException;
|
||||
import com.otaliastudios.cameraview.CameraListener;
|
||||
import com.otaliastudios.cameraview.CameraLogger;
|
||||
import com.otaliastudios.cameraview.CameraView;
|
||||
import com.otaliastudios.cameraview.FileCallback;
|
||||
import com.otaliastudios.cameraview.PictureResult;
|
||||
import com.otaliastudios.cameraview.VideoResult;
|
||||
import com.otaliastudios.cameraview.controls.Engine;
|
||||
import com.otaliastudios.cameraview.controls.Mode;
|
||||
import com.otaliastudios.cameraview.size.AspectRatio;
|
||||
import com.otaliastudios.cameraview.size.SizeSelector;
|
||||
import com.otaliastudios.cameraview.size.SizeSelectors;
|
||||
import com.tencent.tencentmap.mapsdk.maps.CameraUpdate;
|
||||
import com.tencent.tencentmap.mapsdk.maps.CameraUpdateFactory;
|
||||
import com.tencent.tencentmap.mapsdk.maps.MapView;
|
||||
import com.tencent.tencentmap.mapsdk.maps.TencentMap;
|
||||
import com.tencent.tencentmap.mapsdk.maps.TextureMapView;
|
||||
import com.tencent.tencentmap.mapsdk.maps.UiSettings;
|
||||
import com.tencent.tencentmap.mapsdk.maps.model.BitmapDescriptor;
|
||||
import com.tencent.tencentmap.mapsdk.maps.model.BitmapDescriptorFactory;
|
||||
import com.tencent.tencentmap.mapsdk.maps.model.CameraPosition;
|
||||
import com.tencent.tencentmap.mapsdk.maps.model.LatLng;
|
||||
import com.tencent.tencentmap.mapsdk.maps.model.MyLocationStyle;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import static com.navinfo.outdoor.R.drawable.location;
|
||||
import static com.tencent.tencentmap.mapsdk.maps.model.MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE;
|
||||
|
||||
public class PicturesActivity extends BaseActivity implements View.OnClickListener {
|
||||
private static final CameraLogger LOG = CameraLogger.create("Picture");
|
||||
private com.otaliastudios.cameraview.CameraView cameraView;
|
||||
private android.widget.Button capuretVideo;
|
||||
private android.widget.Button btnStopVideo;
|
||||
// private MapView ivMap;
|
||||
// private TencentMap tencentMap;
|
||||
private CameraView camera;
|
||||
private long captureTime = 0;
|
||||
private android.widget.Button btnSwitch;
|
||||
private TencentMap tencentMap;
|
||||
private MyLocationStyle locationStyle;
|
||||
private TextureMapView ivMap;
|
||||
private CheckBox captureVideo; // 拍摄视频
|
||||
private Button btnVideo, stopVideo;
|
||||
|
||||
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
|
||||
|
||||
|
||||
@Override
|
||||
protected int getLayout() {
|
||||
EventBus.getDefault().register(this);
|
||||
tmpFile = new File(Constant.PICTURE_FOLDER, "temp.mp4");
|
||||
formatter = new SimpleDateFormat("yyyyMMdd HHmmss");
|
||||
return R.layout.activity_pictures;
|
||||
}
|
||||
//
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
super.initView();
|
||||
cameraView = (CameraView) findViewById(R.id.cameraView);
|
||||
capuretVideo = (Button) findViewById(R.id.capuretVideo);
|
||||
capuretVideo.setOnClickListener(this::onClick);
|
||||
btnStopVideo = (Button) findViewById(R.id.btn_stop_video);
|
||||
btnStopVideo.setOnClickListener(this::onClick);
|
||||
// ivMap = findViewById(R.id.iv_map);
|
||||
cameraView.setLifecycleOwner(this);
|
||||
cameraView.setEngine(Engine.CAMERA1);
|
||||
cameraView.setMode(Mode.VIDEO);
|
||||
cameraView.addCameraListener(new CameraListener() {
|
||||
|
||||
if (getIntent()!=null) {
|
||||
finalVideoPath = getIntent().getStringExtra(Constant.INTENT_VIDEO_PATH);
|
||||
}
|
||||
if (finalVideoPath == null) {
|
||||
finalVideoPath = Constant.PICTURE_FOLDER+"/final.mp4";
|
||||
}
|
||||
|
||||
layerChange = findViewById(R.id.layer_change);
|
||||
|
||||
timer = new Timer();
|
||||
|
||||
// this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
||||
ivMap = (TextureMapView) findViewById(R.id.iv_map);
|
||||
btnVideo = findViewById(R.id.btn_video);
|
||||
btnVideo.setOnClickListener(this::onClick);
|
||||
btnSwitch = (Button) findViewById(R.id.btn_switch);
|
||||
btnSwitch.setOnClickListener(this::onClick);
|
||||
// capturePicture = (ImageButton) findViewById(R.id.capturePicture);
|
||||
// capturePicture.setOnClickListener(this::onClick);
|
||||
//相机记录器
|
||||
CameraLogger.setLogLevel(CameraLogger.LEVEL_VERBOSE);
|
||||
camera = findViewById(R.id.camera);
|
||||
camera.setOnClickListener(this::onClick);
|
||||
captureVideo = findViewById(R.id.capuretVideo);
|
||||
captureVideo.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if (isChecked) { // 开始采集,设置按钮文字内容为“结束采集”
|
||||
captureVideo.setText("暂停采集");
|
||||
// stopVideo.setEnabled(false);// 开始采集视频后,禁用停止采集的按钮,必须暂停采集后才可点击停止采集
|
||||
startTakenVideo(); // 开始采集视频
|
||||
} else {
|
||||
stopTakenVideo();
|
||||
captureVideo.setText("开始采集");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
stopVideo = findViewById(R.id.btn_stop_video);
|
||||
stopVideo.setOnClickListener(this::onClick);
|
||||
//拍照权限
|
||||
camera.setLifecycleOwner(this);
|
||||
camera.setEngine(Engine.CAMERA1);
|
||||
// camera.setVideoBitRate(5);
|
||||
camera.setPreviewFrameRate(5); // 设置预览视频的帧率
|
||||
|
||||
|
||||
// 设置视频可用的宽高size
|
||||
SizeSelector width = SizeSelectors.maxWidth(1920);
|
||||
SizeSelector height = SizeSelectors.maxHeight(1440);
|
||||
SizeSelector dimensions = SizeSelectors.and(width, height); // Matches sizes bigger than 1000x2000.
|
||||
// 获取屏幕信息
|
||||
int[] density = DensityUtil.getDeviceInfo(this);
|
||||
int x=1920, y=1440;
|
||||
if (density!=null&&density.length>1) {
|
||||
x = (density[0]>=density[1]?density[0]:density[1]);
|
||||
y = (density[0]>=density[1]?density[1]:density[0]);
|
||||
}
|
||||
SizeSelector ratio = SizeSelectors.aspectRatio(AspectRatio.of(x, y), 0); // Matches 1:1 sizes.
|
||||
|
||||
SizeSelector result = SizeSelectors.or(
|
||||
SizeSelectors.and(ratio, dimensions), // Try to match both constraints
|
||||
ratio, // If none is found, at least try to match the aspect ratio
|
||||
SizeSelectors.biggest() // If none is found, take the biggest
|
||||
);
|
||||
camera.setVideoSize(result);
|
||||
camera.setVideoBitRate(1920*1440);
|
||||
// camera.setAudioBitRate();
|
||||
|
||||
//获取地图
|
||||
tencentMap = ivMap.getMap();
|
||||
//获取地图UI 设置对象
|
||||
UiSettings uiSettings = tencentMap.getUiSettings();
|
||||
//设置logo的大小
|
||||
uiSettings.setLogoScale(0.7f);
|
||||
// uiSettings.setAllGesturesEnabled(false);
|
||||
setLocMarkerStyle(); // 设置当前位置显示样式
|
||||
|
||||
// camera.addFrameProcessor(new FrameProcessor() {
|
||||
// @Override
|
||||
// public void process(@NonNull Frame frame) {
|
||||
// Log.e("PictureActivity", frame.getTime()+"");
|
||||
// }
|
||||
// });
|
||||
|
||||
//相机预览监听
|
||||
camera.addCameraListener(new CameraListener() {
|
||||
@Override
|
||||
public void onPictureTaken(@NonNull @NotNull PictureResult result) {
|
||||
super.onPictureTaken(result);
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTimeInMillis(System.currentTimeMillis());
|
||||
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) {
|
||||
Toast.makeText(PicturesActivity.this, "保存成功:" + file.getPath(), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});
|
||||
if (camera.isTakingVideo()) {
|
||||
message("Captured while taking video. Size=" + result.getSize(), false);
|
||||
}
|
||||
long callbackTime = System.currentTimeMillis();
|
||||
captureTime = callbackTime - 300;
|
||||
Log.d("captureTime", captureTime + "");
|
||||
}
|
||||
|
||||
//录像监听
|
||||
@Override
|
||||
public void onVideoTaken(@NonNull @NotNull VideoResult result) {
|
||||
super.onVideoTaken(result);
|
||||
Toast.makeText(PicturesActivity.this, "停止摄像", Toast.LENGTH_SHORT).show();
|
||||
finish();
|
||||
Toast.makeText(PicturesActivity.this, "暂停摄像", Toast.LENGTH_SHORT).show();
|
||||
showLoadingDialog();
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (result!=null) {
|
||||
File currentFile = result.getFile();
|
||||
if (finalVideoPath!=null) { // 有指定的视频文件名称,合并文件
|
||||
if (new File(finalVideoPath).exists()) {
|
||||
List<String> spliteFileList = new ArrayList<>();
|
||||
spliteFileList.add(finalVideoPath);
|
||||
spliteFileList.add(currentFile.getAbsolutePath());
|
||||
try {
|
||||
AWMp4ParserHelper.getInstance().mergeVideos(spliteFileList, tmpFile.getAbsolutePath());
|
||||
if (tmpFile.exists()) {
|
||||
File finalVideoFile = new File(finalVideoPath);
|
||||
finalVideoFile.delete();
|
||||
currentFile.delete();
|
||||
tmpFile.renameTo(finalVideoFile);
|
||||
} else {
|
||||
Toast.makeText(PicturesActivity.this, "视频合并失败!", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Log.e("PictureActivity", e.getMessage());
|
||||
}
|
||||
} else {
|
||||
currentFile.renameTo(new File(finalVideoPath));
|
||||
}
|
||||
}
|
||||
}
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
dismissLoadingDialog();
|
||||
if (isFinishActivity) {
|
||||
PicturesActivity.this.finish();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}).start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCameraError(@NonNull @NotNull CameraException exception) {
|
||||
super.onCameraError(exception);
|
||||
Toast.makeText(PicturesActivity.this, exception.toString(), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onVideoRecordingStart() {
|
||||
super.onVideoRecordingStart();
|
||||
/**
|
||||
* 获取当前视频的时间,记录csv文件时使用
|
||||
* */
|
||||
long currentTime = AWMp4ParserHelper.getInstance().getVedioTotalTime(new File(finalVideoPath));
|
||||
timerTask = new CsvTimerTask(new File(finalVideoPath+".txt"));
|
||||
|
||||
// 开始采集,每隔2秒实时记录位置信息、视频时间以及设备时间
|
||||
if (currentTime == 0) {
|
||||
timer.schedule(timerTask, 0, period*1000);
|
||||
} else {
|
||||
timerTask.setCurrentVideoTime(currentTime/1000+1);
|
||||
timer.schedule(timerTask, 1, period*1000);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onVideoRecordingEnd() {
|
||||
super.onVideoRecordingEnd();
|
||||
if (timerTask!=null){
|
||||
timerTask.cancel();
|
||||
}else {
|
||||
// Toast.makeText(PictureActivity.this, "请先拍照", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
});
|
||||
// tencentMap = ivMap.getMap();
|
||||
//获取地图UI 设置对象
|
||||
// UiSettings uiSettings = tencentMap.getUiSettings();
|
||||
// //设置logo的大小
|
||||
// uiSettings.setLogoScale(0.7f);
|
||||
|
||||
// 修改相机的宽高为屏幕宽高的1/3
|
||||
DisplayMetrics dm = new DisplayMetrics();
|
||||
getWindowManager().getDefaultDisplay().getMetrics(dm);
|
||||
FrameLayout.LayoutParams layoutParamsMap = (FrameLayout.LayoutParams) ivMap.getLayoutParams();//相机的宽高
|
||||
layoutParamsMap.height = dm.widthPixels/3;
|
||||
layoutParamsMap.width = dm.heightPixels/3;
|
||||
ivMap.setLayoutParams(layoutParamsMap);
|
||||
|
||||
}
|
||||
|
||||
private void message(String content, Boolean important) {
|
||||
if (important) {
|
||||
LOG.w(content);
|
||||
Toast.makeText(this, content, Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
LOG.i(content);
|
||||
Toast.makeText(this, content, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
super.initData();
|
||||
camera.setMode(Mode.VIDEO);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.capuretVideo:
|
||||
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTimeInMillis(System.currentTimeMillis());
|
||||
String format = formatter.format(calendar.getTime());
|
||||
//文件
|
||||
File file = new File(Constant.PICTURE_FOLDER, format + ".mp4");
|
||||
cameraView.takeVideo(file, 15000);
|
||||
// case R.id.capuretVideo:
|
||||
// DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
// Calendar calendar = Calendar.getInstance();
|
||||
// calendar.setTimeInMillis(System.currentTimeMillis());
|
||||
// String format = formatter.format(calendar.getTime());
|
||||
// //文件
|
||||
// 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();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case R.id.btn_switch:
|
||||
btnSwich();
|
||||
break;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 开始采集
|
||||
*/
|
||||
private void startTakenVideo() {
|
||||
if (camera.isTakingVideo()) {
|
||||
Toast.makeText(this, "已经在拍摄中...", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTimeInMillis(System.currentTimeMillis());
|
||||
String formatVideoName = formatter.format(calendar.getTime());
|
||||
//文件
|
||||
File file = new File(Constant.PICTURE_FOLDER, formatVideoName + ".mp4");
|
||||
if (file.exists()) {
|
||||
try {
|
||||
FileOutputStream fo = new FileOutputStream(file);
|
||||
FileDescriptor fileDescriptor = fo.getFD();
|
||||
camera.takeVideo(fileDescriptor);
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
camera.takeVideo(file);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void stopTakenVideo() {
|
||||
if (camera.isTakingVideo()) {
|
||||
camera.stopVideo();
|
||||
}
|
||||
}
|
||||
private Bitmap getBitMap(int resourceId) {
|
||||
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), resourceId);
|
||||
int width = bitmap.getWidth();
|
||||
int height = bitmap.getHeight();
|
||||
int newWidth = 55;
|
||||
int newHeight = 55;
|
||||
float widthScale = ((float) newWidth) / width;
|
||||
float heightScale = ((float) newHeight) / height;
|
||||
Matrix matrix = new Matrix();
|
||||
matrix.postScale(widthScale, heightScale);
|
||||
bitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置定位图标样式
|
||||
*/
|
||||
private void setLocMarkerStyle() {
|
||||
tencentMap.setLocationSource(new MyTecentLocationSource(this));
|
||||
tencentMap.setMyLocationEnabled(true);
|
||||
|
||||
locationStyle = new MyLocationStyle();
|
||||
locationStyle = locationStyle.myLocationType(LOCATION_TYPE_LOCATION_ROTATE);
|
||||
//创建图标
|
||||
BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(getBitMap(location));
|
||||
locationStyle.icon(bitmapDescriptor);
|
||||
//设置定位圆形区域的边框宽度;
|
||||
locationStyle.fillColor(getResources().getColor(android.R.color.transparent));
|
||||
locationStyle.strokeWidth(1);
|
||||
tencentMap.setMyLocationStyle(locationStyle);
|
||||
}
|
||||
|
||||
|
||||
public void btnSwich() {
|
||||
DisplayMetrics dm = new DisplayMetrics();
|
||||
getWindowManager().getDefaultDisplay().getMetrics(dm);
|
||||
System.out.println("width-display :" + dm.widthPixels);
|
||||
System.out.println("heigth-display :" + dm.heightPixels);
|
||||
FrameLayout.LayoutParams layoutParamsMap = (FrameLayout.LayoutParams) ivMap.getLayoutParams();//地图的宽高
|
||||
int heightMap = ivMap.getMeasuredHeight();
|
||||
int widthMap = ivMap.getMeasuredWidth();
|
||||
FrameLayout.LayoutParams layoutParamsCamera = (FrameLayout.LayoutParams) camera.getLayoutParams();//相机的宽高
|
||||
int heightCamera = camera.getMeasuredHeight();
|
||||
int widthCamera = camera.getMeasuredWidth();
|
||||
|
||||
layerChange.removeAllViews();
|
||||
if (widthMap > widthCamera) {
|
||||
|
||||
layoutParamsCamera.width = dm.widthPixels;
|
||||
layoutParamsCamera.height = dm.heightPixels;
|
||||
layoutParamsMap.height = heightCamera;
|
||||
layoutParamsMap.width = widthCamera;
|
||||
camera.setLayoutParams(layoutParamsCamera);
|
||||
ivMap.setLayoutParams(layoutParamsMap);
|
||||
layerChange.addView(camera);
|
||||
layerChange.addView(ivMap);
|
||||
} else {
|
||||
|
||||
layoutParamsMap.height = dm.heightPixels;
|
||||
layoutParamsMap.width = dm.widthPixels;
|
||||
layoutParamsCamera.height = heightMap;
|
||||
layoutParamsCamera.width = widthMap;
|
||||
camera.setLayoutParams(layoutParamsCamera);
|
||||
ivMap.setLayoutParams(layoutParamsMap);
|
||||
layerChange.addView(ivMap);
|
||||
layerChange.addView(camera);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
cameraView.open();
|
||||
// ivMap.onResume();
|
||||
camera.open();
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
cameraView.close();
|
||||
// ivMap.onPause();
|
||||
camera.close();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
cameraView.destroy();
|
||||
// ivMap.onDestroy();
|
||||
stopTakenVideo();
|
||||
camera.destroy();
|
||||
timer.cancel();
|
||||
if (EventBus.getDefault().isRegistered(this)) {
|
||||
EventBus.getDefault().unregister(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onEventMessageMainThread(Message msg) {
|
||||
switch (msg.what) {
|
||||
case Constant.EVENT_WHAT_LOCATION_CHANGE: // 用户位置更新
|
||||
if (tencentMap!=null) {
|
||||
CameraUpdate cameraSigma =
|
||||
CameraUpdateFactory.newCameraPosition(new CameraPosition(
|
||||
new LatLng(Constant.currentLocation.getLatitude(),Constant.currentLocation.getLongitude()), //中心点坐标,地图目标经纬度
|
||||
16, //目标缩放级别
|
||||
0, //目标倾斜角
|
||||
0)); //目标旋转角 0~360° (正北方为0)
|
||||
tencentMap.animateCamera(cameraSigma);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 记录视频拍摄的时间及经纬度
|
||||
*/
|
||||
private class CsvTimerTask extends TimerTask {
|
||||
private File csvFile;
|
||||
private long currentVideoTime; // 记录当前的视频时间
|
||||
|
||||
public CsvTimerTask(File csvFile) {
|
||||
this.csvFile = csvFile;
|
||||
if (!csvFile.exists()) {
|
||||
csvFile.getParentFile().mkdirs();
|
||||
}
|
||||
}
|
||||
|
||||
public void setCurrentVideoTime(long currentVideoTime) {
|
||||
this.currentVideoTime = currentVideoTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
// 记录当前时间、视频时间、以及当前经纬度信息
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append(formatter.format(new Date())); // 记录当前时间
|
||||
sb.append(",");
|
||||
sb.append(currentVideoTime) ;// 记录视频时间
|
||||
sb.append(",");
|
||||
sb.append(Constant.currentLocation.getLatitude());
|
||||
sb.append(",");
|
||||
sb.append(Constant.currentLocation.getLongitude());
|
||||
sb.append("\r\n");
|
||||
FileUtils.writeFile(csvFile.getAbsolutePath(), sb.toString(), true);
|
||||
currentVideoTime = currentVideoTime+period; //
|
||||
}
|
||||
}
|
||||
}
|
@ -78,7 +78,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
private CheckBox checkBoxLife, checkBoxRight;
|
||||
private Spinner spinnerType, spinnerScutcheon, spinnerStake;
|
||||
String[] type = new String[]{"地上五层", "地上四层", "地上三层", "地上二层", "地上一层", "地下一层", "地下二层", "地下三层", "地下四层", "地下五层"};
|
||||
String[] scutcheon = new String[]{"存在","不存在"};
|
||||
String[] scutcheon = new String[]{"存在", "不存在"};
|
||||
String[] stake = new String[]{"可以使用", "不可使用", "维修中", "建设中", "规划中"};
|
||||
private ArrayAdapter<String> adapterType, adapterScutcheon, adapterStake;
|
||||
private RelativeLayout rlPanorama, rlCoding, rlEquipment, rlFacility, rlUsable, rlAvailable, rlParking, rlNumber, rlScutcheon, rlDevice;
|
||||
@ -87,7 +87,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
private int cp_floor = 1;
|
||||
private int sign_exist = 0;
|
||||
private int cp_availableState = 0;
|
||||
private String buffer1="",buffer2="",buffer3="",buffer4="",buffer5="";
|
||||
private String buffer1 = "", buffer2 = "", buffer3 = "", buffer4 = "", buffer5 = "";
|
||||
private StringBuffer openType = new StringBuffer();
|
||||
private CheckBox checkButton1, checkButton2, checkButton3, checkButton4, checkButton5;
|
||||
private String pid;
|
||||
@ -171,14 +171,14 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
checkBoxLife.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if (isChecked){
|
||||
if (isChecked) {
|
||||
checkBoxLife.setText("保存");
|
||||
checkBoxLife.setTextColor(Color.WHITE);
|
||||
Message obtain = Message.obtain();
|
||||
obtain.what = Constant.MAIN_CHARGING_PILE;
|
||||
obtain.obj = latLng;
|
||||
EventBus.getDefault().post(obtain);
|
||||
}else {
|
||||
} else {
|
||||
checkBoxLife.setText("编辑");
|
||||
checkBoxLife.setTextColor(Color.BLACK);
|
||||
Message obtain = Message.obtain();
|
||||
@ -195,11 +195,11 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if (isChecked) {
|
||||
buffer1="1,";
|
||||
buffer2="";
|
||||
buffer3="";
|
||||
buffer4="";
|
||||
buffer5="";
|
||||
buffer1 = "1,";
|
||||
buffer2 = "";
|
||||
buffer3 = "";
|
||||
buffer4 = "";
|
||||
buffer5 = "";
|
||||
checkButton2.setChecked(false);
|
||||
checkButton3.setChecked(false);
|
||||
checkButton4.setChecked(false);
|
||||
@ -212,10 +212,10 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if (isChecked) {
|
||||
buffer2="2,";
|
||||
buffer2 = "2,";
|
||||
checkButton1.setChecked(false);
|
||||
}else {
|
||||
buffer2="";
|
||||
} else {
|
||||
buffer2 = "";
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -224,10 +224,10 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if (isChecked) {
|
||||
buffer3="3,";
|
||||
buffer3 = "3,";
|
||||
checkButton1.setChecked(false);
|
||||
}else {
|
||||
buffer3="";
|
||||
} else {
|
||||
buffer3 = "";
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -236,10 +236,10 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if (isChecked) {
|
||||
buffer4="4,";
|
||||
buffer4 = "4,";
|
||||
checkButton1.setChecked(false);
|
||||
}else {
|
||||
buffer4="";
|
||||
} else {
|
||||
buffer4 = "";
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -248,10 +248,10 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if (isChecked) {
|
||||
buffer5="5,";
|
||||
buffer5 = "5,";
|
||||
checkButton1.setChecked(false);
|
||||
}else {
|
||||
buffer5="";
|
||||
} else {
|
||||
buffer5 = "";
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -398,9 +398,9 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
btnSaveLocal = findViewById(R.id.btn_save_local);
|
||||
btnSaveLocal.setOnClickListener(this::onClick);
|
||||
//展示数据
|
||||
initShowPileSharePre();
|
||||
initShowPileSharePre();
|
||||
|
||||
onLongDelPic();
|
||||
onLongDelPic();
|
||||
|
||||
}
|
||||
|
||||
@ -549,17 +549,13 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
|
||||
private void initShowPileSharePre() {
|
||||
station = getArguments().getString("station");
|
||||
if (station!=null){
|
||||
if (station != null) {
|
||||
poiEntity = new Gson().fromJson(station, PoiEntity.class);
|
||||
pid = poiEntity.getId();
|
||||
taskId = poiEntity.getTaskId();
|
||||
String x = poiEntity.getX();
|
||||
String y = poiEntity.getY();
|
||||
if (x != null && y != null) {
|
||||
latLng = new LatLng();
|
||||
latLng.setLatitude(Double.parseDouble(y));
|
||||
latLng.setLongitude(Double.parseDouble(x));
|
||||
}
|
||||
latLng = new LatLng();
|
||||
latLng.setLatitude(Constant.currentLocation.getLatitude());
|
||||
latLng.setLongitude(Constant.currentLocation.getLongitude());
|
||||
}
|
||||
// 添加信息:
|
||||
ChargingPileEntity chargingPileEntity = (ChargingPileEntity) getArguments().getSerializable("chargingPileEntity");
|
||||
@ -573,7 +569,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
latLng = GeometryTools.createLatLng(p);
|
||||
}
|
||||
String memo = chargingPileEntity.getMemo();
|
||||
if (memo != null&&!memo.equals("")) {
|
||||
if (memo != null && !memo.equals("")) {
|
||||
editDescribe.setText(memo);
|
||||
}
|
||||
String fid = chargingPileEntity.getFid();
|
||||
@ -685,7 +681,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
spinnerScutcheon.setEnabled(false);//设备标牌下拉框
|
||||
rlEquipment.setEnabled(false);//(蓝色色)设备标牌
|
||||
rlFacility.setEnabled(false);//(白色)设备标牌
|
||||
spinnerStake.setEnabled(false);//桩可用状态
|
||||
spinnerStake.setEnabled(false);//桩可用状态
|
||||
rlUsable.setEnabled(false);//(蓝色)可用状态
|
||||
rlAvailable.setEnabled(false);//(白色)可用状态
|
||||
rlParking.setEnabled(false);//(蓝色)停车位编号
|
||||
@ -720,12 +716,12 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
if (all) {
|
||||
//保存数据库:
|
||||
ChargingPileEntity chargingPileEntity = new ChargingPileEntity();
|
||||
ArrayList<String> photoBean = new ArrayList<>();
|
||||
ArrayList<String> photoBean = new ArrayList<>();
|
||||
if (latLng == null || latLng.equals("")) {
|
||||
Toast.makeText(getActivity(), "请确定点位", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
} else {
|
||||
String encode = Geohash.getInstance().encode(latLng.latitude,latLng.longitude);
|
||||
String encode = Geohash.getInstance().encode(latLng.latitude, latLng.longitude);
|
||||
chargingPileEntity.setP(encode);
|
||||
// poiEntity.setX(String.valueOf(latLng.longitude));
|
||||
// poiEntity.setY(String.valueOf(latLng.latitude));
|
||||
@ -753,7 +749,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
photoBean.add(tagCoding);
|
||||
}
|
||||
String tagEquipment = (String) ivEquipment.getTag();
|
||||
if (tagEquipment == null ) {
|
||||
if (tagEquipment == null) {
|
||||
Toast.makeText(getActivity(), "请拍照 设备标牌", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
} else {
|
||||
@ -768,14 +764,14 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
photoBean.add(tagFacility);
|
||||
}
|
||||
} else {
|
||||
if (tagFacility != null ) {
|
||||
if (tagFacility != null) {
|
||||
photoBean.add(tagFacility);
|
||||
}
|
||||
}
|
||||
|
||||
String tagScutcheon = (String) ivScutcheon.getTag();
|
||||
if (sign_exist == 1) {
|
||||
if (tagScutcheon == null ) {
|
||||
if (tagScutcheon == null) {
|
||||
Toast.makeText(getActivity(), "请拍照 设备编码", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
} else {
|
||||
@ -805,29 +801,29 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
photoBean.add(tagAvailable);
|
||||
}
|
||||
String tagParking = (String) ivParking.getTag();
|
||||
if (tagParking == null ) {
|
||||
if (tagParking == null) {
|
||||
Toast.makeText(getActivity(), "请拍照 停车位编号", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
} else {
|
||||
photoBean.add(tagPanorama);
|
||||
}
|
||||
String tagNumber = (String) ivNumber.getTag();
|
||||
if (tagNumber != null ) {
|
||||
if (tagNumber != null) {
|
||||
photoBean.add(tagNumber);
|
||||
}
|
||||
chargingPileEntity.setPhotos(photoBean);
|
||||
|
||||
if ("".equals(buffer1)&&"".equals(buffer2)&&"".equals(buffer3)&&"".equals(buffer4)&&"".equals(buffer5)) {
|
||||
if ("".equals(buffer1) && "".equals(buffer2) && "".equals(buffer3) && "".equals(buffer4) && "".equals(buffer5)) {
|
||||
Toast.makeText(getActivity(), "开放状态未勾选", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
if (buffer1!=null&&!buffer1.equals("")&&buffer1.length()>0){
|
||||
openType.delete(0,openType.length());
|
||||
if (buffer1 != null && !buffer1.equals("") && buffer1.length() > 0) {
|
||||
openType.delete(0, openType.length());
|
||||
openType.append(buffer1);
|
||||
String charAt = openType.deleteCharAt(openType.length() - 1).toString();
|
||||
chargingPileEntity.setCp_openType(charAt);
|
||||
}else {
|
||||
openType.delete(0,openType.length());
|
||||
} else {
|
||||
openType.delete(0, openType.length());
|
||||
openType.append(buffer2);
|
||||
openType.append(buffer3);
|
||||
openType.append(buffer4);
|
||||
@ -858,7 +854,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
getActivity().runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (result[0]!=0) {
|
||||
if (result[0] != 0) {
|
||||
ToastUtil.showShort(getActivity(), "充电桩保存成功");
|
||||
|
||||
Message obtain = Message.obtain();
|
||||
@ -992,43 +988,43 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
private void phoneList() {
|
||||
phoneLists = new ArrayList<>();
|
||||
String ivPanoramaTag = (String) ivPanorama.getTag();
|
||||
if (ivPanoramaTag!=null){
|
||||
if (ivPanoramaTag != null) {
|
||||
phoneLists.add(new File(ivPanoramaTag));
|
||||
}
|
||||
String ivCodingTag = (String) ivCoding.getTag();
|
||||
if (ivCodingTag!=null){
|
||||
if (ivCodingTag != null) {
|
||||
phoneLists.add(new File(ivCodingTag));
|
||||
}
|
||||
String ivEquipmentTag = (String) ivEquipment.getTag();
|
||||
if (ivEquipmentTag!=null){
|
||||
if (ivEquipmentTag != null) {
|
||||
phoneLists.add(new File(ivEquipmentTag));
|
||||
}
|
||||
String ivFacilityTag = (String) ivFacility.getTag();
|
||||
if (ivFacilityTag!=null){
|
||||
if (ivFacilityTag != null) {
|
||||
phoneLists.add(new File(ivFacilityTag));
|
||||
}
|
||||
String ivUsableTag = (String) ivUsable.getTag();
|
||||
if (ivUsableTag!=null){
|
||||
String ivUsableTag = (String) ivUsable.getTag();
|
||||
if (ivUsableTag != null) {
|
||||
phoneLists.add(new File(ivUsableTag));
|
||||
}
|
||||
String ivAvailableTag = (String) ivAvailable.getTag();
|
||||
if (ivAvailableTag!=null){
|
||||
if (ivAvailableTag != null) {
|
||||
phoneLists.add(new File(ivAvailableTag));
|
||||
}
|
||||
String ivParkingTag = (String) ivParking.getTag();
|
||||
if (ivParkingTag!=null){
|
||||
if (ivParkingTag != null) {
|
||||
phoneLists.add(new File(ivParkingTag));
|
||||
}
|
||||
String ivNumberTag = (String) ivNumber.getTag();
|
||||
if (ivNumberTag!=null){
|
||||
String ivNumberTag = (String) ivNumber.getTag();
|
||||
if (ivNumberTag != null) {
|
||||
phoneLists.add(new File(ivNumberTag));
|
||||
}
|
||||
String ivDeviceTag = (String) ivDevice.getTag();
|
||||
if (ivDeviceTag!=null){
|
||||
if (ivDeviceTag != null) {
|
||||
phoneLists.add(new File(ivDeviceTag));
|
||||
}
|
||||
String ivScutcheonTag = (String) ivScutcheon.getTag();
|
||||
if (ivScutcheonTag!=null){
|
||||
if (ivScutcheonTag != null) {
|
||||
phoneLists.add(new File(ivScutcheonTag));
|
||||
}
|
||||
}
|
||||
@ -1055,53 +1051,53 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
ChargingPileEntity chargingPileEntity = new ChargingPileEntity();
|
||||
ArrayList<String> photo = new ArrayList<>();
|
||||
if (latLng != null) {
|
||||
chargingPileEntity.setP(latLng.latitude+","+latLng.longitude);
|
||||
chargingPileEntity.setP(latLng.latitude + "," + latLng.longitude);
|
||||
}
|
||||
String name = tvNameContent.getText().toString().trim();//名称
|
||||
if (name != null &&!name.equals("")) {
|
||||
if (name != null && !name.equals("")) {
|
||||
chargingPileEntity.setName(name);
|
||||
}
|
||||
if (cp_floor != 0) {
|
||||
chargingPileEntity.setCp_floor(cp_floor);
|
||||
}
|
||||
String tagPanorama = (String) ivPanorama.getTag();
|
||||
if (tagPanorama != null &&!tagPanorama.equals("")) {
|
||||
if (tagPanorama != null && !tagPanorama.equals("")) {
|
||||
photo.add(tagPanorama);
|
||||
}
|
||||
String tagCoding = (String) ivCoding.getTag();
|
||||
if (tagCoding != null&&!tagCoding.equals("")) {
|
||||
if (tagCoding != null && !tagCoding.equals("")) {
|
||||
photo.add(tagCoding);
|
||||
}
|
||||
String tagEquipment = (String) ivEquipment.getTag();
|
||||
if (tagEquipment != null&&!tagEquipment.equals("")) {
|
||||
if (tagEquipment != null && !tagEquipment.equals("")) {
|
||||
photo.add(tagEquipment);
|
||||
}
|
||||
String tagFacility = (String) ivFacility.getTag();
|
||||
if (tagFacility != null&&!tagFacility.equals("")) {
|
||||
if (tagFacility != null && !tagFacility.equals("")) {
|
||||
photo.add(tagFacility);
|
||||
}
|
||||
String tagScutcheon = (String) ivScutcheon.getTag();
|
||||
if (tagScutcheon != null&&!tagScutcheon.equals("")) {
|
||||
if (tagScutcheon != null && !tagScutcheon.equals("")) {
|
||||
photo.add(tagScutcheon);
|
||||
}
|
||||
String tagDevice = (String) ivDevice.getTag();
|
||||
if (tagDevice != null&&!tagDevice.equals("")) {
|
||||
if (tagDevice != null && !tagDevice.equals("")) {
|
||||
photo.add(tagDevice);
|
||||
}
|
||||
String tagUsable = (String) ivUsable.getTag();
|
||||
if (tagUsable != null &&!tagUsable.equals("")) {
|
||||
if (tagUsable != null && !tagUsable.equals("")) {
|
||||
photo.add(tagUsable);
|
||||
}
|
||||
String tagAvailable = (String) ivAvailable.getTag();
|
||||
if (tagAvailable != null&&!tagAvailable.equals("")) {
|
||||
if (tagAvailable != null && !tagAvailable.equals("")) {
|
||||
photo.add(tagAvailable);
|
||||
}
|
||||
String tagParking = (String) ivParking.getTag();
|
||||
if (tagParking != null&&!tagParking.equals("")) {
|
||||
if (tagParking != null && !tagParking.equals("")) {
|
||||
photo.add(tagPanorama);
|
||||
}
|
||||
String tagNumber = (String) ivNumber.getTag();
|
||||
if (tagNumber != null&&!tagNumber.equals("")) {
|
||||
if (tagNumber != null && !tagNumber.equals("")) {
|
||||
photo.add(tagNumber);
|
||||
}
|
||||
chargingPileEntity.setPhotos(photo);
|
||||
@ -1114,15 +1110,15 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
if (pid != null) {
|
||||
chargingPileEntity.setFid(pid);
|
||||
}
|
||||
if (buffer1!=null&&!buffer1.equals("")){
|
||||
if (buffer1 != null && !buffer1.equals("")) {
|
||||
chargingPileEntity.setCp_openType(buffer1);
|
||||
}else {
|
||||
} else {
|
||||
openType.reverse();
|
||||
openType.append(buffer2);
|
||||
openType.append(buffer3);
|
||||
openType.append(buffer4);
|
||||
openType.append(buffer5);
|
||||
if (openType!=null&&!"".equals(openType)&&openType.length()>0) {
|
||||
if (openType != null && !"".equals(openType) && openType.length() > 0) {
|
||||
String charAt = openType.deleteCharAt(openType.length() - 1).toString();
|
||||
chargingPileEntity.setCp_openType(charAt);
|
||||
} else {
|
||||
@ -1132,7 +1128,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
String newChargingPileEntity = new Gson().toJson(chargingPileEntity);
|
||||
//以键值对的形式添加新值。
|
||||
edit.putString("chargingPileEntity", newChargingPileEntity);
|
||||
if (station!=null){
|
||||
if (station != null) {
|
||||
edit.putString("poiEntity", station);
|
||||
}
|
||||
//提交新值。必须执行,否则前面的操作都无效。
|
||||
@ -1146,7 +1142,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
if (requestCode == 101 && resultCode == RESULT_OK) {
|
||||
Bundle extras = data.getExtras();//从Intent中获取附加值
|
||||
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
|
||||
takePhotoPath1 = PhotoPathUtil.getTakePhotoPath(data, "a",Geohash.getInstance().encode(latLng.latitude,latLng.longitude));
|
||||
takePhotoPath1 = PhotoPathUtil.getTakePhotoPath(data, "a", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
|
||||
ivPanorama.setTag(takePhotoPath1);
|
||||
ivPanorama.setImageBitmap(bitmap);//显示图像
|
||||
/* int height = bitmap.getHeight();
|
||||
@ -1167,7 +1163,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
} else if (requestCode == 102 && resultCode == RESULT_OK) {
|
||||
Bundle extras = data.getExtras();//从Intent中获取附加值
|
||||
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
|
||||
takePhotoPath2 = PhotoPathUtil.getTakePhotoPath(data, "b",Geohash.getInstance().encode(latLng.latitude,latLng.longitude));
|
||||
takePhotoPath2 = PhotoPathUtil.getTakePhotoPath(data, "b", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
|
||||
ivCoding.setTag(takePhotoPath2);
|
||||
ivCoding.setImageBitmap(bitmap);//显示图像
|
||||
/* int height = bitmap.getHeight();
|
||||
@ -1188,7 +1184,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
} else if (requestCode == 103 && resultCode == RESULT_OK) {
|
||||
Bundle extras = data.getExtras();//从Intent中获取附加值
|
||||
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
|
||||
takePhotoPath3 = PhotoPathUtil.getTakePhotoPath(data, "c",Geohash.getInstance().encode(latLng.latitude,latLng.longitude));
|
||||
takePhotoPath3 = PhotoPathUtil.getTakePhotoPath(data, "c", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
|
||||
ivEquipment.setImageBitmap(bitmap);//显示图像
|
||||
ivEquipment.setTag(takePhotoPath3);
|
||||
/* int height = bitmap.getHeight();
|
||||
@ -1209,7 +1205,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
} else if (requestCode == 104 && resultCode == RESULT_OK) {
|
||||
Bundle extras = data.getExtras();//从Intent中获取附加值
|
||||
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
|
||||
takePhotoPath4 = PhotoPathUtil.getTakePhotoPath(data, "c",Geohash.getInstance().encode(latLng.latitude,latLng.longitude));
|
||||
takePhotoPath4 = PhotoPathUtil.getTakePhotoPath(data, "c", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
|
||||
ivFacility.setTag(takePhotoPath4);
|
||||
ivFacility.setImageBitmap(bitmap);//显示图像
|
||||
/* int height = bitmap.getHeight();
|
||||
@ -1230,7 +1226,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
} else if (requestCode == 105 && resultCode == RESULT_OK) {
|
||||
Bundle extras = data.getExtras();//从Intent中获取附加值
|
||||
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
|
||||
takePhotoPath5 = PhotoPathUtil.getTakePhotoPath(data, "c",Geohash.getInstance().encode(latLng.latitude,latLng.longitude));
|
||||
takePhotoPath5 = PhotoPathUtil.getTakePhotoPath(data, "c", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
|
||||
ivScutcheon.setTag(takePhotoPath5);
|
||||
ivScutcheon.setImageBitmap(bitmap);//显示图像
|
||||
/* int height = bitmap.getHeight();
|
||||
@ -1251,7 +1247,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
} else if (requestCode == 106 && resultCode == RESULT_OK) {
|
||||
Bundle extras = data.getExtras();//从Intent中获取附加值
|
||||
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
|
||||
takePhotoPath6 = PhotoPathUtil.getTakePhotoPath(data, "c",Geohash.getInstance().encode(latLng.latitude,latLng.longitude));
|
||||
takePhotoPath6 = PhotoPathUtil.getTakePhotoPath(data, "c", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
|
||||
ivDevice.setTag(takePhotoPath6);
|
||||
ivDevice.setImageBitmap(bitmap);//显示图像
|
||||
/* int height = bitmap.getHeight();
|
||||
@ -1272,7 +1268,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
} else if (requestCode == 107 && resultCode == RESULT_OK) {
|
||||
Bundle extras = data.getExtras();//从Intent中获取附加值
|
||||
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
|
||||
takePhotoPath7 = PhotoPathUtil.getTakePhotoPath(data, "d",Geohash.getInstance().encode(latLng.latitude,latLng.longitude));
|
||||
takePhotoPath7 = PhotoPathUtil.getTakePhotoPath(data, "d", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
|
||||
ivUsable.setTag(takePhotoPath7);
|
||||
ivUsable.setImageBitmap(bitmap);//显示图像
|
||||
/* int height = bitmap.getHeight();
|
||||
@ -1293,7 +1289,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
} else if (requestCode == 108 && resultCode == RESULT_OK) {
|
||||
Bundle extras = data.getExtras();//从Intent中获取附加值
|
||||
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
|
||||
takePhotoPath8 = PhotoPathUtil.getTakePhotoPath(data, "d",Geohash.getInstance().encode(latLng.latitude,latLng.longitude));
|
||||
takePhotoPath8 = PhotoPathUtil.getTakePhotoPath(data, "d", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
|
||||
ivAvailable.setTag(takePhotoPath8);
|
||||
ivAvailable.setImageBitmap(bitmap);//显示图像
|
||||
/* int height = bitmap.getHeight();
|
||||
@ -1314,7 +1310,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
} else if (requestCode == 109 && resultCode == RESULT_OK) {
|
||||
Bundle extras = data.getExtras();//从Intent中获取附加值
|
||||
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
|
||||
takePhotoPath9 = PhotoPathUtil.getTakePhotoPath(data, "e",Geohash.getInstance().encode(latLng.latitude,latLng.longitude));
|
||||
takePhotoPath9 = PhotoPathUtil.getTakePhotoPath(data, "e", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
|
||||
ivParking.setImageBitmap(bitmap);//显示图像
|
||||
ivParking.setTag(takePhotoPath9);
|
||||
/* int height = bitmap.getHeight();
|
||||
@ -1335,7 +1331,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC
|
||||
} else if (requestCode == 110 && resultCode == RESULT_OK) {
|
||||
Bundle extras = data.getExtras();//从Intent中获取附加值
|
||||
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
|
||||
takePhotoPath10 = PhotoPathUtil.getTakePhotoPath(data, "e",Geohash.getInstance().encode(latLng.latitude,latLng.longitude));
|
||||
takePhotoPath10 = PhotoPathUtil.getTakePhotoPath(data, "e", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
|
||||
ivNumber.setImageBitmap(bitmap);//显示图像
|
||||
ivNumber.setTag(takePhotoPath10);
|
||||
/* int height = bitmap.getHeight();
|
||||
|
@ -271,33 +271,39 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
|
||||
// 根据用户点击的时间为视频名称赋值
|
||||
DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
String videoFormatName = formatter.format(new Date());
|
||||
Intent intent = new Intent(getContext(), PictureActivity.class);
|
||||
Intent intent = new Intent(getContext(), PicturesActivity.class);
|
||||
intent.putExtra(Constant.INTENT_VIDEO_PATH, Constant.PICTURE_FOLDER + "/" + videoFormatName + ".mp4");
|
||||
startActivityForResult(intent, 0x101);
|
||||
|
||||
break;
|
||||
|
||||
case R.id.btn_poi_video_upload:
|
||||
showLoadingDialog();
|
||||
ArrayList<File> videoFileList = new ArrayList<>();
|
||||
if (ivPoiVideoPicture.getTag() != null) {
|
||||
showLoadingDialog();
|
||||
File videoFile = (File) ivPoiVideoPicture.getTag();
|
||||
videoFileList.add(videoFile);
|
||||
File file = new File(videoFile.getPath()+".txt");
|
||||
videoFileList.add(file);
|
||||
fileZip = new File(Constant.PICTURE_FOLDER, "files" + ".zip");
|
||||
ZipUtil.zipFiles(videoFileList, fileZip, null);
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
ZipUtil.zipFiles(videoFileList, fileZip, null);
|
||||
PoiEntity poiDaoPoiEntity = poiDao.getPoiEntity(showPoiEntity.getId());
|
||||
if (poiDaoPoiEntity == null || poiDaoPoiEntity.getTaskStatus() == 1 || poiDaoPoiEntity.getTaskStatus() == 2 || poiDaoPoiEntity.getTaskStatus() == 0) {
|
||||
dismissLoadingDialog();
|
||||
initPoiSaveLocal(true);
|
||||
getActivity().runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
dismissLoadingDialog();
|
||||
initPoiSaveLocal(true);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
getActivity().runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
dismissLoadingDialog();
|
||||
poiVideoUpload(poiDaoPoiEntity.getBodyId(), fileZip);
|
||||
}
|
||||
});
|
||||
@ -306,6 +312,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
|
||||
}
|
||||
}).start();
|
||||
}else {
|
||||
dismissLoadingDialog();
|
||||
Toast.makeText(getContext(), "请录像", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
@ -314,7 +321,6 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
|
||||
}
|
||||
|
||||
public void initPoiSaveLocal(boolean isLocal) {
|
||||
|
||||
XXPermissions.with(getContext())
|
||||
.permission(Permission.MANAGE_EXTERNAL_STORAGE)
|
||||
.request(new OnPermissionCallback() {
|
||||
@ -441,6 +447,7 @@ public class PoiVideoFragment extends BaseDrawerFragment implements View.OnClick
|
||||
Toast.makeText(getActivity(), "未压缩完成", Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
showLoadingDialog();
|
||||
OkGo
|
||||
// 请求方式和请求url
|
||||
.<OtherUploadPicBean>post(HttpInterface.POI_VIDEO_UPLOAD_PIC)
|
||||
|
@ -261,18 +261,20 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList
|
||||
startActivityForResult(intent, 0x101);
|
||||
break;
|
||||
case R.id.road_upload:
|
||||
showLoadingDialog();
|
||||
ArrayList<File> videoFileList = new ArrayList<>();
|
||||
if (ivRoadPicture.getTag() != null) {
|
||||
showLoadingDialog();
|
||||
|
||||
File videoFile = (File) ivRoadPicture.getTag();
|
||||
videoFileList.add(videoFile);
|
||||
File file = new File(videoFile.getPath() + ".txt");
|
||||
videoFileList.add(file);
|
||||
fileZip = new File(Constant.PICTURE_FOLDER, "files" + ".zip");
|
||||
ZipUtil.zipFiles(videoFileList, fileZip, null);
|
||||
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
ZipUtil.zipFiles(videoFileList, fileZip, null);
|
||||
PoiEntity poiDaoPoiEntity = poiDao.getPoiEntity(showPoiEntity.getId());
|
||||
if (poiDaoPoiEntity == null || poiDaoPoiEntity.getTaskStatus() == 1 || poiDaoPoiEntity.getTaskStatus() == 2 || poiDaoPoiEntity.getTaskStatus() == 0) {
|
||||
dismissLoadingDialog();
|
||||
@ -281,6 +283,7 @@ public class RoadFragment extends BaseDrawerFragment implements View.OnClickList
|
||||
getActivity().runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
dismissLoadingDialog();
|
||||
poiVideoUpload(poiDaoPoiEntity.getBodyId(), fileZip);
|
||||
}
|
||||
});
|
||||
|
@ -1,195 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#FF444444">
|
||||
<com.otaliastudios.cameraview.CameraView
|
||||
android:id="@+id/camera"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_gravity="center"
|
||||
android:keepScreenOn="true"
|
||||
app:cameraAudio="on"
|
||||
app:cameraAutoFocusMarker="@string/cameraview_default_autofocus_marker"
|
||||
app:cameraEngine="camera2"
|
||||
app:cameraExperimental="true"
|
||||
app:cameraFacing="back"
|
||||
app:cameraFlash="auto"
|
||||
app:cameraGestureLongTap="none"
|
||||
app:cameraGesturePinch="zoom"
|
||||
app:cameraGestureScrollHorizontal="filterControl1"
|
||||
app:cameraGestureScrollVertical="exposureCorrection"
|
||||
app:cameraGestureTap="autoFocus"
|
||||
app:cameraGrid="off"
|
||||
app:cameraMode="picture"
|
||||
app:cameraPlaySounds="true"
|
||||
app:cameraPreview="glSurface"
|
||||
app:layout_constraintBottom_toTopOf="@id/ll_caiji"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.0"
|
||||
tools:layout_editor_absoluteX="-76dp">
|
||||
|
||||
</com.otaliastudios.cameraview.CameraView>
|
||||
|
||||
<com.tencent.tencentmap.mapsdk.maps.MapView
|
||||
android:id="@+id/iv_map"
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="183dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_switch"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:text="切换"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<Button
|
||||
app:layout_constraintTop_toBottomOf="@id/btn_switch"
|
||||
app:layout_constraintRight_toRightOf="@id/btn_switch"
|
||||
android:id="@+id/btn_video"
|
||||
android:visibility="gone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="停止" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_pic"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@mipmap/take_pic_arrow"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<!-- <LinearLayout-->
|
||||
<!-- android:id="@+id/ll_iv"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_gravity="bottom"-->
|
||||
<!-- android:orientation="horizontal"-->
|
||||
<!-- android:padding="16dp"-->
|
||||
<!-- android:weightSum="4"-->
|
||||
<!-- app:layout_constraintBottom_toBottomOf="parent">-->
|
||||
|
||||
|
||||
|
||||
<!-- <Space-->
|
||||
<!-- android:layout_width="0dp"-->
|
||||
<!-- android:layout_height="1dp"-->
|
||||
<!-- android:layout_weight="1" />-->
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_caiji"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginBottom="20dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent">
|
||||
<Button
|
||||
android:id="@+id/capuretVideo"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="开始采集"
|
||||
android:layout_marginRight="10dp"
|
||||
style="@style/user_data_style"/>
|
||||
<Button
|
||||
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="结束采集"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@drawable/uploding_shape"
|
||||
android:textColor="@color/colorBlue"/>
|
||||
<ImageButton
|
||||
android:id="@+id/capturePicture"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
android:visibility="gone"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
app:srcCompat="@drawable/ic_photo" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<!-- <Space-->
|
||||
<!-- android:layout_width="0dp"-->
|
||||
<!-- android:layout_height="1dp"-->
|
||||
<!-- android:layout_weight="1" />-->
|
||||
<!-- <Space-->
|
||||
<!-- android:layout_width="0dp"-->
|
||||
<!-- android:layout_height="1dp"-->
|
||||
<!-- android:layout_weight="1" />-->
|
||||
|
||||
<!-- <Space-->
|
||||
<!-- android:layout_width="0dp"-->
|
||||
<!-- android:layout_height="1dp"-->
|
||||
<!-- android:layout_weight="1" />-->
|
||||
<!-- <Space-->
|
||||
<!-- android:layout_width="0dp"-->
|
||||
<!-- android:layout_height="1dp"-->
|
||||
<!-- android:layout_weight="1" />-->
|
||||
|
||||
|
||||
|
||||
<!-- <LinearLayout-->
|
||||
<!-- android:id="@+id/capturePictureSnapshot"-->
|
||||
<!-- android:layout_width="56dp"-->
|
||||
<!-- android:layout_height="56dp"-->
|
||||
<!-- android:background="?attr/selectableItemBackgroundBorderless"-->
|
||||
<!-- android:gravity="center"-->
|
||||
<!-- android:orientation="vertical"-->
|
||||
<!-- android:visibility="gone">-->
|
||||
|
||||
<!-- <ImageView-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- app:srcCompat="@drawable/ic_photo" />-->
|
||||
|
||||
<!-- <TextView-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="SNAP"-->
|
||||
<!-- android:textColor="@android:color/white"-->
|
||||
<!-- android:textSize="10sp"-->
|
||||
<!-- android:textStyle="bold" />-->
|
||||
|
||||
<!-- </LinearLayout>-->
|
||||
|
||||
<!-- <ImageButton-->
|
||||
<!-- android:id="@+id/capuretVideo"-->
|
||||
<!-- android:layout_width="56dp"-->
|
||||
<!-- android:layout_height="56dp"-->
|
||||
<!-- android:background="?attr/selectableItemBackgroundBorderless"-->
|
||||
<!-- app:srcCompat="@drawable/ic_video" />-->
|
||||
<!-- <LinearLayout-->
|
||||
<!-- android:id="@+id/captureVideoSnapshot"-->
|
||||
<!-- android:layout_width="56dp"-->
|
||||
<!-- android:layout_height="56dp"-->
|
||||
<!-- android:orientation="vertical"-->
|
||||
<!-- android:background="?attr/selectableItemBackgroundBorderless"-->
|
||||
<!-- android:gravity="center" >-->
|
||||
<!-- <ImageView-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- app:srcCompat="@drawable/ic_video"/>-->
|
||||
<!-- <TextView-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:textColor="@android:color/white"-->
|
||||
<!-- android:textStyle="bold"-->
|
||||
<!-- android:textSize="10sp"-->
|
||||
<!-- android:text="SNAP"/>-->
|
||||
<!-- </LinearLayout>-->
|
||||
|
||||
<!-- </LinearLayout>-->
|
||||
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -40,15 +40,6 @@
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_video"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="停止"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintRight_toRightOf="@id/btn_switch"
|
||||
app:layout_constraintTop_toBottomOf="@id/btn_switch" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_pic"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -6,21 +6,30 @@
|
||||
android:layout_height="match_parent"
|
||||
android:background="#FF444444"
|
||||
tools:context=".activity.PicturesActivity">
|
||||
|
||||
<com.otaliastudios.cameraview.CameraView
|
||||
android:id="@+id/cameraView"
|
||||
<FrameLayout
|
||||
android:id="@+id/layer_change"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
/>
|
||||
android:layout_height="match_parent">
|
||||
<com.otaliastudios.cameraview.CameraView
|
||||
android:id="@+id/camera"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:keepScreenOn="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.tencent.tencentmap.mapsdk.maps.TextureMapView
|
||||
android:id="@+id/iv_map"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="157dp"
|
||||
app:layout_constraintHeight_default="percent"
|
||||
app:layout_constraintHeight_percent="0.4"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintWidth_default="percent"
|
||||
app:layout_constraintWidth_percent="0.4" />
|
||||
</FrameLayout>
|
||||
|
||||
<!-- <com.tencent.tencentmap.mapsdk.maps.MapView-->
|
||||
<!-- android:id="@+id/iv_map"-->
|
||||
<!-- android:layout_width="300dp"-->
|
||||
<!-- android:layout_height="183dp"-->
|
||||
<!-- app:layout_constraintLeft_toLeftOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toTopOf="parent" />-->
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_switch"
|
||||
@ -32,23 +41,25 @@
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_pic"
|
||||
<Button
|
||||
android:id="@+id/btn_video"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@mipmap/take_pic_arrow"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
android:text="停止"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintRight_toRightOf="@id/btn_switch"
|
||||
app:layout_constraintTop_toBottomOf="@id/btn_switch" />
|
||||
|
||||
|
||||
<Button
|
||||
<CheckBox
|
||||
android:id="@+id/capuretVideo"
|
||||
style="@style/user_data_style"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:background="@drawable/user_style"
|
||||
android:button="@null"
|
||||
android:gravity="center"
|
||||
android:padding="@dimen/fab_margin"
|
||||
android:text="开始采集"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
|
@ -150,7 +150,6 @@
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="100dp"
|
||||
android:layout_marginTop="10dp"
|
||||
|
||||
app:layout_constraintLeft_toLeftOf="@id/ll_pictures"
|
||||
app:layout_constraintTop_toBottomOf="@id/ll_pictures" />
|
||||
<LinearLayout
|
||||
|
@ -34,14 +34,6 @@
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_video2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="停止"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintRight_toRightOf="@id/btn_switch2"
|
||||
app:layout_constraintTop_toBottomOf="@id/btn_switch2" />
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/capuretVideo2"
|
||||
|
Loading…
x
Reference in New Issue
Block a user