kopia lustrzana https://github.com/ryukoposting/Signal-Android
Brighten camera screen if under 66%.
rodzic
3a060c7a79
commit
74b7057608
|
@ -70,17 +70,18 @@ public class Camera1Fragment extends LoggingFragment implements CameraFragment,
|
|||
|
||||
private static final String TAG = Log.tag(Camera1Fragment.class);
|
||||
|
||||
private TextureView cameraPreview;
|
||||
private ViewGroup controlsContainer;
|
||||
private ImageButton flipButton;
|
||||
private View captureButton;
|
||||
private Camera1Controller camera;
|
||||
private Controller controller;
|
||||
private OrderEnforcer<Stage> orderEnforcer;
|
||||
private Camera1Controller.Properties properties;
|
||||
private RotationListener rotationListener;
|
||||
private Disposable rotationListenerDisposable;
|
||||
private Disposable mostRecentItemDisposable = Disposable.disposed();
|
||||
private TextureView cameraPreview;
|
||||
private ViewGroup controlsContainer;
|
||||
private ImageButton flipButton;
|
||||
private View captureButton;
|
||||
private Camera1Controller camera;
|
||||
private Controller controller;
|
||||
private OrderEnforcer<Stage> orderEnforcer;
|
||||
private Camera1Controller.Properties properties;
|
||||
private RotationListener rotationListener;
|
||||
private Disposable rotationListenerDisposable;
|
||||
private Disposable mostRecentItemDisposable = Disposable.disposed();
|
||||
private CameraScreenBrightnessController cameraScreenBrightnessController;
|
||||
|
||||
private boolean isThumbAvailable;
|
||||
private boolean isMediaSelected;
|
||||
|
@ -124,6 +125,8 @@ public class Camera1Fragment extends LoggingFragment implements CameraFragment,
|
|||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
requireActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
|
||||
cameraScreenBrightnessController = new CameraScreenBrightnessController(requireActivity().getWindow());
|
||||
getViewLifecycleOwner().getLifecycle().addObserver(cameraScreenBrightnessController);
|
||||
|
||||
rotationListener = new RotationListener(requireContext());
|
||||
cameraPreview = view.findViewById(R.id.camera_preview);
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
package org.thoughtcrime.securesms.mediasend
|
||||
|
||||
import android.view.Window
|
||||
import androidx.lifecycle.DefaultLifecycleObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
|
||||
/**
|
||||
* Modifies screen brightness to increase to a max of 66% if lower than that for optimal picture
|
||||
* taking conditions.
|
||||
*/
|
||||
class CameraScreenBrightnessController(private val window: Window) : DefaultLifecycleObserver {
|
||||
|
||||
companion object {
|
||||
private const val MIN_CAMERA_BRIGHTNESS = 0.66f
|
||||
}
|
||||
|
||||
private var originalBrightness: Float = 0f
|
||||
|
||||
override fun onResume(owner: LifecycleOwner) {
|
||||
val originalBrightness = window.attributes.screenBrightness
|
||||
if (originalBrightness < MIN_CAMERA_BRIGHTNESS) {
|
||||
window.attributes = window.attributes.apply {
|
||||
screenBrightness = MIN_CAMERA_BRIGHTNESS
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPause(owner: LifecycleOwner) {
|
||||
if (originalBrightness > 0f && window.attributes.screenBrightness == MIN_CAMERA_BRIGHTNESS) {
|
||||
window.attributes = window.attributes.apply {
|
||||
screenBrightness = originalBrightness
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -25,7 +25,10 @@ import android.widget.ImageView;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.camera.core.CameraInfo;
|
||||
import androidx.camera.core.CameraSelector;
|
||||
import androidx.camera.core.ExposureState;
|
||||
import androidx.camera.core.FocusMeteringAction;
|
||||
import androidx.camera.core.ImageCapture;
|
||||
import androidx.camera.core.ImageCaptureException;
|
||||
import androidx.camera.core.ImageProxy;
|
||||
|
@ -81,14 +84,15 @@ public class CameraXFragment extends LoggingFragment implements CameraFragment {
|
|||
private static final Rational ASPECT_RATIO_16_9 = new Rational(16, 9);
|
||||
private static final PreviewView.ScaleType PREVIEW_SCALE_TYPE = PreviewView.ScaleType.FILL_CENTER;
|
||||
|
||||
private PreviewView previewView;
|
||||
private ViewGroup controlsContainer;
|
||||
private Controller controller;
|
||||
private View selfieFlash;
|
||||
private MemoryFileDescriptor videoFileDescriptor;
|
||||
private LifecycleCameraController cameraController;
|
||||
private Disposable mostRecentItemDisposable = Disposable.disposed();
|
||||
private CameraXModePolicy cameraXModePolicy;
|
||||
private PreviewView previewView;
|
||||
private ViewGroup controlsContainer;
|
||||
private Controller controller;
|
||||
private View selfieFlash;
|
||||
private MemoryFileDescriptor videoFileDescriptor;
|
||||
private LifecycleCameraController cameraController;
|
||||
private Disposable mostRecentItemDisposable = Disposable.disposed();
|
||||
private CameraXModePolicy cameraXModePolicy;
|
||||
private CameraScreenBrightnessController cameraScreenBrightnessController;
|
||||
|
||||
private boolean isThumbAvailable;
|
||||
private boolean isMediaSelected;
|
||||
|
@ -134,6 +138,9 @@ public class CameraXFragment extends LoggingFragment implements CameraFragment {
|
|||
@SuppressLint("MissingPermission")
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
cameraScreenBrightnessController = new CameraScreenBrightnessController(requireActivity().getWindow());
|
||||
getViewLifecycleOwner().getLifecycle().addObserver(cameraScreenBrightnessController);
|
||||
|
||||
ViewGroup cameraParent = view.findViewById(R.id.camerax_camera_parent);
|
||||
|
||||
this.previewView = view.findViewById(R.id.camerax_camera);
|
||||
|
|
Ładowanie…
Reference in New Issue