summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSultanxda <sultanxda@gmail.com>2016-03-26 04:45:50 -0700
committerArne Coucheron <arco68@gmail.com>2018-01-27 00:41:43 +0100
commit35655fcf654cc5e2f577a37f28c5083ccd3dd076 (patch)
tree1b68bbb886b4dafd24fcaf4206510d0177bbb018
parent27f82dac9adcd990e7abfc34580ed4e9edf422d5 (diff)
downloadandroid_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>
-rwxr-xr-xsrc/com/android/camera/FocusOverlayManager.java21
-rw-r--r--src/com/android/camera/PhotoModule.java2
-rw-r--r--src/com/android/camera/VideoModule.java2
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);
}
}