diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java index 4d7739c5..b3a786bd 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java @@ -170,8 +170,7 @@ public class CameraView extends FrameLayout { protected void onAttachedToWindow() { super.onAttachedToWindow(); if (!isInEditMode()) { - WindowManager manager = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE); - mOrientationHelper.enable(manager.getDefaultDisplay()); + mOrientationHelper.enable(getContext()); } } @@ -488,14 +487,8 @@ public class CameraView extends FrameLayout { if (checkPermissions(getSessionType())) { mIsStarted = true; - // Update display orientation for current CameraController - WindowManager manager = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE); - Display display = manager.getDefaultDisplay(); - if (display != null) { - mOrientationHelper.enable(display); - } - + mOrientationHelper.enable(getContext()); mCameraController.start(); } } diff --git a/cameraview/src/main/utils/com/otaliastudios/cameraview/OrientationHelper.java b/cameraview/src/main/utils/com/otaliastudios/cameraview/OrientationHelper.java index 91230ef6..53f9aaea 100644 --- a/cameraview/src/main/utils/com/otaliastudios/cameraview/OrientationHelper.java +++ b/cameraview/src/main/utils/com/otaliastudios/cameraview/OrientationHelper.java @@ -7,6 +7,7 @@ import android.util.SparseIntArray; import android.view.Display; import android.view.OrientationEventListener; import android.view.Surface; +import android.view.WindowManager; class OrientationHelper { @@ -67,10 +68,10 @@ class OrientationHelper { }; } - void enable(Display display) { - mDisplay = display; + void enable(Context context) { + mDisplay = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); mListener.enable(); - mLastKnownDisplayOffset = DISPLAY_ORIENTATIONS.get(display.getRotation()); + mLastKnownDisplayOffset = DISPLAY_ORIENTATIONS.get(mDisplay.getRotation()); mCallbacks.onDisplayOffsetChanged(mLastKnownDisplayOffset); }