summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/PhotoUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/PhotoUI.java')
-rw-r--r--src/com/android/camera/PhotoUI.java58
1 files changed, 28 insertions, 30 deletions
diff --git a/src/com/android/camera/PhotoUI.java b/src/com/android/camera/PhotoUI.java
index 5c13a7573..c26664c2f 100644
--- a/src/com/android/camera/PhotoUI.java
+++ b/src/com/android/camera/PhotoUI.java
@@ -92,7 +92,7 @@ public class PhotoUI implements PieListener,
private PhotoController mController;
private PreviewGestures mGestures;
- private View mRootView;
+ private CameraRootView mRootView;
private SurfaceHolder mSurfaceHolder;
private PopupWindow mPopup;
@@ -141,7 +141,7 @@ public class PhotoUI implements PieListener,
private View mPreviewCover;
private RotateLayout mMenuLayout;
private RotateLayout mSubMenuLayout;
- private LinearLayout mPreviewMenuLayout;
+ private ViewGroup mPreviewMenuLayout;
private boolean mUIhidden = false;
private int mPreviewOrientation = -1;
@@ -223,9 +223,8 @@ public class PhotoUI implements PieListener,
public PhotoUI(CameraActivity activity, PhotoController controller, View parent) {
mActivity = activity;
mController = controller;
- mRootView = parent;
- mActivity.getLayoutInflater().inflate(R.layout.photo_module,
- (ViewGroup) mRootView, true);
+ mRootView = (CameraRootView) parent;
+ mActivity.getLayoutInflater().inflate(R.layout.photo_module, mRootView, true);
mPreviewCover = mRootView.findViewById(R.id.preview_cover);
// display the view
mSurfaceView = (SurfaceView) mRootView.findViewById(R.id.mdp_preview_content);
@@ -485,7 +484,7 @@ public class PhotoUI implements PieListener,
mController.onPreviewUIDestroyed();
}
- public View getRootView() {
+ public CameraRootView getRootView() {
return mRootView;
}
@@ -792,7 +791,7 @@ public class PhotoUI implements PieListener,
return mMenuLayout;
}
- public void setPreviewMenuLayout(LinearLayout layout) {
+ public void setPreviewMenuLayout(ViewGroup layout) {
mPreviewMenuLayout = layout;
}
@@ -808,6 +807,7 @@ public class PhotoUI implements PieListener,
if (level == 1) {
if (mMenuLayout == null) {
mMenuLayout = new RotateLayout(mActivity, null);
+ mMenuLayout.setRootView(mRootView);
if (mRootView.getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) {
params = new FrameLayout.LayoutParams(
CameraActivity.SETTING_LIST_WIDTH_1, LayoutParams.WRAP_CONTENT,
@@ -818,15 +818,15 @@ public class PhotoUI implements PieListener,
Gravity.RIGHT | Gravity.TOP);
}
mMenuLayout.setLayoutParams(params);
- ((ViewGroup) mRootView).addView(mMenuLayout);
+ mRootView.addView(mMenuLayout);
}
- mMenuLayout.setOrientation(mOrientation, true);
mMenuLayout.addView(popup);
+ mMenuLayout.setOrientation(mOrientation, true);
}
if (level == 2) {
if (mSubMenuLayout == null) {
mSubMenuLayout = new RotateLayout(mActivity, null);
- ((ViewGroup) mRootView).addView(mSubMenuLayout);
+ mRootView.addView(mSubMenuLayout);
}
if (mRootView.getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) {
params = new FrameLayout.LayoutParams(
@@ -837,13 +837,14 @@ public class PhotoUI implements PieListener,
CameraActivity.SETTING_LIST_WIDTH_2, LayoutParams.WRAP_CONTENT,
Gravity.RIGHT | Gravity.TOP);
}
- int screenHeight = (mOrientation == 0 || mOrientation == 180)
- ? mRootView.getHeight() : mRootView.getWidth();
+
+ int containerHeight = mRootView.getClientRectForOrientation(mOrientation).height();
int height = ((ListSubMenu) popup).getPreCalculatedHeight();
- int yBase = ((ListSubMenu) popup).getYBase();
- int y = Math.max(0, yBase);
- if (yBase + height > screenHeight)
- y = Math.max(0, screenHeight - height);
+ int yBase = ((ListSubMenu) popup).getYBase(), y = yBase;
+ if (yBase + height > containerHeight) {
+ y = Math.max(0, containerHeight - height);
+ }
+
if (mRootView.getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) {
params.setMargins(CameraActivity.SETTING_LIST_WIDTH_1, y, 0, 0);
} else {
@@ -852,8 +853,8 @@ public class PhotoUI implements PieListener,
mSubMenuLayout.setLayoutParams(params);
- mSubMenuLayout.addView(popup);
mSubMenuLayout.setOrientation(mOrientation, true);
+ mSubMenuLayout.addView(popup);
}
if (animate) {
if (level == 1)
@@ -920,14 +921,14 @@ public class PhotoUI implements PieListener,
public void dismissLevel1() {
if (mMenuLayout != null) {
- ((ViewGroup) mRootView).removeView(mMenuLayout);
+ mRootView.removeView(mMenuLayout);
mMenuLayout = null;
}
}
public void dismissLevel2() {
if (mSubMenuLayout != null) {
- ((ViewGroup) mRootView).removeView(mSubMenuLayout);
+ mRootView.removeView(mSubMenuLayout);
mSubMenuLayout = null;
}
}
@@ -946,14 +947,14 @@ public class PhotoUI implements PieListener,
public void dismissSceneModeMenu() {
if (mPreviewMenuLayout != null) {
- ((ViewGroup) mRootView).removeView(mPreviewMenuLayout);
+ mRootView.removeView(mPreviewMenuLayout);
mPreviewMenuLayout = null;
}
}
public void removeSceneModeMenu() {
if (mPreviewMenuLayout != null) {
- ((ViewGroup) mRootView).removeView(mPreviewMenuLayout);
+ mRootView.removeView(mPreviewMenuLayout);
mPreviewMenuLayout = null;
}
cleanupListview();
@@ -1095,9 +1096,8 @@ public class PhotoUI implements PieListener,
// Countdown timer
private void initializeCountDown() {
- mActivity.getLayoutInflater().inflate(R.layout.count_down_to_capture,
- (ViewGroup) mRootView, true);
- mCountDownView = (CountDownView) (mRootView.findViewById(R.id.count_down_to_capture));
+ mActivity.getLayoutInflater().inflate(R.layout.count_down_to_capture, mRootView, true);
+ mCountDownView = (CountDownView) mRootView.findViewById(R.id.count_down_to_capture);
mCountDownView.setCountDownFinishedListener((OnCountDownFinishedListener) mController);
mCountDownView.bringToFront();
mCountDownView.setOrientation(mOrientation);
@@ -1121,7 +1121,7 @@ public class PhotoUI implements PieListener,
public void startSelfieFlash() {
if(mSelfieView == null)
- mSelfieView = (SelfieFlashView) (mRootView.findViewById(R.id.selfie_flash));
+ mSelfieView = (SelfieFlashView) mRootView.findViewById(R.id.selfie_flash);
mSelfieView.bringToFront();
mSelfieView.open();
mScreenBrightness = setScreenBrightness(1F);
@@ -1129,7 +1129,7 @@ public class PhotoUI implements PieListener,
public void stopSelfieFlash() {
if(mSelfieView == null)
- mSelfieView = (SelfieFlashView) (mRootView.findViewById(R.id.selfie_flash));
+ mSelfieView = (SelfieFlashView) mRootView.findViewById(R.id.selfie_flash);
mSelfieView.close();
if(mScreenBrightness != 0.0f)
setScreenBrightness(mScreenBrightness);
@@ -1178,11 +1178,11 @@ public class PhotoUI implements PieListener,
}
public void initDisplayChangeListener() {
- ((CameraRootView) mRootView).setDisplayChangeListener(this);
+ mRootView.setDisplayChangeListener(this);
}
public void removeDisplayChangeListener() {
- ((CameraRootView) mRootView).removeDisplayChangeListener();
+ mRootView.removeDisplayChangeListener();
}
public FocusRing getFocusRing() {
@@ -1241,8 +1241,6 @@ public class PhotoUI implements PieListener,
mSubMenuLayout.setOrientation(orientation, animation);
if (mPreviewMenuLayout != null) {
ViewGroup vg = (ViewGroup) mPreviewMenuLayout.getChildAt(0);
- if (vg != null)
- vg = (ViewGroup) vg.getChildAt(0);
if (vg != null) {
for (int i = vg.getChildCount() - 1; i >= 0; --i) {
RotateLayout l = (RotateLayout) vg.getChildAt(i);