diff options
Diffstat (limited to 'src/com/android/camera/VideoUI.java')
-rwxr-xr-x | src/com/android/camera/VideoUI.java | 71 |
1 files changed, 29 insertions, 42 deletions
diff --git a/src/com/android/camera/VideoUI.java b/src/com/android/camera/VideoUI.java index 3a21a060a..beb623e50 100755 --- a/src/com/android/camera/VideoUI.java +++ b/src/com/android/camera/VideoUI.java @@ -44,6 +44,7 @@ import android.widget.LinearLayout; import android.widget.ListView; import android.widget.PopupWindow; import android.widget.TextView; +import android.view.View.OnLayoutChangeListener; import com.android.camera.CameraManager.CameraProxy; import com.android.camera.CameraPreference.OnPreferenceChangedListener; @@ -60,6 +61,7 @@ import com.android.camera.ui.RotateImageView; import com.android.camera.ui.RotateLayout; import com.android.camera.ui.RotateTextToast; import com.android.camera.ui.ZoomRenderer; +import com.android.camera.ui.focus.FocusRing; import com.android.camera.util.CameraUtil; public class VideoUI implements PieRenderer.PieListener, @@ -70,6 +72,7 @@ public class VideoUI implements PieRenderer.PieListener, CameraManager.CameraFaceDetectionCallback{ private static final String TAG = "CAM_VideoUI"; // module fields + private final FocusRing mFocusRing; private CameraActivity mActivity; private View mRootView; private SurfaceHolder mSurfaceHolder; @@ -93,7 +96,6 @@ public class VideoUI implements PieRenderer.PieListener, private ZoomRenderer mZoomRenderer; private PreviewGestures mGestures; private View mMenuButton; - private OnScreenIndicators mOnScreenIndicators; private RotateLayout mRecordingTimeRect; private boolean mRecordingStarted = false; private VideoController mController; @@ -243,6 +245,7 @@ public class VideoUI implements PieRenderer.PieListener, } }); + mFocusRing = (FocusRing) mRootView.findViewById(R.id.focus_ring); mFlashOverlay = mRootView.findViewById(R.id.flash_overlay); mShutterButton = (ShutterButton) mRootView.findViewById(R.id.shutter_button); mSwitcher = (ModuleSwitcher) mRootView.findViewById(R.id.camera_switcher); @@ -276,8 +279,8 @@ public class VideoUI implements PieRenderer.PieListener, }); initializeMiscControls(); - initializeControlByIntent(); initializeOverlay(); + initializeControlByIntent(); initializePauseButton(); mCameraControls = (CameraControls) mRootView.findViewById(R.id.camera_controls); @@ -293,7 +296,7 @@ public class VideoUI implements PieRenderer.PieListener, mPrevOrientationResize = false; Point size = new Point(); - mActivity.getWindowManager().getDefaultDisplay().getSize(size); + mActivity.getWindowManager().getDefaultDisplay().getRealSize(size); mScreenRatio = CameraUtil.determineRatio(size.x, size.y); calculateMargins(size); mCameraControls.setMargins(mTopMargin, mBottomMargin); @@ -336,9 +339,6 @@ public class VideoUI implements PieRenderer.PieListener, }); mCameraControls = (CameraControls) mRootView.findViewById(R.id.camera_controls); - mOnScreenIndicators = new OnScreenIndicators(mActivity, - mRootView.findViewById(R.id.on_screen_indicators)); - mOnScreenIndicators.resetToDefault(); if (mController.isVideoCaptureIntent()) { hideSwitcher(); mActivity.getLayoutInflater().inflate(R.layout.review_module_control, @@ -382,9 +382,7 @@ public class VideoUI implements PieRenderer.PieListener, } else { ratio = (float) height / width; } - if (mOrientationResize && - mActivity.getResources().getConfiguration().orientation - != Configuration.ORIENTATION_PORTRAIT) { + if (mOrientationResize && CameraUtil.isScreenRotated(mActivity)) { ratio = 1 / ratio; } @@ -400,8 +398,11 @@ public class VideoUI implements PieRenderer.PieListener, private void layoutPreview(float ratio) { FrameLayout.LayoutParams lp = null; - float scaledTextureWidth, scaledTextureHeight; + float scaledTextureWidth = 0.0f, scaledTextureHeight = 0.0f; int rotation = CameraUtil.getDisplayRotation(mActivity); + if (!CameraUtil.isDefaultToPortrait(mActivity)) { + rotation = (rotation - 90) % 360; + } mScreenRatio = CameraUtil.determineRatio(ratio); if (mScreenRatio == CameraUtil.RATIO_16_9 && CameraUtil.determinCloseRatio(ratio) == CameraUtil.RATIO_4_3) { @@ -503,6 +504,10 @@ public class VideoUI implements PieRenderer.PieListener, } + if (scaledTextureWidth > 0 && scaledTextureHeight > 0) { + mController.onScreenSizeChanged((int) scaledTextureWidth, + (int) scaledTextureHeight); + } } /** @@ -719,17 +724,8 @@ public class VideoUI implements PieRenderer.PieListener, mPauseButton.setOnPauseButtonListener(this); } - public void updateOnScreenIndicators(Parameters param, ComboPreferences prefs) { - mOnScreenIndicators.updateFlashOnScreenIndicator(param.getFlashMode()); - boolean location = RecordLocationPreference.get(prefs, CameraSettings.KEY_RECORD_LOCATION); - mOnScreenIndicators.updateLocationIndicator(location); - - } - public void setAspectRatio(double ratio) { - if (mOrientationResize && - mActivity.getResources().getConfiguration().orientation - != Configuration.ORIENTATION_PORTRAIT) { + if (mOrientationResize && CameraUtil.isScreenRotated(mActivity)) { ratio = 1 / ratio; } @@ -896,9 +892,9 @@ public class VideoUI implements PieRenderer.PieListener, mVideoMenu.animateSlideIn(mMenuLayout, CameraActivity.SETTING_LIST_WIDTH_1, true); if (level == 2) mVideoMenu.animateFadeIn(popup); + } else { + popup.setAlpha(1f); } - else - popup.setAlpha(0.85f); } public ViewGroup getMenuLayout() { @@ -982,7 +978,6 @@ public class VideoUI implements PieRenderer.PieListener, public void showRecordingUI(boolean recording) { mRecordingStarted = recording; mMenuButton.setVisibility(recording ? View.GONE : View.VISIBLE); - mOnScreenIndicators.setVisibility(recording ? View.GONE : View.VISIBLE); if (recording) { mShutterButton.setImageResource(R.drawable.shutter_button_video_stop); hideSwitcher(); @@ -1022,7 +1017,6 @@ public class VideoUI implements PieRenderer.PieListener, mMenuButton.setVisibility(View.GONE); mCameraControls.hideUI(); mVideoMenu.hideUI(); - mOnScreenIndicators.setVisibility(View.GONE); } public void hideReviewUI() { @@ -1031,20 +1025,11 @@ public class VideoUI implements PieRenderer.PieListener, mMenuButton.setVisibility(View.VISIBLE); mCameraControls.showUI(); mVideoMenu.showUI(); - mOnScreenIndicators.setVisibility(View.VISIBLE); CameraUtil.fadeOut(mReviewDoneButton); CameraUtil.fadeOut(mReviewPlayButton); CameraUtil.fadeIn(mShutterButton); } - private void setShowMenu(boolean show) { - if (mController.isVideoCaptureIntent()) - return; - if (mOnScreenIndicators != null) { - mOnScreenIndicators.setVisibility(show ? View.VISIBLE : View.GONE); - } - } - public void onPreviewFocusChanged(boolean previewFocused) { if (previewFocused) { showUI(); @@ -1058,7 +1043,6 @@ public class VideoUI implements PieRenderer.PieListener, // this can not happen in capture mode mRenderOverlay.setVisibility(previewFocused ? View.VISIBLE : View.GONE); } - setShowMenu(previewFocused); } public void initializePopup(PreferenceGroup pref) { @@ -1105,6 +1089,13 @@ public class VideoUI implements PieRenderer.PieListener, return mCameraControls.getVisibility() == View.VISIBLE; } + public boolean onScaleStepResize(boolean direction) { + if (mGestures != null) { + return mGestures.onScaleStepResize(direction); + } + return false; + } + @Override public void onDisplayChanged() { mCameraControls.checkLayoutFlip(); @@ -1250,14 +1241,6 @@ public class VideoUI implements PieRenderer.PieListener, mFaceView.setFaces(faces); } - public void pauseFaceDetection() { - if (mFaceView != null) mFaceView.pause(); - } - - public void resumeFaceDetection() { - if (mFaceView != null) mFaceView.resume(); - } - public void onStartFaceDetection(int orientation, boolean mirror) { mFaceView.setBlockDraw(false); mFaceView.clear(); @@ -1273,4 +1256,8 @@ public class VideoUI implements PieRenderer.PieListener, mFaceView.clear(); } } + + public FocusRing getFocusRing() { + return mFocusRing; + } } |