)]}'
{
  "log": [
    {
      "commit": "48dad606c5ecfaa7bdd1c3c36c12a7b9418e6a5b",
      "tree": "0239a0780369f598d8a7c99d7656ccc59aafc7e7",
      "parents": [
        "1d66ccde369d7b12111d1bdb51782bf4ec944c44",
        "d113478931576931ef374f55410752f502cacd3b"
      ],
      "author": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Fri Aug 04 00:43:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 04 00:43:02 2017 +0000"
      },
      "message": "Merge \"ExifInterface: Remove throwing exception\" into oc-mr1-dev"
    },
    {
      "commit": "1d66ccde369d7b12111d1bdb51782bf4ec944c44",
      "tree": "a0c009230d23b726e4e5c5efe45b9f82c939da21",
      "parents": [
        "8724fb9348c4dd0057da0056a2d4a6ec4c05954c",
        "c012f6edd817924fbc97558f7bf957143a5f3b90"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Fri Aug 04 00:22:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 04 00:22:00 2017 +0000"
      },
      "message": "Merge \"Catch IllegalArgumentException when disconnect\" into oc-mr1-dev"
    },
    {
      "commit": "c012f6edd817924fbc97558f7bf957143a5f3b90",
      "tree": "fcba09157912475d50530a617c2c1529f5afd2e0",
      "parents": [
        "fca9a47ba86163defeb100a75fc856be6c1f3159"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Aug 03 14:01:57 2017 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Aug 03 14:38:36 2017 +0900"
      },
      "message": "Catch IllegalArgumentException when disconnect\n\nIllegalArgumentException can happen, if unbindService() is called\nafter the service is stopped.\n\nBug: 63439915\nTest: Passed MediaBrowserTest\nChange-Id: I70ecb9e907af66b9b65960dd4029e55e81639c03\n"
    },
    {
      "commit": "be87b6803901e9ed2701935300801c3eb2ef629c",
      "tree": "246ec0b31e6c2666ac814d7020575bd5987af08d",
      "parents": [
        "fca9a47ba86163defeb100a75fc856be6c1f3159"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Aug 03 13:36:22 2017 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Aug 03 04:48:48 2017 +0000"
      },
      "message": "Do not call ItemCallback after disconnected\n\nBug: 64119114\nTest: Passed MediaBrowserTest\nChange-Id: Icf3283710abe7c03f4a73532b33ec2a306d2280b\n"
    },
    {
      "commit": "c0fe5b2d88258568570e6b570bb7fa8ff902ae66",
      "tree": "1e31058e19c03111be0c5a6d287b278ac877d94c",
      "parents": [
        "37f90d57675885fb9e68395317e89a13ffeef198",
        "6a2ee3b1804f6df19c0b22203f2149b365659339"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Aug 03 01:03:48 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 03 01:03:48 2017 +0000"
      },
      "message": "Merge \"Check CookieHandler in setDataSource with cookies\" into oc-dr1-dev\nam: 6a2ee3b180\n\nChange-Id: Ia42104e2fb75d867279fe8d553c807d5dcfac06d\n"
    },
    {
      "commit": "6a2ee3b1804f6df19c0b22203f2149b365659339",
      "tree": "50114cd04c1ef7e5ba9ac453d8485dba6a39abde",
      "parents": [
        "e1f66b297d7b6f170ef1d0f0e5b48276262dcc03",
        "09d62021d9b4b333fee31deee6d0e54413bd48de"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Aug 03 00:52:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 03 00:52:27 2017 +0000"
      },
      "message": "Merge \"Check CookieHandler in setDataSource with cookies\" into oc-dr1-dev"
    },
    {
      "commit": "09d62021d9b4b333fee31deee6d0e54413bd48de",
      "tree": "863e8481bab2f209cfab186ede82b703229ecb3a",
      "parents": [
        "4ac942f140a5f4e7a131e59b5600e777794eb813"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Mon Jul 24 22:29:27 2017 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Aug 03 09:48:01 2017 +0900"
      },
      "message": "Check CookieHandler in setDataSource with cookies\n\nIf the caller of MediaPlayer.setDataSource has installed its own\nCookieHandler when cookies are provided, MediaPlayer.setDataSource\nrequires that the CookieHandler has to be of CookieManager type.\n\nBug: 63638018\nTest: manual\nChange-Id: I1539d1fa83440ddfb00cc958cd46b9917fe3a296\n"
    },
    {
      "commit": "9c4115a56212da458831bc06aea9339c072fa28d",
      "tree": "ca6131e0526677c021be2c5fdb0a464b95dce0c3",
      "parents": [
        "cd1cb8331442cc6e41a94c964886859a6567a108",
        "986995d481a6ecff1285a05a060b537b64cfe61d"
      ],
      "author": {
        "name": "Tarandeep Singh",
        "email": "tarandeep@google.com",
        "time": "Wed Aug 02 22:59:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 02 22:59:51 2017 +0000"
      },
      "message": "Merge \"Fix keyboard focus in VR\" into oc-dr1-dev\nam: 986995d481\n\nChange-Id: I693c1256583dc1081c6402668401c6aab2337d16\n"
    },
    {
      "commit": "26a4940296fce687f74216e0a5bd9bc7a4994dec",
      "tree": "8e2393f9223e13c03abfcf613961deedaee259a7",
      "parents": [
        "7084e59bae444a244889645f8242c3e07e789736",
        "0552036bc87c47f221557e47b982671e23202e40"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 02 19:14:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 02 19:14:23 2017 +0000"
      },
      "message": "Merge \"media: Add scaled video thumbnail extractor api.\" into oc-mr1-dev"
    },
    {
      "commit": "e1cfcf4c4d15417bc912d36d487b4454c19b30fa",
      "tree": "d8b9fff7c0059a07fb864f53f7f16e99ef9bccde",
      "parents": [
        "06802167e5b8c82c07ea69479aadf57f45e8fc15"
      ],
      "author": {
        "name": "Tarandeep Singh",
        "email": "tarandeep@google.com",
        "time": "Mon Jul 10 18:50:00 2017 -0700"
      },
      "committer": {
        "name": "Tarandeep Singh",
        "email": "tarandeep@google.com",
        "time": "Wed Aug 02 10:46:22 2017 -0700"
      },
      "message": "Fix keyboard focus in VR\n\nConsider this VirtualDisplay (VD) scenario:\nHostActivity creates a VD which holds SettingsActivity. When EditText\non SettingsActivity is tapped, it gains focus.\nOn eventual taps, it loses focus i.e. the Window in VD loses focus and\nthe host activity in primary display gets the focus instead. This\nhappens because WM\u0027s TaskTapPointerEventListener.onPointerEvent()\nis called on the default display only.\n\nRoot cause:\n1. Tap detector isn\u0027t registered for non-default display.\n2. Tap detector has no info on which displayId touch was received.\n3. InputFlinger doesn\u0027t deliver InputMonitor events for\nnon-default displays (fixed in a separate CL)\n\nFixing above results in onPointerEvent(MotionEvent) to deliver the\nTouch events successfully to VD. We restrict these changes to physical\nmulti-displays and VR VirtualDisplays (which uses virtual touch device).\n[VrManagerService calls WMInternal.setVr2dDisplayId(int)]\n\nIn future, displayId should be part of InputEvent. Bug: 64258305\n\nBug: 62033391\nTest: bit FrameworksServicesTests:com.android.server.wm.DisplayContentTests\nChange-Id: I3626f4de5aa9bcf905da9abd39f3ab1baefc4c48\n"
    },
    {
      "commit": "d113478931576931ef374f55410752f502cacd3b",
      "tree": "5c783d61b039efaa911f23c6199cdfd5ab596dea",
      "parents": [
        "5af90f9fc64c872692b19ffc330f580247413b3b"
      ],
      "author": {
        "name": "Jin Park",
        "email": "jinpark@google.com",
        "time": "Thu Jul 27 14:51:09 2017 +0900"
      },
      "committer": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Wed Aug 02 08:48:17 2017 +0000"
      },
      "message": "ExifInterface: Remove throwing exception\n\nExifInterface reads the first 5000 bytes of an image file to\ndetermine what type of image it is, and throws an EOFException\nif the file is smaller 5000 bytes. This CL removes the throwing\naction.\n\nBug: 64133582\nTest: Run ExifInterfaceTest.java with \u003c5kb file\nChange-Id: I2b2026f06d70a4fe2986d2e8c410679ba9bf3f7f\n"
    },
    {
      "commit": "0552036bc87c47f221557e47b982671e23202e40",
      "tree": "db1656d9d3cd252c26c8f8143e48f6d8f383b34e",
      "parents": [
        "a454b31c808d7eacca5081ea8ffb307fe938afed"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Jul 21 15:01:23 2017 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Jul 27 13:31:46 2017 -0700"
      },
      "message": "media: Add scaled video thumbnail extractor api.\n\nBug: 62198298\nTest: CTS test\nChange-Id: Ic78e2dac38b596a10d2fae76bc22f8c43fadf444\n"
    },
    {
      "commit": "972f27b938099fcdf5c88ebc0b90466ab9c756a5",
      "tree": "28fece70734d3e9cbbc56e8202ad14ff95404f31",
      "parents": [
        "4ac942f140a5f4e7a131e59b5600e777794eb813"
      ],
      "author": {
        "name": "Sungsoo",
        "email": "sungsoo@google.com",
        "time": "Mon May 22 17:10:44 2017 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Jul 26 11:02:21 2017 +0900"
      },
      "message": "Restore the selected route when an app starts to make sound\n\nLimitation: When two apps make sound simultaneously while one uses a BT\nroute and the other uses the default route, switching activities between\nthe two different apps will not change the BT A2DP status until one of\nthe apps changes its playback status to inactive.\n\nBug: 32958908, Bug: 35567695, Bug: 33186346\nTest: Passed MediaRouter/MediaSession test, and manually varified that\n      the b/33186346 is fixed.\nChange-Id: I1da97dcb74fa2095425b311ad62cdd00f8118cea\n(cherry picked from commit b3658569e9a87afe1b3168837cc282235fd4d1f8)\n"
    },
    {
      "commit": "307da62b1cf8040cba9d9c74c2d5795e6afcd950",
      "tree": "1f103fae02a079517ce05253ade8b827636af962",
      "parents": [
        "b7a1be6051f1a89c7613ef6fe1cb27f4187ff94a"
      ],
      "author": {
        "name": "Previr Rangroo",
        "email": "prang@dolby.com",
        "time": "Thu Jun 29 17:38:29 2017 +1000"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Jul 21 18:18:08 2017 +0000"
      },
      "message": "Add new Dolby Vision Profile types\n\nTest: build\n\nChange-Id: I475a0ec5b510523434e0c53c5085c58908e4ed83\nSigned-off-by: Previr Rangroo \u003cprang@dolby.com\u003e\n"
    },
    {
      "commit": "2412b4d979f0dbdb6ac8265bf97b3665fde83719",
      "tree": "54274f575a44904bc55666e661c169b37f48d48d",
      "parents": [
        "6c315479a3cd82ef1fd1ac02acfc270ef69b7956",
        "9f430b2782849090d2e5e3737304cd26724366fa"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jul 20 03:11:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 20 03:11:00 2017 +0000"
      },
      "message": "Merge \"frameworks/base: use proper nativehelper headers\" am: 826eafd958 am: 5c091dc944 am: c840945a78\nam: 9f430b2782\n\nChange-Id: Ibe321dd4a8aae9342c76da0780edf94b90e8cd3a\n"
    },
    {
      "commit": "9f430b2782849090d2e5e3737304cd26724366fa",
      "tree": "80e2e9cbd26b7805380828737e9b0553fbafda23",
      "parents": [
        "fe4ec9e9465eb4859845aeea5f1dfbb70b4c9d00",
        "c840945a7809b1fd55621d107ce799d8af370744"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jul 20 03:05:02 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 20 03:05:02 2017 +0000"
      },
      "message": "Merge \"frameworks/base: use proper nativehelper headers\" am: 826eafd958 am: 5c091dc944\nam: c840945a78\n\nChange-Id: I654e14f0d1b495450db81592a2e564e308746350\n"
    },
    {
      "commit": "5c091dc9449b583e18656a8850a61f557dfcc945",
      "tree": "db4ca724dd661b112d2bd72da67f2a91edce0850",
      "parents": [
        "5f047a68d96f252772144a729f423c172ce816e4",
        "826eafd95885adbfc142f3f70ec82b4091abed85"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jul 20 02:50:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 20 02:50:53 2017 +0000"
      },
      "message": "Merge \"frameworks/base: use proper nativehelper headers\"\nam: 826eafd958\n\nChange-Id: I36f10ff4d963284a313f1cc5b368f82549a4adb2\n"
    },
    {
      "commit": "789f86907e497dd3044305da48083891463c91ef",
      "tree": "bcc720e560902c7e96cb2cb64893113c6211b669",
      "parents": [
        "de82accc3acfa068dc3ce80747ef94dc67f6bd88",
        "4bad663518908c20ed4f93a27f46ffb09448497f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 01:31:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 20 01:31:54 2017 +0000"
      },
      "message": "Merge \"Remove logspam of MediaRouter\""
    },
    {
      "commit": "e8de514b10c733d6146a09524962944cf1fd6edc",
      "tree": "ab7edd30f4808f2d8090964f512afda942d23acf",
      "parents": [
        "ea3ac27b13b6c068f3b9bc42b42f9699965008ba",
        "4dec845d52fc676eda9808c082ca7b0e53d439b3"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Jul 20 00:32:10 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 20 00:32:10 2017 +0000"
      },
      "message": "Merge \"MediaRouter: Introduce and use getFallbackRoute method\" into oc-dr1-dev am: 7b3bd1d547\nam: 4dec845d52\n\nChange-Id: I07d405b81ec43d720ec843a87e6a3bb07e03aea7\n"
    },
    {
      "commit": "4dec845d52fc676eda9808c082ca7b0e53d439b3",
      "tree": "e8ae2e538dcdfc48f95b802e5c7a83d1ac538517",
      "parents": [
        "19bf135234b8ef61b849d6e8e0ca75fe280db708",
        "7b3bd1d5472046f79ecfb4367f28ce2391edb837"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Jul 20 00:25:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 20 00:25:11 2017 +0000"
      },
      "message": "Merge \"MediaRouter: Introduce and use getFallbackRoute method\" into oc-dr1-dev\nam: 7b3bd1d547\n\nChange-Id: I0bf675f16c233b8b0a83f7bf20c9a42e3b76cbbb\n"
    },
    {
      "commit": "7b3bd1d5472046f79ecfb4367f28ce2391edb837",
      "tree": "487b243ac6fee4bd44fab7d63613c9c9fa7e47b9",
      "parents": [
        "f113a07d9e7f1a706ac70aabf74f0e560f9b1fe3",
        "59579ce59d6e2c42e6ea1b389ba7e228aaa9122f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 00:18:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 20 00:18:20 2017 +0000"
      },
      "message": "Merge \"MediaRouter: Introduce and use getFallbackRoute method\" into oc-dr1-dev"
    },
    {
      "commit": "ef8d73353a0e7c47df036c3e9e8bcc92f89a5584",
      "tree": "022973be947d5eb4c1c3058e672cce78979b8dac",
      "parents": [
        "4de4de3fa3e0929f8e5d6d9be1c040708248c667",
        "9da5f1ba583d8e42b6690ddf414298a947c8f07f"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 19 23:43:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 19 23:43:51 2017 +0000"
      },
      "message": "Merge \"media: Add constants for CBP and CHP for AVC codecs\""
    },
    {
      "commit": "4bad663518908c20ed4f93a27f46ffb09448497f",
      "tree": "95ec48571405e4a553de59e5eb2e1fb0f0c98d5d",
      "parents": [
        "8e644a7510440a99b5404f9f8e8dc3ebd3816135"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Jul 19 16:24:15 2017 -0700"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Jul 19 16:24:15 2017 -0700"
      },
      "message": "Remove logspam of MediaRouter\n\nBug: 62459799\nTest: manual\nChange-Id: Ia705a3d35625b1ec2d7cd2717f082c7d8c216099\n"
    },
    {
      "commit": "9da5f1ba583d8e42b6690ddf414298a947c8f07f",
      "tree": "07d5bac52df42c46804849cab09cc2cc33c74afe",
      "parents": [
        "ce30ccceafe42a85f4fe376b11a7e281225e3f7c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 19 15:35:09 2017 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 19 16:02:44 2017 -0700"
      },
      "message": "media: Add constants for CBP and CHP for AVC codecs\n\nBug: 63864332\nChange-Id: Ifd6b8c097df2ca8e706d5797ad9c1e7e7d02b6bc\n"
    },
    {
      "commit": "d98427b1bcf42b669dd0ad3c51b7b67fa7bf629f",
      "tree": "2fc60a8770e6cde887037bc793b4e37f9b91035a",
      "parents": [
        "695e26d296e94a922750f6297dac0bdb321b7fd2",
        "d820ac190e73789974330baa717dbc4b66af2e65"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Jul 19 23:01:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 19 23:01:54 2017 +0000"
      },
      "message": "Merge \"Type check before casting from CookieHandler to CookieManager\" into oc-dr1-dev am: 925abb706e\nam: d820ac190e\n\nChange-Id: Ic0eab4ae3869cadc8bc1343053be94d620ebb30f\n"
    },
    {
      "commit": "d820ac190e73789974330baa717dbc4b66af2e65",
      "tree": "da3292cbb9961aac0cbac121c02318c8dd80f944",
      "parents": [
        "1d22d532833910880b97d6b203041051fa835788",
        "925abb706ecab0300c72cef3c472242a275e72ac"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Jul 19 22:52:10 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 19 22:52:10 2017 +0000"
      },
      "message": "Merge \"Type check before casting from CookieHandler to CookieManager\" into oc-dr1-dev\nam: 925abb706e\n\nChange-Id: I50b447cc5aa86dc32787ff6dc0d5f71e3c042367\n"
    },
    {
      "commit": "9bfb46f6ff1fb90593dc03678a7dc78671410a79",
      "tree": "4c6a04062babfa3dc694ec6b5c15c70be558856b",
      "parents": [
        "d5f442d65b943247ace54e601f811e0f579c3cf5"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Mon Jul 17 14:24:26 2017 -0700"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Jul 19 18:40:16 2017 +0000"
      },
      "message": "Type check before casting from CookieHandler to CookieManager\n\nCookieHandler.getDefault() doesn\u0027t always return CookieManager.\n\nBug: 63638018\nTest: pass StreamingMediaPlayerTest#testHlsWithHeadersCookies\nTest: manual with a test app\nChange-Id: Ie7c19d38f779813f3fffb9abbcb3188a0fca3f45\n"
    },
    {
      "commit": "2279b2534272282a5b5152723235da397e49195c",
      "tree": "884c0a32e34c87d58e8f36329eb77d6dec7a8ab4",
      "parents": [
        "a1d67fb38ec02150d674bc3b8d8354b53417552b"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 09:50:45 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 10:06:40 2017 -0700"
      },
      "message": "frameworks/base: use proper nativehelper headers\n\nlibnativehelper exports headers under nativehelper. These were\navailable before incorrectly as global headers in order to give\naccess to jni.h.\n\nTest: modules using frameworks/base find headers\nBug: 63762847\nChange-Id: I0f9f231acdebe460f279135462f43d3e32eff64d\n"
    },
    {
      "commit": "8e9b7efefd6f55b9e8aa46394aa154a328ff5406",
      "tree": "7bfb22b944c0526118ac1d8a11c1f50942919323",
      "parents": [
        "db39f873860c10a9fa2fe47cf7388aaba14d69fb",
        "6b9d4b76aeda1c07ed2bebf91e6e6ac796a83179"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 02:41:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 19 02:41:21 2017 +0000"
      },
      "message": "Reference nativehelper/jni.h as jni.h am: d82cdb4624\nam: 6b9d4b76ae\n\nChange-Id: I27f7f300b0a4e3d8d8d150e7902ed2763b442a4b\n"
    },
    {
      "commit": "d82cdb4624d436189f1e1c2c53ec0b6ebb792bd9",
      "tree": "6e7237a0e4a1cc36d927e288a4fdddc6b95cdf52",
      "parents": [
        "361162b6367eaffb3ecc779b893f07289e451c25"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jul 17 19:00:43 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 02:26:57 2017 +0000"
      },
      "message": "Reference nativehelper/jni.h as jni.h\n\nnativehelper will no longer export nativehelper/jni.h so that everywhere\ncan reference this file with the same name.\n\nBug: 63762847\nChange-Id: I3e58d478a2eb17b19db540414545a3c1f9c381af\n(cherry picked from commit 98f40c71399e63f2b10cf6e3dffbbcea84d52490)\n"
    },
    {
      "commit": "b36ef40c8ad8d919987bad8a4f52d869afb43afb",
      "tree": "7ab5d44f9f620b63035525c6c71cedfb5e4cad58",
      "parents": [
        "4ce238d9424520d47b587047190e5637e858e8a4",
        "319a28880ef1fa48437321cfe285903190963e96"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jul 18 22:05:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 22:05:50 2017 +0000"
      },
      "message": "Merge \"Merge \"Reference nativehelper/jni.h as jni.h\" am: 899a1f23c5 am: d2bf323c40 am: 238be4a67b\" into oc-dr1-dev-plus-aosp\nam: 319a28880e\n\nChange-Id: I082d52f29c824dc6534f73ab073b520091057a2c\n"
    },
    {
      "commit": "9882d6da796746df59892d4efed89145d90f0ab3",
      "tree": "8a33d493b78796106db0bdd9b1b687b02235eb6f",
      "parents": [
        "11e0e33756c549ee1bd99b5f940e55eab5b10c5c",
        "238be4a67bfd5a6df4ec5ff297a5cdead88e4890"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jul 18 21:51:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 21:51:49 2017 +0000"
      },
      "message": "Merge \"Reference nativehelper/jni.h as jni.h\" am: 899a1f23c5 am: d2bf323c40\nam: 238be4a67b\n\nChange-Id: Icb75bc6c2ba9750349de0e4f0ea15c29b5502b7b\n"
    },
    {
      "commit": "d2bf323c40b044d0fb8dde965404794ac4ffc7ee",
      "tree": "c1034025bf92be785ee4dd321f7264de9d549d2d",
      "parents": [
        "253e515259d759ee34fb2035a9025d1945f83dd0",
        "899a1f23c5be569d46fc965b9a459e9df0847bc4"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jul 18 20:05:36 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 20:05:36 2017 +0000"
      },
      "message": "Merge \"Reference nativehelper/jni.h as jni.h\"\nam: 899a1f23c5\n\nChange-Id: I30ec4f6b329360ea4161f2ad5538ecd238db7b62\n"
    },
    {
      "commit": "98f40c71399e63f2b10cf6e3dffbbcea84d52490",
      "tree": "2a75522038770eb16ee697f785980106ffbe1eb7",
      "parents": [
        "59a6b07809a0cad6881ac56a762c774368633f03"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jul 17 19:00:43 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jul 17 19:00:43 2017 -0700"
      },
      "message": "Reference nativehelper/jni.h as jni.h\n\nnativehelper will no longer export nativehelper/jni.h so that everywhere\ncan reference this file with the same name.\n\nBug: 63762847\nChange-Id: I3e58d478a2eb17b19db540414545a3c1f9c381af\n"
    },
    {
      "commit": "59579ce59d6e2c42e6ea1b389ba7e228aaa9122f",
      "tree": "e6ab316bda606d000aba61c9a950111c921a20ec",
      "parents": [
        "ca007e525b5bf52b89bf884f78d79dedf4495564"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Fri Jul 14 10:28:51 2017 -0700"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Mon Jul 17 23:21:34 2017 +0000"
      },
      "message": "MediaRouter: Introduce and use getFallbackRoute method\n\nInstead of selecting default route, select the fallback route to avoid\nmaking sound via the default route while a BT route is available.\n\nBug: 63582431\nTest: manual\nChange-Id: I2cb8fbf6c518294fcec2bf14a5d8175c7302396f\n"
    },
    {
      "commit": "889f9952d8aa438d5aef6fea9046eddb38ea11b0",
      "tree": "242a579f482025d2a6e6e8689ad3c8127aa39285",
      "parents": [
        "d1ffb1343723a2cf1b8e82cde75710268fcc6a11"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jul 17 12:08:45 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jul 17 12:08:45 2017 -0700"
      },
      "message": "Reference nativehelper/jni.h as jni.h\n\nnativehelper will no longer export nativehelper/jni.h so that everywhere\ncan reference this file with the same name.\n\nBug: 63762847\nChange-Id: I8d2e9587439efa2d6ab03a5bdfa749fc620759e1\n"
    },
    {
      "commit": "1e52eafae1298b2dc94de1a5fef6fcad0904cf45",
      "tree": "467d6d54f603f4a5e883026e8a2b55976bacc69b",
      "parents": [
        "d1e123cbadc9bf39997d02d144a81ca64af4ef67",
        "aebf79edb49a5dc97631b6642c4402219399d0ad"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 12 17:47:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 12 17:47:33 2017 +0000"
      },
      "message": "Merge \"audioservice: modify default music volume\" into oc-dr1-dev am: b6f946c081\nam: aebf79edb4\n\nChange-Id: I9e5ee08c8320799dd53e604005c4be57142832fb\n"
    },
    {
      "commit": "403bd3429bff82e4926694d0c02d08bf4a6ca277",
      "tree": "197c7d86649d101683053d93d7b4ed41959081a7",
      "parents": [
        "2f87ca16377a0069d473edb38d199b701181ec49"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 16:21:44 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 16:21:44 2017 -0700"
      },
      "message": "audioservice: modify default music volume\n\nDefault music volume is changed from 3/4 of max to 1/3 of max to\nreduce initial volume over headphones percieved as too agressive.\n\nAlso add a property ro.config.media_vol_default to modify this\ndefault value.\n\nBug: 62608451\nTest: verify default music volume over headphones after factory reset.\nChange-Id: Icadb99e1bafe88984d3a3a05014d4d4648830693\n"
    },
    {
      "commit": "3e99f654fbf56d3b7ef7130658b8ef83d2d0cdbd",
      "tree": "63e6e0c675b054bd7cf99db591802ee2ffd62e66",
      "parents": [
        "f490ae3e5961a8dfdbd779f0c764b7d44d9d1221"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 05 16:33:56 2017 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 10 17:24:20 2017 +0100"
      },
      "message": "Fix issue #34471029: Don\u0027t allow audio use from background apps.\n\nThis is becoming a common pattern (keeping track of which processes\nare cached and not allowing them to do stuff in that state), so I\nam turning this in to a general mechanism for monitoring this state\nthrough the activity manager\u0027s IUidObserver.  Now we can just have\nAudoService implement its own IUidObserver to get this state and\nupdate which uids it is blocking.\n\nThis required making some changes to uid change reports so that\nthe integer is now a bit mask instead of an enumerations, but that\nis what it was already turning in to anyway.  (This gets rid of\nthe crazy GONE_IDLE constant that we\u0027d needed to add before because\nit wasn\u0027t a bit mask).\n\nEventually the power manager should be changed to be told about\nthese changes to cached state instead of listening to every proc\nstate change, but we\u0027ll do that later, it is more disruption than\nI want to take for now.  However, while working on this, I noticed\nthat the power manager had regressed in the cached uids it would\nactually block, because the activity manager was no longer telling\nit about all uids that are idle.  (I think this happened when I had\nto change the default idle state of UidRecord to true.)  So I am\nadding a bit of new code to keep track of what idle state we last\nreported to observers, to make sure we tell it about newly created\nuids that are idle but have never actually become active.\n\nTest: runtest -c com.android.server.am.ActivityManagerServiceTest frameworks-services\n\nChange-Id: I7bfd46bacadd4cab2a69f40e6e52afb4e67b456a\n"
    },
    {
      "commit": "7934aab6285189c29729f29de45396eb0e66ce81",
      "tree": "bb9f61991bec8dbf5126e2d49ce794e6e35b7d01",
      "parents": [
        "d970be90d5a584d3d59fc506be487d5c4e5e0696"
      ],
      "author": {
        "name": "Scott Randolph",
        "email": "randolphs@google.com",
        "time": "Wed Jul 05 18:20:18 2017 -0700"
      },
      "committer": {
        "name": "Scott Randolph",
        "email": "randolphs@google.com",
        "time": "Wed Jul 05 18:20:18 2017 -0700"
      },
      "message": "Fix typo in AudioPolicy comments\n\nMake it clear that setAudioPolicyFocusListener is required when external\nfocus control is desired (as opposed to previously mentioned\nsetAudioPolicyStatusListener).\n\nTest:  Inspection of the code.\nChange-Id: I6d933feb3bf998d10a10b58ec6804dbab34e2036\n"
    },
    {
      "commit": "b6d9ba31dec8e81a665cb7c1d19de1f31c717097",
      "tree": "209937fd2a176ac17cfed153ada8f067bb07d889",
      "parents": [
        "accd277cb9df88c43a12df4dbbadf3f167f8883c",
        "2659c2f16cf55d58f5b3817347340ae84f9eaabd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 28 20:37:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 28 20:37:24 2017 +0000"
      },
      "message": "Merge \"cas: convert MediaCas to HIDL\""
    },
    {
      "commit": "b7772521395d080a4e3e055fc3397460d324d26e",
      "tree": "b1e4ea4bcec03a97a01ab08c4bda5abd44e9dafd",
      "parents": [
        "c1323664d46a502da8f8a4f5ca50f697a9eb1bd4",
        "051285b648351bddbda6736c2524df1f96c84560"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 28 03:33:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 28 03:33:03 2017 +0000"
      },
      "message": "Merge \"AudioService: internal API for disabling audio playback for a UID\" into oc-dr1-dev am: 8f81919093\nam: 051285b648\n\nChange-Id: Ib78281b6bc1b4ae37e0aba5e6a0b20cd81a29db2\n"
    },
    {
      "commit": "92ed7bf41235c95b2c71648a631ce7aaa65f8943",
      "tree": "b5e17a92717f2f3dd482a9d9a1c9cf98726bcd80",
      "parents": [
        "214baa034a5aa686863a881740819df20df0efe0"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 26 19:32:38 2017 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 27 17:57:34 2017 -0700"
      },
      "message": "AudioService: internal API for disabling audio playback for a UID\n\nInternal API, available through AudioManagerInternal, to flag\n  a UID as having lost the ability to play audio. When that\n  happens, all players associated with this UID are paused, and\n  future players are immediately paused when they report they\n  started.\nUsers of this API must \"enable\" a previously banned UID when\n  it is no longer in use.\n\nTest: upcoming manual test with background apps\nBug: 34471029\nChange-Id: Ic1c103aabe8f3897072b3ce938d84cb949540e23\n"
    },
    {
      "commit": "2ac1690bb730adc89b4d87f9ccec2ffe464245de",
      "tree": "f774eb0c77fcab7b2c4da22595ba801bfbab60b6",
      "parents": [
        "73bf5eb0dd1dc7b246c764df15942960687b2e5b",
        "b0bb37328601fb25986dfe6ceb3786425fc3dfe9"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 27 00:31:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 27 00:31:33 2017 +0000"
      },
      "message": "Merge \"Revert \"Multiple worker threads for SoundPool\"\" into oc-dr1-dev am: 59a66b8601\nam: b0bb373286\n\nChange-Id: I859b99e3dc68396abccc0f399004860042d6cb07\n"
    },
    {
      "commit": "59a66b8601579086f0977ef9bd53012382901b87",
      "tree": "b65c57044f9b5f703666dc3d7935586409c9fa0a",
      "parents": [
        "be196018e1b6afda64e9a11167454f4effd1dff1",
        "beea9f7636a6b8793beea09996f9d1f61b903f7e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 26 22:48:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 26 22:48:06 2017 +0000"
      },
      "message": "Merge \"Revert \"Multiple worker threads for SoundPool\"\" into oc-dr1-dev"
    },
    {
      "commit": "5f69d38a996a5994bc7b401a1a5506238be4a63c",
      "tree": "756209bd12af85049c90860d923c37a7b65e9f0f",
      "parents": [
        "34c6dfc39bb71e5671f6553726def54f17b90662",
        "db7927c21e8779d590f3fb881255429628efcf04"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Sun Jun 25 01:42:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Jun 25 01:42:03 2017 +0000"
      },
      "message": "Merge \"Consider double tap of the play/pause as the next track\" into oc-dr1-dev am: f05929af73\nam: db7927c21e\n\nChange-Id: I69a6f48e46bcbd7ed03057ce0c18002f6ecdd576\n"
    },
    {
      "commit": "f05929af73eaa5f439e7b71de2ac6c1ab0cc9555",
      "tree": "69fc8dc9e788d4633eaae5dd4154e6bce9e261d3",
      "parents": [
        "10a41f9b128fe465521f099aaf0a4d2b6047e03b",
        "74d002be26ec9800cb494471f0773493bc83d8f7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jun 25 01:26:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 25 01:26:49 2017 +0000"
      },
      "message": "Merge \"Consider double tap of the play/pause as the next track\" into oc-dr1-dev"
    },
    {
      "commit": "fc97c060d023f64a753be23ffe9f1e40e738ba67",
      "tree": "d2ab1ab3a251fa9511c2237a7fe9539948549c0c",
      "parents": [
        "19d8a55ce57ab6517ff458b33f366a1df94eeda5",
        "1c22f1d77f74092a3d876b48e54490ae02093f95"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jun 24 05:23:16 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jun 24 05:23:16 2017 +0000"
      },
      "message": "Merge \"AudioSystem: Add missing DEVICE_USB_HEADSET to DEVICE_USB_ALL\" into oc-dr1-dev am: e2e01f7795\nam: 1c22f1d77f\n\nChange-Id: Ifa0ac27c5d025527ce3ed95032668910febc0a90\n"
    },
    {
      "commit": "19d8a55ce57ab6517ff458b33f366a1df94eeda5",
      "tree": "1d2bd1f005f431d687dd8435d78daac25112ecfd",
      "parents": [
        "db145648c5d7dd3e13e5e6f6bd5254475413dd65",
        "44e61260797087cffd8d2dde7e180f8edf7d4454"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sat Jun 24 05:20:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jun 24 05:20:52 2017 +0000"
      },
      "message": "Merge \"Total Silence vs VoIP\" into oc-dr1-dev am: 92e1d0ab44\nam: 44e6126079\n\nChange-Id: Id9096436fc8d10f672777b31e40dd8e121faa418\n"
    },
    {
      "commit": "e2e01f77958eecd4ab357710f84fc67227b766cd",
      "tree": "f99f3c2f7fdfb1816d5bef74718f99e37c36d1c6",
      "parents": [
        "92e1d0ab44771c17228a5c9590f05386ab117c37",
        "5c51bb9919b524306e37025e1fbf2b27f64cd731"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jun 24 01:58:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 24 01:58:38 2017 +0000"
      },
      "message": "Merge \"AudioSystem: Add missing DEVICE_USB_HEADSET to DEVICE_USB_ALL\" into oc-dr1-dev"
    },
    {
      "commit": "2659c2f16cf55d58f5b3817347340ae84f9eaabd",
      "tree": "dc0bb4acf1880ac47407fed3a5eb15a6e03843a9",
      "parents": [
        "b425e0029e2ee2812050098d060acd39fad9c99b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 27 13:18:20 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 23 16:18:55 2017 -0700"
      },
      "message": "cas: convert MediaCas to HIDL\n\n- Replace AIDL interfaces with corresponding HIDL ones.\n\nbug: 22804304\nChange-Id: I8c552ce6fc3766715cd1bc0ea05c0988d56f590e\n"
    },
    {
      "commit": "5c51bb9919b524306e37025e1fbf2b27f64cd731",
      "tree": "824926052c2811206376993a7ea21d39081bab10",
      "parents": [
        "77dea6284addf00ba04d92813edf26deb4d43f2c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 23 11:04:19 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 23 11:08:37 2017 -0700"
      },
      "message": "AudioSystem: Add missing DEVICE_USB_HEADSET to DEVICE_USB_ALL\n\nBug: 36220140\nTest: verify AUDIO_BECOMING_NOISY intent is broacast when a USB_HEADSET\ndevice is disconnected.\n\nChange-Id: I6bfafc0174d5a02cc64862074f60e073407337d3\n"
    },
    {
      "commit": "2d8b429bb4130d574aeb0c0a4fddc4c38f559424",
      "tree": "51191a357931f82def7deb6fea1120bc5778e756",
      "parents": [
        "b7f5aafd36e79c564dce3116ab9a708f1d0060d8",
        "e34b659fe63a884bede7dca7b935859bc4c284ca"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 23 15:52:50 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 23 15:52:55 2017 +0000"
      },
      "message": "Merge \"Add offset for AV sync header.\""
    },
    {
      "commit": "74d002be26ec9800cb494471f0773493bc83d8f7",
      "tree": "9c3ca6eb21d6d168806b0bce0bda5d8b6e8e303b",
      "parents": [
        "271e0aa02a34b14f77beed341400dd0f9da76371"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu May 25 15:54:46 2017 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Jun 23 17:19:30 2017 +0900"
      },
      "message": "Consider double tap of the play/pause as the next track\n\nSee following document for the details\nhttps://source.android.com/devices/accessories/headset/usb-headset-spec#control-function-mapping\n\nBug: 36575213\nTest: Run Cts (MediaSessionTest)\nChange-Id: I3f9f641a4f6aeb36f03758f05e15bc062cda85f3\n"
    },
    {
      "commit": "3e32b84ed7ba30a5d85c37de6996e7885b8c5310",
      "tree": "84f1e975c4b9876ecb6b92484f9b12e26121add2",
      "parents": [
        "0c78ce81c2f74c3daaddada223c72d26dd610c15",
        "5265beb6493205fb32c81b7c2b4a9ba447ecfe59"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 23 03:43:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 23 03:43:57 2017 +0000"
      },
      "message": "Merge \"Media: Eliminate NPE from race conditions\""
    },
    {
      "commit": "f1cd71a3b23eaa6a2ef46b5a25eb17582a7233a4",
      "tree": "3fc7205ff778be746e7551c5c6041c1131e85a04",
      "parents": [
        "8ac5a94c016280ee277189ae56f69858d6479b60"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 22 19:30:29 2017 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 22 19:30:29 2017 -0700"
      },
      "message": "Total Silence vs VoIP\n\nDo not suppress VoIP audio in any DnD mode.\n\nTest: start a VoIP app and enter Total Silence mode, verify comm audio is still heard.\nBug: 37742663\nChange-Id: I40de67b45713f476a2e07b05ac84bd6663f50fdf\n"
    },
    {
      "commit": "d4bb63483e04319b2ec4db32af6ac36995c52477",
      "tree": "6c07afb83804d73fcefecd481c002d87ffd2d25d",
      "parents": [
        "abc6fd57de4450a9a3769e064ca69e05aeb2d5de",
        "66ffacf42a7dde6fac867605aaa47d555b960ee4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 22 22:39:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 22 22:40:05 2017 +0000"
      },
      "message": "Merge \"Recording activity notification: client uid and package name\""
    },
    {
      "commit": "5265beb6493205fb32c81b7c2b4a9ba447ecfe59",
      "tree": "89dbe3c33b37023eb7c1b16b9f4d0d8fae2bd303",
      "parents": [
        "7fc2e746855d0b43554a3b278606b487bd1099af"
      ],
      "author": {
        "name": "Conrad Chen",
        "email": "conradchen@google.com",
        "time": "Tue Jun 13 13:02:42 2017 -0700"
      },
      "committer": {
        "name": "Conrad Chen",
        "email": "conradchen@google.com",
        "time": "Thu Jun 22 21:11:04 2017 +0000"
      },
      "message": "Media: Eliminate NPE from race conditions\n\nRace conditions may happen between\nMediaSessionManager.SessionsChangedWrapper.release() and calling\nonActiveSessionsChanged(), which might cause NPE. Copies member\nvariables as local variables to prevent that.\n\nTest: cts-tradefed run cts -m MediaTest\nBug: 62841633\nChange-Id: I69b6d155a1a5c475ab4bb317b60baa6f3a030e5a\n"
    },
    {
      "commit": "b82b7046ffbf9984dcce80d01e763de874abe4c7",
      "tree": "111e3dce9139be787d99a1a8aecc0728408209e4",
      "parents": [
        "30be8d998ac5bb3bf0e691e9aec7c16f85f958ed",
        "b3658569e9a87afe1b3168837cc282235fd4d1f8"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Jun 22 00:11:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 22 00:11:54 2017 +0000"
      },
      "message": "Merge \"Restore the selected route when an app starts to make sound\""
    },
    {
      "commit": "beea9f7636a6b8793beea09996f9d1f61b903f7e",
      "tree": "2a3f0e5099fb01c55f212185359f581721730766",
      "parents": [
        "3a18b28ab0cf14e5730aa4d8ad2494e2844a81c3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 21 19:29:04 2017 +0000"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 21 19:30:17 2017 +0000"
      },
      "message": "Revert \"Multiple worker threads for SoundPool\"\n\nThis reverts commit 7201d9cb6a5d9bcd4f82dfde32e25a1ca8e825e2.\n\nThis reduces CPU usage during Camera startup.\n\nBug: 38031165\nBug: 62447848\nChange-Id: I857aefec9dd7566bfdd3b84873eb5d495449815c\n"
    },
    {
      "commit": "b425e0029e2ee2812050098d060acd39fad9c99b",
      "tree": "ccbb546078362907b9254ca4a4f7aff16efcdca1",
      "parents": [
        "5b8bc166ea00dd10241658180ca63e2cc6d677a7",
        "341bccf7863ad4d469f6a589ebf38c03339f233d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 21 17:38:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 17:38:34 2017 +0000"
      },
      "message": "Merge \"DnD: Total silence doesn\u0027t suppress A11y\" into oc-dev am: 9f1494368b am: 34bc810b0b\nam: 341bccf786\n\nChange-Id: I901e6925269e2d406dd3402764dd07ceb34fd25e\n"
    },
    {
      "commit": "9a68e9b2ef1d8ed5174eab1f453633a30b50d94d",
      "tree": "1fd301b2b978124df27b96c2a2b6def16454f512",
      "parents": [
        "e2744c2705698390dfc280efef72f1bb9a1ce7f7",
        "9f1494368b1efa2302d532694db045d2d9ef6ca2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 21 17:23:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 17:23:30 2017 +0000"
      },
      "message": "Merge \"DnD: Total silence doesn\u0027t suppress A11y\" into oc-dev\nam: 9f1494368b\n\nChange-Id: Iaa671d4c7008609f0be7430b8f6c35f1021c7586\n"
    },
    {
      "commit": "34bc810b0b9b986b3ea28cafd5b070b4b39e699c",
      "tree": "9a3c487e35dd8128a7fbb8b7b23721564c4a0ded",
      "parents": [
        "592e85b4fdbf423d7afa32eb69c7fbae2dd960b4",
        "9f1494368b1efa2302d532694db045d2d9ef6ca2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 21 17:23:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 17:23:30 2017 +0000"
      },
      "message": "Merge \"DnD: Total silence doesn\u0027t suppress A11y\" into oc-dev\nam: 9f1494368b\n\nChange-Id: Ic213b2675ee5571449c74b19184da7cb91331c01\n"
    },
    {
      "commit": "b3658569e9a87afe1b3168837cc282235fd4d1f8",
      "tree": "cab937ea718e113601449ffd4c1e0e5521ebc300",
      "parents": [
        "9b85471c0c12a803ba105c032126469bd4eb2ff2"
      ],
      "author": {
        "name": "Sungsoo",
        "email": "sungsoo@google.com",
        "time": "Mon May 22 17:10:44 2017 +0900"
      },
      "committer": {
        "name": "Sungsoo",
        "email": "sungsoo@google.com",
        "time": "Wed Jun 21 15:15:59 2017 +0900"
      },
      "message": "Restore the selected route when an app starts to make sound\n\nLimitation: When two apps make sound simultaneously while one uses a BT\nroute and the other uses the default route, switching activities between\nthe two different apps will not change the BT A2DP status until one of\nthe apps changes its playback status to inactive.\n\nBug: 32958908, Bug: 35567695, Bug: 33186346\nTest: Passed MediaRouter/MediaSession test, and manually varified that\n      the b/33186346 is fixed.\nChange-Id: I1da97dcb74fa2095425b311ad62cdd00f8118cea\n"
    },
    {
      "commit": "66ffacf42a7dde6fac867605aaa47d555b960ee4",
      "tree": "f520789cf92d2a319d7fd0023881c010561fa480",
      "parents": [
        "7606405bd97b5aa4ced1cbbb28f1862e2611436f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sat Feb 04 17:25:31 2017 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 21 02:04:38 2017 +0000"
      },
      "message": "Recording activity notification: client uid and package name\n\nAdd support for a system component to listen to recording activity\n  and know the uid and package name of the client app performing\n  the recording. This information is discarded for non-system\n  listeners on the server side.\nAdd log friendly dump for RecordActivityMonitor, AudioFormat and\n  audio source to dump recording activity in AudioService.\n\nTest: run cts -m CtsMediaTestCases -t android.media.cts.AudioRecordingConfigurationTest#testAudioManagerGetActiveRecordConfigurations\nTest: during recording, run \"adb shell dumpsys audio\", check output under RecordActivityMonitor\nBug 62579636\n\nChange-Id: I60a223da3a2b7f7080bd7346fe3edc1df039466a\n"
    },
    {
      "commit": "7a84eaef3ca804bcec92a6bfbd689d79676325d7",
      "tree": "d52b94b1928fda38373af6f7016a68d77f98bc3f",
      "parents": [
        "07b93779ba30dd1d0350ad26d0d7e4aa36e96eb8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 20 14:58:18 2017 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 20 22:45:14 2017 +0000"
      },
      "message": "DnD: Total silence doesn\u0027t suppress A11y\n\nWhen entering Total silence mode, text prompts from a11y were losing\n AppOpsManager.OP_PLAY_AUDIO, causing them to play muted (amplification\n of 0.0f) even though the STREAM_ACCESSIBILITY volume was not.\nThe fix consists in adding another category of sound suppression\n behavior in AudioAttributes, for usage types that should never be\n suppressed (\u003d\u003d muted), and using it for USAGE_ACCESSIBILITY.\n When ZenModeHelper iterates over usages to mute/unmute players,\n consider whether that usage\u0027s suppression behavior is SUPPRESSIBLE_NEVER.\n\nTest: turn Talkback on, then enter Total silence and verify Talkback is heard\nBug 62827456\n\nChange-Id: I48cae48797ef9bc6bcaee82484ba078ee445345c\n"
    },
    {
      "commit": "308a3da6136fa3cbb1e0fcd45b24f9ed6109e29b",
      "tree": "2f8c269e302672b5af131ae01f6d498bb81bb6a7",
      "parents": [
        "7b2d2103da2d3147e4734198efaf568bee1153f6",
        "997de13c3e896554c71738782ec5dbaa5a439a14"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jun 18 05:36:46 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Jun 18 05:36:46 2017 +0000"
      },
      "message": "Merge \"AudioService: implement safe volume warning for USB Headsets\" into oc-dr1-dev am: 95b41415cd\nam: 997de13c3e\n\nChange-Id: I01de23e744fcf7925ae8555b1a2eb0ded999c7be\n"
    },
    {
      "commit": "95b41415cda2e0f96d0d1563d177942a83b92962",
      "tree": "7977793216b0b26713afa5a4cc55b1a566ecd042",
      "parents": [
        "11cc260047631c36a859e5a0866c01f993109003",
        "eab40d14a88574e4041504a68012c95a4a8f03c9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jun 18 05:15:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 18 05:15:38 2017 +0000"
      },
      "message": "Merge \"AudioService: implement safe volume warning for USB Headsets\" into oc-dr1-dev"
    },
    {
      "commit": "ccf64a5e12b3079a94cdfb5c74e9f9a54066fe65",
      "tree": "cb5c0cd4f3840306b5caeb41691b9d7f69db2e30",
      "parents": [
        "37ddbfaa390d17af2bf70f1dfa482de08d383075",
        "2748d601497c508212c512d09583d7416f9bdfd3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jun 17 00:18:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 17 00:18:30 2017 +0000"
      },
      "message": "Merge \"MediaCodec: add more details for FLAC CSD.\""
    },
    {
      "commit": "bef01e4be6c9ca0d519469f76b677bc4c1054676",
      "tree": "f6c46c80ae69346eee3da4faea4e532f09c45c9a",
      "parents": [
        "e67952adc73ef98bf06efa9bc61a9c6038e68a6e"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jun 16 14:02:31 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jun 16 14:58:50 2017 -0700"
      },
      "message": "Fix mistyped exceptions; InvalidArgumentException\n\nTest: manually tested MediaCodec throws IllegalArgumentException\nBug: 62700434\nChange-Id: Id3bc37200c5d1b83ba978e6971ad3310083c8319\n"
    },
    {
      "commit": "2748d601497c508212c512d09583d7416f9bdfd3",
      "tree": "fe777580bd52721664b363092575a38b5960bf00",
      "parents": [
        "679cad3b6a6b70f616adb24eb5938ee35605b1b2"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jun 16 11:26:58 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Jun 16 11:26:58 2017 -0700"
      },
      "message": "MediaCodec: add more details for FLAC CSD.\n\nTest: developer page shows correct content\nBug: 37787245\nBug: 37794552\nChange-Id: If8fc2cd5c340169c01c4c1bc93a314f963b40e45\n"
    },
    {
      "commit": "8c78668c7ad4fd562f3d4e45425c76a24d8f1c87",
      "tree": "7bb96a3815b23999bccf696c19f74bfd4af0d9b9",
      "parents": [
        "78d4b6d16a87d9122326d0d1ff7ca972fa8bf047"
      ],
      "author": {
        "name": "Shubang",
        "email": "shubang@google.com",
        "time": "Mon Jun 12 13:06:05 2017 -0700"
      },
      "committer": {
        "name": "Shubang",
        "email": "shubang@google.com",
        "time": "Thu Jun 15 15:01:18 2017 -0700"
      },
      "message": "Add @RequiresPermission for CHANGE_HDMI_CEC_ACTIVE_SOURCE\n\nTest: mmm\nBug: 62270868\nChange-Id: I7fd236d549a4b437ec03e37ae5d78a0073028626\n"
    },
    {
      "commit": "3b2a5050427caffb01edc37a3b9793d20e0f01b2",
      "tree": "d48aa60fdb5709025a91e6a65b0d4a68db2db5e0",
      "parents": [
        "8c7999bdf80ef844cad84d10eca964987565bee1",
        "50ba0b7196340fcad86312f3cf2b31670ef0fca3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 15 21:41:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 15 21:41:34 2017 +0000"
      },
      "message": "Merge \"ImageReader: Set BufferItem mGraphicBuffer to null when returning it\" into oc-dev am: 20c2116c1f am: 20e2394f75\nam: 50ba0b7196\n\nChange-Id: I8153eb8e7859738fa1dfa94b81fc7c7d8f94ed33\n"
    },
    {
      "commit": "20e2394f754e9662ca7fe9ca6dd85d7c6c08103a",
      "tree": "f359fc764460d9a9af4a2d7dd911ca12f7c13619",
      "parents": [
        "f9053435a3cfe4dbf358e835e6ef86eabd580df0",
        "20c2116c1f7f05b5a9628a22c4433701a89d0068"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 15 21:12:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 15 21:12:29 2017 +0000"
      },
      "message": "Merge \"ImageReader: Set BufferItem mGraphicBuffer to null when returning it\" into oc-dev\nam: 20c2116c1f\n\nChange-Id: I8385f1e65de888d602e5775f6811ec7c908f9073\n"
    },
    {
      "commit": "730a1168e6ac094faab74b513f180e43759a8d49",
      "tree": "0ded8998a4edfcd0afbdf5578193bd9a6da88307",
      "parents": [
        "d7e9bbedc89544def9a7ee44c66dd7d4426440dc",
        "20c2116c1f7f05b5a9628a22c4433701a89d0068"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 15 21:10:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 15 21:10:51 2017 +0000"
      },
      "message": "Merge \"ImageReader: Set BufferItem mGraphicBuffer to null when returning it\" into oc-dev\nam: 20c2116c1f\n\nChange-Id: I82b234f1fa7ea6b231bacdd99543b68fa8be51c6\n"
    },
    {
      "commit": "0af9435572aa4ef66c61a62605f6eb3f8d218d8b",
      "tree": "f999ef81b25e558a3e1dea887f0d6db566f32ee9",
      "parents": [
        "484fb951e005584aeb22c5c2598898bc00eae22a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jun 13 12:43:19 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jun 15 06:34:31 2017 -0700"
      },
      "message": "ImageReader: Set BufferItem mGraphicBuffer to null when returning it\n\nThe ImageReader JNI layer needs to maintain a list of BufferItems that\nback the Java Image objects. At start, we allocate maxImages of these\nin a list, and acquire and release them from this list as the\napplication acquires and releases Images.\n\nHowever, on release, the contents of the BufferItem are not adjusted,\nso it can retain a reference to a GraphicBuffer until the BufferItem\nis reused.\n\nTest: Camera CTS passes, memory usage drops after camera bursts\nBug: 62652080\nChange-Id: I9aade5e32cbe0af0c15a3886e16ada1a70392b74\n"
    },
    {
      "commit": "f972cc3e125287b2c42f98d68d993e3a7a7522e5",
      "tree": "aa66dcbc596e066691adb78f1db1a506ae129d25",
      "parents": [
        "3af915b31ccd5bc2f0fe06bd35ee31087693e590",
        "2fe6586160917949fd8252f53443058742bf3e8f"
      ],
      "author": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Wed Jun 14 19:48:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 14 19:48:28 2017 +0000"
      },
      "message": "Merge \"Add SoundTriggerManager APIs to use a PendingIntent to get callbacks.\" into oc-dr1-dev am: 6f071c369e\nam: 2fe6586160\n\nChange-Id: I13fcdd58bd9219ce6c65e4bf90d107222047fc42\n"
    },
    {
      "commit": "ba08b7945a66434a76840062b2dac1275adc4844",
      "tree": "95a65cdf9f4372fa304ad7c41c534c795690d13e",
      "parents": [
        "1761985e422c360485b2b1185c242c56367a8337"
      ],
      "author": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Thu Jun 08 22:34:37 2017 -0700"
      },
      "committer": {
        "name": "Chris Thornton",
        "email": "thorntonc@google.com",
        "time": "Tue Jun 13 18:37:48 2017 -0700"
      },
      "message": "Add SoundTriggerManager APIs to use a PendingIntent to get callbacks.\n\nTest: APIs exercised using a special test app not in this CL.\n\nChange-Id: I99425d1e67a778513e6c75e7d595c072032aa2ab\n"
    },
    {
      "commit": "356b542c44da01a1d67945535b234d6d4a4d0670",
      "tree": "a60d9aa929bb93587417332d277323c2c7d35bb2",
      "parents": [
        "b6d068e95b8f56af6480f00a2e0d09676d5ee3b2",
        "e87cffe5590e489f04955423eae090a1b502b0ed"
      ],
      "author": {
        "name": "Mark Goldstein",
        "email": "markgoldstein@google.com",
        "time": "Tue Jun 13 16:56:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 13 16:56:13 2017 +0000"
      },
      "message": "Merge \"Fix a few typos in audiofx doc strings.\""
    },
    {
      "commit": "9442e1147084c14bb9047fc286dce297fc0122ce",
      "tree": "53d0cb855c15180ca955138046f4e373ff1312c4",
      "parents": [
        "5aa7ecc26b10191cad3700f2a62273d8a39d3ff8"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Jun 12 20:47:50 2017 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Jun 13 02:37:20 2017 +0000"
      },
      "message": "ExifInterface: Prevent DATETIME value from being set unproperly\n\nAlthough the DATETIME and DATETIME_ORIGINAL tags are for different\npurposes, the DATETIME value is set to the same value as\nDATETIME_ORIGINAL tag\u0027s when loading the attributes of an image.\nThis CL prevents the problem by setting the value of DATETIME tag only\nwhen it does not exist.\n\nBug: 62137632\nTest: Passed ExifInterface CTS\nChange-Id: Ic5c43c53cb363a782bcac20915d74ea534ec70e4\n"
    },
    {
      "commit": "e87cffe5590e489f04955423eae090a1b502b0ed",
      "tree": "e731e4018647d549587cd693e1a0f1576438cb04",
      "parents": [
        "947db75ba68e90dd80876481ac0d9c1dfede42ba"
      ],
      "author": {
        "name": "Mark Goldstein",
        "email": "markgoldstein@google.com",
        "time": "Mon Jun 12 14:38:04 2017 -0700"
      },
      "committer": {
        "name": "Mark Goldstein",
        "email": "markgoldstein@google.com",
        "time": "Mon Jun 12 14:42:09 2017 -0700"
      },
      "message": "Fix a few typos in audiofx doc strings.\n\nTest: manual compare\n\nBug: 6440862\nChange-Id: I5087286e48a6fc24266a7d33fe6f97a81d3840bf\n"
    },
    {
      "commit": "70919cc55f7d6343f094269e63889cf742aea4de",
      "tree": "11387bd100ae7a98d8c94cc8577579d8b39a437f",
      "parents": [
        "5b621fdbb3da652da39b803512582e5f097707ec",
        "f98a4f2a601ef291fd8420554db7bb4e9f3d82f2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 12 19:16:42 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 12 19:16:50 2017 +0000"
      },
      "message": "Merge \"TIF: add TvContract.isRecordedProgramUri() method\""
    },
    {
      "commit": "e34b659fe63a884bede7dca7b935859bc4c284ca",
      "tree": "9775b4a7ed7298b751a9c5000c794a12d219f500",
      "parents": [
        "4ed9a8a359d1787d3c7cdc5b64561bba6402e243"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Jun 05 15:31:50 2017 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Jun 12 10:13:20 2017 -0700"
      },
      "message": "Add offset for AV sync header.\n\nAV sync header was 16 bytes, which will cause partial timestamp header\nwritten when the framesize cannot be divided by 16.\n\nBug: 31688925\nTest: Test with writing fake data to AudioTrack with timestamp\nChange-Id: Idc818985b3e0de47665ce5a28c458c018aa69eb3\n"
    },
    {
      "commit": "eab40d14a88574e4041504a68012c95a4a8f03c9",
      "tree": "694ce3190c9d04f6f75672aa4249fb13dfe4d730",
      "parents": [
        "f512d86f5b149f48daa783c7ee7766f2d4b41287"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 09 12:45:21 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 09 15:45:45 2017 -0700"
      },
      "message": "AudioService: implement safe volume warning for USB Headsets\n\nAlso fix MediaRoute update for USB devices\n\nBug: 62492975\nTest: check warning with USB headset and property audio.safemedia.force.\n\nChange-Id: If947beaf81b74b1e560402648042047cb23f1df6\n"
    },
    {
      "commit": "c592c63a2d83f2d77ff26c64604123124166d146",
      "tree": "1a83ab562468e232e65db06e77c58cb34afc46e9",
      "parents": [
        "76f6da62e65bc2dd1f693430eecb00384e3ca6ad",
        "3671e9249b4bfe205517e43b232cdc3d32a8a1e9"
      ],
      "author": {
        "name": "Yuchen He",
        "email": "yuchenhe@google.com",
        "time": "Thu Jun 08 04:38:16 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 08 04:38:16 2017 +0000"
      },
      "message": "Merge \"Fix AeModeAndLock test cases. Bug: 36103813\" into oc-dev\nam: 3671e9249b\n\nChange-Id: I2ebc01dc54f654d60e03696490c681a656a7b958\n"
    },
    {
      "commit": "526239e8006e405a88c6be3d5aebb843f3dd0bed",
      "tree": "8820b3b0e7d75552db00e01088c371f1b951cc61",
      "parents": [
        "fdb3d31504bdaaad923d4add22cec9ba1ed5585f"
      ],
      "author": {
        "name": "Yuchen He",
        "email": "yuchenhe@google.com",
        "time": "Thu May 11 18:49:22 2017 -0700"
      },
      "committer": {
        "name": "Yuchen He",
        "email": "yuchenhe@google.com",
        "time": "Thu Jun 08 00:32:43 2017 +0000"
      },
      "message": "Fix AeModeAndLock test cases.\nBug: 36103813\n\nChange-Id: Ie2e9938f6ae607f5fced5048c5ff5e41e4f7836b\n(cherry picked from commit e256bc9f66c6812f02326432ed22f7adca47cc9c)\n"
    },
    {
      "commit": "5301c498fe0336c5e002e39c92cdf0c77f16860b",
      "tree": "40f49b6e3e78b8c77b88a2410662b1ae827a1487",
      "parents": [
        "198aa2bcda86df08d833dcbe7318e9fa2858074a",
        "031a20a6c7813b3e216591571e67737e033bc5bf"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 07 00:31:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 07 00:31:33 2017 +0000"
      },
      "message": "Merge \"Close connection before retrying\" into lmp-dev am: a8648ecebb am: 5181a7ab64 am: 4b78a79546 am: 6d5bc9a3c2 am: 3272cf26c1 am: e18e8c4113 am: 69b6a382a3 am: ce5c72e887 am: 4d9e6150f3 am: d7fe3ea6a8 am: db9d2588b8 am: 9e4e6c4b7c am: 2c1d4f8f7b\nam: 031a20a6c7\n\nChange-Id: I5039c6fc8c0a18fcf14edd30f94975fff6c1fc35\n"
    },
    {
      "commit": "031a20a6c7813b3e216591571e67737e033bc5bf",
      "tree": "b90ef6826f97347e69f6887515b191f5e24cb302",
      "parents": [
        "8296054d4ed2ac03fd3048c2f0e35bc54fd791fc",
        "2c1d4f8f7b9ae884fb7c0df1f58d6a1ef1caf1cd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 07 00:24:23 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 07 00:24:23 2017 +0000"
      },
      "message": "Merge \"Close connection before retrying\" into lmp-dev am: a8648ecebb am: 5181a7ab64 am: 4b78a79546 am: 6d5bc9a3c2 am: 3272cf26c1 am: e18e8c4113 am: 69b6a382a3 am: ce5c72e887 am: 4d9e6150f3 am: d7fe3ea6a8 am: db9d2588b8 am: 9e4e6c4b7c\nam: 2c1d4f8f7b\n\nChange-Id: I90250994c72bd9cc54ebb87df3f0f7f510417ef1\n"
    },
    {
      "commit": "2c1d4f8f7b9ae884fb7c0df1f58d6a1ef1caf1cd",
      "tree": "789c9284ee0dbb90380aac4654c86a4fe6515ae4",
      "parents": [
        "3946916d56f5f87c002e28970f183931b4ba6310",
        "9e4e6c4b7c43ef1a14cb257a3866a2cab93e9402"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 07 00:16:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 07 00:16:34 2017 +0000"
      },
      "message": "Merge \"Close connection before retrying\" into lmp-dev am: a8648ecebb am: 5181a7ab64 am: 4b78a79546 am: 6d5bc9a3c2 am: 3272cf26c1 am: e18e8c4113 am: 69b6a382a3 am: ce5c72e887 am: 4d9e6150f3 am: d7fe3ea6a8 am: db9d2588b8\nam: 9e4e6c4b7c\n\nChange-Id: I1d028759fecc34081daf0be653a1b729e0e048ac\n"
    },
    {
      "commit": "db9d2588b85c07ea3ab8bfe66315880cd3f16942",
      "tree": "ab4bf0590de0da738b3fecf83855e420d35e418e",
      "parents": [
        "7a5dd1c3ff1b6f28825e98a4bd5ea938dead0281",
        "d7fe3ea6a845fbb9e5a5a3d554beae18c3905401"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 07 00:04:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 07 00:04:12 2017 +0000"
      },
      "message": "Merge \"Close connection before retrying\" into lmp-dev am: a8648ecebb am: 5181a7ab64 am: 4b78a79546 am: 6d5bc9a3c2 am: 3272cf26c1 am: e18e8c4113 am: 69b6a382a3 am: ce5c72e887 am: 4d9e6150f3\nam: d7fe3ea6a8\n\nChange-Id: Ic5a7104241d36e82418ce5a2a43595d2fa4bff47\n"
    },
    {
      "commit": "d7fe3ea6a845fbb9e5a5a3d554beae18c3905401",
      "tree": "3fe30f9e7403c1f69ca17578d4538983d45f182a",
      "parents": [
        "3946a75cb33c126025c94b0772c37e588b82c433",
        "4d9e6150f305edabc8bfb7f5acf5172116825be7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 06 23:54:55 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 23:54:55 2017 +0000"
      },
      "message": "Merge \"Close connection before retrying\" into lmp-dev am: a8648ecebb am: 5181a7ab64 am: 4b78a79546 am: 6d5bc9a3c2 am: 3272cf26c1 am: e18e8c4113 am: 69b6a382a3 am: ce5c72e887\nam: 4d9e6150f3\n\nChange-Id: I5ede1388f265920fa5dd835c4a6335380daa9103\n"
    },
    {
      "commit": "4d9e6150f305edabc8bfb7f5acf5172116825be7",
      "tree": "a0e4fb17fed7b75d83cfaf96f2824d6701b8bcca",
      "parents": [
        "5f4382e2a668260b25286b51c8663aa179960776",
        "ce5c72e887b2ad8d1766536b30da89d07a26548b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 06 23:45:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 23:45:51 2017 +0000"
      },
      "message": "Merge \"Close connection before retrying\" into lmp-dev am: a8648ecebb am: 5181a7ab64 am: 4b78a79546 am: 6d5bc9a3c2 am: 3272cf26c1 am: e18e8c4113 am: 69b6a382a3\nam: ce5c72e887\n\nChange-Id: I081f15c5d6bb16b3f490e53dbc2910a45e6a920b\n"
    },
    {
      "commit": "ce5c72e887b2ad8d1766536b30da89d07a26548b",
      "tree": "80e0bd0a8d6d1840d19e889bdd6e2f3b86187cca",
      "parents": [
        "a07389b4462b41d232349e8bebc09987ba448237",
        "69b6a382a3189f87f1640de2af86956ea706f0e4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 06 23:39:57 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 23:39:57 2017 +0000"
      },
      "message": "Merge \"Close connection before retrying\" into lmp-dev am: a8648ecebb am: 5181a7ab64 am: 4b78a79546 am: 6d5bc9a3c2 am: 3272cf26c1 am: e18e8c4113\nam: 69b6a382a3\n\nChange-Id: I2c599bac680bda5d4dcfa4f3b9fb5f1413839da0\n"
    },
    {
      "commit": "69b6a382a3189f87f1640de2af86956ea706f0e4",
      "tree": "6b831d14d8195e8ed5fc93256e5d4a5f43fb72ae",
      "parents": [
        "7a063575197ea53b9d3107513cddec11e8c68cf2",
        "e18e8c41138b31eafa0cecafadd49f4d8e81f2ef"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 06 23:33:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 23:33:50 2017 +0000"
      },
      "message": "Merge \"Close connection before retrying\" into lmp-dev am: a8648ecebb am: 5181a7ab64 am: 4b78a79546 am: 6d5bc9a3c2 am: 3272cf26c1\nam: e18e8c4113\n\nChange-Id: I5c34b680b1c7abcfd33c8719406516fe796afebb\n"
    },
    {
      "commit": "e18e8c41138b31eafa0cecafadd49f4d8e81f2ef",
      "tree": "f69289abb8881a0cb99d5f94dbecb729e5a3adc6",
      "parents": [
        "66a08a541334371772ef37a05a7805b745254ef0",
        "3272cf26c1b5d2649e151622389235ae471a6c6e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 06 23:28:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 23:28:27 2017 +0000"
      },
      "message": "Merge \"Close connection before retrying\" into lmp-dev am: a8648ecebb am: 5181a7ab64 am: 4b78a79546 am: 6d5bc9a3c2\nam: 3272cf26c1\n\nChange-Id: I92f069aa6f3a897f9bfba4405dcd64dc066db944\n"
    },
    {
      "commit": "3272cf26c1b5d2649e151622389235ae471a6c6e",
      "tree": "cfd7eb33b90071ff7d8f06a3345f166a8d837499",
      "parents": [
        "55c8a1ede9d7e2e48c5e75ed041e55c7dbf357d0",
        "6d5bc9a3c23116fa3415723fe9cef7b9fb613d27"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 06 23:22:14 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 23:22:14 2017 +0000"
      },
      "message": "Merge \"Close connection before retrying\" into lmp-dev am: a8648ecebb am: 5181a7ab64 am: 4b78a79546\nam: 6d5bc9a3c2\n\nChange-Id: I8165c2218d0d5de41468f8acff86a720c03d1f52\n"
    },
    {
      "commit": "6d5bc9a3c23116fa3415723fe9cef7b9fb613d27",
      "tree": "ee3ecbd6ee958c1070b0dd81a78c4a3ff96bcded",
      "parents": [
        "47beaa8fab293908f6dae1416d0c32b352a0fac0",
        "4b78a79546dc2f44575593bb13f12566526a0526"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 06 23:16:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 23:16:24 2017 +0000"
      },
      "message": "Merge \"Close connection before retrying\" into lmp-dev am: a8648ecebb am: 5181a7ab64\nam: 4b78a79546\n\nChange-Id: Iceb4edfd80a0a483d28f2624669eff9dd86bfcb8\n"
    },
    {
      "commit": "5181a7ab64f1c37bf29c40063f6b1e143917669e",
      "tree": "04d343518292ab286c885df91460f76bc91ec3a5",
      "parents": [
        "1cc9ec47c84345e11087e0d16fdb8c067df643e5",
        "a8648ecebb84418dc47e3ce7f3a38bce1e9ec316"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 06 23:02:35 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 23:02:35 2017 +0000"
      },
      "message": "Merge \"Close connection before retrying\" into lmp-dev\nam: a8648ecebb\n\nChange-Id: I744fdb979aa2803b53d3ff6f4e3e72f6f1160d74\n"
    },
    {
      "commit": "ec68b46bc85b2317053da7e2933876fc6e51ac2f",
      "tree": "2255e80e732a2b4ea68c50685d1dfc8a3956509f",
      "parents": [
        "811e9d6ee820b84922ff6a9794a91c1ebfa958f2",
        "7a2e4a848602ddb861f9f35cb93edbdca32a7db1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Jun 06 15:48:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 15:48:24 2017 +0000"
      },
      "message": "Merge \"Annotate @SystemApi with required permissions.\" into oc-dev am: c1406978a4\nam: 7a2e4a8486\n\nChange-Id: Ib629e25dbf047c110feaf03e4ff744b5c6df9aeb\n"
    },
    {
      "commit": "7a2e4a848602ddb861f9f35cb93edbdca32a7db1",
      "tree": "99962917a2afd3320cb77a3cdb12d5b96bd4293d",
      "parents": [
        "c382355cc1ab65017e74d7e0d43efe791ca741cd",
        "c1406978a4be2d7462142f6c3b3fcdfaca50ec67"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Jun 05 22:28:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 05 22:28:21 2017 +0000"
      },
      "message": "Merge \"Annotate @SystemApi with required permissions.\" into oc-dev\nam: c1406978a4\n\nChange-Id: I305967cad945a807c3f8234efabaad0ef8b591d1\n"
    }
  ],
  "next": "d86b8fea43ebb6e5c31691b44d8ceb0d8d3c9072"
}
