From ed15d1a140986473bbe7fffd72ec9618c41c5979 Mon Sep 17 00:00:00 2001 From: Angus Kong Date: Mon, 19 Aug 2013 15:06:12 -0700 Subject: Bring back wide angle panorama. bug:10293937 Change-Id: I23a977e87b7416f07ecac20025b6c142ae61be05 --- src/com/android/camera/PreviewFrameLayout.java | 137 ------------------------- 1 file changed, 137 deletions(-) delete mode 100644 src/com/android/camera/PreviewFrameLayout.java (limited to 'src/com/android/camera/PreviewFrameLayout.java') diff --git a/src/com/android/camera/PreviewFrameLayout.java b/src/com/android/camera/PreviewFrameLayout.java deleted file mode 100644 index 2bdace69c..000000000 --- a/src/com/android/camera/PreviewFrameLayout.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.camera; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.util.AttributeSet; -import android.view.View; -import android.widget.RelativeLayout; -import com.android.camera.util.ApiHelper; -import com.android.camera.ui.LayoutChangeHelper; -import com.android.camera.ui.LayoutChangeNotifier; -import com.android.camera.util.CameraUtil; -import com.android.camera2.R; - -/** - * A layout which handles the preview aspect ratio. - */ -public class PreviewFrameLayout extends RelativeLayout implements LayoutChangeNotifier { - - private static final String TAG = "CAM_preview"; - - /** A callback to be invoked when the preview frame's size changes. */ - public interface OnSizeChangedListener { - public void onSizeChanged(int width, int height); - } - - private double mAspectRatio; - private View mBorder; - private OnSizeChangedListener mListener; - private LayoutChangeHelper mLayoutChangeHelper; - - public PreviewFrameLayout(Context context, AttributeSet attrs) { - super(context, attrs); - setAspectRatio(4.0 / 3.0); - mLayoutChangeHelper = new LayoutChangeHelper(this); - } - - @Override - protected void onFinishInflate() { - mBorder = findViewById(R.id.preview_border); - } - - public void setAspectRatio(double ratio) { - if (ratio <= 0.0) throw new IllegalArgumentException(); - - if (mAspectRatio != ratio) { - mAspectRatio = ratio; - requestLayout(); - } - } - - public void showBorder(boolean enabled) { - mBorder.setVisibility(enabled ? View.VISIBLE : View.INVISIBLE); - } - - public void fadeOutBorder() { - CameraUtil.fadeOut(mBorder); - } - - @Override - protected void onMeasure(int widthSpec, int heightSpec) { - int previewWidth = MeasureSpec.getSize(widthSpec); - int previewHeight = MeasureSpec.getSize(heightSpec); - - if (!ApiHelper.HAS_SURFACE_TEXTURE) { - // Get the padding of the border background. - int hPadding = getPaddingLeft() + getPaddingRight(); - int vPadding = getPaddingTop() + getPaddingBottom(); - - // Resize the preview frame with correct aspect ratio. - previewWidth -= hPadding; - previewHeight -= vPadding; - - boolean widthLonger = previewWidth > previewHeight; - int longSide = (widthLonger ? previewWidth : previewHeight); - int shortSide = (widthLonger ? previewHeight : previewWidth); - if (longSide > shortSide * mAspectRatio) { - longSide = (int) ((double) shortSide * mAspectRatio); - } else { - shortSide = (int) ((double) longSide / mAspectRatio); - } - if (widthLonger) { - previewWidth = longSide; - previewHeight = shortSide; - } else { - previewWidth = shortSide; - previewHeight = longSide; - } - - // Add the padding of the border. - previewWidth += hPadding; - previewHeight += vPadding; - } - - // Ask children to follow the new preview dimension. - super.onMeasure(MeasureSpec.makeMeasureSpec(previewWidth, MeasureSpec.EXACTLY), - MeasureSpec.makeMeasureSpec(previewHeight, MeasureSpec.EXACTLY)); - } - - public void setOnSizeChangedListener(OnSizeChangedListener listener) { - mListener = listener; - } - - @Override - protected void onSizeChanged(int w, int h, int oldw, int oldh) { - if (mListener != null) mListener.onSizeChanged(w, h); - } - - @Override - public void setOnLayoutChangeListener( - LayoutChangeNotifier.Listener listener) { - mLayoutChangeHelper.setOnLayoutChangeListener(listener); - } - - @SuppressLint("WrongCall") - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - super.onLayout(changed, l, t, r, b); - // TODO: Suspicious call! - mLayoutChangeHelper.onLayout(changed, l, t, r, b); - } -} -- cgit v1.2.3