Skip to content

Commit 539e7a6

Browse files
author
Dick Smith
committed
Fix for snapshot compatibility
1 parent be614c9 commit 539e7a6

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/camera-plus.android.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,15 @@ const CAMERA_FACING_FRONT = 1; // front camera
4747
const CAMERA_FACING_BACK = 0; // rear camera
4848
const RESULT_CODE_PICKER_IMAGES = 415161;
4949
const RESULT_OK = -1;
50-
const DEVICE_INFO_STRING = `device: ${device.manufacturer} ${device.model} on SDK: ${device.sdkVersion}`;
5150

5251
// Snapshot-friendly functions
5352
const CAMERA = () => (android as any).Manifest.permission.CAMERA;
5453
const RECORD_AUDIO = () => (android as any).Manifest.permission.RECORD_AUDIO;
5554
const READ_EXTERNAL_STORAGE = () => (android as any).Manifest.permission.READ_EXTERNAL_STORAGE;
5655
const WRITE_EXTERNAL_STORAGE = () => (android as any).Manifest.permission.WRITE_EXTERNAL_STORAGE;
56+
// Since these device.* properties resolve directly to the android.* namespace,
57+
// the snapshot will fail if they resolve during import, so must be done via a function
58+
const DEVICE_INFO_STRING = () => `device: ${device.manufacturer} ${device.model} on SDK: ${device.sdkVersion}`;
5759

5860
export class CameraPlus extends CameraPlusBase {
5961
// @GetSetProperty() public camera: android.hardware.Camera;
@@ -811,7 +813,7 @@ export class CameraPlus extends CameraPlusBase {
811813
if (this.autoFocus === true && this.camera) {
812814
const params = this.camera.getParameters();
813815
const supportedFocusModes = params.getSupportedFocusModes();
814-
CLog(`supported focus modes = ${supportedFocusModes} --- ${DEVICE_INFO_STRING}`);
816+
CLog(`supported focus modes = ${supportedFocusModes} --- ${DEVICE_INFO_STRING()}`);
815817
if (supportedFocusModes.contains(android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE as any)) {
816818
CLog(`setting focus mode to FOCUS_MODE_CONTINUOUS_PICTURE`);
817819
params.setFocusMode(android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
@@ -825,7 +827,7 @@ export class CameraPlus extends CameraPlusBase {
825827
// autofocus not set so if we have camera then try to set to FIXED if device has fixed focus mode
826828
const params = this.camera.getParameters();
827829
const supportedFocusModes = params.getSupportedFocusModes();
828-
CLog(`supported focus modes = ${supportedFocusModes} --- ${DEVICE_INFO_STRING}`);
830+
CLog(`supported focus modes = ${supportedFocusModes} --- ${DEVICE_INFO_STRING()}`);
829831
if (supportedFocusModes.contains(android.hardware.Camera.Parameters.FOCUS_MODE_FIXED as any)) {
830832
CLog(`setting focus mode to FOCUS_MODE_FIXED`);
831833
params.setFocusMode(android.hardware.Camera.Parameters.FOCUS_MODE_FIXED);
@@ -1013,7 +1015,7 @@ export class CameraPlus extends CameraPlusBase {
10131015
*/
10141016
private _initCamera(id?): void {
10151017
try {
1016-
CLog(`*** _initCamera ***\nthis.cameraId = ${this.cameraId} --- ${DEVICE_INFO_STRING}`);
1018+
CLog(`*** _initCamera ***\nthis.cameraId = ${this.cameraId} --- ${DEVICE_INFO_STRING()}`);
10171019
if (this.camera === null) {
10181020
this.cameraId = CAMERA_FACING_BACK;
10191021
}

0 commit comments

Comments
 (0)