)]}'
{
  "log": [
    {
      "commit": "6267b539d0d1ee7118aafd976d75cb8db397bc24",
      "tree": "5c950439fc8243ffd960bd72a666b4fce172a24d",
      "parents": [
        "51c834c8d321cee50cd07026771e46167a640dd3"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Apr 30 17:44:07 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu May 14 18:49:53 2015 -0700"
      },
      "message": "camera2: Fix work-profile eviction handling.\n\nBug: 20124384\nChange-Id: I6fb82dbfd5f98746ed4befed81a583e3709bfee8\n"
    },
    {
      "commit": "280405a138a0068694f3c39b4290f510173133d9",
      "tree": "691b6bc4e9a5011b38233f01df9e0486d9ce759a",
      "parents": [
        "32fa6d0e65dbf956e253a1006e9419dce2fe75c9"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 12 02:19:27 2015 +0000"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 12 02:19:27 2015 +0000"
      },
      "message": "Revert \"Add camera app op - camera\"\n\nThis is not needed duplication of work\n\nThis reverts commit 32fa6d0e65dbf956e253a1006e9419dce2fe75c9.\n\nChange-Id: I2c81b0dacb2ed99c408c79c1f9e22a4baa564494\n"
    },
    {
      "commit": "32fa6d0e65dbf956e253a1006e9419dce2fe75c9",
      "tree": "35bdbc743172f28de3167d7b800a6084e5c9c58d",
      "parents": [
        "4068b1392b18d9f0d9e866b50d716e2ef8dfa37c"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 01 20:47:20 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat May 02 17:18:47 2015 -0700"
      },
      "message": "Add camera app op - camera\n\nChange-Id: I26570cc0a23fdea740b416a26838d40cac296c85\n"
    },
    {
      "commit": "36597b241c59eba7e55d5150092947a748c5e9cb",
      "tree": "bf174c4f6c45a2a5abfb3852effb567d5b653843",
      "parents": [
        "ac41a6f253a69671f6e018fcc84daf0030615ca9"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Mar 20 22:15:57 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Mar 31 12:11:10 2015 -0700"
      },
      "message": "camera2: Enforce client eviction on user switch.\n\nBug: 19186859\nChange-Id: I172a2ce46c8e8a131ae7e8dd99d60c5f4f0d6668\n"
    },
    {
      "commit": "9efdf956cc2eef63fef609375901d6c8df6351b6",
      "tree": "4e7cfe7a780397d9578bd7860023168ea62519a5",
      "parents": [
        "514d7af22c5d6526309e71fadcff42b072c30241"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Mar 18 23:11:57 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Mar 20 22:34:54 2015 -0700"
      },
      "message": "camera2: Remove ProCamera.\n\nBug: 19186859\nChange-Id: I4aaadb53db65b479f92cbb3c05329d1e40317900\n"
    },
    {
      "commit": "3068d73c6c7e1f44523b1466b903a9c82408b258",
      "tree": "197720671edfdcc2c75a7d05a13c60be2b17fb75",
      "parents": [
        "8f7b7fa417566e9a6a29ea9f0e220b3cd6d1a9e3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Feb 09 13:29:57 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Feb 12 15:05:30 2015 -0800"
      },
      "message": "camera: implement flashlight control\n\nImplement flashlight API for module v2.4 by calling module APIs and\nby for hal v2 and v3 by using CameraDeviceBase.\n\nBug: 2682206\nChange-Id: Ib8b77f6fd462489d672f27e14fe37801d35b7544\n"
    },
    {
      "commit": "06b46062d2f8bc82ca3061a23d197734ae51918b",
      "tree": "3aee1330c3d65579643e50d105da35919ddc295f",
      "parents": [
        "e5a9eb684921b75919b1a7fee97259b0ca48bd47"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 14 07:58:25 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 14 14:01:03 2014 -0800"
      },
      "message": "Update calls to IInterface::asBinder()\n\nto use the new static version.\n\nChange-Id: I89a5988a0ac694ffc04d88cf939e8455bf925d4c\n"
    },
    {
      "commit": "b10cdadf0fb945e23ca77008d4af76584bd0e39a",
      "tree": "d1fd0cc1c42aec025e8f6fc52f890b96e7203653",
      "parents": [
        "ab5cdbaf65ca509681d2726aacdf3ac8bfb6b3fa"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jun 16 16:38:35 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Jun 19 15:41:09 2014 -0700"
      },
      "message": "cameraservice: Implement HAL1 and higher HAL API coexistence\n\nA higher hal version device like HAL3.2 can be opened as HAL1.0 device\nif HAL supports it. This only applies to camera API1.\n\nChange-Id: I4ae9f59f4317158cc1bd7ed7726e4032cdd1fa07\n"
    },
    {
      "commit": "65d14b9825311f9d1847cf282bd0419e71bac666",
      "tree": "d9e217cd626f62010b17274929e8425f59e5c09a",
      "parents": [
        "3a227969f604d7c6a24a795661a13f70a5f37e1f"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 17 12:03:20 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 17 15:09:16 2014 -0700"
      },
      "message": "camera: Add #getLegacyParameters, #supportsCameraApi to ICameraService\n\nChange-Id: Ic86c8df3d703e7cf89caa856387e2c0a1b977401\n"
    },
    {
      "commit": "e1445da74730473a66a3ae8414e940aebfe6585d",
      "tree": "4156e14e4528fffe1ec29f48bffd78c2fcd0d786",
      "parents": [
        "1c2b6e5e9671a5ea9eb26d24b772bb26bfa6d107"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 14:00:29 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 14:00:29 2014 -0700"
      },
      "message": "camera2: Don\u0027t log vendor tag errors when camera HAL too old\n\nChange-Id: Iac3d23284230c95c85ee404abbf9b22df1ae721c\n"
    },
    {
      "commit": "d1176ef16677b6c94fb893edb6a864cdccc0b190",
      "tree": "8cc18e17c4e32633d20e8c2b7fc9e397cc1791ac",
      "parents": [
        "3a005b3b19b750afe24577ae322aff4602ca2740"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Feb 21 10:51:38 2014 -0800"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Mar 13 12:09:22 2014 -0700"
      },
      "message": "camera3: Pass vendor tags through binder.\n\nBug: 12134423\n\n- Adds a class for parceling vendor tag definitions.\n- Passes vendor tag definitions to clients of the camera service.\n- Switches over to new vendor tag mechanism when reading from HAL.\n\nChange-Id: Icef3fe9e67160767bdb8244ac49c85b68b497123\n"
    },
    {
      "commit": "2b59be89dc245b6e2475d9e8b0c5f2392370e71e",
      "tree": "85564dae05e9343c75e9a5d1f54f7efee4b349f7",
      "parents": [
        "d2ac3144e201398340cc5b9bb36e5efe39edd9eb"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 10:14:30 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 15:36:07 2013 -0700"
      },
      "message": "Camera: Implement getCameraCharacteristics\n\nBug: 10904541\nBug: 10360518\nChange-Id: Ie9ca6b3b0b5f2fe529e6b0decc193096e770a017\n"
    },
    {
      "commit": "0f61d8f14aa368c9cd7076528e8096e10ed100a0",
      "tree": "ed95cb70d56dd3a732f4e1909c96e7889b23ce94",
      "parents": [
        "75c16dde986e16ac5fd4d34b06b0cc6a90679866"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 08 13:07:18 2013 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Aug 16 14:42:28 2013 -0700"
      },
      "message": "Refactor CameraService to handle errors properly.\n\nBug: 10361136\n\n-Connect calls now return status_t error flags.\n\nChange-Id: Idca453b111e5df31327f6c99ebe853bb2e332b95\n"
    },
    {
      "commit": "7b82efe7a376c882f8f938e1c41b8311a8cdda4a",
      "tree": "d7ed69f0a495bc1a873a285ba11e72a9867c5565",
      "parents": [
        "d054c32443a493513ab63529b0c8b1aca290278c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 25 17:12:35 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 30 10:58:44 2013 -0700"
      },
      "message": "Camera: Rename new API to camera2, rearrange camera service\n\n - Support API rename from photography to camera2\n - Reorganize camera service files\n   - API support files to api1/, api2/, api_pro/\n   - HAL device support files into device{1,2,3}/\n   - Common files into common/\n   - Camera service remains at top-level\n\nChange-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9\n"
    },
    {
      "commit": "e7ee7637747371635a85fedd24d2190bb1f38651",
      "tree": "fbae6cce035752d5386260deb4bf0222b6204ac3",
      "parents": [
        "b3570568b3f37b3f7018257ece53cbc009b91407"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 11 18:10:18 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 20 20:31:30 2013 -0700"
      },
      "message": "Initial implementation of android.hardware.photography.CameraDevice (service)\n\n* Verified preview streaming requests\n* Other things *should* work but unverified / unimplemented in client side\n\nMissing:\n* CameraService needs to return static camera info metadata\n\nBug: 9213377\nChange-Id: I71568560fcf18d0e2b408ed1c4d0066647314868\n"
    },
    {
      "commit": "bef3f23f16f2fc575b3f425febcfcc436a7db70f",
      "tree": "ed5a5ee004fe8736171a73a860ace99194d425de",
      "parents": [
        "55beec78a47a32288a01dde7fbc08406aa44345a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu May 30 17:47:38 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 11 11:47:47 2013 -0700"
      },
      "message": "camera: Make some binder interfaces compatible with AIDL\n\nDone:\n* ICameraService\n* ICameraServiceListener\n\nPartial:\n* ICamera (disconnect only)\n* IProCameraUser (disconnect only)\n\nBug: 9213377\nChange-Id: I8e2e6e05cfd02ec36be1d5b2c551f10ffb43b5b4\n"
    },
    {
      "commit": "bfc9915f482520eb9676c6d2dbf7f1ac078d937d",
      "tree": "1353c3f2f63777397770edfd1f146c691e5684e2",
      "parents": [
        "3fa4891f54bbfdbe8ee652930d22c96639964eff"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 27 12:55:20 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 28 15:55:15 2013 -0800"
      },
      "message": "Camera: Drop ProCamera connections when a Camera connection happens\n\n* Also adds an ICameraServiceListener with available/not available statuses\n\nBug: 8291653\nChange-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84\n"
    },
    {
      "commit": "c073ba525404f3416c2824c435d3d926a9892f1b",
      "tree": "f9fa36f1473054c5098bffa3926be9d2cbf6bd6f",
      "parents": [
        "b39f30b0a4902ea0f28454885785da4b2629fe25"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 26 14:32:34 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 26 18:54:03 2013 -0800"
      },
      "message": "camera_client: refactor Camera/ProCamera commonalities into BasicCamera\n\nChange-Id: Ie10a4094522d49683657665fe94ab0b7ccd280e9\n"
    },
    {
      "commit": "ceb388d6c03c38b96dc41c0ea4804b749aa077c4",
      "tree": "0639ba70ce330094a9fa71ba4577eece6d4dadb1",
      "parents": [
        "0894bfb78b7872570b94d0b8d23ebbf6a8b51d35"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Feb 19 10:40:14 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Feb 25 16:11:41 2013 -0800"
      },
      "message": "CameraService and Stagefright: Support AppOps\n\nCamera:\n- Signal to AppOpsService when camera usage starts and stops\n- Listen to permissions revocations and act on them\n- Currently just kill camera connection when permissions lost\n\nStagefright:\n- Pass on client name, UID to camera as needed\n\nBug: 8181262\nChange-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0\n"
    },
    {
      "commit": "634a51509ee50475f3e9f8ccf897e90fc72ded31",
      "tree": "5d9fc437299a8b5adc391eb721d55c9df00afc87",
      "parents": [
        "1d88023e1de6b9f370eb4be944dd9c4480d01f11"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 20 17:15:11 2013 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 22 10:50:14 2013 -0800"
      },
      "message": "Camera: Add ProCamera private binder interface for an API2-light functionality\n\nChange-Id: I2af7a807c99df75ea659e6e6acc9c4fca6a56274\n"
    },
    {
      "commit": "08ad5efcef90e24db2863c0f85972ed05fe848a2",
      "tree": "f2eff3f033d360ac8043ba4f6ffa2d11520bebee",
      "parents": [
        "9bd23229fdec1657398abc682ccccfce1c95f8aa"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Apr 19 12:35:00 2012 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Apr 19 12:53:56 2012 +0800"
      },
      "message": "Remove new camera connect API.\n\nApplications are not resumed under the lock screen now.\nThis API is not needed anymore.\n\nbug:5584464\nChange-Id: I115daf6b647348617ec0fc05b626878c945b9b29\n"
    },
    {
      "commit": "2fd2440d0175ca3e196b01b7541a9e0d4ed9a694",
      "tree": "d87e4314688e65f4c53f04021c8452051d4b31eb",
      "parents": [
        "cbcd6e869dd41158076e742a31c1ee410fc0c713"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Feb 23 19:01:00 2012 -0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Mar 15 14:50:48 2012 +0800"
      },
      "message": "Add a new camera open API that allows taking the ownership.\n\nThe purpose is to let face unlock always get the camera\nsuccessfully. What happened was the camera applications may\nhave opened the camera in onResume under the lock screen.\nThis API lets face unlock take the camera from the camera\napplication. A new permission will be added, so other\napplicatoins won\u0027t be able to take the camera from the face\nunlock.\n\nbug:5584464\n\nChange-Id: Ib3d9dcbc2161815b68db42327dc01148453704c6\n"
    },
    {
      "commit": "ddbdb35d176266b5ab64c30178f5cb76c5b1b4b4",
      "tree": "9a3115e77421f95a8505067cfa60b5a73518ad68",
      "parents": [
        "0a5baa9b411fe086013d2a5e9126ed63fbad046c"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jun 10 13:32:16 2010 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jun 11 16:47:33 2010 +0800"
      },
      "message": "Change camera interface to support multiple cameras.\n\nChange-Id: Ie88fe706d2278acf762eca87780de349434778a4\n"
    },
    {
      "commit": "35a055b8bfc6f3cbea409b2897caf936654519cb",
      "tree": "f2167d55486fd370d24e68aabe1ae37879cde8ec",
      "parents": [
        "d8a30349da270715156d3f658b165481ce10cf71"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu May 06 16:36:58 2010 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon May 10 11:21:14 2010 +0800"
      },
      "message": "Support multiple cameras in framework.\n\nChange-Id: I081f0fbdca4b633715ea7c3b3d42f8662d27598a\n"
    },
    {
      "commit": "3cf613507f1e2f7bd932d921a6e222e426fd3be4",
      "tree": "20c9dd57e2227046ab1d6fc1185f4136c6dac12e",
      "parents": [
        "988e3f0b2c74095deae580157c57935a98573052"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 09 17:46:37 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 13:16:22 2010 -0800"
      },
      "message": "split libsurfaceflinger_client and libcamera_client out of libui\n"
    }
  ]
}
