diff options
Diffstat (limited to 'src/com/android/camera/VideoUI.java')
-rw-r--r-- | src/com/android/camera/VideoUI.java | 55 |
1 files changed, 54 insertions, 1 deletions
diff --git a/src/com/android/camera/VideoUI.java b/src/com/android/camera/VideoUI.java index daab24a40..2e1d300cc 100644 --- a/src/com/android/camera/VideoUI.java +++ b/src/com/android/camera/VideoUI.java @@ -42,11 +42,14 @@ 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.CameraPreference.OnPreferenceChangedListener; +import com.android.camera.FocusOverlayManager.FocusUI; import com.android.camera.ui.AbstractSettingPopup; import com.android.camera.ui.CameraControls; import com.android.camera.ui.CameraRootView; +import com.android.camera.ui.FocusIndicator; import com.android.camera.ui.ListSubMenu; import com.android.camera.ui.ModuleSwitcher; import com.android.camera.ui.PieRenderer; @@ -59,6 +62,7 @@ import com.android.camera.util.CameraUtil; public class VideoUI implements PieRenderer.PieListener, PreviewGestures.SingleTapListener, CameraRootView.MyDisplayListener, + FocusUI, SurfaceHolder.Callback, PauseButton.OnPauseButtonListener { private static final String TAG = "CAM_VideoUI"; @@ -332,7 +336,7 @@ 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 (mScreenRatio == CameraUtil.RATIO_16_9 && CameraUtil.determinCloseRatio(ratio) == CameraUtil.RATIO_4_3) { @@ -412,6 +416,11 @@ public class VideoUI implements PieRenderer.PieListener, mSurfaceView.setLayoutParams(lp); mSurfaceView.requestLayout(); } + + if (scaledTextureWidth > 0 && scaledTextureHeight > 0) { + mController.onScreenSizeChanged((int) scaledTextureWidth, + (int) scaledTextureHeight); + } } /** @@ -1131,4 +1140,48 @@ public class VideoUI implements PieRenderer.PieListener, public void adjustOrientation() { setOrientation(mOrientation, false); } + + // implement focusUI interface + private FocusIndicator getFocusIndicator() { + return mPieRenderer; + } + + @Override + public boolean hasFaces() { + return false; + } + + @Override + public void clearFocus() { + FocusIndicator indicator = getFocusIndicator(); + if (indicator != null) indicator.clear(); + } + + @Override + public void setFocusPosition(int x, int y) { + mPieRenderer.setFocus(x, y); + } + + @Override + public void onFocusStarted(){ + getFocusIndicator().showStart(); + } + + @Override + public void onFocusSucceeded(boolean timeOut) { + getFocusIndicator().showSuccess(timeOut); + } + + @Override + public void onFocusFailed(boolean timeOut) { + getFocusIndicator().showFail(timeOut); + } + + @Override + public void pauseFaceDetection() { + } + + @Override + public void resumeFaceDetection() { + } } |