Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d98da3ff authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊
Browse files

camera: add support to ignore camera IDs

parent 4ce358a1
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -446,6 +446,11 @@ public class MainActivity extends AppCompatActivity implements PreferenceFragmen
            cameraIdentifier.init();
        }

        String[] ignoredCameraIDs = getResources().getStringArray(R.array.config_ignoredCameraIds);
        if( MyDebug.LOG ) {
            Log.d(TAG, "ignoredCameraIDs: " + Arrays.toString(ignoredCameraIDs));
        }

        // Setup multi-camera buttons (must be done after creating preview so we know which Camera API is being used,
        // and before initialising on-screen visibility).
        // We only allow the separate icon for switching cameras if:
@@ -473,6 +478,9 @@ public class MainActivity extends AppCompatActivity implements PreferenceFragmen
                }

                for(String cameraId: camerafinder.getAllCameraIdList()) {
                    if (Arrays.stream(ignoredCameraIDs).anyMatch(id -> id.equals(cameraId))) {
                        continue;
                    }
                    int id = Integer.parseInt(cameraId);
                    cameraCharacteristics = camerafinder.getCameraCharacteristics(id);
                    Integer facing = cameraCharacteristics.get(CameraCharacteristics.LENS_FACING);
@@ -497,6 +505,10 @@ public class MainActivity extends AppCompatActivity implements PreferenceFragmen
            this.front_camera_ids = new ArrayList<>();
            this.other_camera_ids = new ArrayList<>();
            for (int i = 0; i < n_cameras; i++) {
                String currentCameraID = String.valueOf(i);
                if (Arrays.stream(ignoredCameraIDs).anyMatch(id -> id.equals(currentCameraID))) {
                    continue;
                }
                switch (preview.getCameraControllerManager().getFacing(i)) {
                    case FACING_BACK:
                        back_camera_ids.add(i);
+5 −0
Original line number Diff line number Diff line
@@ -17,4 +17,9 @@
    <string-array name="config_auxCameraZoomRatios">
        <!-- <item>0:1.0</item> -->
    </string-array>

    <!-- List of ID of cameras that must be ignored by the app. -->
    <string-array name="config_ignoredCameraIds">
        <!-- <item>4</item> -->
    </string-array>
</resources>