diff options
author | Jay Wang <jaywang@codeaurora.org> | 2017-06-29 20:42:29 -0700 |
---|---|---|
committer | Jay Wang <jaywang@codeaurora.org> | 2017-07-07 13:45:29 -0700 |
commit | b8f8b6b7c4c6d63ae2b4b44835c72db07569e892 (patch) | |
tree | 2fb7611abe2473db73e354db8fc9bf71ea048eec /src | |
parent | 2a3910d3535474770f2299de6aa8ce42ab9e7c60 (diff) | |
download | android_packages_apps_Snap-b8f8b6b7c4c6d63ae2b4b44835c72db07569e892.tar.gz android_packages_apps_Snap-b8f8b6b7c4c6d63ae2b4b44835c72db07569e892.tar.bz2 android_packages_apps_Snap-b8f8b6b7c4c6d63ae2b4b44835c72db07569e892.zip |
Revert "SnapdragonCamera: Changes for SDM bringup"
This reverts commit f245124ed851a0888dbced9b887d0db2f0135177.
Change-Id: I4c9d787c5486c822a764f7b2551a87c2f924fbcd
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/CaptureModule.java | 345 | ||||
-rwxr-xr-x | src/com/android/camera/CaptureUI.java | 4 | ||||
-rwxr-xr-x | src/com/android/camera/SettingsManager.java | 114 | ||||
-rwxr-xr-x | src/com/android/camera/Storage.java | 1 | ||||
-rw-r--r-- | src/com/android/camera/imageprocessor/PostProcessor.java | 61 | ||||
-rw-r--r-- | src/com/android/camera/ui/ProMode.java | 1 | ||||
-rw-r--r-- | src/com/android/camera/util/PersistUtil.java | 8 |
7 files changed, 88 insertions, 446 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index fdd876c5a..96ec5d8f2 100644 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -35,7 +35,6 @@ import android.graphics.Matrix; import android.graphics.Point; import android.graphics.Rect; import android.graphics.RectF; -import android.graphics.YuvImage; import android.hardware.Camera; import android.hardware.camera2.CameraAccessException; import android.hardware.camera2.CameraCaptureSession; @@ -397,10 +396,9 @@ public class CaptureModule implements CameraModule, PhotoController, private boolean mHighSpeedRecordingMode = false; //HFR private int mHighSpeedCaptureRate; private CaptureRequest.Builder mVideoRequestBuilder; - public static boolean mIsBringUp = true; - private boolean mIsZSLBringUpPictureRequested = false; public static int statsdata[] = new int[1024]; + private static final int SELFIE_FLASH_DURATION = 680; private MediaActionSound mSound; @@ -552,7 +550,7 @@ public class CaptureModule implements CameraModule, PhotoController, private void processCaptureResult(CaptureResult result) { int id = (int) result.getRequest().getTag(); - Log.d(TAG,"Session capture result"); + if (!mFirstPreviewLoaded) { mActivity.runOnUiThread(new Runnable() { @Override @@ -589,8 +587,6 @@ public class CaptureModule implements CameraModule, PhotoController, CaptureRequest request, TotalCaptureResult result) { int id = (int) result.getRequest().getTag(); - Log.d(TAG,"Session call back"); - if(mIsBringUp) return; if (id == getMainCameraId()) { updateFocusStateChange(result); Face[] faces = result.get(CaptureResult.STATISTICS_FACES); @@ -850,7 +846,6 @@ public class CaptureModule implements CameraModule, PhotoController, private boolean isRawCaptureOn() { String value = mSettingsManager.getValue(SettingsManager.KEY_SAVERAW); if (value == null) return false; - if(mIsBringUp) return false; return value.equals("enable"); } @@ -989,12 +984,8 @@ public class CaptureModule implements CameraModule, PhotoController, CaptureRequest.Builder builder; if(mPostProcessor.isZSLEnabled() && id == getMainCameraId()) { builder = mCameraDevice[id].createCaptureRequest(CameraDevice.TEMPLATE_ZERO_SHUTTER_LAG); - Log.d(TAG, "TEMPLATE_ZERO_SHUTTER_LAG is used"); } else { - int templateId = CameraDevice.TEMPLATE_PREVIEW; - if(mIsBringUp) templateId = CameraDevice.TEMPLATE_RECORD; - builder = mCameraDevice[id].createCaptureRequest(templateId); - Log.d(TAG, templateId+ " TEMPLATE is used"); + builder = mCameraDevice[id].createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); } return builder; } @@ -1047,23 +1038,11 @@ public class CaptureModule implements CameraModule, PhotoController, if (mPaused || null == mCameraDevice[id]) { return; } - Log.d(TAG, "onConfigured for the sessionCreation"); // When the session is ready, we start displaying the preview. mCaptureSession[id] = cameraCaptureSession; if(id == getMainCameraId()) { mCurrentSession = cameraCaptureSession; } - if(mIsBringUp) { - setDisplayOrientation(); - try { - mCaptureSession[id].setRepeatingRequest(mPreviewRequestBuilder[id] - .build(), mCaptureCallback, mCameraHandler); - } catch (CameraAccessException e) { - e.printStackTrace(); - } - startBringupVideoRecording(); - return; - } initializePreviewConfiguration(id); setDisplayOrientation(); updateFaceDetection(); @@ -1084,7 +1063,7 @@ public class CaptureModule implements CameraModule, PhotoController, } if (isClearSightOn()) { ClearSightImageProcessor.getInstance().onCaptureSessionConfigured(id == BAYER_ID, cameraCaptureSession); - } else if (mChosenImageFormat == ImageFormat.PRIVATE && id == getMainCameraId() && !mIsBringUp) { + } else if (mChosenImageFormat == ImageFormat.PRIVATE && id == getMainCameraId()) { mPostProcessor.onSessionConfigured(mCameraDevice[id], mCaptureSession[id]); } } catch (CameraAccessException e) { @@ -1144,21 +1123,11 @@ public class CaptureModule implements CameraModule, PhotoController, mPreviewRequestBuilder[id].addTarget(surs); list.add(surs); } - if(mIsBringUp) { - bringupPrepareMediaRecorder(); - list.add(mMediaRecorder.getSurface()); //For video recording bringup - } list.add(mImageReader[id].getSurface()); - mPreviewRequestBuilder[id].addTarget(mMediaRecorder.getSurface()); - if(!PersistUtil.getCameraBringup4KVIDEO()) { - Log.d(TAG, "Pseduo ZSL is enabled for the bringup snapshot"); - mPreviewRequestBuilder[id].addTarget(mImageReader[id].getSurface()); - } if (mSaveRaw) { list.add(mRawImageReader[id].getSurface()); } - Log.d(TAG, "Number of surfaces: "+list.size()); - if((mChosenImageFormat == ImageFormat.YUV_420_888 || mChosenImageFormat == ImageFormat.PRIVATE) && !mIsBringUp) { + if(mChosenImageFormat == ImageFormat.YUV_420_888 || mChosenImageFormat == ImageFormat.PRIVATE) { if (mPostProcessor.isZSLEnabled()) { mPreviewRequestBuilder[id].addTarget(mImageReader[id].getSurface()); list.add(mPostProcessor.getZSLReprocessImageReader().getSurface()); @@ -1170,12 +1139,10 @@ public class CaptureModule implements CameraModule, PhotoController, } else { mCameraDevice[id].createCaptureSession(list, captureSessionCallback, null); } - } else { //For jpeg case and bringup case - Log.d(TAG, "Capture session with JPEG format path but YUV format"); + } else { mCameraDevice[id].createCaptureSession(list, captureSessionCallback, null); } } else { - Log.d(TAG, "This shouldn't happening"); mPreviewRequestBuilder[id].addTarget(surface); list.add(surface); list.add(mImageReader[id].getSurface()); @@ -1186,42 +1153,6 @@ public class CaptureModule implements CameraModule, PhotoController, } } - private void bringupPrepareMediaRecorder() { - try { - Log.d(TAG, "bringup setUpMediaRecorder"); - int size = CamcorderProfile.QUALITY_HIGH; - int videoWidth = 1920; - int videoHeight = 1080; - if(PersistUtil.getCameraBringup4KVIDEO()) { - Log.d(TAG, "4K Video is enabled"); - videoWidth = 3840; - videoHeight = 2160; - } - mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); - mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE); - mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); - String fileName = generateVideoFilename(MediaRecorder.OutputFormat.MPEG_4); - Log.v(TAG, "New video filename: " + fileName); - mMediaRecorder.setOutputFile(fileName); - mMediaRecorder.setVideoFrameRate(15); - mMediaRecorder.setVideoEncodingBitRate(10000000); - mMediaRecorder.setVideoSize(videoWidth, videoHeight); - Log.v(TAG, "Setting videoEncoder " + fileName); - mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); - mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); - mMediaRecorder.setOrientationHint(0); - Log.v(TAG, "Media recorder prepare " + fileName); - mMediaRecorder.prepare(); - mMediaRecorder.setOnErrorListener(this); - mMediaRecorder.setOnInfoListener(this); - Log.v(TAG, "Request audio " + fileName); - requestAudioFocus(); - } catch (IOException e) { - e.printStackTrace(); - } - - } - public void setAFModeToPreview(int id, int afMode) { if (!checkSessionAndBuilder(mCaptureSession[id], mPreviewRequestBuilder[id])) { return; @@ -1377,11 +1308,6 @@ public class CaptureModule implements CameraModule, PhotoController, */ private void takePicture() { Log.d(TAG, "takePicture"); - if(mIsBringUp) { - //forcedCapture(BAYER_ID); - mIsZSLBringUpPictureRequested = true; - return; - } mUI.enableShutter(false); if (isBackCamera()) { switch (getCameraMode()) { @@ -1477,50 +1403,6 @@ public class CaptureModule implements CameraModule, PhotoController, } } - private void forcedCapture(final int id) { - Log.d(TAG, "forcedCapture " + id); - mJpegImageData = null; - mIsRefocus = false; - CameraCaptureSession.CaptureCallback captureCallback = new CameraCaptureSession.CaptureCallback() { - - @Override - public void onCaptureCompleted(CameraCaptureSession session, - CaptureRequest request, - TotalCaptureResult result) { - Log.d(TAG, "captureStillPicture onCaptureCompleted: " + id); - restartPreview(id); - } - - @Override - public void onCaptureFailed(CameraCaptureSession session, - CaptureRequest request, - CaptureFailure result) { - Log.d(TAG, "captureStillPicture onCaptureFailed: " + id); - } - - @Override - public void onCaptureSequenceCompleted(CameraCaptureSession session, int - sequenceId, long frameNumber) { - Log.d(TAG, "captureStillPicture onCaptureSequenceCompleted: " + id); - } - }; - try { - if (null == mActivity || null == mCameraDevice[id]) { - warningToast("Camera is not ready yet to take a picture."); - return; - } - CaptureRequest.Builder captureBuilder; - captureBuilder = mCameraDevice[id].createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE); - captureBuilder.addTarget(mImageReader[id].getSurface()); - mCaptureSession[id].stopRepeating(); - mCaptureSession[id].capture(captureBuilder.build(), captureCallback, mCaptureCallbackHandler); - } catch (CameraAccessException e) { - Log.d(TAG, "Capture still picture has failed"); - e.printStackTrace(); - } - - } - private void autoFocusTrigger(int id) { if (DEBUG) { Log.d(TAG, "autoFocusTrigger " + id); @@ -1725,7 +1607,7 @@ public class CaptureModule implements CameraModule, PhotoController, mMpoSaveHandler.obtainMessage(MpoSaveHandler.MSG_CONFIGURE, Long.valueOf(mCaptureStartTime)).sendToTarget(); } - if((mChosenImageFormat == ImageFormat.YUV_420_888 || mChosenImageFormat == ImageFormat.PRIVATE) && !mIsBringUp) { // Case of ZSL, FrameFilter, SelfieMirror + if(mChosenImageFormat == ImageFormat.YUV_420_888 || mChosenImageFormat == ImageFormat.PRIVATE) { // Case of ZSL, FrameFilter, SelfieMirror mPostProcessor.onStartCapturing(); mCaptureSession[id].capture(captureBuilder.build(), mPostProcessor.getCaptureCallback(), mCaptureCallbackHandler); } else { @@ -1854,7 +1736,7 @@ public class CaptureModule implements CameraModule, PhotoController, } } else { if ((imageFormat == ImageFormat.YUV_420_888 || imageFormat == ImageFormat.PRIVATE) - && i == getMainCameraId() && !mIsBringUp) { + && i == getMainCameraId()) { if(mPostProcessor.isZSLEnabled()) { mImageReader[i] = ImageReader.newInstance(mSupportedMaxPictureSize.getWidth(), mSupportedMaxPictureSize.getHeight(), imageFormat, mPostProcessor.getMaxRequiredImageNum()); @@ -1870,26 +1752,14 @@ public class CaptureModule implements CameraModule, PhotoController, mImageReader[i].setOnImageAvailableListener(mPostProcessor.getImageHandler(), mImageAvailableHandler); mPostProcessor.onImageReaderReady(mImageReader[i], mSupportedMaxPictureSize, mPictureSize); } else { - if(mIsBringUp) { - mImageReader[i] = ImageReader.newInstance(3840, 2160, imageFormat, 10); - Log.d(TAG, "Image Reader for the bringup with "+mImageReader[i].getWidth()+" "+mImageReader[i].getHeight()); - } else { - mImageReader[i] = ImageReader.newInstance(mPictureSize.getWidth(), - mPictureSize.getHeight(), imageFormat, PersistUtil.getLongshotShotLimit()); - } + mImageReader[i] = ImageReader.newInstance(mPictureSize.getWidth(), + mPictureSize.getHeight(), imageFormat, PersistUtil.getLongshotShotLimit()); + ImageAvailableListener listener = new ImageAvailableListener(i) { @Override public void onImageAvailable(ImageReader reader) { Log.d(TAG, "image available for cam: " + mCamId); - //Image image = reader.acquireNextImage(); - Image image = reader.acquireLatestImage(); - if(image == null) return; - if(!mIsZSLBringUpPictureRequested) { - image.close(); - return; - } - Log.d(TAG, "ZSL Bringup image is requested"); - mIsZSLBringUpPictureRequested = false; + Image image = reader.acquireNextImage(); if (isMpoOn()) { mMpoSaveHandler.obtainMessage( @@ -1901,54 +1771,35 @@ public class CaptureModule implements CameraModule, PhotoController, String title = (name == null) ? null : name.title; long date = (name == null) ? -1 : name.date; - if(mIsBringUp) { // bring up target gives YUV format only - Log.d(TAG, "Bring up picture of YUV is taken and ready to process"); - int width = image.getWidth(); - int height = image.getHeight(); - int stride = image.getPlanes()[0].getRowStride(); - ByteBuffer yuvBuf = ByteBuffer.allocateDirect(stride * height*3/2); - - ByteBuffer yBuf = image.getPlanes()[0].getBuffer(); - ByteBuffer vuBuf = image.getPlanes()[2].getBuffer(); - yBuf.get(yuvBuf.array(), 0, yBuf.remaining()); - vuBuf.get(yuvBuf.array(), stride*height, vuBuf.remaining()); - byte[] bytes = nv21ToJpeg(yuvBuf, width, height, stride); - mActivity.getMediaSaveService().addImage(bytes, title, date, - null, width, height, 90, null, - mOnMediaSavedListener, mContentResolver, "jpeg"); - mActivity.updateThumbnail(bytes); - image.close(); - } else { - byte[] bytes = getJpegData(image); + byte[] bytes = getJpegData(image); - if (image.getFormat() == ImageFormat.RAW10) { - mActivity.getMediaSaveService().addRawImage(bytes, title, - "raw"); + if (image.getFormat() == ImageFormat.RAW10) { + mActivity.getMediaSaveService().addRawImage(bytes, title, + "raw"); + } else { + ExifInterface exif = Exif.getExif(bytes); + int orientation = Exif.getOrientation(exif); + + if (mIntentMode != CaptureModule.INTENT_MODE_NORMAL) { + mJpegImageData = bytes; + if (!mQuickCapture) { + showCapturedReview(bytes, orientation, + mPostProcessor.isSelfieMirrorOn()); + } else { + onCaptureDone(); + } } else { - ExifInterface exif = Exif.getExif(bytes); - int orientation = Exif.getOrientation(exif); - - if (mIntentMode != CaptureModule.INTENT_MODE_NORMAL) { - mJpegImageData = bytes; - if (!mQuickCapture) { - showCapturedReview(bytes, orientation, - mPostProcessor.isSelfieMirrorOn()); - } else { - onCaptureDone(); - } + mActivity.getMediaSaveService().addImage(bytes, title, date, + null, image.getWidth(), image.getHeight(), orientation, null, + mOnMediaSavedListener, mContentResolver, "jpeg"); + + if (mLongshotActive) { + mLastJpegData = bytes; } else { - mActivity.getMediaSaveService().addImage(bytes, title, date, - null, image.getWidth(), image.getHeight(), orientation, null, - mOnMediaSavedListener, mContentResolver, "jpeg"); - - if (mLongshotActive) { - mLastJpegData = bytes; - } else { - mActivity.updateThumbnail(bytes); - } + mActivity.updateThumbnail(bytes); } - image.close(); } + image.close(); } } } @@ -1971,15 +1822,6 @@ public class CaptureModule implements CameraModule, PhotoController, } } - private byte[] nv21ToJpeg(ByteBuffer byteBuffer, int width, int height, int stride) { - PostProcessor.BitmapOutputStream bos = new PostProcessor.BitmapOutputStream(1024); - YuvImage im = new YuvImage(byteBuffer.array(), ImageFormat.NV21, - width, height, new int[]{stride, stride}); - im.compressToJpeg(new Rect(0,0, width, height), 50, bos); - byte[] bytes = bos.getArray(); - return bytes; - } - private void createVideoSnapshotImageReader() { if (mVideoSnapshotImageReader != null) { mVideoSnapshotImageReader.close(); @@ -2059,19 +1901,7 @@ public class CaptureModule implements CameraModule, PhotoController, } } - public void restartPreview(int id) { - Log.d(TAG, "restart the preview " + id); - try { - mPreviewRequestBuilder[id].setTag(id); - mCaptureSession[id].setRepeatingRequest(mPreviewRequestBuilder[id] - .build(), mCaptureCallback, mCameraHandler); - } catch (NullPointerException | IllegalStateException | CameraAccessException e) { - Log.w(TAG, "Session is already closed"); - } - } - private Size parsePictureSize(String value) { - if(mIsBringUp) return new Size(640,480); int indexX = value.indexOf('x'); int width = Integer.parseInt(value.substring(0, indexX)); int height = Integer.parseInt(value.substring(indexX + 1)); @@ -2256,8 +2086,7 @@ public class CaptureModule implements CameraModule, PhotoController, applySceneMode(builder); applyZoom(builder, id); applyInstantAEC(builder); - if(!mIsBringUp) - applySaturationLevel(builder); + applySaturationLevel(builder); applyAntiBandingLevel(builder); applyHistogram(builder); } @@ -2487,7 +2316,6 @@ public class CaptureModule implements CameraModule, PhotoController, width = mVideoSize.getWidth(); height = mVideoSize.getHeight(); } - if(mIsBringUp) preview_resolution = 4; //forcing it to 640 480 switch (preview_resolution) { case 1: { width = 640; @@ -2554,16 +2382,12 @@ public class CaptureModule implements CameraModule, PhotoController, mFrameProcessor.onOpen(getFrameProcFilterId(), mPreviewSize); } - Log.d(TAG, "openProcessors"); if(mPostProcessor.isZSLEnabled()) { mChosenImageFormat = ImageFormat.PRIVATE; } else if(mPostProcessor.isFilterOn() || getFrameFilters().size() != 0 || mPostProcessor.isSelfieMirrorOn()) { mChosenImageFormat = ImageFormat.YUV_420_888; } else { - Log.d(TAG, "mChosenImageFormat is JPEG"); mChosenImageFormat = ImageFormat.JPEG; - if(mIsBringUp) - mChosenImageFormat = ImageFormat.YUV_420_888; } setUpCameraOutputs(mChosenImageFormat); @@ -3001,7 +2825,6 @@ public class CaptureModule implements CameraModule, PhotoController, public boolean isSelfieFlash() { String value = mSettingsManager.getValue(SettingsManager.KEY_SELFIE_FLASH); - if(mIsBringUp) return false; return value != null && value.equals("on") && getMainCameraId() == FRONT_ID; } @@ -3200,12 +3023,8 @@ public class CaptureModule implements CameraModule, PhotoController, SurfaceHolder.class); mSupportedMaxPictureSize = prevSizes[0]; Size[] rawSize = mSettingsManager.getSupportedOutputSize(getMainCameraId(), - ImageFormat.RAW10); - if (rawSize == null) { - mSupportedRawPictureSize = new Size(640, 480); - } else { - mSupportedRawPictureSize = rawSize[0]; - } + ImageFormat.RAW10); + mSupportedRawPictureSize = rawSize[0]; mPreviewSize = getOptimalPreviewSize(mPictureSize, prevSizes); Size[] thumbSizes = mSettingsManager.getSupportedThumbnailSizes(getMainCameraId()); mPictureThumbSize = getOptimalPreviewSize(mPictureSize, thumbSizes); // get largest thumb size @@ -3456,32 +3275,6 @@ public class CaptureModule implements CameraModule, PhotoController, return true; } - private void startBringupVideoRecording() { - try { - mMediaRecorder.start(); // Recording is now started - } catch (RuntimeException e) { - Toast.makeText(mActivity,"Could not start media recorder.\n " + - "Can't start video recording.", Toast.LENGTH_LONG).show(); - releaseMediaRecorder(); - releaseAudioFocus(); - mStartRecPending = false; - mIsRecordingVideo = false; - return; - } - mIsRecordingVideo = true; - mUI.clearFocus(); - mUI.resetPauseButton(); - mRecordingTotalTime = 0L; - mRecordingStartTime = SystemClock.uptimeMillis(); - mActivity.runOnUiThread(new Runnable() { - public void run() { - mUI.showRecordingUI(true, false); - updateRecordingTime(); - keepScreenOn(); - } - }); - } - private void updateTimeLapseSetting() { String value = mSettingsManager.getValue(SettingsManager .KEY_VIDEO_TIME_LAPSE_FRAME_INTERVAL); @@ -3651,43 +3444,6 @@ public class CaptureModule implements CameraModule, PhotoController, resumeVideoRecording(); } - private void stopBringupRecordingVideo() { - Log.d(TAG, "stopBringupRecordingVideo "); - - mStopRecPending = true; - boolean shouldAddToMediaStoreNow = false; - try { - mMediaRecorder.setOnErrorListener(null); - mMediaRecorder.setOnInfoListener(null); - mMediaRecorder.stop(); - shouldAddToMediaStoreNow = true; - AccessibilityUtils.makeAnnouncement(mUI.getVideoButton(), - mActivity.getString(R.string.video_recording_stopped)); - } catch (RuntimeException e) { - Log.w(TAG, "MediaRecoder stop fail", e); - if (mVideoFilename != null) deleteVideoFile(mVideoFilename); - } - if (shouldAddToMediaStoreNow) { - saveVideo(); - } - keepScreenOnAwhile(); - // release media recorder - releaseMediaRecorder(); - releaseAudioFocus(); - mUI.showRecordingUI(false, false); - mUI.enableShutter(true); - mIsRecordingVideo = false; - if (mIntentMode == INTENT_MODE_VIDEO) { - if (isQuickCapture()) { - onRecordingDone(true); - } else { - Bitmap thumbnail = getVideoThumbnail(); - mUI.showRecordVideoForReview(thumbnail); - } - } - mUI.showUIafterRecording(); - mStopRecPending = false; - } private void stopRecordingVideo(int cameraId) { Log.d(TAG, "stopRecordingVideo " + cameraId); @@ -3992,17 +3748,6 @@ public class CaptureModule implements CameraModule, PhotoController, } public void onVideoButtonClick() { - Log.d(TAG, "video button clicked"); - if(mIsBringUp) { - if(mIsRecordingVideo) { - Log.d(TAG, "Stop bringup video recording"); - stopBringupRecordingVideo(); - } else { - Log.d(TAG, "Start bringup video recording"); - startBringupVideoRecording(); - } - return; - } if (isRecorderReady() == false) return; if (getCameraMode() == DUAL_MODE) return; @@ -4019,14 +3764,13 @@ public class CaptureModule implements CameraModule, PhotoController, @Override public void onShutterButtonClick() { - Log.d(TAG, "Shutter button is clicked"); if (mActivity.getStorageSpaceBytes() <= Storage.LOW_STORAGE_THRESHOLD_BYTES) { Log.i(TAG, "Not enough space or storage not ready. remaining=" + mActivity.getStorageSpaceBytes()); return; } - if (mIsRecordingVideo && !mIsBringUp) { + if (mIsRecordingVideo) { captureVideoSnapshot(getMainCameraId()); } else { String timer = mSettingsManager.getValue(SettingsManager.KEY_TIMER); @@ -4040,14 +3784,10 @@ public class CaptureModule implements CameraModule, PhotoController, if (seconds > 0) { mUI.startCountDown(seconds, true); } else { - if(!mIsBringUp && mChosenImageFormat == ImageFormat.YUV_420_888 && mPostProcessor.isItBusy()) { + if(mChosenImageFormat == ImageFormat.YUV_420_888 && mPostProcessor.isItBusy()) { warningToast("It's still busy processing previous scene mode request."); return; } - if(mIsBringUp && PersistUtil.getCameraBringup4KVIDEO()) { - Log.d(TAG, "Snapshot is disabled as 4KVideo is enabled"); - return; - } checkSelfieFlashAndTakePicture(); } } @@ -4534,7 +4274,6 @@ public class CaptureModule implements CameraModule, PhotoController, if (getCameraMode() == DUAL_MODE && id == MONO_ID) { return mUI.getMonoDummySurface(); } else { - Log.d(TAG,"Getting the surface from the surfaceHolder"); return mUI.getSurfaceHolder().getSurface(); } } else { @@ -5193,7 +4932,7 @@ public class CaptureModule implements CameraModule, PhotoController, boolean promode = false; if (scene != null) { int mode = Integer.parseInt(scene); - if (mode == SettingsManager.SCENE_MODE_PROMODE_INT && !mIsBringUp) { + if (mode == SettingsManager.SCENE_MODE_PROMODE_INT) { promode = true; } } diff --git a/src/com/android/camera/CaptureUI.java b/src/com/android/camera/CaptureUI.java index e2c5f5bdd..6ec09effd 100755 --- a/src/com/android/camera/CaptureUI.java +++ b/src/com/android/camera/CaptureUI.java @@ -34,7 +34,6 @@ import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Point; import android.graphics.Rect; -import android.graphics.SurfaceTexture; import android.graphics.drawable.AnimationDrawable; import android.hardware.Camera.Face; import android.os.AsyncTask; @@ -53,8 +52,6 @@ import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.Surface; import android.view.SurfaceHolder; -import android.view.SurfaceView; -import android.view.TextureView; import android.view.View; import android.view.ViewGroup; import android.view.ViewPropertyAnimator; @@ -85,6 +82,7 @@ import com.android.camera.ui.SelfieFlashView; import com.android.camera.ui.TrackingFocusRenderer; import com.android.camera.ui.ZoomRenderer; import com.android.camera.util.CameraUtil; + import org.codeaurora.snapcam.R; import java.util.List; diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index 17ca3902d..7119ed0cb 100755 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -31,7 +31,6 @@ package com.android.camera; import android.content.Context; import android.content.SharedPreferences; -import android.graphics.Camera; import android.graphics.ImageFormat; import android.graphics.Rect; import android.hardware.camera2.CameraAccessException; @@ -214,12 +213,10 @@ public class SettingsManager implements ListMenu.SettingsListener { CaptureModule.MONO_ID = i; mIsMonoCameraPresent = true; } - if(!CaptureModule.mIsBringUp) { - int facing = characteristics.get(CameraCharacteristics.LENS_FACING); - if (facing == CameraCharacteristics.LENS_FACING_FRONT) { - CaptureModule.FRONT_ID = i; - mIsFrontCameraPresent = true; - } + int facing = characteristics.get(CameraCharacteristics.LENS_FACING); + if (facing == CameraCharacteristics.LENS_FACING_FRONT) { + CaptureModule.FRONT_ID = i; + mIsFrontCameraPresent = true; } mCharacteristics.add(i, characteristics); } @@ -784,7 +781,6 @@ public class SettingsManager implements ListMenu.SettingsListener { private void buildExposureCompensation(int cameraId) { Range<Integer> range = mCharacteristics.get(cameraId).get(CameraCharacteristics .CONTROL_AE_COMPENSATION_RANGE); - if(range == null) return; int max = range.getUpper(); int min = range.getLower(); if (min == 0 && max == 0) { @@ -794,7 +790,6 @@ public class SettingsManager implements ListMenu.SettingsListener { ListPreference pref = mPreferenceGroup.findPreference(KEY_EXPOSURE); Rational rational = mCharacteristics.get(cameraId).get(CameraCharacteristics .CONTROL_AE_COMPENSATION_STEP); - if(rational == null) return; double step = rational.doubleValue(); int increment = 1; while ((max - min) / increment > 10) { @@ -904,7 +899,6 @@ public class SettingsManager implements ListMenu.SettingsListener { } private List<String> getSupportedChromaFlashPictureSize() { - if(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP == null) return new ArrayList<>(); StreamConfigurationMap map = mCharacteristics.get(getCurrentCameraId()).get( CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); Size[] sizes = map.getOutputSizes(ImageFormat.JPEG); @@ -934,7 +928,6 @@ public class SettingsManager implements ListMenu.SettingsListener { supported.add("off"); ListPreference videoQuality = mPreferenceGroup.findPreference(KEY_VIDEO_QUALITY); - if(videoQuality == null) return supported; String videoSizeStr = videoQuality.getValue(); if (videoSizeStr != null) { Size videoSize = parseSize(videoSizeStr); @@ -980,13 +973,11 @@ public class SettingsManager implements ListMenu.SettingsListener { } public float getMaxZoom(int id) { - if(CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM == null) return 1.0f; return mCharacteristics.get(id).get(CameraCharacteristics .SCALER_AVAILABLE_MAX_DIGITAL_ZOOM); } public Rect getSensorActiveArraySize(int id) { - if(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE == null) return null; return mCharacteristics.get(id).get(CameraCharacteristics .SENSOR_INFO_ACTIVE_ARRAY_SIZE); } @@ -1000,7 +991,6 @@ public class SettingsManager implements ListMenu.SettingsListener { } public boolean isZoomSupported(int id) { - if(CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM == null) return false; return mCharacteristics.get(id).get(CameraCharacteristics .SCALER_AVAILABLE_MAX_DIGITAL_ZOOM) > 1f; } @@ -1030,14 +1020,12 @@ public class SettingsManager implements ListMenu.SettingsListener { } public boolean isAutoExposureRegionSupported(int id) { - if(CameraCharacteristics.CONTROL_MAX_REGIONS_AE == null) return false; Integer maxAERegions = mCharacteristics.get(id).get( CameraCharacteristics.CONTROL_MAX_REGIONS_AE); return maxAERegions != null && maxAERegions > 0; } public boolean isAutoFocusRegionSupported(int id) { - if(CameraCharacteristics.CONTROL_MAX_REGIONS_AF == null) return false; Integer maxAfRegions = mCharacteristics.get(id).get( CameraCharacteristics.CONTROL_MAX_REGIONS_AF); return maxAfRegions != null && maxAfRegions > 0; @@ -1050,7 +1038,6 @@ public class SettingsManager implements ListMenu.SettingsListener { } public boolean isFixedFocus(int id) { - if(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE == null) return false; Float focusDistance = mCharacteristics.get(id).get(CameraCharacteristics .LENS_INFO_MINIMUM_FOCUS_DISTANCE); if (focusDistance == null || focusDistance == 0) { @@ -1061,10 +1048,8 @@ public class SettingsManager implements ListMenu.SettingsListener { } public boolean isFaceDetectionSupported(int id) { - if(CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES == null) return false; int[] faceDetection = mCharacteristics.get(id).get (CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES); - if(faceDetection == null) return false; for (int value: faceDetection) { if (value == CameraMetadata.STATISTICS_FACE_DETECT_MODE_SIMPLE) return true; @@ -1084,24 +1069,16 @@ public class SettingsManager implements ListMenu.SettingsListener { } public boolean isFacingFront(int id) { - if(CameraCharacteristics.LENS_FACING == null) return false; int facing = mCharacteristics.get(id).get(CameraCharacteristics.LENS_FACING); return facing == CameraCharacteristics.LENS_FACING_FRONT; } public boolean isFlashSupported(int id) { - if(CameraCharacteristics.FLASH_INFO_AVAILABLE == null) return false; return mCharacteristics.get(id).get(CameraCharacteristics.FLASH_INFO_AVAILABLE) && mValuesMap.get(KEY_FLASH_MODE) != null; } private List<String> getSupportedPictureSize(int cameraId) { - if(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP == null) { - Size rts = new Size(640, 480); - List<String> l = new ArrayList<>(); - l.add(rts.toString()); - return l; - } StreamConfigurationMap map = mCharacteristics.get(cameraId).get( CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); Size[] sizes = map.getOutputSizes(ImageFormat.JPEG); @@ -1124,7 +1101,6 @@ public class SettingsManager implements ListMenu.SettingsListener { private boolean checkAeAvailableTargetFpsRanges(int cameraId, int fps) { boolean supported = false; - if(CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES == null) return supported; Range[] aeFpsRanges = mCharacteristics.get(cameraId).get(CameraCharacteristics .CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES); @@ -1140,7 +1116,6 @@ public class SettingsManager implements ListMenu.SettingsListener { } private int getSupportedMaximumVideoFPSForNormalSession(int cameraId, Size videoSize) { - if(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP == null) return 30; StreamConfigurationMap map = mCharacteristics.get(cameraId).get( CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); long duration = map.getOutputMinFrameDuration(MediaRecorder.class, videoSize); @@ -1156,40 +1131,23 @@ public class SettingsManager implements ListMenu.SettingsListener { public Size[] getSupportedThumbnailSizes(int cameraId) { - if(CameraCharacteristics.JPEG_AVAILABLE_THUMBNAIL_SIZES == null) { - Size[] size = new Size[1]; - size[0] = new Size(64,48); - return size; - } return mCharacteristics.get(cameraId).get( CameraCharacteristics.JPEG_AVAILABLE_THUMBNAIL_SIZES); } public Size[] getSupportedOutputSize(int cameraId, int format) { - if(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP == null) { - Size[] size = new Size[1]; - size[0] = new Size(640,480); - } StreamConfigurationMap map = mCharacteristics.get(cameraId).get( CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); return map.getOutputSizes(format); } public Size[] getSupportedOutputSize(int cameraId, Class cl) { - if(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP == null) { - Size[] size = new Size[1]; - size[0] = new Size(640,480); - } StreamConfigurationMap map = mCharacteristics.get(cameraId).get( CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); return map.getOutputSizes(cl); } private List<String> getSupportedVideoSize(int cameraId) { - if(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP == null) { - Size[] size = new Size[1]; - size[0] = new Size(640,480); - } StreamConfigurationMap map = mCharacteristics.get(cameraId).get( CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); Size[] sizes = map.getOutputSizes(MediaRecorder.class); @@ -1207,20 +1165,12 @@ public class SettingsManager implements ListMenu.SettingsListener { } public Size[] getSupportedHighSpeedVideoSize(int cameraId) { - if(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP == null) { - Size[] size = new Size[1]; - size[0] = new Size(640,480); - } StreamConfigurationMap map = mCharacteristics.get(cameraId).get( CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); return map.getHighSpeedVideoSizes(); } public Range[] getSupportedHighSpeedVideoFPSRange(int cameraId, Size videoSize) { - if(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP == null) { - Size[] size = new Size[1]; - size[0] = new Size(640,480); - } StreamConfigurationMap map = mCharacteristics.get(cameraId).get( CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); return map.getHighSpeedVideoFpsRangesFor(videoSize); @@ -1239,7 +1189,6 @@ public class SettingsManager implements ListMenu.SettingsListener { } private List<String> getSupportedRedeyeReduction(int cameraId) { - if(CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES == null) return new ArrayList<>(); int[] flashModes = mCharacteristics.get(cameraId).get(CameraCharacteristics .CONTROL_AE_AVAILABLE_MODES); List<String> modes = new ArrayList<>(); @@ -1254,17 +1203,14 @@ public class SettingsManager implements ListMenu.SettingsListener { } public float getMinimumFocusDistance(int cameraId) { - if(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE == null) return 1.0f; return mCharacteristics.get(cameraId) .get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE); } private List<String> getSupportedWhiteBalanceModes(int cameraId) { - if(CameraCharacteristics.CONTROL_AWB_AVAILABLE_MODES == null) return new ArrayList<>(); int[] whiteBalanceModes = mCharacteristics.get(cameraId).get(CameraCharacteristics .CONTROL_AWB_AVAILABLE_MODES); List<String> modes = new ArrayList<>(); - if(whiteBalanceModes == null) return modes; for (int mode : whiteBalanceModes) { modes.add("" + mode); } @@ -1272,7 +1218,6 @@ public class SettingsManager implements ListMenu.SettingsListener { } private List<String> getSupportedSceneModes(int cameraId) { - if(CameraCharacteristics.CONTROL_AVAILABLE_SCENE_MODES == null) new ArrayList<>(); int[] sceneModes = mCharacteristics.get(cameraId).get(CameraCharacteristics .CONTROL_AVAILABLE_SCENE_MODES); List<String> modes = new ArrayList<>(); @@ -1287,7 +1232,6 @@ public class SettingsManager implements ListMenu.SettingsListener { if (SharpshooterFilter.isSupportedStatic()) modes.add(SCENE_MODE_SHARPSHOOTER_INT + ""); if (TrackingFocusFrameListener.isSupportedStatic()) modes.add(SCENE_MODE_TRACKINGFOCUS_INT + ""); modes.add("" + SCENE_MODE_PROMODE_INT); - if(sceneModes == null) return modes; for (int mode : sceneModes) { modes.add("" + mode); } @@ -1295,7 +1239,6 @@ public class SettingsManager implements ListMenu.SettingsListener { } private List<String> getSupportedFlashModes(int cameraId) { - if(CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES == null) return new ArrayList<>(); int[] flashModes = mCharacteristics.get(cameraId).get(CameraCharacteristics .CONTROL_AE_AVAILABLE_MODES); List<String> modes = new ArrayList<>(); @@ -1306,25 +1249,18 @@ public class SettingsManager implements ListMenu.SettingsListener { } private boolean isFlashAvailable(int cameraId) { - try { - return mCharacteristics.get(cameraId).get(CameraCharacteristics.FLASH_INFO_AVAILABLE); - }catch(NullPointerException e) { - return false; - } + return mCharacteristics.get(cameraId).get(CameraCharacteristics.FLASH_INFO_AVAILABLE); } public StreamConfigurationMap getStreamConfigurationMap(int cameraId){ - if(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP == null) return null; return mCharacteristics.get(cameraId) .get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); } public List<String> getSupportedColorEffects(int cameraId) { - if(CameraCharacteristics.CONTROL_AVAILABLE_EFFECTS == null) return new ArrayList<>(); int[] flashModes = mCharacteristics.get(cameraId).get(CameraCharacteristics .CONTROL_AVAILABLE_EFFECTS); List<String> modes = new ArrayList<>(); - if(flashModes == null) return modes; for (int mode : flashModes) { modes.add("" + mode); } @@ -1332,19 +1268,11 @@ public class SettingsManager implements ListMenu.SettingsListener { } private List<String> getSupportedIso(int cameraId) { - if(CameraCharacteristics.SENSOR_INFO_SENSITIVITY_RANGE == null) { - List<String> iso = new ArrayList<>(); - iso.add("auto"); - return iso; - } Range<Integer> range = mCharacteristics.get(cameraId).get(CameraCharacteristics .SENSOR_INFO_SENSITIVITY_RANGE); - List<String> supportedIso = new ArrayList<>(); - if(range == null) { - return supportedIso; - } int max = range.getUpper(); int value = 50; + List<String> supportedIso = new ArrayList<>(); supportedIso.add("auto"); while (value <= max) { if (range.contains(value)) { @@ -1358,7 +1286,6 @@ public class SettingsManager implements ListMenu.SettingsListener { private boolean isCurrentVideoResolutionSupportedByEncoder(VideoEncoderCap encoderCap) { boolean supported = false; ListPreference videoQuality = mPreferenceGroup.findPreference(KEY_VIDEO_QUALITY); - if(videoQuality == null) return supported; String videoSizeStr = videoQuality.getValue(); if (videoSizeStr != null) { @@ -1384,7 +1311,6 @@ public class SettingsManager implements ListMenu.SettingsListener { ArrayList<String> supported = new ArrayList<String>(); String str = null; List<VideoEncoderCap> videoEncoders = EncoderCapabilities.getVideoEncoders(); - if(videoEncoders == null) return supported; for (VideoEncoderCap videoEncoder: videoEncoders) { str = SettingTranslation.getVideoEncoder(videoEncoder.mCodec); if (str != null) { @@ -1407,11 +1333,9 @@ public class SettingsManager implements ListMenu.SettingsListener { } public List<String> getSupportedNoiseReductionModes(int cameraId) { - if(CameraCharacteristics.NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES == null) return new ArrayList<>(); int[] noiseReduction = mCharacteristics.get(cameraId).get(CameraCharacteristics .NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES); List<String> modes = new ArrayList<>(); - if(noiseReduction == null) return modes; for (int mode : noiseReduction) { String str = SettingTranslation.getNoiseReduction(mode); if (str != null) modes.add(str); @@ -1420,10 +1344,9 @@ public class SettingsManager implements ListMenu.SettingsListener { } private List<String> getSupportedZoomLevel(int cameraId) { - ArrayList<String> supported = new ArrayList<String>(); - if(CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM == null) return supported; float maxZoom = mCharacteristics.get(cameraId).get(CameraCharacteristics .SCALER_AVAILABLE_MAX_DIGITAL_ZOOM); + ArrayList<String> supported = new ArrayList<String>(); for (int zoomLevel = 0; zoomLevel <= maxZoom; zoomLevel++) { supported.add(String.valueOf(zoomLevel)); } @@ -1450,21 +1373,15 @@ public class SettingsManager implements ListMenu.SettingsListener { } public List<String> getSupportedInstantAecAvailableModes(int cameraId) { + int[] instantAecAvailableModes = mCharacteristics.get(cameraId).get( + CaptureModule.InstantAecAvailableModes); + if (instantAecAvailableModes == null) { + return null; + } List<String> modes = new ArrayList<>(); - try { - int[] instantAecAvailableModes = mCharacteristics.get(cameraId).get( - CaptureModule.InstantAecAvailableModes); - if (instantAecAvailableModes == null) { - return null; - } - - for (int i : instantAecAvailableModes) { - modes.add("" + i); - } - } catch(NullPointerException e) { - } catch(IllegalArgumentException e) { + for (int i : instantAecAvailableModes) { + modes.add(""+i); } - return modes; } @@ -1478,10 +1395,9 @@ public class SettingsManager implements ListMenu.SettingsListener { } public List<String> getSupportedAntiBandingLevelAvailableModes(int cameraId) { - List<String> modes = new ArrayList<>(); - if(CameraCharacteristics.CONTROL_AE_AVAILABLE_ANTIBANDING_MODES == null) return modes; int[] antiBandingLevelAvailableModes = mCharacteristics.get(cameraId).get( CameraCharacteristics.CONTROL_AE_AVAILABLE_ANTIBANDING_MODES); + List<String> modes = new ArrayList<>(); for (int i : antiBandingLevelAvailableModes) { modes.add(""+i); } diff --git a/src/com/android/camera/Storage.java b/src/com/android/camera/Storage.java index e6686e3c9..13f65e14c 100755 --- a/src/com/android/camera/Storage.java +++ b/src/com/android/camera/Storage.java @@ -119,7 +119,6 @@ public class Storage { int size = writeFile(path, jpeg, exif, mimeType); // Try to get the real image size after add exif. File f = new File(path); - Log.d(TAG, "New image is taken to "+f.getAbsolutePath()); if (f.exists() && f.isFile()) { size = (int) f.length(); } diff --git a/src/com/android/camera/imageprocessor/PostProcessor.java b/src/com/android/camera/imageprocessor/PostProcessor.java index 377eafc33..b78852182 100644 --- a/src/com/android/camera/imageprocessor/PostProcessor.java +++ b/src/com/android/camera/imageprocessor/PostProcessor.java @@ -660,7 +660,6 @@ public class PostProcessor{ } public boolean isSelfieMirrorOn() { - if(mController.mIsBringUp) return false; if (SettingsManager.getInstance() != null && SettingsManager.getInstance().getValue(SettingsManager.KEY_SELFIEMIRROR) != null && SettingsManager.getInstance().getValue(SettingsManager.KEY_SELFIEMIRROR).equalsIgnoreCase("on")) { @@ -685,8 +684,6 @@ public class PostProcessor{ } else { mUseZSL = true; } - if(mController.mIsBringUp) - mUseZSL = false; Log.d(TAG,"ZSL is "+mUseZSL); startBackgroundThread(); if(mUseZSL) { @@ -1071,9 +1068,9 @@ public class PostProcessor{ } else { isVertical = true; } -// nativeFlipNV21(resultImage.outBuffer.array(), resultImage.stride, -// resultImage.height, resultImage.stride - resultImage.width, -// isVertical); + nativeFlipNV21(resultImage.outBuffer.array(), resultImage.stride, + resultImage.height, resultImage.stride - resultImage.width, + isVertical); } } //End processing FrameProessor filter @@ -1127,25 +1124,25 @@ public class PostProcessor{ return mTotalCaptureResultList.get(0); } -// private ImageFilter.ResultImage resizeImage(ImageFilter.ResultImage oldImage, Size newSize) { -// ImageFilter.ResultImage newImage = new ImageFilter.ResultImage( -// ByteBuffer.allocateDirect(newSize.getWidth() * newSize.getHeight() * 3/2), -// new Rect(0, 0, -// newSize.getWidth(), newSize.getHeight()), -// newSize.getWidth(), newSize.getHeight(), newSize.getWidth()); -// int ratio = nativeResizeImage(oldImage.outBuffer.array(), newImage.outBuffer.array(), -// oldImage.width, oldImage.height, oldImage.stride, newSize.getWidth(), newSize.getHeight()); -// newImage.outRoi = new Rect(oldImage.outRoi.left/ratio, oldImage.outRoi.top/ratio, -// oldImage.outRoi.right/ratio, oldImage.outRoi.bottom/ratio); -// if(newImage.width < newImage.outRoi.width()) { -// newImage.outRoi.right = newImage.width; -// } -// if(newImage.height < newImage.outRoi.height()) { -// newImage.outRoi.bottom = newImage.height; -// } -// Log.d(TAG, "Image is resized by SW with the ratio: "+ratio+" oldRoi: "+oldImage.outRoi.toString()); -// return newImage; -// } + private ImageFilter.ResultImage resizeImage(ImageFilter.ResultImage oldImage, Size newSize) { + ImageFilter.ResultImage newImage = new ImageFilter.ResultImage( + ByteBuffer.allocateDirect(newSize.getWidth() * newSize.getHeight() * 3/2), + new Rect(0, 0, + newSize.getWidth(), newSize.getHeight()), + newSize.getWidth(), newSize.getHeight(), newSize.getWidth()); + int ratio = nativeResizeImage(oldImage.outBuffer.array(), newImage.outBuffer.array(), + oldImage.width, oldImage.height, oldImage.stride, newSize.getWidth(), newSize.getHeight()); + newImage.outRoi = new Rect(oldImage.outRoi.left/ratio, oldImage.outRoi.top/ratio, + oldImage.outRoi.right/ratio, oldImage.outRoi.bottom/ratio); + if(newImage.width < newImage.outRoi.width()) { + newImage.outRoi.right = newImage.width; + } + if(newImage.height < newImage.outRoi.height()) { + newImage.outRoi.bottom = newImage.height; + } + Log.d(TAG, "Image is resized by SW with the ratio: "+ratio+" oldRoi: "+oldImage.outRoi.toString()); + return newImage; + } ImageReader.OnImageAvailableListener processedImageAvailableListener = new ImageReader.OnImageAvailableListener() { @Override @@ -1208,7 +1205,7 @@ public class PostProcessor{ return quality; } - public static class BitmapOutputStream extends ByteArrayOutputStream { + private class BitmapOutputStream extends ByteArrayOutputStream { public BitmapOutputStream(int size) { super(size); } @@ -1218,10 +1215,10 @@ public class PostProcessor{ } } -// private native int nativeNV21Split(byte[] srcYVU, ByteBuffer yBuf, ByteBuffer vuBuf, int width, int height, int srcStride, int dstStride); -// private native int nativeResizeImage(byte[] oldBuf, byte[] newBuf, int oldWidth, int oldHeight, int oldStride, int newWidth, int newHeight); -// private native int nativeFlipNV21(byte[] buf, int stride, int height, int gap, boolean isVertical); -// static { -// System.loadLibrary("jni_imageutil"); -// } + private native int nativeNV21Split(byte[] srcYVU, ByteBuffer yBuf, ByteBuffer vuBuf, int width, int height, int srcStride, int dstStride); + private native int nativeResizeImage(byte[] oldBuf, byte[] newBuf, int oldWidth, int oldHeight, int oldStride, int newWidth, int newHeight); + private native int nativeFlipNV21(byte[] buf, int stride, int height, int gap, boolean isVertical); + static { + System.loadLibrary("jni_imageutil"); + } } diff --git a/src/com/android/camera/ui/ProMode.java b/src/com/android/camera/ui/ProMode.java index a7dae43f0..b55d0c425 100644 --- a/src/com/android/camera/ui/ProMode.java +++ b/src/com/android/camera/ui/ProMode.java @@ -109,7 +109,6 @@ public class ProMode extends View { if (key == null) return; int index = mSettingsManager.getValueIndex(key); CharSequence[] cc = mSettingsManager.getEntries(key); - if(cc == null) return; mUI.updateProModeText(mode, cc[index].toString()); } diff --git a/src/com/android/camera/util/PersistUtil.java b/src/com/android/camera/util/PersistUtil.java index 6c95f0be5..c22df6263 100644 --- a/src/com/android/camera/util/PersistUtil.java +++ b/src/com/android/camera/util/PersistUtil.java @@ -41,7 +41,7 @@ public class PersistUtil { private static final int PERSIST_CAMERA_PREVIEW_SIZE = SystemProperties.getInt("persist.camera.preview.size", 0); private static final boolean PERSIST_CAMERA_CAMERA2 = - SystemProperties.getBoolean("persist.camera.camera2", true); + SystemProperties.getBoolean("persist.camera.camera2", false); private static final boolean PERSIST_CAMERA_ZSL = SystemProperties.getBoolean("persist.camera.zsl.disabled", false); private static final int PERSIST_CAMERA_CANCEL_TOUCHFOCUS_DELAY = @@ -56,8 +56,6 @@ public class PersistUtil { SystemProperties.get("persist.camera.stm_smooth", "0"); private static final int PERSIST_CAMERA_STILLMORE_NUM_REQUIRED_IMAGE = SystemProperties.getInt("persist.camera.stm_img_nums", 5); - private static final boolean PERSIST_CAMERA_BRINGUP_4KVIDEO = - SystemProperties.getBoolean("persist.camera2.bringup.4kvideo", false); public static final int CAMERA2_DEBUG_DUMP_IMAGE = 1; public static final int CAMERA2_DEBUG_DUMP_LOG = 2; @@ -75,10 +73,6 @@ public class PersistUtil { return PERSIST_LONGSHOT_SHOT_LIMIT; } - public static boolean getCameraBringup4KVIDEO() { - return PERSIST_CAMERA_BRINGUP_4KVIDEO; - } - public static int getCameraPreviewSize() { return PERSIST_CAMERA_PREVIEW_SIZE; } |