Loading core/java/android/hardware/camera2/CameraManager.java +13 −3 Original line number Original line Diff line number Diff line Loading @@ -109,8 +109,16 @@ public final class CameraManager { mHandlerThread.start(); mHandlerThread.start(); mHandler = new Handler(mHandlerThread.getLooper()); mHandler = new Handler(mHandlerThread.getLooper()); mFoldStateListener = new FoldStateListener(context); mFoldStateListener = new FoldStateListener(context); try { context.getSystemService(DeviceStateManager.class) context.getSystemService(DeviceStateManager.class) .registerCallback(new HandlerExecutor(mHandler), mFoldStateListener); .registerCallback(new HandlerExecutor(mHandler), mFoldStateListener); } catch (IllegalStateException e) { Log.v(TAG, "Failed to register device state listener!"); Log.v(TAG, "Device state dependent characteristics updates will not be functional!"); mHandlerThread.quitSafely(); mHandler = null; mFoldStateListener = null; } } } private HandlerThread mHandlerThread; private HandlerThread mHandlerThread; Loading Loading @@ -176,9 +184,11 @@ public final class CameraManager { synchronized (mLock) { synchronized (mLock) { DeviceStateListener listener = chars.getDeviceStateListener(); DeviceStateListener listener = chars.getDeviceStateListener(); listener.onDeviceStateChanged(mFoldedDeviceState); listener.onDeviceStateChanged(mFoldedDeviceState); if (mFoldStateListener != null) { mDeviceStateListeners.add(new WeakReference<>(listener)); mDeviceStateListeners.add(new WeakReference<>(listener)); } } } } } /** /** * Return the list of currently connected camera devices by identifier, including * Return the list of currently connected camera devices by identifier, including Loading Loading
core/java/android/hardware/camera2/CameraManager.java +13 −3 Original line number Original line Diff line number Diff line Loading @@ -109,8 +109,16 @@ public final class CameraManager { mHandlerThread.start(); mHandlerThread.start(); mHandler = new Handler(mHandlerThread.getLooper()); mHandler = new Handler(mHandlerThread.getLooper()); mFoldStateListener = new FoldStateListener(context); mFoldStateListener = new FoldStateListener(context); try { context.getSystemService(DeviceStateManager.class) context.getSystemService(DeviceStateManager.class) .registerCallback(new HandlerExecutor(mHandler), mFoldStateListener); .registerCallback(new HandlerExecutor(mHandler), mFoldStateListener); } catch (IllegalStateException e) { Log.v(TAG, "Failed to register device state listener!"); Log.v(TAG, "Device state dependent characteristics updates will not be functional!"); mHandlerThread.quitSafely(); mHandler = null; mFoldStateListener = null; } } } private HandlerThread mHandlerThread; private HandlerThread mHandlerThread; Loading Loading @@ -176,9 +184,11 @@ public final class CameraManager { synchronized (mLock) { synchronized (mLock) { DeviceStateListener listener = chars.getDeviceStateListener(); DeviceStateListener listener = chars.getDeviceStateListener(); listener.onDeviceStateChanged(mFoldedDeviceState); listener.onDeviceStateChanged(mFoldedDeviceState); if (mFoldStateListener != null) { mDeviceStateListeners.add(new WeakReference<>(listener)); mDeviceStateListeners.add(new WeakReference<>(listener)); } } } } } /** /** * Return the list of currently connected camera devices by identifier, including * Return the list of currently connected camera devices by identifier, including Loading