diff options
author | qimengp <qimengp@codeaurora.org> | 2016-12-07 18:02:51 +0800 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2017-06-13 07:16:28 +0200 |
commit | 975aecad9b4c62ce340db502fa9931cae106b82d (patch) | |
tree | c1ccc0b4ec5c129dfcfa35b1eccd32a4b1183810 | |
parent | 922c4b3b80f07ba064aea58a98b0d5026c64e045 (diff) | |
download | android_packages_apps_Snap-975aecad9b4c62ce340db502fa9931cae106b82d.tar.gz android_packages_apps_Snap-975aecad9b4c62ce340db502fa9931cae106b82d.tar.bz2 android_packages_apps_Snap-975aecad9b4c62ce340db502fa9931cae106b82d.zip |
SnapdragonCamera: Fix FC cause by Null pointer
When clearSight is failed, handleTimeout() is invoked to
reset clearsight Engine, but ClearsightProcessHandler is still
working and try to access null pointer object.
By adding protect of null pointer can fix this issue.
Change-Id: I4722721f3715077ec8303c4d14693ae4c1484420
-rwxr-xr-x | src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java b/src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java index f1a082f75..fd107e446 100755 --- a/src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java +++ b/src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java @@ -903,6 +903,12 @@ public class ClearSightImageProcessor { mImageEncodeHandler.obtainMessage(MSG_START_CAPTURE).sendToTarget(); short encodeRequest = 0; + /* In same case, timeout will reset ClearSightNativeEngine object, so fields + in the object is not initial, need to return and skip process. + */ + if (ClearSightNativeEngine.getInstance().getReferenceImage(true) == null) { + return; + } long csTs = ClearSightNativeEngine.getInstance().getReferenceImage(true).getTimestamp(); CaptureRequest.Builder csRequest = createEncodeReprocRequest( ClearSightNativeEngine.getInstance().getReferenceResult(true), CAM_TYPE_BAYER); |