CameraITS: Fix the physical camera id parsing

The Id tokenizer between CameraITS and CtsVerifier must be consistent.

Bug: 160201464
Test: Run "python tools/run_all_tests.py camera=0.3 scenes=0", observe
CtsVerifier UI

Change-Id: I02a9584553c346f0e4c471f8b4c48aa2cd4f0059
diff --git a/apps/CameraITS/pymodules/its/device.py b/apps/CameraITS/pymodules/its/device.py
index 68fcd3b..9806359 100644
--- a/apps/CameraITS/pymodules/its/device.py
+++ b/apps/CameraITS/pymodules/its/device.py
@@ -92,6 +92,8 @@
     adb = "adb -d"
     device_id = ""
 
+    CAMERA_ID_TOKENIZER = '.'
+
     # Definitions for some of the common output format options for do_capture().
     # Each gets images of full resolution for each requested format.
     CAP_RAW = {"format":"raw"}
@@ -1116,7 +1118,7 @@
     CameraIdCombo = namedtuple('CameraIdCombo', ['id', 'sub_id'])
     id_combos = []
     for one_id in ids:
-        one_combo = one_id.split(':')
+        one_combo = one_id.split(ItsSession.CAMERA_ID_TOKENIZER)
         if len(one_combo) == 1:
             id_combos.append(CameraIdCombo(one_combo[0], None))
         elif len(one_combo) == 2:
diff --git a/apps/CameraITS/tools/run_all_tests.py b/apps/CameraITS/tools/run_all_tests.py
index 49f849e..aa326a6 100644
--- a/apps/CameraITS/tools/run_all_tests.py
+++ b/apps/CameraITS/tools/run_all_tests.py
@@ -517,14 +517,10 @@
             results[s] = {result_key: ItsSession.RESULT_NOT_EXECUTED}
 
         camera_fov = calc_camera_fov(id_combo.id, id_combo.sub_id)
-        # Id combo used to store test results in file system
         id_combo_string = id_combo.id
-        # Id string used for testing
-        id_test_string = id_combo.id
         has_hidden_sub_camera = id_combo.sub_id is not None
         if has_hidden_sub_camera:
-            id_combo_string += "." + id_combo.sub_id
-            id_test_string += ":" + id_combo.sub_id
+            id_combo_string += ItsSession.CAMERA_ID_TOKENIZER + id_combo.sub_id
             scenes = [scene for scene in scenes if HIDDEN_PHYSICAL_CAMERA_TESTS[scene]]
         # Loop capturing images until user confirm test scene is correct
         camera_id_arg = "camera=" + id_combo.id
@@ -647,7 +643,7 @@
                             test_code = skip_code
                     if skip_code is not SKIP_RET_CODE:
                         cmd = ['python', os.path.join(os.getcwd(), testpath)]
-                        cmd += one_camera_argv + ["camera="+id_test_string] + [chart_loc_arg]
+                        cmd += one_camera_argv + ["camera="+id_combo_string] + [chart_loc_arg]
                         cmd += [chart_dist_arg]
                         with open(outpath, 'w') as fout, open(errpath, 'w') as ferr:
                             test_code = run_subprocess_with_timeout(
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsUtils.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsUtils.java
index 36a10f4..8f268b0 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsUtils.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsUtils.java
@@ -403,7 +403,8 @@
                             CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS);
                     if (defaultFocalLength != physicalFocalLengths[0]) {
                         outList.mCameraIds.add(physicalId);
-                        outList.mCameraIdCombos.add(id + ":" + physicalId);
+                        // The tokenizer must be the same as CAMERA_ID_TOKENIZER in device.py
+                        outList.mCameraIdCombos.add(id + "." + physicalId);
                     }
                 }