From ff33c4f30d861f4c76e3953f0e1ccb36c33185d3 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 14 Jun 2018 14:14:57 +0200 Subject: [PATCH] notify the activity at stoping the video recording, fixed third party intents --- .../simplemobiletools/camera/activities/MainActivity.kt | 4 ++-- .../simplemobiletools/camera/views/PreviewCameraTwo.kt | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt index bb4fffd7..6eef16a9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt @@ -536,7 +536,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener { } fun videoSaved(uri: Uri) { - setupPreviewImage(mIsInPhotoMode) + setupPreviewImage(false) if (mIsVideoCaptureIntent) { Intent().apply { data = uri @@ -551,7 +551,7 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener { override fun mediaSaved(path: String) { rescanPaths(arrayListOf(path)) { - setupPreviewImage(mIsInPhotoMode) + setupPreviewImage(true) Intent(BROADCAST_REFRESH_MEDIA).apply { putExtra(REFRESH_PATH, path) `package` = "com.simplemobiletools.gallery" diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/views/PreviewCameraTwo.kt b/app/src/main/kotlin/com/simplemobiletools/camera/views/PreviewCameraTwo.kt index 6b0c8105..d6fe6459 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/views/PreviewCameraTwo.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/views/PreviewCameraTwo.kt @@ -34,6 +34,7 @@ import com.simplemobiletools.camera.interfaces.MyPreview import com.simplemobiletools.camera.models.FocusArea import com.simplemobiletools.camera.models.MySize import com.simplemobiletools.commons.helpers.isJellyBean1Plus +import java.io.File import java.lang.IllegalArgumentException import java.lang.InterruptedException import java.lang.Math @@ -90,6 +91,7 @@ class PreviewCameraTwo : ViewGroup, TextureView.SurfaceTextureListener, MyPrevie private var mIsRecording = false private var mUseFrontCamera = false private var mCameraId = "" + private var mLastVideoPath = "" private var mCameraState = STATE_INIT private var mFlashlightState = FLASH_OFF @@ -786,13 +788,13 @@ class PreviewCameraTwo : ViewGroup, TextureView.SurfaceTextureListener, MyPrevie private fun setupMediaRecorder() { val videoSize = getCurrentResolution() - val currVideoPath = mActivity.getOutputMediaFile(false) + mLastVideoPath = mActivity.getOutputMediaFile(false) val rotation = mActivity.windowManager.defaultDisplay.rotation mMediaRecorder!!.apply { setAudioSource(MediaRecorder.AudioSource.MIC) setVideoSource(MediaRecorder.VideoSource.SURFACE) setOutputFormat(MediaRecorder.OutputFormat.MPEG_4) - setOutputFile(currVideoPath) + setOutputFile(mLastVideoPath) setVideoEncodingBitRate(10000000) setVideoFrameRate(30) setVideoSize(videoSize.width, videoSize.height) @@ -813,6 +815,7 @@ class PreviewCameraTwo : ViewGroup, TextureView.SurfaceTextureListener, MyPrevie if (mActivity.config.isSoundEnabled) { mMediaActionSound.play(MediaActionSound.START_VIDEO_RECORDING) } + val texture = mTextureView.surfaceTexture texture.setDefaultBufferSize(mPreviewSize!!.width, mPreviewSize!!.height) mPreviewRequestBuilder = mCameraDevice!!.createCaptureRequest(CameraDevice.TEMPLATE_RECORD) @@ -856,6 +859,7 @@ class PreviewCameraTwo : ViewGroup, TextureView.SurfaceTextureListener, MyPrevie mIsRecording = false mMediaRecorder!!.stop() mMediaRecorder!!.reset() + mActivity.videoSaved(Uri.fromFile(File(mLastVideoPath))) Thread { closeCamera() openCamera(mTextureView.width, mTextureView.height)