.. | .. |
---|
1292 | 1292 | private final int mNumberOfCameras; |
---|
1293 | 1293 | private final int mFirstBackCameraId; |
---|
1294 | 1294 | private final int mFirstFrontCameraId; |
---|
| 1295 | + private final int mFirstExternalCameraId; |
---|
1295 | 1296 | |
---|
1296 | 1297 | public AndroidCamera2DeviceInfo(CameraManager cameraManager, |
---|
1297 | 1298 | String[] cameraIds, int numberOfCameras) { |
---|
.. | .. |
---|
1301 | 1302 | |
---|
1302 | 1303 | int firstBackId = NO_DEVICE; |
---|
1303 | 1304 | int firstFrontId = NO_DEVICE; |
---|
| 1305 | + int firstExternalId = NO_DEVICE; |
---|
1304 | 1306 | for (int id = 0; id < cameraIds.length; ++id) { |
---|
1305 | 1307 | try { |
---|
1306 | 1308 | int lensDirection = cameraManager.getCameraCharacteristics(cameraIds[id]) |
---|
.. | .. |
---|
1313 | 1315 | lensDirection == CameraCharacteristics.LENS_FACING_FRONT) { |
---|
1314 | 1316 | firstFrontId = id; |
---|
1315 | 1317 | } |
---|
| 1318 | + if (firstFrontId == NO_DEVICE && |
---|
| 1319 | + lensDirection == CameraCharacteristics.LENS_FACING_EXTERNAL) { |
---|
| 1320 | + firstExternalId = id; |
---|
| 1321 | + } |
---|
1316 | 1322 | } catch (CameraAccessException ex) { |
---|
1317 | 1323 | Log.w(TAG, "Couldn't get characteristics of camera '" + id + "'", ex); |
---|
1318 | 1324 | } |
---|
1319 | 1325 | } |
---|
1320 | 1326 | mFirstBackCameraId = firstBackId; |
---|
1321 | 1327 | mFirstFrontCameraId = firstFrontId; |
---|
| 1328 | + mFirstExternalCameraId = firstExternalId; |
---|
1322 | 1329 | } |
---|
1323 | 1330 | |
---|
1324 | 1331 | @Override |
---|
.. | .. |
---|
1347 | 1354 | return mFirstFrontCameraId; |
---|
1348 | 1355 | } |
---|
1349 | 1356 | |
---|
| 1357 | + @Override |
---|
| 1358 | + public int getFirstExternalCameraId() { |
---|
| 1359 | + return mFirstExternalCameraId; |
---|
| 1360 | + } |
---|
| 1361 | + |
---|
1350 | 1362 | private static class AndroidCharacteristics2 extends Characteristics { |
---|
1351 | 1363 | private CameraCharacteristics mCameraInfo; |
---|
1352 | 1364 | |
---|
.. | .. |
---|
1367 | 1379 | } |
---|
1368 | 1380 | |
---|
1369 | 1381 | @Override |
---|
| 1382 | + public boolean isFacingExternal() { |
---|
| 1383 | + return mCameraInfo.get(CameraCharacteristics.LENS_FACING) |
---|
| 1384 | + .equals(CameraCharacteristics.LENS_FACING_EXTERNAL); |
---|
| 1385 | + } |
---|
| 1386 | + |
---|
| 1387 | + @Override |
---|
1370 | 1388 | public int getSensorOrientation() { |
---|
1371 | 1389 | return mCameraInfo.get(CameraCharacteristics.SENSOR_ORIENTATION); |
---|
1372 | 1390 | } |
---|