Loading core/java/android/hardware/camera2/CameraExtensionCharacteristics.java +260 −104 File changed.Preview size limit exceeded, changes collapsed. Show changes core/java/android/hardware/camera2/impl/CameraAdvancedExtensionSessionImpl.java +10 −5 Original line number Original line Diff line number Diff line Loading @@ -102,6 +102,8 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes private boolean mInitialized; private boolean mInitialized; private boolean mSessionClosed; private boolean mSessionClosed; private int mExtensionType; private final Context mContext; private final Context mContext; Loading Loading @@ -205,7 +207,7 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes CameraAdvancedExtensionSessionImpl ret = new CameraAdvancedExtensionSessionImpl(ctx, CameraAdvancedExtensionSessionImpl ret = new CameraAdvancedExtensionSessionImpl(ctx, extender, cameraDevice, characteristicsMapNative, repeatingRequestSurface, extender, cameraDevice, characteristicsMapNative, repeatingRequestSurface, burstCaptureSurface, postviewSurface, config.getStateCallback(), burstCaptureSurface, postviewSurface, config.getStateCallback(), config.getExecutor(), sessionId, token); config.getExecutor(), sessionId, token, config.getExtension()); ret.mStatsAggregator.setClientName(ctx.getOpPackageName()); ret.mStatsAggregator.setClientName(ctx.getOpPackageName()); ret.mStatsAggregator.setExtensionType(config.getExtension()); ret.mStatsAggregator.setExtensionType(config.getExtension()); Loading @@ -223,7 +225,8 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes @Nullable Surface postviewSurface, @Nullable Surface postviewSurface, @NonNull StateCallback callback, @NonNull Executor executor, @NonNull StateCallback callback, @NonNull Executor executor, int sessionId, int sessionId, @NonNull IBinder token) { @NonNull IBinder token, int extension) { mContext = ctx; mContext = ctx; mAdvancedExtender = extender; mAdvancedExtender = extender; mCameraDevice = cameraDevice; mCameraDevice = cameraDevice; Loading @@ -242,6 +245,7 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes mSessionId = sessionId; mSessionId = sessionId; mToken = token; mToken = token; mInterfaceLock = cameraDevice.mInterfaceLock; mInterfaceLock = cameraDevice.mInterfaceLock; mExtensionType = extension; mStatsAggregator = new ExtensionSessionStatsAggregator(mCameraDevice.getId(), mStatsAggregator = new ExtensionSessionStatsAggregator(mCameraDevice.getId(), /*isAdvanced=*/true); /*isAdvanced=*/true); Loading Loading @@ -583,9 +587,9 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes if (mToken != null) { if (mToken != null) { if (mInitialized || (mCaptureSession != null)) { if (mInitialized || (mCaptureSession != null)) { notifyClose = true; notifyClose = true; CameraExtensionCharacteristics.releaseSession(); CameraExtensionCharacteristics.releaseSession(mExtensionType); } } CameraExtensionCharacteristics.unregisterClient(mContext, mToken); CameraExtensionCharacteristics.unregisterClient(mContext, mToken, mExtensionType); } } mInitialized = false; mInitialized = false; mToken = null; mToken = null; Loading Loading @@ -654,7 +658,8 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes } } try { try { CameraExtensionCharacteristics.initializeSession(mInitializeHandler); CameraExtensionCharacteristics.initializeSession( mInitializeHandler, mExtensionType); } catch (RemoteException e) { } catch (RemoteException e) { Log.e(TAG, "Failed to initialize session! Extension service does" Log.e(TAG, "Failed to initialize session! Extension service does" + " not respond!"); + " not respond!"); Loading core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +7 −3 Original line number Original line Diff line number Diff line Loading @@ -2559,13 +2559,16 @@ public class CameraDeviceImpl extends CameraDevice boolean initializationFailed = true; boolean initializationFailed = true; IBinder token = new Binder(TAG + " : " + mNextSessionId++); IBinder token = new Binder(TAG + " : " + mNextSessionId++); try { try { boolean ret = CameraExtensionCharacteristics.registerClient(mContext, token); boolean ret = CameraExtensionCharacteristics.registerClient(mContext, token, extensionConfiguration.getExtension(), mCameraId, CameraExtensionUtils.getCharacteristicsMapNative(characteristicsMap)); if (!ret) { if (!ret) { token = null; token = null; throw new UnsupportedOperationException("Unsupported extension!"); throw new UnsupportedOperationException("Unsupported extension!"); } } if (CameraExtensionCharacteristics.areAdvancedExtensionsSupported()) { if (CameraExtensionCharacteristics.areAdvancedExtensionsSupported( extensionConfiguration.getExtension())) { mCurrentAdvancedExtensionSession = mCurrentAdvancedExtensionSession = CameraAdvancedExtensionSessionImpl.createCameraAdvancedExtensionSession( CameraAdvancedExtensionSessionImpl.createCameraAdvancedExtensionSession( this, characteristicsMap, mContext, extensionConfiguration, this, characteristicsMap, mContext, extensionConfiguration, Loading @@ -2580,7 +2583,8 @@ public class CameraDeviceImpl extends CameraDevice throw new CameraAccessException(CameraAccessException.CAMERA_ERROR); throw new CameraAccessException(CameraAccessException.CAMERA_ERROR); } finally { } finally { if (initializationFailed && (token != null)) { if (initializationFailed && (token != null)) { CameraExtensionCharacteristics.unregisterClient(mContext, token); CameraExtensionCharacteristics.unregisterClient(mContext, token, extensionConfiguration.getExtension()); } } } } } } Loading core/java/android/hardware/camera2/impl/CameraExtensionSessionImpl.java +10 −5 Original line number Original line Diff line number Diff line Loading @@ -118,6 +118,7 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { // In case the client doesn't explicitly enable repeating requests, the framework // In case the client doesn't explicitly enable repeating requests, the framework // will do so internally. // will do so internally. private boolean mInternalRepeatingRequestEnabled = true; private boolean mInternalRepeatingRequestEnabled = true; private int mExtensionType; private final Context mContext; private final Context mContext; Loading Loading @@ -244,7 +245,8 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { sessionId, sessionId, token, token, extensionChars.getAvailableCaptureRequestKeys(config.getExtension()), extensionChars.getAvailableCaptureRequestKeys(config.getExtension()), extensionChars.getAvailableCaptureResultKeys(config.getExtension())); extensionChars.getAvailableCaptureResultKeys(config.getExtension()), config.getExtension()); session.mStatsAggregator.setClientName(ctx.getOpPackageName()); session.mStatsAggregator.setClientName(ctx.getOpPackageName()); session.mStatsAggregator.setExtensionType(config.getExtension()); session.mStatsAggregator.setExtensionType(config.getExtension()); Loading @@ -266,7 +268,8 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { int sessionId, int sessionId, @NonNull IBinder token, @NonNull IBinder token, @NonNull Set<CaptureRequest.Key> requestKeys, @NonNull Set<CaptureRequest.Key> requestKeys, @Nullable Set<CaptureResult.Key> resultKeys) { @Nullable Set<CaptureResult.Key> resultKeys, int extension) { mContext = ctx; mContext = ctx; mImageExtender = imageExtender; mImageExtender = imageExtender; mPreviewExtender = previewExtender; mPreviewExtender = previewExtender; Loading @@ -289,6 +292,7 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { mSupportedResultKeys = resultKeys; mSupportedResultKeys = resultKeys; mCaptureResultsSupported = !resultKeys.isEmpty(); mCaptureResultsSupported = !resultKeys.isEmpty(); mInterfaceLock = cameraDevice.mInterfaceLock; mInterfaceLock = cameraDevice.mInterfaceLock; mExtensionType = extension; mStatsAggregator = new ExtensionSessionStatsAggregator(mCameraDevice.getId(), mStatsAggregator = new ExtensionSessionStatsAggregator(mCameraDevice.getId(), /*isAdvanced=*/false); /*isAdvanced=*/false); Loading Loading @@ -881,9 +885,9 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { if (mToken != null) { if (mToken != null) { if (mInitialized || (mCaptureSession != null)) { if (mInitialized || (mCaptureSession != null)) { notifyClose = true; notifyClose = true; CameraExtensionCharacteristics.releaseSession(); CameraExtensionCharacteristics.releaseSession(mExtensionType); } } CameraExtensionCharacteristics.unregisterClient(mContext, mToken); CameraExtensionCharacteristics.unregisterClient(mContext, mToken, mExtensionType); } } mInitialized = false; mInitialized = false; mToken = null; mToken = null; Loading Loading @@ -1000,7 +1004,8 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { mStatsAggregator.commit(/*isFinal*/false); mStatsAggregator.commit(/*isFinal*/false); try { try { finishPipelineInitialization(); finishPipelineInitialization(); CameraExtensionCharacteristics.initializeSession(mInitializeHandler); CameraExtensionCharacteristics.initializeSession( mInitializeHandler, mExtensionType); } catch (RemoteException e) { } catch (RemoteException e) { Log.e(TAG, "Failed to initialize session! Extension service does" Log.e(TAG, "Failed to initialize session! Extension service does" + " not respond!"); + " not respond!"); Loading core/java/android/provider/Settings.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -11833,6 +11833,7 @@ public final class Settings { * Whether to enable camera extensions software fallback. * Whether to enable camera extensions software fallback. * @hide * @hide */ */ @Readable public static final String CAMERA_EXTENSIONS_FALLBACK = "camera_extensions_fallback"; public static final String CAMERA_EXTENSIONS_FALLBACK = "camera_extensions_fallback"; /** /** Loading Loading
core/java/android/hardware/camera2/CameraExtensionCharacteristics.java +260 −104 File changed.Preview size limit exceeded, changes collapsed. Show changes
core/java/android/hardware/camera2/impl/CameraAdvancedExtensionSessionImpl.java +10 −5 Original line number Original line Diff line number Diff line Loading @@ -102,6 +102,8 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes private boolean mInitialized; private boolean mInitialized; private boolean mSessionClosed; private boolean mSessionClosed; private int mExtensionType; private final Context mContext; private final Context mContext; Loading Loading @@ -205,7 +207,7 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes CameraAdvancedExtensionSessionImpl ret = new CameraAdvancedExtensionSessionImpl(ctx, CameraAdvancedExtensionSessionImpl ret = new CameraAdvancedExtensionSessionImpl(ctx, extender, cameraDevice, characteristicsMapNative, repeatingRequestSurface, extender, cameraDevice, characteristicsMapNative, repeatingRequestSurface, burstCaptureSurface, postviewSurface, config.getStateCallback(), burstCaptureSurface, postviewSurface, config.getStateCallback(), config.getExecutor(), sessionId, token); config.getExecutor(), sessionId, token, config.getExtension()); ret.mStatsAggregator.setClientName(ctx.getOpPackageName()); ret.mStatsAggregator.setClientName(ctx.getOpPackageName()); ret.mStatsAggregator.setExtensionType(config.getExtension()); ret.mStatsAggregator.setExtensionType(config.getExtension()); Loading @@ -223,7 +225,8 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes @Nullable Surface postviewSurface, @Nullable Surface postviewSurface, @NonNull StateCallback callback, @NonNull Executor executor, @NonNull StateCallback callback, @NonNull Executor executor, int sessionId, int sessionId, @NonNull IBinder token) { @NonNull IBinder token, int extension) { mContext = ctx; mContext = ctx; mAdvancedExtender = extender; mAdvancedExtender = extender; mCameraDevice = cameraDevice; mCameraDevice = cameraDevice; Loading @@ -242,6 +245,7 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes mSessionId = sessionId; mSessionId = sessionId; mToken = token; mToken = token; mInterfaceLock = cameraDevice.mInterfaceLock; mInterfaceLock = cameraDevice.mInterfaceLock; mExtensionType = extension; mStatsAggregator = new ExtensionSessionStatsAggregator(mCameraDevice.getId(), mStatsAggregator = new ExtensionSessionStatsAggregator(mCameraDevice.getId(), /*isAdvanced=*/true); /*isAdvanced=*/true); Loading Loading @@ -583,9 +587,9 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes if (mToken != null) { if (mToken != null) { if (mInitialized || (mCaptureSession != null)) { if (mInitialized || (mCaptureSession != null)) { notifyClose = true; notifyClose = true; CameraExtensionCharacteristics.releaseSession(); CameraExtensionCharacteristics.releaseSession(mExtensionType); } } CameraExtensionCharacteristics.unregisterClient(mContext, mToken); CameraExtensionCharacteristics.unregisterClient(mContext, mToken, mExtensionType); } } mInitialized = false; mInitialized = false; mToken = null; mToken = null; Loading Loading @@ -654,7 +658,8 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes } } try { try { CameraExtensionCharacteristics.initializeSession(mInitializeHandler); CameraExtensionCharacteristics.initializeSession( mInitializeHandler, mExtensionType); } catch (RemoteException e) { } catch (RemoteException e) { Log.e(TAG, "Failed to initialize session! Extension service does" Log.e(TAG, "Failed to initialize session! Extension service does" + " not respond!"); + " not respond!"); Loading
core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +7 −3 Original line number Original line Diff line number Diff line Loading @@ -2559,13 +2559,16 @@ public class CameraDeviceImpl extends CameraDevice boolean initializationFailed = true; boolean initializationFailed = true; IBinder token = new Binder(TAG + " : " + mNextSessionId++); IBinder token = new Binder(TAG + " : " + mNextSessionId++); try { try { boolean ret = CameraExtensionCharacteristics.registerClient(mContext, token); boolean ret = CameraExtensionCharacteristics.registerClient(mContext, token, extensionConfiguration.getExtension(), mCameraId, CameraExtensionUtils.getCharacteristicsMapNative(characteristicsMap)); if (!ret) { if (!ret) { token = null; token = null; throw new UnsupportedOperationException("Unsupported extension!"); throw new UnsupportedOperationException("Unsupported extension!"); } } if (CameraExtensionCharacteristics.areAdvancedExtensionsSupported()) { if (CameraExtensionCharacteristics.areAdvancedExtensionsSupported( extensionConfiguration.getExtension())) { mCurrentAdvancedExtensionSession = mCurrentAdvancedExtensionSession = CameraAdvancedExtensionSessionImpl.createCameraAdvancedExtensionSession( CameraAdvancedExtensionSessionImpl.createCameraAdvancedExtensionSession( this, characteristicsMap, mContext, extensionConfiguration, this, characteristicsMap, mContext, extensionConfiguration, Loading @@ -2580,7 +2583,8 @@ public class CameraDeviceImpl extends CameraDevice throw new CameraAccessException(CameraAccessException.CAMERA_ERROR); throw new CameraAccessException(CameraAccessException.CAMERA_ERROR); } finally { } finally { if (initializationFailed && (token != null)) { if (initializationFailed && (token != null)) { CameraExtensionCharacteristics.unregisterClient(mContext, token); CameraExtensionCharacteristics.unregisterClient(mContext, token, extensionConfiguration.getExtension()); } } } } } } Loading
core/java/android/hardware/camera2/impl/CameraExtensionSessionImpl.java +10 −5 Original line number Original line Diff line number Diff line Loading @@ -118,6 +118,7 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { // In case the client doesn't explicitly enable repeating requests, the framework // In case the client doesn't explicitly enable repeating requests, the framework // will do so internally. // will do so internally. private boolean mInternalRepeatingRequestEnabled = true; private boolean mInternalRepeatingRequestEnabled = true; private int mExtensionType; private final Context mContext; private final Context mContext; Loading Loading @@ -244,7 +245,8 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { sessionId, sessionId, token, token, extensionChars.getAvailableCaptureRequestKeys(config.getExtension()), extensionChars.getAvailableCaptureRequestKeys(config.getExtension()), extensionChars.getAvailableCaptureResultKeys(config.getExtension())); extensionChars.getAvailableCaptureResultKeys(config.getExtension()), config.getExtension()); session.mStatsAggregator.setClientName(ctx.getOpPackageName()); session.mStatsAggregator.setClientName(ctx.getOpPackageName()); session.mStatsAggregator.setExtensionType(config.getExtension()); session.mStatsAggregator.setExtensionType(config.getExtension()); Loading @@ -266,7 +268,8 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { int sessionId, int sessionId, @NonNull IBinder token, @NonNull IBinder token, @NonNull Set<CaptureRequest.Key> requestKeys, @NonNull Set<CaptureRequest.Key> requestKeys, @Nullable Set<CaptureResult.Key> resultKeys) { @Nullable Set<CaptureResult.Key> resultKeys, int extension) { mContext = ctx; mContext = ctx; mImageExtender = imageExtender; mImageExtender = imageExtender; mPreviewExtender = previewExtender; mPreviewExtender = previewExtender; Loading @@ -289,6 +292,7 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { mSupportedResultKeys = resultKeys; mSupportedResultKeys = resultKeys; mCaptureResultsSupported = !resultKeys.isEmpty(); mCaptureResultsSupported = !resultKeys.isEmpty(); mInterfaceLock = cameraDevice.mInterfaceLock; mInterfaceLock = cameraDevice.mInterfaceLock; mExtensionType = extension; mStatsAggregator = new ExtensionSessionStatsAggregator(mCameraDevice.getId(), mStatsAggregator = new ExtensionSessionStatsAggregator(mCameraDevice.getId(), /*isAdvanced=*/false); /*isAdvanced=*/false); Loading Loading @@ -881,9 +885,9 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { if (mToken != null) { if (mToken != null) { if (mInitialized || (mCaptureSession != null)) { if (mInitialized || (mCaptureSession != null)) { notifyClose = true; notifyClose = true; CameraExtensionCharacteristics.releaseSession(); CameraExtensionCharacteristics.releaseSession(mExtensionType); } } CameraExtensionCharacteristics.unregisterClient(mContext, mToken); CameraExtensionCharacteristics.unregisterClient(mContext, mToken, mExtensionType); } } mInitialized = false; mInitialized = false; mToken = null; mToken = null; Loading Loading @@ -1000,7 +1004,8 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { mStatsAggregator.commit(/*isFinal*/false); mStatsAggregator.commit(/*isFinal*/false); try { try { finishPipelineInitialization(); finishPipelineInitialization(); CameraExtensionCharacteristics.initializeSession(mInitializeHandler); CameraExtensionCharacteristics.initializeSession( mInitializeHandler, mExtensionType); } catch (RemoteException e) { } catch (RemoteException e) { Log.e(TAG, "Failed to initialize session! Extension service does" Log.e(TAG, "Failed to initialize session! Extension service does" + " not respond!"); + " not respond!"); Loading
core/java/android/provider/Settings.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -11833,6 +11833,7 @@ public final class Settings { * Whether to enable camera extensions software fallback. * Whether to enable camera extensions software fallback. * @hide * @hide */ */ @Readable public static final String CAMERA_EXTENSIONS_FALLBACK = "camera_extensions_fallback"; public static final String CAMERA_EXTENSIONS_FALLBACK = "camera_extensions_fallback"; /** /** Loading