summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/VideoUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/VideoUI.java')
-rwxr-xr-xsrc/com/android/camera/VideoUI.java71
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;
+ }
}