From 333727cee759d51a25dd925484d823863873bd43 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 9 Feb 2017 22:23:58 +0100 Subject: [PATCH] fix stroboscope on some devices, by sarevd --- .../flashlight/MyCameraImpl.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/simplemobiletools/flashlight/MyCameraImpl.java b/app/src/main/java/com/simplemobiletools/flashlight/MyCameraImpl.java index b880523..18dd73a 100644 --- a/app/src/main/java/com/simplemobiletools/flashlight/MyCameraImpl.java +++ b/app/src/main/java/com/simplemobiletools/flashlight/MyCameraImpl.java @@ -1,12 +1,15 @@ package com.simplemobiletools.flashlight; import android.content.Context; +import android.graphics.SurfaceTexture; import android.hardware.Camera; import android.os.Handler; import android.util.Log; import com.squareup.otto.Bus; +import java.io.IOException; + public class MyCameraImpl { private static final String TAG = MyCameraImpl.class.getSimpleName(); @@ -223,6 +226,15 @@ public class MyCameraImpl { torchOn.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); torchOff.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); + SurfaceTexture dummy = new SurfaceTexture(1); + try { + mCamera.setPreviewTexture(dummy); + } catch (IOException e) { + Log.e(TAG, "setup stroboscope1 " + e.getMessage()); + } + + mCamera.startPreview(); + while (!mShouldStroboscopeStop) { try { mCamera.setParameters(torchOn); @@ -244,8 +256,8 @@ public class MyCameraImpl { mCamera = null; } } - } catch (RuntimeException ignored) { - + } catch (RuntimeException e) { + Log.e(TAG, "setup stroboscope2 " + e.getMessage()); } }