summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/imageprocessor/filter/TrackingFocusFrameListener.java
diff options
context:
space:
mode:
authorJack Yoo <jyoo@codeaurora.org>2016-09-07 10:30:43 -0700
committerJay Wang <jaywang@codeaurora.org>2016-09-27 15:54:54 -0700
commit8f6566e427e0091e95974768596e29220c2f181b (patch)
treea26e38cc252ed6ea74c96a7b04e13c48d9355f18 /src/com/android/camera/imageprocessor/filter/TrackingFocusFrameListener.java
parentda315cfe9dcff36827dcf3cbaff53d823a4d228b (diff)
downloadandroid_packages_apps_Snap-8f6566e427e0091e95974768596e29220c2f181b.tar.gz
android_packages_apps_Snap-8f6566e427e0091e95974768596e29220c2f181b.tar.bz2
android_packages_apps_Snap-8f6566e427e0091e95974768596e29220c2f181b.zip
SnapdrgaonCamera: Putting TrackingFocus jni hook
Adding tracking focus jni library loading part and touch event Change-Id: Ic570a09a0d93eb4b81e52334ba4a1bee2b67cb12 CRs-Fixed: 1067848
Diffstat (limited to 'src/com/android/camera/imageprocessor/filter/TrackingFocusFrameListener.java')
-rw-r--r--src/com/android/camera/imageprocessor/filter/TrackingFocusFrameListener.java28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/com/android/camera/imageprocessor/filter/TrackingFocusFrameListener.java b/src/com/android/camera/imageprocessor/filter/TrackingFocusFrameListener.java
index 8d9a7fc1a..de7fdfff7 100644
--- a/src/com/android/camera/imageprocessor/filter/TrackingFocusFrameListener.java
+++ b/src/com/android/camera/imageprocessor/filter/TrackingFocusFrameListener.java
@@ -58,9 +58,9 @@ public class TrackingFocusFrameListener implements ImageFilter {
private static String TAG = "TrackingFocusFrameListener";
private static boolean mIsSupported = false;
private Rect imageRect;
- public static final int PENDING_REGISTRATION = -1;
+ public static final long PENDING_REGISTRATION = -1;
public static final int MAX_NUM_TRACKED_OBJECTS = 3;
- private int mTrackedId = PENDING_REGISTRATION;
+ private long mTrackedId = PENDING_REGISTRATION;
private boolean mIsInitialzed = false;
private TrackingFocusRenderer mTrackingFocusRender;
byte[] yvuBytes = null;
@@ -185,7 +185,7 @@ public class TrackingFocusFrameListener implements ImageFilter {
return nGetMaxRoiDimension();
}
- public int registerObject(byte[] imageDataNV21, Rect rect)
+ public long registerObject(byte[] imageDataNV21, Rect rect)
{
if (imageDataNV21 == null || imageDataNV21.length < getMinFrameSize()) {
throw new IllegalArgumentException("imageDataNV21 null or too small to encode frame");
@@ -195,7 +195,7 @@ public class TrackingFocusFrameListener implements ImageFilter {
} else if (!mIsInitialzed) {
throw new IllegalArgumentException("already released");
}
- int id = nRegisterObjectByRect(imageDataNV21, rect.left, rect.top, rect.right, rect.bottom);
+ long id = nRegisterObjectByRect(imageDataNV21, rect.left, rect.top, rect.right, rect.bottom);
if(id == 0) {
id = PENDING_REGISTRATION;
}
@@ -203,7 +203,7 @@ public class TrackingFocusFrameListener implements ImageFilter {
return mTrackedId;
}
- public int registerObject(byte[] imageDataNV21, Point point, boolean firstTime)
+ public long registerObject(byte[] imageDataNV21, Point point, boolean firstTime)
{
if (imageDataNV21 == null || imageDataNV21.length < getMinFrameSize()) {
throw new IllegalArgumentException("imageDataNV21 null or too small to encode frame"
@@ -213,7 +213,7 @@ public class TrackingFocusFrameListener implements ImageFilter {
} else if (!mIsInitialzed) {
throw new IllegalArgumentException("already released");
}
- int id = nRegisterObjectByPoint(imageDataNV21, point.x, point.y, firstTime);
+ long id = nRegisterObjectByPoint(imageDataNV21, point.x, point.y, firstTime);
if(id == 0) {
id = PENDING_REGISTRATION;
}
@@ -221,7 +221,7 @@ public class TrackingFocusFrameListener implements ImageFilter {
return mTrackedId;
}
- public void unregisterObject(int id)
+ public void unregisterObject(long id)
{
if (id == PENDING_REGISTRATION) {
Log.e(TAG, "There's a pending object");
@@ -282,12 +282,18 @@ public class TrackingFocusFrameListener implements ImageFilter {
private native void nRelease();
private native int nGetMinRoiDimension();
private native int nGetMaxRoiDimension();
- private native int nRegisterObjectByRect(byte[] imageDataNV21, int left, int top, int right, int bottom);
- private native int nRegisterObjectByPoint(byte[] imageDataNV21, int x, int y, boolean firstTime);
- private native void nUnregisterObject(int id);
+ private native long nRegisterObjectByRect(byte[] imageDataNV21, int left, int top, int right, int bottom);
+ private native long nRegisterObjectByPoint(byte[] imageDataNV21, int x, int y, boolean firstTime);
+ private native void nUnregisterObject(long id);
private native int[] nTrackObjects(byte[] imageDataNV21);
static {
- mIsSupported = false;
+ try {
+ System.loadLibrary("jni_trackingfocus");
+ mIsSupported = true;
+ }catch(UnsatisfiedLinkError e) {
+ Log.d(TAG, e.toString());
+ mIsSupported = false;
+ }
}
}