|
@@ -1,5 +1,6 @@
|
|
|
package com.cooleshow.teacher.ui.web;
|
|
|
|
|
|
+import android.Manifest;
|
|
|
import android.app.Activity;
|
|
|
import android.content.Intent;
|
|
|
import android.content.pm.ActivityInfo;
|
|
@@ -31,6 +32,7 @@ import com.cooleshow.base.ui.activity.BaseMVPActivity;
|
|
|
import com.cooleshow.base.utils.FileUtils;
|
|
|
import com.cooleshow.base.utils.LOG;
|
|
|
import com.cooleshow.base.utils.ToastUtil;
|
|
|
+import com.cooleshow.base.utils.helper.MidiFileHelper;
|
|
|
import com.cooleshow.base.utils.helper.WebParamsHelper;
|
|
|
import com.cooleshow.base.utils.helper.upload.UploadHelper;
|
|
|
import com.cooleshow.teacher.R;
|
|
@@ -40,6 +42,7 @@ import com.cooleshow.teacher.presenter.web.AccompanyPresenter;
|
|
|
import com.cooleshow.base.utils.MyFileUtils;
|
|
|
import com.cooleshow.usercenter.helper.UserHelper;
|
|
|
import com.gyf.immersionbar.ImmersionBar;
|
|
|
+import com.tbruyelle.rxpermissions3.RxPermissions;
|
|
|
import com.wonderkiln.camerakit.CameraKit;
|
|
|
import com.wonderkiln.camerakit.CameraView;
|
|
|
import com.wonderkiln.camerakit.events.CameraKitError;
|
|
@@ -160,7 +163,7 @@ public class AccompanyActivity extends BaseMVPActivity<ActivityAccompanyBinding,
|
|
|
|
|
|
@Override
|
|
|
public void onEvent(CameraKitEvent cameraKitEvent) {
|
|
|
- if(TextUtils.equals(cameraKitEvent.getType(),CameraKitEvent.TYPE_CAMERA_OPEN)){
|
|
|
+ if (TextUtils.equals(cameraKitEvent.getType(), CameraKitEvent.TYPE_CAMERA_OPEN)) {
|
|
|
if (cameraView != null) {
|
|
|
//cameraView的onMeasure会根据mAdjustViewBounds计算宽高,所以保证cameraView里面的getPreviewSize有值以后再刷新一下根据cameraView的mAdjustViewBounds确认宽高
|
|
|
cameraView.requestLayout();
|
|
@@ -299,6 +302,25 @@ public class AccompanyActivity extends BaseMVPActivity<ActivityAccompanyBinding,
|
|
|
startService(intentOne);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void initData() {
|
|
|
+ super.initData();
|
|
|
+ requestPermission();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 申请存储权限
|
|
|
+ */
|
|
|
+ private void requestPermission() {
|
|
|
+ new RxPermissions(this)
|
|
|
+ .request(android.Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE)
|
|
|
+ .subscribe(permission -> {
|
|
|
+ if (permission) {
|
|
|
+ MidiFileHelper.initMidFile();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
private void toStartCapture() {
|
|
|
Observable.create(new ObservableOnSubscribe<Object>() {
|
|
|
@Override
|
|
@@ -346,11 +368,11 @@ public class AccompanyActivity extends BaseMVPActivity<ActivityAccompanyBinding,
|
|
|
|
|
|
private void saveVideoToGallery(String filePath) {
|
|
|
Observable.create(new ObservableOnSubscribe<Object>() {
|
|
|
- @Override
|
|
|
- public void subscribe(@NonNull ObservableEmitter<Object> emitter) throws Throwable {
|
|
|
- FileUtils.saveVideoToGallery(AccompanyActivity.this.getApplicationContext(), filePath);
|
|
|
- }
|
|
|
- }).subscribeOn(Schedulers.newThread())
|
|
|
+ @Override
|
|
|
+ public void subscribe(@NonNull ObservableEmitter<Object> emitter) throws Throwable {
|
|
|
+ FileUtils.saveVideoToGallery(AccompanyActivity.this.getApplicationContext(), filePath);
|
|
|
+ }
|
|
|
+ }).subscribeOn(Schedulers.newThread())
|
|
|
.observeOn(AndroidSchedulers.mainThread())
|
|
|
.subscribe(new Consumer<Object>() {
|
|
|
@Override
|