)]}'
{
  "log": [
    {
      "commit": "583721fa976100d5590b81eec6ef23fdf224c447",
      "tree": "e13295a569f258370db1505ba21151e8aaaa7f67",
      "parents": [
        "1b6c7cc756f89ed928812b5fa46c2cbc88a9db1c",
        "8dc78335508deab0206690d978db13e5b9e24d54"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 08 19:52:10 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jun 08 19:52:10 2020 +0000"
      },
      "message": "Merge \"Camera: Add lastCompletedFrameNumber in CaptureResultExtras\" into rvc-dev am: 79f08b942d am: 8dc7833550\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11415576\n\nChange-Id: Ic91920f8cd45873dff0d7631a3503341fdb53d49\n"
    },
    {
      "commit": "79f08b942dfbcb2e9f88763fcbc168d981b787f5",
      "tree": "979ddcebb95874e0d626c01d39911852f377a1c2",
      "parents": [
        "ea5f4133c7c029ffb988f4aa454c45c86294531c",
        "730a7916262d23d406296f21aa2ac89a0a47c94c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 08 19:28:31 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 19:28:31 2020 +0000"
      },
      "message": "Merge \"Camera: Add lastCompletedFrameNumber in CaptureResultExtras\" into rvc-dev"
    },
    {
      "commit": "9a32ebf6849a6f5ff7b9299838769f530d038366",
      "tree": "879ff6333272eb831873d04bee012824ff2293cb",
      "parents": [
        "949a6b6f3ec8ee1a8dd49894328c0243b43164ff",
        "ccfd5262b788718046a4d90713832199fffe1549"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 05 20:04:37 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 05 20:04:37 2020 +0000"
      },
      "message": "Merge \"Camera: Don\u0027t mark request thread as IDLE in configured state\" into rvc-dev am: ccfd5262b7\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/11692381\n\nChange-Id: If10b55c943069cb3da89738eae52f2199c351204\n"
    },
    {
      "commit": "730a7916262d23d406296f21aa2ac89a0a47c94c",
      "tree": "63998bad70f9e02896b03b6dab2d79f3301fafb3",
      "parents": [
        "4e48c2477d084919f13ee191a6c36713d83063f3"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu May 07 11:59:02 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Jun 03 14:32:02 2020 -0700"
      },
      "message": "Camera: Add lastCompletedFrameNumber in CaptureResultExtras\n\nThe new fields in CaptureResultExtras notify the application the last\ncompleted frame numbers. A frame number is completed if:\n- All buffers are returned\n- Final capture result is returned, or CAPTURE_ERROR is called,\n- For buffers that are cancelled, all notifyError() is called.\n\nThis makes sure client doesn\u0027t ignore BUFFER_ERROR after capture\nresult metadata callback.\n\nPublic API and NDK logic are fixed. VNDK is yet to be done.\n\nTest: Camera CTS\nBug: 155353799\nChange-Id: I43f0f5ea18a670dfa00872ebc581567e2df76ad4\n"
    },
    {
      "commit": "3bead5f9b87a5c5adad2b687f60a172d0475502a",
      "tree": "c7d29cac2a6febb65537c36eb0f2e5aa72e740fe",
      "parents": [
        "b4a3b65d297a8436ba48138ce7ce2ba6b7a652b8"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu May 28 17:29:08 2020 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Mon Jun 01 15:39:26 2020 -0700"
      },
      "message": "Camera: Don\u0027t mark request thread as IDLE in configured state\n\nMarking the request thread as IDLE in any state different from\nACTIVE is not necessary. In configured state the device can\nimmediately reconfigure the streams and will not wait\nfor the status tracker notification.\n\nBug: 157451818\nTest: Camera CTS\n\nChange-Id: I22e357ab13d016404cfc939ca595d48fb08cf686\n"
    },
    {
      "commit": "b0ed325f8a689e1bca09d86095fa3cb9f0cad64b",
      "tree": "20c2c1a7eba11ab6ebfbccafff2df12929b2b15e",
      "parents": [
        "28ca11af8acbe777d2479ca6fc70c1a88f8bdb19",
        "eca178fbbf489c06f1dd275658dc8a438328565e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 19 05:22:08 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 19 05:22:08 2020 +0000"
      },
      "message": "Merge \"cameraserver: system camera rules should be checked before making onPhysicalCameraStatusChanged callbacks.\" into rvc-dev am: eca178fbbf\n\nChange-Id: I8c2744433eeec11ddea17a6ab7ce1a392feffe58\n"
    },
    {
      "commit": "eca178fbbf489c06f1dd275658dc8a438328565e",
      "tree": "17dce5b20fb79abf74ebbe776e94a9003d819a78",
      "parents": [
        "3bd241dcd726b2c4119a0b6bb1246bcdc513a912",
        "d1478ceafe5acf538e96f5d0e42dda92bbfb118e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 19 05:07:26 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 19 05:07:26 2020 +0000"
      },
      "message": "Merge \"cameraserver: system camera rules should be checked before making onPhysicalCameraStatusChanged callbacks.\" into rvc-dev"
    },
    {
      "commit": "fc2a78ee9796a7ecb8436e7cbe884a1d90314a45",
      "tree": "b0b243ba43bee3ee2a28414cba8ef035371a0bd8",
      "parents": [
        "9e922c151d2d431066928c2c30935db6c886af73",
        "22e58223044a6910a1d92f2c6cef3c7b418c4d4f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 13 05:08:44 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed May 13 05:08:44 2020 +0000"
      },
      "message": "Merge \"Camera3: Add flush support to HEIC composite streams\" into rvc-dev am: 22e5822304\n\nChange-Id: Ieec1aa49e88cc6dfe879b8cae257851c926fc34b\n"
    },
    {
      "commit": "22e58223044a6910a1d92f2c6cef3c7b418c4d4f",
      "tree": "f29e3133eb02ab9b3e8415d18dfd630e4f81bc11",
      "parents": [
        "3e58083f214629ebc87cd0a0d965e84e673524f0",
        "e867578b74c62770971f64734d5e0729a870a4b0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 13 04:55:28 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 13 04:55:28 2020 +0000"
      },
      "message": "Merge \"Camera3: Add flush support to HEIC composite streams\" into rvc-dev"
    },
    {
      "commit": "e867578b74c62770971f64734d5e0729a870a4b0",
      "tree": "90f507899ae0d082eab9ed82f3c04b3f41834b2a",
      "parents": [
        "40fae84d5e67baab376c831df2b1ad33f9b989ce"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Dec 05 09:12:14 2019 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue May 12 15:02:52 2020 -0700"
      },
      "message": "Camera3: Add flush support to HEIC composite streams\n\n- Handle various corner cases with regard to REQUEST_ERROR, RESULT_ERROR, and BUFFER_ERROR.\n- Drain the codec outputs in case the input buffer isn\u0027t dropped.\n- Allow APP_SEGMENT to drop while still producing valid output image.\n- Add a status tracker to manage active/idle state.\n- Use frame number as key for pending input frames since with ZSL, 2\ncapture result could have the same timestamp.\n- Also removed some deprecated variable/methods.\n\nTest: CTS, vendor testing\nBug: 145579077\nChange-Id: I9c3e929469b8fb75b32b016f9006036c954f663f\n"
    },
    {
      "commit": "d1478ceafe5acf538e96f5d0e42dda92bbfb118e",
      "tree": "508c7fd844d177479685a73f328f47c06b721e13",
      "parents": [
        "5120edaad25acb60218d81bde9a1e7b79ac3f143"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu May 07 17:35:23 2020 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon May 11 15:14:21 2020 -0700"
      },
      "message": "cameraserver: system camera rules should be checked before making onPhysicalCameraStatusChanged callbacks.\n\nBug: 152089822\n\nTest: GCA (sanity)\nTest: Camera CTS\n\nChange-Id: I1cdca010819550f9743f8a6d1c209b123cb16ba4\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "2b5794206ede7558dd467d97a1903db1d6e63e6c",
      "tree": "7dfe38d745ae67ef5def6273391634fdc6fe29ef",
      "parents": [
        "cfca9375b2e0d3c241540053a70dbc310b9899cc",
        "cc79094c69bdc85c7c8f52247a00bae1dff68473"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Wed May 06 17:01:19 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed May 06 17:01:19 2020 +0000"
      },
      "message": "Merge \"Revert \"Add isUidActiveOrForeground() for camera/audio to use.\"\" into rvc-dev am: cc79094c69\n\nChange-Id: I5d67e226bfe4bbdadd6bbbeb3cd14a47beb26d4f\n"
    },
    {
      "commit": "cc79094c69bdc85c7c8f52247a00bae1dff68473",
      "tree": "ae20e4e48fc2ccda1611c3010b378e4dc34b2e63",
      "parents": [
        "b3cedfdf595bbb3538a7a6e36b70de5e62a58fa1",
        "12c7ec759a2629c2b11861ec89fd8a3bef778d39"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Wed May 06 16:59:34 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 06 16:59:34 2020 +0000"
      },
      "message": "Merge \"Revert \"Add isUidActiveOrForeground() for camera/audio to use.\"\" into rvc-dev"
    },
    {
      "commit": "12c7ec759a2629c2b11861ec89fd8a3bef778d39",
      "tree": "f6761f74625adddd3853d93fd8d5e92a7f388950",
      "parents": [
        "ffffffc42242cf06c433e4e4958d7991a7e2848c"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Mon May 04 17:40:52 2020 +0000"
      },
      "committer": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Mon May 04 18:06:32 2020 +0000"
      },
      "message": "Revert \"Add isUidActiveOrForeground() for camera/audio to use.\"\n\nRevert \"Add isUidActiveOrForeground() for camera/audio to use.\"\n\nRevert \"Add isUidActiveOrForeground for camera/audio to use.\"\n\nRevert submission 10829580-isUidForeground\n\nReason for revert: In CameraService.cpp, before this change, around \"am.isUidActive\", there was up to 300 ms retry. After this change, the code could move forward fast without retry, but at \"mAppOpsManager-\u003estartOpNoThrow\" call, for the same reason as uid is not updated fast enough, \"mAppOpsManager-\u003estartOpNoThrow\" could also fail.\n\nThis CL does not really fix the root cause, but it changes the timing and now the code fails at \"mAppOpsManager-\u003estartOpNoThrow\" call.\n\nAlso the timing change may also cause recent multiple CTS test failures.\n\n\nBug: 154570809, 155032617, 154849083\n\nReverted Changes:\nIffed63293:Add isUidActiveOrForeground() for camera/audio to ...\nI3685e0c8d:Add isUidActiveOrForeground() for camera/audio to ...\nI51ed1fe78:Add isUidActiveOrForeground for camera/audio to us...\n\nChange-Id: I8acde2524201b6c6d0d5c0ff9cfb2053ffbcb8ef\n"
    },
    {
      "commit": "f60ce823df3f6b38114df4da88518ceaa8e43c3e",
      "tree": "357b28d5d494185f79231df449fa33ae794be664",
      "parents": [
        "706aeeeb146f910a53130b3ca218b6b3d8295953",
        "2fc997ef3107415ba111cbe64d4355059830d85f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 04 05:44:00 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon May 04 05:44:00 2020 +0000"
      },
      "message": "Merge \"Camera: Initialize preCorrectionActiveArraySize\" into rvc-dev am: 2fc997ef31\n\nChange-Id: I23d84cb0401fb315e6326d401e780ca2498fcee6\n"
    },
    {
      "commit": "2fc997ef3107415ba111cbe64d4355059830d85f",
      "tree": "24d9b2dbe9f7b9d590ac8cbc8486c7ef1510d1bc",
      "parents": [
        "ef9abae0c7f05913cddb3e87566aa4d64b6f353f",
        "9bf8a6fcf9800df24961d2a4691fee7cccb242e9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 04 05:28:39 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 04 05:28:39 2020 +0000"
      },
      "message": "Merge \"Camera: Initialize preCorrectionActiveArraySize\" into rvc-dev"
    },
    {
      "commit": "9bf8a6fcf9800df24961d2a4691fee7cccb242e9",
      "tree": "18213271661c1cdadb629c9d0c6113455fb3692d",
      "parents": [
        "241746e794c0e160a18fcd2ddf989584e81f3dad"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri May 01 09:49:04 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Sat May 02 22:28:27 2020 -0700"
      },
      "message": "Camera: Initialize preCorrectionActiveArraySize\n\nHandle the case where the HAL doesn\u0027t advertise\npreCorrectionActiveArraySize by initializing it to activeArraySize.\n\nTest: \"dumpsys media.camera\" before and after the change\nBug: 145300768\nChange-Id: I1281686d9b324793a4a99c6a4ddf5d693172507b\n"
    },
    {
      "commit": "1dfdf2a61e3e03bc3344876a7873fd7c4a9406a0",
      "tree": "a86bbb1e90a58e729d9f55b42a296e8a6d8733b8",
      "parents": [
        "db661b7ebfc80c1ff088fc4a7879383bb98a9276",
        "17f951088b42c4f399e1c18b65f1ffebee48fa80"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 01 18:03:08 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 01 18:03:08 2020 +0000"
      },
      "message": "Merge \"Camera: Fix potentail race condition\" into rvc-dev am: 17f951088b\n\nChange-Id: I88454477a5149b1594e9eeaae39615276b3be342\n"
    },
    {
      "commit": "17f951088b42c4f399e1c18b65f1ffebee48fa80",
      "tree": "3455820b06beee3f5b10d0272ad348a11b74e722",
      "parents": [
        "fc8cd670b78d399981f95209e410e155c6bce43d",
        "7ffbd9898911062cea59c1c6b39875be88b66eb3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 01 18:00:47 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 18:00:47 2020 +0000"
      },
      "message": "Merge \"Camera: Fix potentail race condition\" into rvc-dev"
    },
    {
      "commit": "4e9bdf3f0d5c8dcb3750bf5f1a5279d6f4658a00",
      "tree": "06dc9151878bf3a4aa9b7b9457f39553f7e99530",
      "parents": [
        "038033ead8a64b0a7abdc2126fd30d89fded8474",
        "f872f885531a3dfaddc0e6f95c01117d151145e5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 30 21:21:49 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 30 21:21:49 2020 +0000"
      },
      "message": "Merge \"Camera: Skip session parameters in case of abandoned streams\" into rvc-dev am: f872f88553\n\nChange-Id: Ibc3bc335b17a24891efdfb86e6295c608b94aa1e\n"
    },
    {
      "commit": "0d0191e6788af367ca6c3a563c8085ccac458341",
      "tree": "a7dade403e7c060aa17b2ab3dc3faff226437c52",
      "parents": [
        "55bfd11fd19949f9a657eda09053901a2515060a"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 21 17:01:18 2020 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Apr 29 23:46:34 2020 +0000"
      },
      "message": "Camera: Skip session parameters in case of abandoned streams\n\nSession parameter application may require an internal stream\nre-configuration. Sometimes clients can abandon one ore more\nregistered outputs before changing a session parameter value.\nEven if the new capture request doesn\u0027t reference the\nabandoned surfaces the session parameter cannot be properly\nconfigured. Keep the camera service behavior consistent with\nolder versions by skipping the internal stream\nre-configuration.\n\nBug: 113513019\nTest: Camera CTS\nChange-Id: I8fb49b59ae0aecf537484a7238fe7a8a5d3efe64\n"
    },
    {
      "commit": "b6659276b6cc82e35ead2f2bbc8c6d2c673ad861",
      "tree": "dcc50fde8d056a23d1984f7f5841ac36c6f0c177",
      "parents": [
        "4f57d42adcff94ca2471135f5173a4c7578ab68c",
        "26f937a4c27a91f53e08ab6a584b0db81e9e0b66"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 29 23:19:53 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 29 23:19:53 2020 +0000"
      },
      "message": "Merge \"Camera: Fix off-by-1 error for scaling crop region\" into rvc-dev am: 26f937a4c2\n\nChange-Id: Ib96de6a190eb21248e0dc6e0d6c85e271e394c43\n"
    },
    {
      "commit": "9b0d9534c75dc4d40edbf13938aa09c3eec737a1",
      "tree": "8497e2d67c87e7ba12b86bf7bd07d2cf7a531e1a",
      "parents": [
        "ec77ef69320225579dbee12b5199442fe3e669ca"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 14 17:14:20 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Apr 23 12:19:22 2020 -0700"
      },
      "message": "Camera: Fix off-by-1 error for scaling crop region\n\nMake sure the scaling of coordinates based on zoomRatio is symmetric\nrelative to the center of the image. And use the center of the pixel\nfor calculation.\n\nTest: testZoomRatio, testDigitalZoom, cameraservice_test\nTest: vendor testing\nBug: 153959755\nChange-Id: I966bd31bde5afd50462a018590c7a4fefc3eaac6\n"
    },
    {
      "commit": "cef0c2d43134cc26a1c3d4600abc6437a7dedcd9",
      "tree": "9e9179ecf00b600bb035be8bd5dcd333501d3f82",
      "parents": [
        "4080e97fad8fc0058b0c6921d2f914737b99d9ae",
        "ec77ef69320225579dbee12b5199442fe3e669ca"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 14 21:27:22 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 14 21:27:22 2020 +0000"
      },
      "message": "Merge \"Camera: Handle the case of calling Uid being cameraserver\" into rvc-dev am: ec77ef6932\n\nChange-Id: I5816f58c6258806744e19b8a70c447109d426df4\n"
    },
    {
      "commit": "2c656796f416401ae48cd4a2e313dcb9e3aa256b",
      "tree": "32f9cfe2e8d6fa552d24a5c1c9bbbafb6607a3f5",
      "parents": [
        "7e540682b362a3e8679e274084aeaefdf01314da"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Apr 13 17:36:49 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Apr 14 09:39:35 2020 -0700"
      },
      "message": "Camera: Handle the case of calling Uid being cameraserver\n\nWith HAL1-camera2 legacy implementation, the getCameraCharacteristics\nmay be called without camera permission. So the cameraserver\u0027s Uid is\nused in that case.\n\nAppOpsManager returns MODE_IGNORED when the cameraserver\u0027s Uid is passed.\nDo not treat this as an error case.\n\nBug: 153511543\nTest: On Pixel 2 device, run \"adb root; adb shell setprop\npersist.camera.HAL3.enabled 0; adb reboot\", then \"atest\ncts/tests/camera/CaptureRequestTest\"\n\nChange-Id: I29aaa2045b14233537c737bf0738fbc32422540e\n"
    },
    {
      "commit": "7ffbd9898911062cea59c1c6b39875be88b66eb3",
      "tree": "39ea58633a125ca880630f02f969afee0acae9e4",
      "parents": [
        "b27ef83f2c8e37d2b9c50b001e03969c451b9131"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 13 10:04:23 2020 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Apr 13 10:05:10 2020 -0700"
      },
      "message": "Camera: Fix potentail race condition\n\nmDistortionMappers are used in callback thread and request thread.\nHowever, callback thread does not query before calling mDistortionMappers[mId.c_str()],\nthis may cause insertion to the map and mDistortionMappers.find may run at the same time.\n\nBug: 153506800, 153457587\nTest: Camera CTS\nChange-Id: I899033bacd355113fbad3e8f7ec76482aa147158\n"
    },
    {
      "commit": "7f25366432229bda3ca392e7ad1823889f582daf",
      "tree": "06d8e0aaa625dbcebfda8ae4b6d030c84ad841a2",
      "parents": [
        "0b3d066d3f9b81766f6949988b5c86241539d613",
        "967bfe95b6e95d4e590bb172826623e8a59664bd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 08 19:22:26 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 08 19:22:26 2020 +0000"
      },
      "message": "Merge \"Camera: Fix possible invalid metadata access\" into rvc-dev am: 967bfe95b6\n\nChange-Id: Ic1e1b38ab5108f2c696c312f3dcfd8634bdbacbd\n"
    },
    {
      "commit": "2a245e16f70635c0489efc204d8a76b935f4a0df",
      "tree": "c774fa4f6b9ff064c1c69536d043498c07aef414",
      "parents": [
        "1ad04e663d0f6eb86032b7c4ac7ef7b3dba01de1"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Apr 07 16:54:14 2020 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Apr 08 08:34:34 2020 -0700"
      },
      "message": "Camera: Fix possible invalid metadata access\n\nCamera metadata entries can become invalid\nafter updates. Avoid using the possibly\nreleased entry pointer when extending\ncamera characteristics with dynamic depth\ntags.\nAdditionally simplify rotate and crop\nregion checks.\n\nBug: 152240541\nTest: cameraservice_test\nChange-Id: I416739ed7e128f4ec94353ec2938b9bf226be182\n"
    },
    {
      "commit": "4b69cdcc970983a34f0c90f7597262acfb9ca462",
      "tree": "bf5de80f4a48ffc2ea8b90961f11b3dcc43dc377",
      "parents": [
        "4e5d845771918df8d1b6816acba6ce8329163170",
        "0fa486f5148b706062f333e7283a0af4b9374382"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 06 20:01:31 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 06 20:01:31 2020 +0000"
      },
      "message": "Merge \"Camera: fix use after free in sensor timestamp\" into rvc-dev am: 0fa486f514\n\nChange-Id: I4c02298be4ce62f6b9b26b380fd49fdb289d88c7\n"
    },
    {
      "commit": "0fa486f5148b706062f333e7283a0af4b9374382",
      "tree": "cb929db2d288c553907d09e69abe7b57da3a4fb5",
      "parents": [
        "95ec1b8ea487abbf4ef50d53c227338f559e9599",
        "c530c5973f425f574fc5e4add205938e5f040ab4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 06 19:42:12 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 06 19:42:12 2020 +0000"
      },
      "message": "Merge \"Camera: fix use after free in sensor timestamp\" into rvc-dev"
    },
    {
      "commit": "28dcd1c4441915e377209e11e4dbc06db30d531e",
      "tree": "82e9df1fcd5809cb3e80eb1a18473472bca851a1",
      "parents": [
        "1cfbd0a8a1083af1a7afeb19b2bdc0d757d9daf5"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 05 12:41:07 2020 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Apr 01 10:40:10 2020 -0700"
      },
      "message": "Camera: don\u0027t stop preview on disconnecting device\n\nTest: partner monkey testing\nBug: 147333205\nMerged-In: I0a58c10f5372cd5e5420771a5ec8ae5e6ac93169\nChange-Id: I0a58c10f5372cd5e5420771a5ec8ae5e6ac93169\n"
    },
    {
      "commit": "26a47a1077f98c90f83f1301933ff28f9cc01511",
      "tree": "a7f2356fe1cc6ef65b5651778e41db840bbd6d11",
      "parents": [
        "16f443e9c82a7d6da5c5202187562b756287b40e",
        "ff54b89f5e95ff4da00f7cc1af7e240dd03569f2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 26 18:03:58 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 26 18:03:58 2020 +0000"
      },
      "message": "Merge \"Camera: Make sure JPEG_QUALITY has reasonable default values in default templates\" into rvc-dev am: ff54b89f5e\n\nChange-Id: I0e1b7ac63c2c986661d7d01592dab9fffd446b68\n"
    },
    {
      "commit": "ff54b89f5e95ff4da00f7cc1af7e240dd03569f2",
      "tree": "f8ab0c14896e5255f9258edd1a65b5faf15a1637",
      "parents": [
        "d155a1fd9493b0aad727214c78194d61175f2f29",
        "d25dc976bd8bb77228ff686a5944042ef061d8b7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 26 17:56:34 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 26 17:56:34 2020 +0000"
      },
      "message": "Merge \"Camera: Make sure JPEG_QUALITY has reasonable default values in default templates\" into rvc-dev"
    },
    {
      "commit": "dd0cca348d8753af8c9e4e5df3c3df29d0506a16",
      "tree": "0f2ffbf4971db67901d04a7831699b0380aff8db",
      "parents": [
        "89dce44d232904dee72bfa35e73942804b884009",
        "5a280ea72324ff62472c619c39dd955bd3bcd7d3"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Thu Mar 26 00:04:04 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 26 00:04:04 2020 +0000"
      },
      "message": "Merge \"Add isUidActiveOrForeground() for camera/audio to use.\" into rvc-dev am: 5a280ea723\n\nChange-Id: I837b52cb058b25c53dfb963749b1040b61d7d3c6\n"
    },
    {
      "commit": "ffffffc42242cf06c433e4e4958d7991a7e2848c",
      "tree": "d2ef2ad6334135cd2fde6ae172e163623739da0c",
      "parents": [
        "1939a00071ce5dc757566c7af24a1f5589ea22f7"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Tue Mar 24 16:13:59 2020 -0700"
      },
      "committer": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Tue Mar 24 18:22:49 2020 -0700"
      },
      "message": "Add isUidActiveOrForeground() for camera/audio to use.\n\nWhen start/resume activity, WindowManagerService start/resume the\nactivity, then post a runnable to DiaplayThread and\nActivityManagerService to update UidRecord\u0027s\nproc state, because the thread switch, the latency before proc\nstate update is undetermined.\n\nWhen CameraService calls ActivityManagerService.isUidActive(), the proc\nstate may not have been updated and camera access is denied.\n\nisUidActiveOrForeground() will check isUidActive() first, if false,\ncheck isUidForeground() which is actually to check with WindowManagerService if\nthe uid is foreground, which is equivalent to ActivityManagerService\u0027s uid\nactive, just updated earlier.\n\nBug: 151185692, 151777097, 109950150\nTest: manual test.\nChange-Id: I3685e0c8d2e69ca7ff3c4de4bef4ec754c400015\n"
    },
    {
      "commit": "d25dc976bd8bb77228ff686a5944042ef061d8b7",
      "tree": "451783f05bb08ebdc229fb1f92fc970bcfa9065f",
      "parents": [
        "8f612b453b1f2d8d873e615aae281cb047d5a7dc"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Mar 24 17:11:43 2020 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Mar 24 17:11:43 2020 -0700"
      },
      "message": "Camera: Make sure JPEG_QUALITY has reasonable default values in default templates\n\nTest: CameraDeviceTest on Pixel 4\nBug: 149337877\nChange-Id: I77b8302ba9011db80acb931b3849087d18b7153e\n"
    },
    {
      "commit": "3bdd6d9987643b7bf67de4e0a11e461415e68177",
      "tree": "4187c24d64166ada5f5595e5826d5785952363d0",
      "parents": [
        "de61db831acd6242cc24f3908b91c15ed09e2b64",
        "800c4f39af6cabf29ca77d02dc8c2321d934101a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 23 21:17:29 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 23 21:17:29 2020 +0000"
      },
      "message": "Merge \"Camera: don\u0027t stop preview on disconnecting device\" am: fd2fb97a3f am: 800c4f39af\n\nChange-Id: I9e7c8183b2a619d48c52fb36890d9d550d99cead\n"
    },
    {
      "commit": "800c4f39af6cabf29ca77d02dc8c2321d934101a",
      "tree": "0883915184ba38004484615bacbab05515b03bdc",
      "parents": [
        "ae36a0b59be8af2bd7100a9e3e4433daca7a7a69",
        "fd2fb97a3f96e62bbcd63e484aa266090a70b6ce"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 23 21:02:40 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 23 21:02:40 2020 +0000"
      },
      "message": "Merge \"Camera: don\u0027t stop preview on disconnecting device\" am: fd2fb97a3f\n\nChange-Id: I1e8bfbfcf07d4d906624459c4d6b83271d21575e\n"
    },
    {
      "commit": "fd2fb97a3f96e62bbcd63e484aa266090a70b6ce",
      "tree": "ac1409b1008f1d6cfa09d53eeca552a47917076a",
      "parents": [
        "0141bbe644288f980b4448c430e73ff8b5ea9a30",
        "df14304ef839ceb1ac4e54fbc6d9474c625025d9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 23 20:44:32 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 23 20:44:32 2020 +0000"
      },
      "message": "Merge \"Camera: don\u0027t stop preview on disconnecting device\""
    },
    {
      "commit": "bf6bc1edef8d974a040b8c95e631085a586ff9c4",
      "tree": "e54ff6ff734c7f1d1bb2713ceb5a842455fc7892",
      "parents": [
        "ceff89a1d6643d7d75a50a114233a8c1ef8c8632",
        "c2462eaef9f174eac472bf8848081cda0e2b52d1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 20 18:17:43 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 20 18:17:43 2020 +0000"
      },
      "message": "Merge \"Camera: Release online and offline resources\" into rvc-dev am: c2462eaef9\n\nChange-Id: I360790e92d65b53ed781ee6ef68af7d46be58c9a\n"
    },
    {
      "commit": "c2462eaef9f174eac472bf8848081cda0e2b52d1",
      "tree": "33706f1cf51ee387424ecc3a15eafb4cd18cf5c1",
      "parents": [
        "301dd5f1d99993725cb6336e6d520904e23ce925",
        "c0fe54c6427be540e4c5e1549f7b537f88cb5570"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 20 17:59:15 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 20 17:59:15 2020 +0000"
      },
      "message": "Merge \"Camera: Release online and offline resources\" into rvc-dev"
    },
    {
      "commit": "935a03364789a0b8b6d51f594f2b680ec0cddebc",
      "tree": "7de87633827dbadb8c1ef773b54c2f191ed7e89a",
      "parents": [
        "3cdf9ab8147f6242d59f4c85f9a0d1b91dac2c6d",
        "acff0376e4bf1b4f2fadcf7118c5a008fbec1ecf"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 16 18:24:59 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 16 18:24:59 2020 +0000"
      },
      "message": "Merge \"Add mInterfaceLock back to Camera3Device methods called by RequestThread.\" am: e4f1dbca67 am: acff0376e4\n\nChange-Id: Iac4ea156bbb257ad28141ecc84ebc8eed0c3b21e\n"
    },
    {
      "commit": "e4f1dbca673187c0e1a384338845e8b770c8227b",
      "tree": "a3c622cce97a8eb6720bc4ef5706fb80c298e381",
      "parents": [
        "24507dc4eadf3d533c12f9a8e7def12ed67d90a0",
        "dfc4659a471639db64a336f75085b23619f5ccbe"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 16 17:59:47 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 16 17:59:47 2020 +0000"
      },
      "message": "Merge \"Add mInterfaceLock back to Camera3Device methods called by RequestThread.\""
    },
    {
      "commit": "c530c5973f425f574fc5e4add205938e5f040ab4",
      "tree": "ec05f4a2862d0b3e42fc5ff93b4a6e95f938c7b1",
      "parents": [
        "90334d0f03f4bee709969433898025fc16863f01"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 09 14:50:36 2020 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Mar 16 17:45:47 2020 +0000"
      },
      "message": "Camera: fix use after free in sensor timestamp\n\nThe metadata object might be overriden later and has it memory\nre-allocated; hence snaping the sensor timestamp value before\nwe call into any method that might change the metadata.\n\nTest: build\nBug: 150944913\nMerged-In: I0f944fc9133d3ab279859f20236d956d7ca338f8\nChange-Id: I0f944fc9133d3ab279859f20236d956d7ca338f8\n(cherry picked from commit 60afc2fd8dab203a5697adbdb8dd4718d00bd9f1)\n"
    },
    {
      "commit": "8826d844042c5a46fbd076b2bdd199d7fd049a11",
      "tree": "7b28d040df1a137d37edd819b30d49b93dc80bfa",
      "parents": [
        "ff3d889419a9ce859cd888e2a93d1b27c2926d6a",
        "cad23c25737f100ac117835aa234c02f2013c0a9"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Mar 14 01:48:14 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Mar 14 01:48:14 2020 +0000"
      },
      "message": "cameraserver: rename getConcurrentStreamingCameraIds -\u003e getConcurrentCameraIds. am: cad23c2573\n\nChange-Id: I8b8430eefbd61fb2f62cf9e41c6060900808a7e9\n"
    },
    {
      "commit": "28fc70a6cb4f90c5ff24873d41ad2320a4e7fc34",
      "tree": "30435c4dffc4afd72d6fe7be76e7da2b9992ef56",
      "parents": [
        "1ca9e116a1a8cc1eaecdb3d2481dac71909c270d",
        "cad23c25737f100ac117835aa234c02f2013c0a9"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Sat Mar 14 01:44:49 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 14 01:44:49 2020 +0000"
      },
      "message": "Merge \"cameraserver: rename getConcurrentStreamingCameraIds -\u003e getConcurrentCameraIds.\" into rvc-dev"
    },
    {
      "commit": "8570165f927b43188059a689cbad1353d19c560d",
      "tree": "4ce0f5e36613629df2cb597ce3eb483de6d88609",
      "parents": [
        "42489acbf68b71cc832a9d57adffcf6855a63dc8",
        "33df7bdd30214fededa12b12dfa9f86571cc3f92"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 12 01:43:21 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 12 01:43:21 2020 +0000"
      },
      "message": "Merge \"cameraserver: Fix logic to skip callbacks for non HAL3 devices for vendor listeners.\" am: 27c20f484c am: 33df7bdd30\n\nChange-Id: I5e6fce5679bf852d9929d23e7a6bd4ef7711421a\n"
    },
    {
      "commit": "27c20f484c31ca66b84c43e1cdd09908b0d13c28",
      "tree": "e326bfab82363f680a4a17ef62cb68aaa21466e5",
      "parents": [
        "ed7c7e6f62442fd2fd4982645d082378a8832e14",
        "edfb26069d7548ea33ec379f39768de5622ea7f4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 12 01:12:52 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 01:12:52 2020 +0000"
      },
      "message": "Merge \"cameraserver: Fix logic to skip callbacks for non HAL3 devices for vendor listeners.\""
    },
    {
      "commit": "c0fe54c6427be540e4c5e1549f7b537f88cb5570",
      "tree": "ed5030049ca87eae2fcf9b9bfb3dbd234d82fbdb",
      "parents": [
        "5e3b7679084322e027a7e5121ff0f4944b3b6de6"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Mar 11 14:05:07 2020 -0700"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Mar 11 17:20:07 2020 -0700"
      },
      "message": "Camera: Release online and offline resources\n\nClear the cached previous request in case of\nsuccessful offline switch. The request can\npotentially continue to have valid references\nto offline streams.\nClear the online camera device reference after\ncomposite streams switch to offline mode.\nIn this case, all internal offline streams must\nbe released by the offline session.\n\nBug: 149346795\nTest: Camera CTS\nChange-Id: If29308dd0f402ab492e304e0475005b2a9801e74\n"
    },
    {
      "commit": "cad23c25737f100ac117835aa234c02f2013c0a9",
      "tree": "06b8ffe5296c19a4256e990ac2eced37bc209caa",
      "parents": [
        "904b623c8cdbd43a2089c5d3b45240757bd3bc81"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Mar 10 15:04:59 2020 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Mar 11 16:11:14 2020 -0700"
      },
      "message": "cameraserver: rename getConcurrentStreamingCameraIds -\u003e getConcurrentCameraIds.\n\nBug: 150896133\n\nTest: builds\nTest: atest ConcurrentCameraTest.java\n\nChange-Id: Id73f15164200a4cc91354b67784bab3c470caf57\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "859bcfc10ff9e1702d1bc7cfad066807b46db497",
      "tree": "5ab8027dca088203f5da46cfd77d8892ef453d1e",
      "parents": [
        "db51e1f159df4cec37032b436ae6bce746c402c7",
        "ec29306db53ae51d6a1bc094f3b4ca3f98b9f01a"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 11 20:17:31 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 11 20:17:31 2020 +0000"
      },
      "message": "Merge \"Camera: Add onCameraOpened/onCameraClosed callbacks\" into qt-qpr1-dev am: 67110b519a am: ec29306db5\n\nChange-Id: I786534d1aff256842b0e26db3e550754f7ce0b87\n"
    },
    {
      "commit": "80fbc4cb9e32b1a7bd762d3b106ef1ba94295fc2",
      "tree": "aaebe1757cea12c4a41e34063e4dbcbd7bf1e8f6",
      "parents": [
        "aeef85fba43f7384f25cd777ac2fc392917ba403",
        "5ae4551c9290e02f7890e014ca69b1b748567ccd"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 10 23:29:03 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Mar 10 23:29:03 2020 +0000"
      },
      "message": "Merge \"Camera: Add onCameraOpened/onCameraClosed callbacks\" into rvc-dev am: 5ae4551c92\n\nChange-Id: I1f9d25313e2dc509e3ae196b4f5d31c582352849\n"
    },
    {
      "commit": "edfb26069d7548ea33ec379f39768de5622ea7f4",
      "tree": "c47e2e84c4174a4afd262cb08b9c5808b40dae70",
      "parents": [
        "550fef9128badbdd37a7f335d54609f02bc8685a"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Feb 25 13:38:29 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Mar 10 15:33:56 2020 -0700"
      },
      "message": "cameraserver: Fix logic to skip callbacks for non HAL3 devices for vendor listeners.\n\nFixes regression caused by aosp/1152176, status update callbacks were being skipped\nfor non HAL3 devices for non vendor listeners. Non vendor listeners\nshould still get callbacks in case of non HAL3 devices.\n\nBug: 150180641\n\nTest: Camera2 App\nTest: CTS\nTest: Use vendor clients of cameraserver\nTest: Vendor testing\n\nMerged-In: Ic31f71887b55f3d838ca35274a5f65802ea50584\nChange-Id: Ifab0be4dac4b42f6923ce48ab57aeb0aaf26575b\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "1bb30b2efa3cf029daaedf7cfb4cbec7433ee38d",
      "tree": "90e9b007d4327887126db4907cd3131d9a083a82",
      "parents": [
        "a6544e3bf7de17f104d5fb509d6cb7f6d90dc79f"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Mar 06 09:02:23 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Tue Mar 10 11:38:13 2020 -0700"
      },
      "message": "Camera: Add onCameraOpened/onCameraClosed callbacks\n\nThe onCameraOpened/onCameraClosed callbacks are used to notify camera\nservice client with [] permission that a certain camera device has been\nopened/closed.\n\nTest: Manually check callbacks are received in SystemUI app\nBug: 150540299\nChange-Id: If6f3624c43927c30afef7df0a780eafe3ae4c527\nMerged-In: If6f3624c43927c30afef7df0a780eafe3ae4c527\n"
    },
    {
      "commit": "695044d6f177871d349fa7e9a4a2ac07e093ae25",
      "tree": "e0dda6998c8734784af3f88cc4fa96da98d0eeba",
      "parents": [
        "6d4357197004ad81b2a256db33c82aa5c86a0b41"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Mar 06 09:02:23 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Mar 09 08:43:25 2020 -0700"
      },
      "message": "Camera: Add onCameraOpened/onCameraClosed callbacks\n\nThe onCameraOpened/onCameraClosed callbacks are used to notify camera\nservice client with CAMERA_OPEN_CLOSE_LISTENER permission that a certain\ncamera device has been opened/closed.\n\nTest: Manually check callbacks are received in SystemUI app\nBug: 150540299\nChange-Id: If6f3624c43927c30afef7df0a780eafe3ae4c527\n"
    },
    {
      "commit": "57eb313e5b20cc25f7fc524fade8d6a4ff89b13f",
      "tree": "50ebfdcc9f5545806145ba275ca27b300b4a040c",
      "parents": [
        "9f8cc0daf7856ff01145c2236dafa9c7855acab9",
        "6d4357197004ad81b2a256db33c82aa5c86a0b41"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 06 21:22:39 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 06 21:22:39 2020 +0000"
      },
      "message": "Merge \"Camera: Intialize useGrid and chooseHeic variables\" into rvc-dev am: 6d43571970\n\nChange-Id: If1d2931cdb664a10b934a07c4fe3054c6c370307\n"
    },
    {
      "commit": "9f8cc0daf7856ff01145c2236dafa9c7855acab9",
      "tree": "8ebfe8fe52fc30dad037b284bb5f7cfc1b4a6f15",
      "parents": [
        "bbe279f719a0bce9fff8a42b41ea1d777eb04066",
        "831ed185aa1dd8211bc37a05c9af8ed6941bf809"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 06 18:47:37 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 06 18:47:37 2020 +0000"
      },
      "message": "Merge \"Camera: Fix ProviderInfo leak\" into rvc-dev am: 831ed185aa\n\nChange-Id: Ief1f7ffc8443db4edae6aaec050062a1ef7144d6\n"
    },
    {
      "commit": "fca6714fd6d72f6e9e47927d6ef246807cece7bf",
      "tree": "1e562e8498795e7b900dd256096902f6c53a4f51",
      "parents": [
        "796804387e39ddb35a63b747759dac955683809e"
      ],
      "author": {
        "name": "Susmitha Gummalla",
        "email": "vgummall@codeaurora.org",
        "time": "Thu Mar 05 14:58:30 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Mar 06 09:01:49 2020 -0800"
      },
      "message": "Camera: Intialize useGrid and chooseHeic variables\n\n--Handle early return case in Heic Encoder Manager\n\nBug: 150894246\nCRs-Fixed: 2636054\nChange-Id: I7f437241a1f33cc4cb4384369828e12b331b09c9\n"
    },
    {
      "commit": "796804387e39ddb35a63b747759dac955683809e",
      "tree": "22b488496859081a7c8ab3d30e3cb8435546703c",
      "parents": [
        "888b22394aab8a8d7a9741540b927ebccf3018c0"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Mar 05 11:53:46 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Mar 05 16:28:02 2020 -0800"
      },
      "message": "Camera: Fix ProviderInfo leak\n\nHaving a sp\u003cProviderInfo\u003e in DeviceInfo resulting in the parent\nProviderInfo not being deallocated.\n\nTest: Check camera characteristics object freed by killing provider\nBug: 149813446\nChange-Id: Ic15ffcd3a5ce424187877e17a14b4db581e2c50a\n"
    },
    {
      "commit": "2bd6a50aca056f2702004acec2bc8627f28d90b3",
      "tree": "c017ca6fa429d62889d558e6842901c495b43d77",
      "parents": [
        "fafd12efc2347d45d86d334e08f9d5df4239a6c0",
        "e26f97034667129d5c64ee4372d58b54efab0db7"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 04 18:29:29 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 04 18:29:29 2020 +0000"
      },
      "message": "Merge \"Camera: Fix possible ExifUtils heap corruption\" into qt-dev am: f3f966faa6 am: 06b7522331 am: e26f970346\n\nChange-Id: Ifad78a01e48f0a31cb92a956f99ea1157875d3eb\n"
    },
    {
      "commit": "5bc6d6096ce472e9cf8a71d7fcb336244bb34ba6",
      "tree": "029c5bcb569773b705921126b470ff3f7ccb182a",
      "parents": [
        "c4b245e1e561de8c4bf94680c88b336a90772f1b",
        "b31dab4d2d261f42dffb064a89402e3e941c6928"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 04 18:28:55 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 04 18:28:55 2020 +0000"
      },
      "message": "Merge \"Camera: Fix possible ExifUtils heap corruption\" into qt-dev am: f3f966faa6 am: 06b7522331 am: b31dab4d2d\n\nChange-Id: I3745093d8b6112a066138c82eb90b42f03d71a10\n"
    },
    {
      "commit": "b31dab4d2d261f42dffb064a89402e3e941c6928",
      "tree": "5491a09552ecf57f0372df0548baef203a826b73",
      "parents": [
        "c161e75873b85086d88e917a2a5ede1f9d513c85",
        "06b7522331a2ba20ee63aabee21c29ecc7287394"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 04 18:15:51 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 04 18:15:51 2020 +0000"
      },
      "message": "Merge \"Camera: Fix possible ExifUtils heap corruption\" into qt-dev am: f3f966faa6 am: 06b7522331\n\nChange-Id: Ifb363ff0c2cc78df2ed576094b8d2853f44abd8c\n"
    },
    {
      "commit": "06b7522331a2ba20ee63aabee21c29ecc7287394",
      "tree": "120c191031960562ca1a04d067e38c538dd7db03",
      "parents": [
        "29e2bfb97270d6c406e2b66664f5c5dd47a9ebb3",
        "f3f966faa6f46156726a338208f6c10a97d3fb4b"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 04 17:58:27 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 04 17:58:27 2020 +0000"
      },
      "message": "Merge \"Camera: Fix possible ExifUtils heap corruption\" into qt-dev am: f3f966faa6\n\nChange-Id: I1172c6499824d907555a7e4d5996c23b2f5c4b9d\n"
    },
    {
      "commit": "106e30258163a575fe70e96a4ffbdbdd2668aacd",
      "tree": "fabe88831fa986010f3cb6cd345059de056bcd66",
      "parents": [
        "3af8d573315ee912dffaf6c159e619e0b7a1bb14",
        "f5f3a4a0067ee7681fb30981e7fb5e630a88a80a"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 27 03:22:55 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 27 03:22:55 2020 +0000"
      },
      "message": "Merge \"Use std::optional for nullable\" am: f5f3a4a006\n\nChange-Id: Ib6a5d008a955d9b0ceff9bdbbd41b4acbe989695\n"
    },
    {
      "commit": "ee71fdf3dbfc31177dbaffb4ad1c3746ccd203cd",
      "tree": "678361907de4b2aed77d0010b9b6e400dc553db9",
      "parents": [
        "cb52a18fd16e046702d4cdfdfd6050b9e21bacd9"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Jan 23 12:27:18 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Feb 27 03:04:57 2020 +0000"
      },
      "message": "Use std::optional for nullable\n\nAIDL now use std::optional to represent nullable types for efficiency\ninstead of std::unique_ptr which might cause additional heap allocation.\n\nBug: 1447732670\nTest: m\nMerged-In: I9045bc6fc2eb06839203af6db94a80de9b83ad1f\nChange-Id: I9045bc6fc2eb06839203af6db94a80de9b83ad1f\n(cherry picked from commit 0c230cf92f4efbacbd8a20ab7b0b7c6c5f5e92b6)\n\nExempt-From-Owner-Approval: CP from master\n"
    },
    {
      "commit": "b3f7cd2ec35e4fa1eb013afa13906e25bfc4bcec",
      "tree": "8b7049d25c7a3d2a77e0b72d5e0be8e9bb82494e",
      "parents": [
        "b9bfddabc21c0819e7feccecddf09a70ade2670f"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Jan 23 12:27:18 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Feb 26 04:01:10 2020 +0000"
      },
      "message": "Use std::optional for nullable\n\nAIDL now use std::optional to represent nullable types for efficiency\ninstead of std::unique_ptr which might cause additional heap allocation.\n\nBug: 1447732670\nTest: m\nMerged-In: I9045bc6fc2eb06839203af6db94a80de9b83ad1f\nChange-Id: I9045bc6fc2eb06839203af6db94a80de9b83ad1f\n(cherry picked from commit 3f9a3b407aeff0311038b2097d657446c4f98b90)\n\nExempt-From-Owner-Approval: CP from master\n"
    },
    {
      "commit": "dfc4659a471639db64a336f75085b23619f5ccbe",
      "tree": "b21105e0c445f54bb625052c440e09a53d02eaea",
      "parents": [
        "550fef9128badbdd37a7f335d54609f02bc8685a"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Jan 30 13:09:59 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Feb 25 17:25:01 2020 -0800"
      },
      "message": "Add mInterfaceLock back to Camera3Device methods called by RequestThread.\n\nMethods like reconfigureCamera called by the RequestThread internally\ncall methods which might expect to have mInterfaceLock locked\n(eg: configureStreamsLocked).\n\nAlso, function calls which expect to be serialized w.r.t\nreconfigureCamera can cause reported camera status to be inconsistent\nw.r.t the expected status.\n\nFor example the following situation might occur\nthrough CameraTest.java#testVideoSnapshot :\n\nFor certain video sizes that would fail to configure the camera\nstartRecordingL\n    camera reconfiguration is triggered -\u003e reconfigureCamera() starts\n    waitUntilDrained -\u003e gets interleaved with reconfigureCamera()\n    reconfigureCamera() completes\n    Here the status of the camera device is active instead of CONFIGURED.\n    updateRecording\n        createStream() called expects the camera to not be in an ACTIVE\n        state since updateProcessorStream cannot handle stream\n        configuration failure gracefully when the device is streaming.\n        However since waitUntilDrained did not complete after\n        reconfigureCamera the camera status is STATUS_ACTIVE.\n\nAs a result, we should hold mInterfaceMutex while\ncalling these methods. To avoid deadlocks (b/143513518), we can have the thread\ncalling disconnect, relinquish mInterfaceMutex right before it starts\nwaiting on RequestThread to exit. It can re-acquire it when\nRequestThread finishes.\n\nBug: 147313521\n\nTest: atest CameraTest.java#testVideoSnapshot on pixel2 passes\nTest: camera CTS\nTest: GCA (sanity)\n\nMerged-In: I384f62bc9936d9691dfe9c13ff743e3d07f2ed55\nChange-Id: I384f62bc9936d9691dfe9c13ff743e3d07f2ed55\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n(cherry picked from commit 646c31b058e25dd8ee44ff4ec5a5c3005c8c829c)\n"
    },
    {
      "commit": "626f7fc3ff0b439bd8ea569cdaeab87fa1733048",
      "tree": "fec1573dcbe8b2a4a45e4ca9f3881972fc12d239",
      "parents": [
        "0f2787e8080e92c4fef66498e55bf2dbfe795fc6",
        "cbe770a7c3abc3f6dd45e7d704efd3549d0fb91c"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Feb 20 06:43:14 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 20 06:43:14 2020 +0000"
      },
      "message": "Merge \"cameraserver: re-cache concurrent camera id combinations on cameraDeviceStatusChange callbacks.\""
    },
    {
      "commit": "e03cebc75e19a6034780f77af3d30d151de7f4ee",
      "tree": "0a851cb47bae70e39c4010f5b94031ea1f302993",
      "parents": [
        "b1cc886c8f2f87ac8fef9bf8f3100ee7765816d9",
        "8a0be29c19ba7c1de4a0983b8dbcafb730b17fc0"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Feb 19 22:59:23 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 19 22:59:23 2020 +0000"
      },
      "message": "Merge \"Add some move constructors and assignment operators to CameraMetadata.\""
    },
    {
      "commit": "8a0be29c19ba7c1de4a0983b8dbcafb730b17fc0",
      "tree": "a7514664b6bda989070d4b7548783a8af1578345",
      "parents": [
        "450c7b2aa6e5df8cdbebd763c719b3e149fb75f2"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Jan 08 13:10:38 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Feb 19 14:48:59 2020 -0800"
      },
      "message": "Add some move constructors and assignment operators to CameraMetadata.\n\nThis avoids unnecessary copying of camera metadata which can get\nexpensive in cases of large camera metadata blobs.\n\nBug: 71727540\n\nTest: GCA (sanity)\nTest: Add CallStack::logStack() in CameraMetadata\u0027s move asignment\n      operator -\u003e see that it gets called for every insertResultLocked.\n\nChange-Id: I6c75c7ce5267126916c865b028e5f7c7f50b763b\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "cbe770a7c3abc3f6dd45e7d704efd3549d0fb91c",
      "tree": "296e3f0ef582b41ec8ed374c0cfc037d21ed0044",
      "parents": [
        "450c7b2aa6e5df8cdbebd763c719b3e149fb75f2"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Feb 14 11:14:46 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Feb 18 15:23:51 2020 -0800"
      },
      "message": "cameraserver: re-cache concurrent camera id combinations on cameraDeviceStatusChange callbacks.\n\ncameraserver should re-cache concurrent camera id combinations when it\nreceives cameraDeviceStatusChange callbacks from the camera provider in\ncase new concurrent camera id combinations have appeared / old ones have\ngone away.\n\nBug: 148995918\n\nTest: atest ConcurrentCameraTest.java\n\nChange-Id: Ic433495d2dcf98d00cb247f434ad6c798ea17c54\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "649a27ad16faeb7a6bf87a50a33d19d461ece27c",
      "tree": "b711c590fb7c9148d9e04f3c16a11c185bb34008",
      "parents": [
        "cadf7289e0dacf4a40422f0b36f97891649d398b"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 18 13:38:04 2020 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 18 13:38:04 2020 -0800"
      },
      "message": "Camera: Fix possible ExifUtils heap corruption\n\nBoth EXIF_TAG_IMAGE_WIDTH and EXIF_TAG_IMAGE_LENGTH\nexpect short values as per EXIF spec. Call appropriate\nlibexif function to avoid possible heap corruption.\n\nBug: 148223871\nTest: run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Poc20_02#testPocBug_148223871\nChange-Id: I57a774454b52c16d7da9f90d7e3a3407294606a5\n"
    },
    {
      "commit": "2ae8501c1b1598f331f5ddb16aa64f46b88247d6",
      "tree": "1443551316fdaa68a1ade91e98f265293b5c883d",
      "parents": [
        "450c7b2aa6e5df8cdbebd763c719b3e149fb75f2",
        "646c31b058e25dd8ee44ff4ec5a5c3005c8c829c"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Feb 18 00:52:33 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 18 00:52:33 2020 +0000"
      },
      "message": "Merge \"Add mInterfaceLock back to Camera3Device methods called by RequestThread.\""
    },
    {
      "commit": "646c31b058e25dd8ee44ff4ec5a5c3005c8c829c",
      "tree": "b74cf931febaf3cd627fccd8c147b72c379de9e3",
      "parents": [
        "265e047963d0694b488c9919e7c3f95dd5d5c119"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Jan 30 13:09:59 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Feb 12 17:58:14 2020 -0800"
      },
      "message": "Add mInterfaceLock back to Camera3Device methods called by RequestThread.\n\nMethods like reconfigureCamera called by the RequestThread internally\ncall methods which might expect to have mInterfaceLock locked\n(eg: configureStreamsLocked).\n\nAlso, function calls which expect to be serialized w.r.t\nreconfigureCamera can cause reported camera status to be inconsistent\nw.r.t the expected status.\n\nFor example the following situation might occur\nthrough CameraTest.java#testVideoSnapshot :\n\nFor certain video sizes that would fail to configure the camera\nstartRecordingL\n    camera reconfiguration is triggered -\u003e reconfigureCamera() starts\n    waitUntilDrained -\u003e gets interleaved with reconfigureCamera()\n    reconfigureCamera() completes\n    Here the status of the camera device is active instead of CONFIGURED.\n    updateRecording\n        createStream() called expects the camera to not be in an ACTIVE\n        state since updateProcessorStream cannot handle stream\n        configuration failure gracefully when the device is streaming.\n        However since waitUntilDrained did not complete after\n        reconfigureCamera the camera status is STATUS_ACTIVE.\n\nAs a result, we should hold mInterfaceMutex while\ncalling these methods. To avoid deadlocks (b/143513518), we can have the thread\ncalling disconnect, relinquish mInterfaceMutex right before it starts\nwaiting on RequestThread to exit. It can re-acquire it when\nRequestThread finishes.\n\nBug: 147313521\n\nTest: atest CameraTest.java#testVideoSnapshot on pixel2 passes\nTest: camera CTS\nTest: GCA (sanity)\n\nChange-Id: I384f62bc9936d9691dfe9c13ff743e3d07f2ed55\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "61780a953c8befea40b89a289c6b66d511372c0e",
      "tree": "2cd6c3acbd6b6c90028fe50194f50e9b85cd00c3",
      "parents": [
        "117c6f7d414421093c54055fdd7672e916ec7740",
        "4fa28d2e0a2294bb265a24c7e7fe112076cfc724"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 08 00:32:40 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 08 00:32:40 2020 +0000"
      },
      "message": "Merge \"Camera: Fill out vndk implementation for physical camera callbacks\""
    },
    {
      "commit": "4fa28d2e0a2294bb265a24c7e7fe112076cfc724",
      "tree": "a4cfa9ee18204b5198a72cd414eb367a730a2ea7",
      "parents": [
        "de8e67bc32a4c1494ed59a36c222b6ec7ad594c6"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Jan 23 15:57:25 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Feb 06 13:48:55 2020 -0800"
      },
      "message": "Camera: Fill out vndk implementation for physical camera callbacks\n\nAlso fixed missing implementation of Camera availability callbacks for\nExtendedAvailabilityCallback.\n\nTest: Camera CTS, and vndk test\nBug: 148146086\nChange-Id: I557d6db3900b2346b7bc7e12cd946bc4c2dc4076\n"
    },
    {
      "commit": "04613e1ac72ddff0d86f09b5dcb8645e0342dda6",
      "tree": "786766e9af0b74270987b0d32a965e762a742385",
      "parents": [
        "2308ec5ee0e4c15890c29eb70134631beb74d65c",
        "7d564738165333a2fb1e20147f1979a3ffccefd0"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 06 19:22:27 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 06 19:22:27 2020 +0000"
      },
      "message": "Merge \"Use libbinderthreadstateutils.\" am: 7d56473816\n\nChange-Id: I72b0f76a2207f8ec8c0c79dd36b80bbeb32791ea\n"
    },
    {
      "commit": "df14304ef839ceb1ac4e54fbc6d9474c625025d9",
      "tree": "d41ca3a3bb6950d4fc46626de72e2e1085e359b1",
      "parents": [
        "381d0e4d68bc904d468611c558b56e4646182dc7"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 05 12:41:07 2020 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Feb 05 12:41:07 2020 -0800"
      },
      "message": "Camera: don\u0027t stop preview on disconnecting device\n\nTest: partner monkey testing\nBug: 147333205\nChange-Id: I0a58c10f5372cd5e5420771a5ec8ae5e6ac93169\n"
    },
    {
      "commit": "0fcc78cdea615e4dd93d9d310644f927f769ed8d",
      "tree": "824773feaa6dec366dd87735264d72f1aedb145e",
      "parents": [
        "5b16d6b28d7bd7145cd45a1446c616027d33f3f9"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 31 15:02:25 2020 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 05 10:14:50 2020 -0800"
      },
      "message": "Use libbinderthreadstateutils.\n\nClients needing to differentiate between system/vendor used to be able\nto use isServingCall. However, this was expensive to implement. This\nalternative approach instead requires users of this API to use\nlibbinderthreadstateutils which does a slighty different operation.\n\nBug: 148692216\nTest: atest VtsHalCameraServiceV2_0TargetTest\nTest: running AImageReaderVendorTest\nTest: try face unlock\nChange-Id: I5615f4e8863487d0de8dad2d0529214750897036\nMerged-In: I5615f4e8863487d0de8dad2d0529214750897036\n"
    },
    {
      "commit": "89a2c5ceef75fbefca117d9df56a8047a36005fa",
      "tree": "ccc27362514e6bb804fe090672d443e71a19646b",
      "parents": [
        "b5c0071bb7a1c6524deb42ac6643d8fae3106248"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 31 15:02:25 2020 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Feb 04 11:30:15 2020 -0800"
      },
      "message": "Use libbinderthreadstateutils.\n\nClients needing to differentiate between system/vendor used to be able\nto use isServingCall. However, this was expensive to implement. This\nalternative approach instead requires users of this API to use\nlibbinderthreadstateutils which does a slighty different operation.\n\nBug: 148692216\nTest: atest VtsHalCameraServiceV2_0TargetTest\nTest: running AImageReaderVendorTest\nTest: try face unlock\nChange-Id: I5615f4e8863487d0de8dad2d0529214750897036\n"
    },
    {
      "commit": "b6a1bc586c2f3864fe30d7fbded32ee357eca9fc",
      "tree": "6abb4421eff035c979ba49865445e8187213b706",
      "parents": [
        "f030d4e31b0e7fa52e0f6999b1c3dd39ec0b658c",
        "faa4bde9babbe4214b98c05016b6a56fc7f8807b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 03 16:08:21 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 03 16:08:21 2020 +0000"
      },
      "message": "Merge changes from topic \"offlineProc-framework\"\n\n* changes:\n  Camera: Various offline processing fixes\n  Camera: some patchs for offline processing\n"
    },
    {
      "commit": "05c49e907fd4872defdce3b15b8a6be08c177284",
      "tree": "6aa72fda62eae77ba06c584e1e53869ee71c96a6",
      "parents": [
        "0b890e627dc50e9f8bcb0870db37c0c310d1cdb2",
        "16dd56fa2dcbadb7144592a65804dbfbbc46b1c8"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jan 30 23:01:07 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jan 30 23:01:07 2020 +0000"
      },
      "message": "Merge \"CameraService: hold onto SensorPrivacyManager\" am: 733c728752 am: 9279fa954a am: 16dd56fa2d\n\nChange-Id: Ibe7d0626f3c93cabc933ae1b8fbc678c3052b19e\n"
    },
    {
      "commit": "9279fa954ac08e851618b660ab426bbf7a3c6477",
      "tree": "789e1d5526165a4aadfcc55a47114228b04c1405",
      "parents": [
        "e32e81084278221408c1e6f735f929a90787768a",
        "733c728752ae6958c88b2da4a4c662d266294b70"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jan 30 20:36:30 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jan 30 20:36:30 2020 +0000"
      },
      "message": "Merge \"CameraService: hold onto SensorPrivacyManager\" am: 733c728752\n\nChange-Id: Ibdf8f29d1ede305d4fc7f7b18ee5f37c25a85162\n"
    },
    {
      "commit": "faa4bde9babbe4214b98c05016b6a56fc7f8807b",
      "tree": "3d22f9dd95e0fae80c49a5715fd1df46dc560917",
      "parents": [
        "87fcccad5dd80a6469a52b783877a3d4edb2dbb6"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Jan 23 12:19:37 2020 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Jan 30 09:46:38 2020 -0800"
      },
      "message": "Camera: Various offline processing fixes\n\nNotable fixes:\n- Rework FrameProcessorBase so it accept and work with\n  offline sessions.\n- Erase internal composite streams from offline stream list.\n\nBug: 135142453\nTest: Camera CTS\nChange-Id: I9dbc01e62fa94c1e0bfb84a8ddaa9e39ab4a7e34\n"
    },
    {
      "commit": "87fcccad5dd80a6469a52b783877a3d4edb2dbb6",
      "tree": "10f5fc65014c601c30196b5949e0674daedf97a0",
      "parents": [
        "2496ffbc450029ee9ec26980a101e71352b4f635"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 28 09:37:18 2020 -0800"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Thu Jan 30 09:04:48 2020 -0800"
      },
      "message": "Camera: some patchs for offline processing\n\nTest: CTS OfflineSessionTest\nBug: 135142453\n\nChange-Id: I09a19b3b2e366855ed35b588f75f9734f505072c\n"
    },
    {
      "commit": "3cf67173b15b9ab2df4a9d029e49c4ceaa64be9d",
      "tree": "3c4dc37f5d68ca02c6c5360bedfb1a077c7631f3",
      "parents": [
        "b7765027eca85ef49f842a60db9ebda1bfe7d53c"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jan 29 11:44:22 2020 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jan 29 11:44:22 2020 -0800"
      },
      "message": "CameraService: hold onto SensorPrivacyManager\n\nunlinkToDeath is no longer required, (this change in behavior is to\navoid leaks) so holding onto the service here (still calling\nunlinkToDeath to avoid a log, but may for instance remove all\nunlinkToDeath calls in the future).\n\nBug: 145692765\nTest: boot, see linkToDeath maintained\nChange-Id: Ib74ab470580643ff61fc684fdd4e16d5e38389af\n"
    },
    {
      "commit": "6425bcd8d5698b44127550d00c0d3e8ea876f7d7",
      "tree": "ef92b9acd993769d43f3fcfb5f18603ee00026d2",
      "parents": [
        "6fd900a34131e6a6a9d9e01f1d594710ead4fb04",
        "2bbdce4e9b9d36ebd6fac699cbefe33c773558fe"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Jan 27 18:24:07 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 27 18:24:07 2020 +0000"
      },
      "message": "Merge \"ICameraService: Add methods to query concurrent streaming camera support.\""
    },
    {
      "commit": "2bbdce4e9b9d36ebd6fac699cbefe33c773558fe",
      "tree": "2bb3e0497fbf32e52b2e46bb5aeb91ec531b4629",
      "parents": [
        "e66dc80ed7ab709613d7f465f22793ef3e9d0114"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Sun Jan 12 14:55:41 2020 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Sun Jan 26 19:20:17 2020 -0800"
      },
      "message": "ICameraService: Add methods to query concurrent streaming camera support.\n\n- getConcurrentStreamingCameraIds() :\n        returns a list of combinations of camera ids that may stream\n        concurrently.\n\n- isConcurrentSessionConfigurationSupported() :\n        queries whether camera devices can support the\n        corresponding given session configurations concurrently.\n\nBug: 77960042\n\nTest: GCA (sanity)\nTest: CTS\n\nChange-Id: Iba237118ccf145695a500a2c406713e416e66011\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "5277625231db4f313115fbcb6cefca7f2dfc2ce0",
      "tree": "288802a30819352b91c3b270329fb41b577928a0",
      "parents": [
        "bccf38e3fa6bc2a372c3a0d38c6274b68c0e5fb7",
        "7c96ea7ff84e1084332548583841735b694bfebd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Sat Jan 25 03:44:28 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 25 03:44:28 2020 +0000"
      },
      "message": "Merge \"Remove mediametrics include symlinks\""
    },
    {
      "commit": "f2e37092cfb034d2c207af0d65da686f305faa53",
      "tree": "cafb01c07b7b73fad5e71848e8447bad5dcb5cc0",
      "parents": [
        "e2a8892e61129a62c1ac158d1b7f25bead50ef03"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 07 15:32:32 2020 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 23 14:56:43 2020 -0800"
      },
      "message": "CameraService: Implement SCALER_ROTATE_AND_CROP_AUTO, part 1\n\nWhen an app sets SCALER_ROTATE_AND_CROP to AUTO, the camera service\nneeds to select the right ROTATE_AND_CROP mode given the application\nUI state at the moment, received from the window manager.\n\nIn addition, some of the metadata in the active array coordinate\nsystem needs to be converted to/from the cropped+rotated coordinate\nsystem to ensure roundtripping UI information works as before.\n\nAlso ensure that the available rotate and crop metadata field is\nalways available, with a value of NONE if nothing else.\n\nThis commit adds support for doing the coordinate transforms and\noverriding AUTO to a concrete value; it does not wire up a connection\nto another system service to receive the correct override value, but\ndoes add a command to set the override value for all current camera\nclients.\n\nTest: New CTS tests pass, unit tests for RotateAndCropMapper pass\nBug: 134631897\nChange-Id: Icc45530e2cfbaf838a1e4d04e4fd2aef8122e8e1\n"
    },
    {
      "commit": "4385816acc487864df24f48a97c5c1e772d87313",
      "tree": "47ebe72a3ae88881555ae75cccf1f65d4dc3017a",
      "parents": [
        "0bc6f60e1f036380bd48d022631e6561b90f210c"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Jan 10 13:42:15 2020 -0800"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Thu Jan 23 00:08:42 2020 -0800"
      },
      "message": "Camera: Support new provider callback version in camera service\n\nThe new provider callback version enables availability callback for\nphysical camera.\n\nTest: Camera CTS\nBug: 119325027\nChange-Id: I22e0b669c3d9891a431e1befc7f1c9f40b826a08\n"
    },
    {
      "commit": "cc0b795ac29688e1675d177e60eb4f37184240c5",
      "tree": "c55c8e4b206b243c09947dfc5149867fdfc35117",
      "parents": [
        "d99c8ae877daa76ad182bab886c85ad4811ff428"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Jan 07 13:54:47 2020 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 21 13:23:33 2020 -0800"
      },
      "message": "Camera: Propagate all offline stream ids to clients\n\nCamera clients must be aware of any configured streams\nthat can support offline processing mode.\nA few corner cases that need to be considered:\n - Composite streams can support offline mode only\n   when all internal streams support it as well.\n - Streams that use the internal camera buffer manager\n   will not have support for offline mode.\n - Shared streams are also unsupported in offline mode.\n\nBug: 135142453\nTest: Camera CTS\nChange-Id: Idde826a6fb18a8907850e87cfe593de7cb1c5f4a\n"
    },
    {
      "commit": "d99c8ae877daa76ad182bab886c85ad4811ff428",
      "tree": "ae34cd0d76db6869ee2cd37c2260921adf3efcd3",
      "parents": [
        "4697b64a3b853898ec26e6397eacc3d8bb486473"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Nov 26 13:19:13 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 21 13:23:21 2020 -0800"
      },
      "message": "Camera: Add initial offline client listener logic\n\nVarious camera notification callbacks need to be\npropagated back to client.\n\nTest: Camera CTS\nBug: 135142453\n\nChange-Id: I11a1bc634e4c6f9540d1f7f9c20e4151fdcc5ec6\n"
    },
    {
      "commit": "4697b64a3b853898ec26e6397eacc3d8bb486473",
      "tree": "94bedc5c648e367f9ca43df62c5915b08c22a186",
      "parents": [
        "b2bc5a46efe3e77a5962ba0f2f770c524e93e03f"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Nov 19 17:11:14 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 21 13:23:08 2020 -0800"
      },
      "message": "Camera: Initial support for composite streams in offline mode\n\nComposite streams must be able to switch to offline processing\nmode. To support them the offline session client must continue\npassing all necessary callbacks and events similar to regular\ncamera clients.\n\nTest: Camera CTS\nBug: 135142453\nChange-Id: I498681af16ad072e3df01d0279b4cfe76b48f9ec\n"
    },
    {
      "commit": "b2bc5a46efe3e77a5962ba0f2f770c524e93e03f",
      "tree": "378fd039dafaeaff8882eb774a7be1a864778b86",
      "parents": [
        "5fd603ea87e9f94e4b8c5fdc5b891518d6a471a8"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Nov 20 16:02:14 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 21 13:22:53 2020 -0800"
      },
      "message": "Camera: Initial offline session client\n\nTest: N/A, no implementation yet\nBug: 135142453\nChange-Id: I08fecba80ab88a8b70fe71fdd4b660d49e40324c\n"
    },
    {
      "commit": "5fd603ea87e9f94e4b8c5fdc5b891518d6a471a8",
      "tree": "f31de530528e7aa6a40e9d21ae466c8bfc77fcd0",
      "parents": [
        "56d98ba8001cd2a83c735ff8bc4d155c69072027"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Nov 20 11:22:27 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 21 13:22:16 2020 -0800"
      },
      "message": "Camera: fill in Camera3Device offline processing impl\n\nMove shared method implementations to Camera3OutputUtils.cpp/h\nDefined interfaces to handle Camera3Device/Camera3OfflineSession\nbehavior differences in Camera3OutputInterface.h.\n\nBug: 135142453\nTest: N/A (not enough implementation yet)\nChange-Id: I57476ca5a1edf69c02a22241ad776d6f02636033\n"
    },
    {
      "commit": "56d98ba8001cd2a83c735ff8bc4d155c69072027",
      "tree": "d56db19cc58a63967b39ed545a810dd14f959e89",
      "parents": [
        "7d381e52fa5808e0acbad8b31383188e133c41b6"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jan 16 16:57:14 2020 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Jan 16 16:57:14 2020 -0800"
      },
      "message": "Camera: supports new HIDL camera device 3.6\n\nTest: webcam HAL with device 3.6\nBug: 135142453\nChange-Id: I6cd80380608eb7ea72bc958aae870a8573bce631\n"
    },
    {
      "commit": "7c96ea7ff84e1084332548583841735b694bfebd",
      "tree": "eb5d7c1bcb91cea21469e46b7c014ae44635a217",
      "parents": [
        "255f610f5ab71b5e36d93744dfe058daf6c96041"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 10 15:46:22 2020 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 16 15:55:18 2020 -0800"
      },
      "message": "Remove mediametrics include symlinks\n\nBug: 143245419\nTest: build\nChange-Id: I6c836e60c0fe078f5ab7370aec156bdd6e8dcbf0\n"
    },
    {
      "commit": "336ffa96f5bb0cdd4b24b7967d9385c42d7e9299",
      "tree": "a35ecc6d7839e9b2d5363b6fda9c0bf1f298a97b",
      "parents": [
        "c60fccb3b36c1804dafd72a39bd97c99974f2348",
        "29e9ec182d20f44ee2e8a15de1940cb4ef29663e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 06 21:05:43 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 06 21:05:43 2020 +0000"
      },
      "message": "Merge \"Camera: Integrate dynamic depth processing\""
    },
    {
      "commit": "a93b86c6f1f032113f3d1fc4807b86dfe513a6b8",
      "tree": "0a94096be8d347b064269db77ec37a766287c17e",
      "parents": [
        "60e7d69f19d6c80082778dec51b23efbc2ed7e5f",
        "cfae241ef67e6ffc7d3c95148866bbc0eb188aec"
      ],
      "author": {
        "name": "Wei Lee",
        "email": "wtlee@google.com",
        "time": "Mon Jan 06 06:44:55 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 06 06:44:55 2020 +0000"
      },
      "message": "Merge \"Camera: Set focal length for external camera if the information is provided\""
    }
  ],
  "next": "7609334508e235c77a09c23b50dc07351d1487fb"
}
