diff options
author | Sultanxda <sultanxda@gmail.com> | 2016-03-26 04:45:50 -0700 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2018-01-27 00:41:43 +0100 |
commit | 35655fcf654cc5e2f577a37f28c5083ccd3dd076 (patch) | |
tree | 1b68bbb886b4dafd24fcaf4206510d0177bbb018 /src/com | |
parent | 27f82dac9adcd990e7abfc34580ed4e9edf422d5 (diff) | |
download | android_packages_apps_Snap-35655fcf654cc5e2f577a37f28c5083ccd3dd076.tar.gz android_packages_apps_Snap-35655fcf654cc5e2f577a37f28c5083ccd3dd076.tar.bz2 android_packages_apps_Snap-35655fcf654cc5e2f577a37f28c5083ccd3dd076.zip |
Snap: Don't do touch-to-focus on top of UI elements
Don't process touch-to-focus for taps that are located on either the top
or bottom UI panes.
Change-Id: Iac4ccda8625080ff0bd1133ac339e53c423b626d
Signed-off-by: Sultanxda <sultanxda@gmail.com>
Diffstat (limited to 'src/com')
-rwxr-xr-x | src/com/android/camera/FocusOverlayManager.java | 21 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 2 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 2 |
3 files changed, 21 insertions, 4 deletions
diff --git a/src/com/android/camera/FocusOverlayManager.java b/src/com/android/camera/FocusOverlayManager.java index b5d34d70f..71081f7f1 100755 --- a/src/com/android/camera/FocusOverlayManager.java +++ b/src/com/android/camera/FocusOverlayManager.java @@ -17,7 +17,9 @@ package com.android.camera; import android.annotation.TargetApi; +import android.content.Context; import android.graphics.Matrix; +import android.graphics.Point; import android.graphics.Rect; import android.graphics.RectF; import android.hardware.Camera.Area; @@ -27,7 +29,9 @@ import android.os.Handler; import android.os.Looper; import android.os.Message; import android.util.Log; +import org.codeaurora.snapcam.R; +import com.android.camera.app.CameraApp; import com.android.camera.util.CameraUtil; import com.android.camera.util.UsageStatistics; @@ -109,6 +113,9 @@ public class FocusOverlayManager { } private int mFocusTime; // time after touch-to-focus + private Point mDispSize; + private int mBottomMargin; + private int mTopMargin; public interface Listener { public void autoFocus(); @@ -142,7 +149,7 @@ public class FocusOverlayManager { public FocusOverlayManager(ComboPreferences preferences, String[] defaultFocusModes, Parameters parameters, Listener listener, - boolean mirror, Looper looper, FocusUI ui) { + boolean mirror, Looper looper, FocusUI ui, CameraActivity activity) { mHandler = new MainHandler(looper); mMatrix = new Matrix(); mPreferences = preferences; @@ -151,6 +158,13 @@ public class FocusOverlayManager { mListener = listener; setMirror(mirror); mUI = ui; + mDispSize = new Point(); + activity.getWindowManager().getDefaultDisplay().getRealSize(mDispSize); + Context context = CameraApp.getContext(); + mBottomMargin = + context.getResources().getDimensionPixelSize(R.dimen.preview_bottom_margin); + mTopMargin = + context.getResources().getDimensionPixelSize(R.dimen.preview_top_margin); } public void setPhotoUI(FocusUI ui) { @@ -401,7 +415,10 @@ public class FocusOverlayManager { mState == STATE_SUCCESS || mState == STATE_FAIL)) { cancelAutoFocus(); } - if (mPreviewRect.width() == 0 || mPreviewRect.height() == 0) return; + if (mPreviewRect.width() == 0 || mPreviewRect.height() == 0 || + (y > (mDispSize.y - mBottomMargin) || y < mTopMargin)) { + return; + } // Initialize variables. // Initialize mFocusArea. if (mFocusAreaSupported) { diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 0e0ab1f40..21b191cdf 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -2968,7 +2968,7 @@ public class PhotoModule if (mFocusManager == null) { mFocusManager = new FocusOverlayManager(mPreferences, defaultFocusModes, mInitialParams, this, mMirror, - mActivity.getMainLooper(), mUI); + mActivity.getMainLooper(), mUI, mActivity); } } } diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index dcc1545b8..453a47544 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -1483,7 +1483,7 @@ public class VideoModule implements CameraModule, R.array.pref_video_focusmode_default_array); mFocusManager = new FocusOverlayManager(mPreferences, defaultFocusModes, mParameters, this, mirror, - mActivity.getMainLooper(), mUI); + mActivity.getMainLooper(), mUI, mActivity); } } |