Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d1e64f40 authored by jinwu's avatar jinwu
Browse files

Fix crash of face detect's singleton

Since we may create instance of face detect in more than one
threads, change the singleton of face detect to avoid crash.

Change-Id: I2431d5565f99c1de52a0552073934e68267c6835
CRs-Fixed: 2089283
parent b4d08df0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1792,7 +1792,7 @@ DialogInterface.OnDismissListener, PopupMenu.OnDismissListener{
            }

            FaceInfo[] faceInfos = null;
            FaceDetect fDetect = FaceDetect.getInstance();
            FaceDetect fDetect = new FaceDetect();
            if (fDetect.isLibLoaded()) {
                fDetect.initialize();
                faceInfos = fDetect.dectectFeatures(src);
+1 −1
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ public abstract class SimpleMakeupImageFilter extends SimpleImageFilter {
    }

    protected FaceInfo detectFaceInfo(Bitmap bitmap) {
        FaceDetect faceDetect = FaceDetect.getInstance();
        FaceDetect faceDetect = new FaceDetect();
        FaceInfo[] faceInfos = null;
        if (faceDetect.isLibLoaded()) {
            faceDetect.initialize();
+0 −9
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ public class FaceDetect {

    private long mHandle = 0;
    private static boolean mLibLoaded;
    private static FaceDetect mInstance;

    static {
        try {
@@ -39,8 +38,6 @@ public class FaceDetect {
        }
    }

    private FaceDetect() {}

    /**
     * initialize method,MUST called at first time.
     */
@@ -48,12 +45,6 @@ public class FaceDetect {
        mHandle = native_create();
    }

    public static FaceDetect getInstance() {
        if (mInstance == null)
            mInstance = new FaceDetect();
        return mInstance;
    }

    public boolean isLibLoaded() {
        return mLibLoaded;
    }