summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-05-02 23:15:53 -0700
committerLinux Build Service Account <lnxbuild@localhost>2017-05-02 23:15:53 -0700
commit5692b7c86577870274dd2ce517b330a6fe761980 (patch)
tree941abb3e7fb21c9b21db0808f462e23cf4eebbb5
parent3d085114604468ca739645e7b21ce3d2d3f07e62 (diff)
parent1d660c5c5c38e2b773844a0a6dc8dcc3ab8d5742 (diff)
downloadandroid_packages_apps_Gallery2-5692b7c86577870274dd2ce517b330a6fe761980.tar.gz
android_packages_apps_Gallery2-5692b7c86577870274dd2ce517b330a6fe761980.tar.bz2
android_packages_apps_Gallery2-5692b7c86577870274dd2ce517b330a6fe761980.zip
Promotion of android_ui.lnx.2.1-00099.
CRs Change ID Subject -------------------------------------------------------------------------------------------------------------- 2036804 I171098d1339e73f745b556a2c0bd2efcbf25446c Fix crash of missing ts face libs Change-Id: Ica06f05bd89a7d6329c1c845b507adec2f85a561 CRs-Fixed: 2036804
-rwxr-xr-xsrc/com/android/gallery3d/filtershow/FilterShowActivity.java12
-rw-r--r--src/com/android/gallery3d/filtershow/filters/SimpleMakeupImageFilter.java14
-rw-r--r--src/com/thundersoft/hz/selfportrait/detect/FaceDetect.java16
-rw-r--r--src/com/thundersoft/hz/selfportrait/makeup/engine/MakeupEngine.java7
4 files changed, 40 insertions, 9 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index 96696b2db..9e22e9d22 100755
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -1859,10 +1859,14 @@ DialogInterface.OnDismissListener, PopupMenu.OnDismissListener{
if(src == null) {
return false;
}
- FaceDetect fDetect = new FaceDetect();
- fDetect.initialize();
- FaceInfo[] faceInfos = fDetect.dectectFeatures(src);
- fDetect.uninitialize();
+
+ FaceInfo[] faceInfos = null;
+ FaceDetect fDetect = FaceDetect.getInstance();
+ if (fDetect.isLibLoaded()) {
+ fDetect.initialize();
+ faceInfos = fDetect.dectectFeatures(src);
+ fDetect.uninitialize();
+ }
if(faceInfos != null && faceInfos.length > 0) {
Rect[] faces = new Rect[faceInfos.length];
diff --git a/src/com/android/gallery3d/filtershow/filters/SimpleMakeupImageFilter.java b/src/com/android/gallery3d/filtershow/filters/SimpleMakeupImageFilter.java
index 3a31b4bfa..7cfce3614 100644
--- a/src/com/android/gallery3d/filtershow/filters/SimpleMakeupImageFilter.java
+++ b/src/com/android/gallery3d/filtershow/filters/SimpleMakeupImageFilter.java
@@ -23,12 +23,13 @@ import android.util.Log;
import com.android.gallery3d.common.ApiHelper.SystemProperties;
import com.thundersoft.hz.selfportrait.detect.FaceDetect;
import com.thundersoft.hz.selfportrait.detect.FaceInfo;
+import com.thundersoft.hz.selfportrait.makeup.engine.MakeupEngine;
public abstract class SimpleMakeupImageFilter extends SimpleImageFilter {
private static final String LOGTAG = "SimpleMakeupImageFilter";
protected static final int MAKEUP_INTENSITY = 50;
- public static final boolean HAS_TS_MAKEUP = SystemProperties.getBoolean("persist.ts.postmakeup", true);
+ public static final boolean HAS_TS_MAKEUP = MakeupEngine.getMakeupObj().isLibLoaded();
public SimpleMakeupImageFilter() {
}
@@ -41,10 +42,13 @@ public abstract class SimpleMakeupImageFilter extends SimpleImageFilter {
}
protected FaceInfo detectFaceInfo(Bitmap bitmap) {
- FaceDetect faceDetect = new FaceDetect();
- faceDetect.initialize();
- FaceInfo[] faceInfos = faceDetect.dectectFeatures(bitmap);
- faceDetect.uninitialize();
+ FaceDetect faceDetect = FaceDetect.getInstance();
+ FaceInfo[] faceInfos = null;
+ if (faceDetect.isLibLoaded()) {
+ faceDetect.initialize();
+ faceInfos = faceDetect.dectectFeatures(bitmap);
+ faceDetect.uninitialize();
+ }
Log.v(LOGTAG, "SimpleMakeupImageFilter.detectFaceInfo(): detect faceNum is "
+ (faceInfos != null ? faceInfos.length : "NULL"));
diff --git a/src/com/thundersoft/hz/selfportrait/detect/FaceDetect.java b/src/com/thundersoft/hz/selfportrait/detect/FaceDetect.java
index 99eb33ec8..6577b9388 100644
--- a/src/com/thundersoft/hz/selfportrait/detect/FaceDetect.java
+++ b/src/com/thundersoft/hz/selfportrait/detect/FaceDetect.java
@@ -25,16 +25,22 @@ public class FaceDetect {
private static final String TAG = "FaceDetect";
private long mHandle = 0;
+ private static boolean mLibLoaded;
+ private static FaceDetect mInstance;
static {
try {
System.loadLibrary("ts_detected_face_jni");
+ mLibLoaded = true;
} catch (UnsatisfiedLinkError e) {
e.printStackTrace();
+ mLibLoaded = false;
Log.e(TAG, "ts_detected_face_jni library not found!");
}
}
+ private FaceDetect() {}
+
/**
* initialize method,MUST called at first time.
*/
@@ -42,6 +48,16 @@ public class FaceDetect {
mHandle = native_create();
}
+ public static FaceDetect getInstance() {
+ if (mInstance == null)
+ mInstance = new FaceDetect();
+ return mInstance;
+ }
+
+ public boolean isLibLoaded() {
+ return mLibLoaded;
+ }
+
/**
* uninitialize method,MUST called at last time.
*/
diff --git a/src/com/thundersoft/hz/selfportrait/makeup/engine/MakeupEngine.java b/src/com/thundersoft/hz/selfportrait/makeup/engine/MakeupEngine.java
index d33dc7f91..1ddb2383f 100644
--- a/src/com/thundersoft/hz/selfportrait/makeup/engine/MakeupEngine.java
+++ b/src/com/thundersoft/hz/selfportrait/makeup/engine/MakeupEngine.java
@@ -25,18 +25,25 @@ public class MakeupEngine {
static {
try {
System.loadLibrary("ts_face_beautify_jni");
+ mLibLoaded = true;
} catch (UnsatisfiedLinkError e) {
e.printStackTrace();
+ mLibLoaded = false;
Log.e(MakeupEngine.class.getName(), "ts_face_beautify_jni library not found!");
}
}
+ private static boolean mLibLoaded;
private static MakeupEngine mInstance;
private MakeupEngine() {
}
+ public boolean isLibLoaded() {
+ return mLibLoaded;
+ }
+
public static MakeupEngine getMakeupObj() {
if(mInstance == null) {
mInstance = new MakeupEngine();