display the flash icon only when its really available

This commit is contained in:
tibbi
2016-06-12 23:13:54 +02:00
parent faa72cf25c
commit dff62f66d9
2 changed files with 31 additions and 11 deletions

View File

@@ -35,7 +35,7 @@ public class Preview extends ViewGroup implements SurfaceHolder.Callback, View.O
private static int currCameraId;
private static boolean isFlashEnabled;
private static Camera.Parameters parameters;
private static PreviewListener callback;
private static MediaRecorder recorder;
private static boolean isRecording;
private static boolean isVideoMode;
@@ -45,10 +45,11 @@ public class Preview extends ViewGroup implements SurfaceHolder.Callback, View.O
super(context);
}
public Preview(Activity act, SurfaceView sv) {
public Preview(Activity act, SurfaceView sv, PreviewListener cb) {
super(act);
activity = act;
callback = cb;
surfaceView = sv;
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
@@ -95,6 +96,8 @@ public class Preview extends ViewGroup implements SurfaceHolder.Callback, View.O
}
setupPreview();
}
callback.setFlashAvailable(Utils.hasFlash(camera));
}
if (isVideoMode)
@@ -321,10 +324,6 @@ public class Preview extends ViewGroup implements SurfaceHolder.Callback, View.O
}
public boolean enableFlash() {
if (!Utils.hasFlash(camera)) {
return false;
}
isFlashEnabled = true;
return true;
}
@@ -397,4 +396,8 @@ public class Preview extends ViewGroup implements SurfaceHolder.Callback, View.O
isRecording = false;
}
public interface PreviewListener {
void setFlashAvailable(boolean available);
}
}