)]}'
{
  "log": [
    {
      "commit": "8330d5212d4f10e412dbc3ad8eac750f783258df",
      "tree": "1d1f84d1f09edee845354b9c87a4cf5056b3edf8",
      "parents": [
        "a730fd2e64c4242afda295aa9ceb6e9c2ce51082",
        "46143e1262f2588f60370b5d3cf7e9d62505c22e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 23 17:51:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 23 17:51:48 2017 +0000"
      },
      "message": "Merge \"Replace MallocHelper with std::unique_ptr.\""
    },
    {
      "commit": "a730fd2e64c4242afda295aa9ceb6e9c2ce51082",
      "tree": "8e407ab306ae9fbfe9fe8699e8c28932b9f35bca",
      "parents": [
        "a634b38c8e4370ae3b6a2e595009c2526196cf8a",
        "8f2ca410ba5c4cf9f756f9adf14537425696307c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 23 17:42:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 23 17:42:40 2017 +0000"
      },
      "message": "Merge \"Don\u0027t statically link libcrypto in frameworks.\""
    },
    {
      "commit": "a634b38c8e4370ae3b6a2e595009c2526196cf8a",
      "tree": "4cb8bfd4673da0ae3d4116bb7e285ce4deccb3ef",
      "parents": [
        "5a56873612793940ddb9a93a64d5e48929b0d02d",
        "b25a5323586a130121237aa1a9da7ca5aa33468e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 23 10:36:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 23 10:36:02 2017 +0000"
      },
      "message": "Merge \"Rename Binder.destroy() to Binder.destroyBinder().\""
    },
    {
      "commit": "5a56873612793940ddb9a93a64d5e48929b0d02d",
      "tree": "aec4355187929fc356144be67235090d3b590fb5",
      "parents": [
        "8ff8dd16ccbac46be23c503972e7f95900337cbf",
        "553c8c7753eeb80fd8d7912b1ebc990cb8f393f1"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Fri Jun 23 03:17:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 23 03:17:37 2017 +0000"
      },
      "message": "Merge \"Bluetooth: minor documentation fix to de-confuse\""
    },
    {
      "commit": "8ff8dd16ccbac46be23c503972e7f95900337cbf",
      "tree": "31b68d25da36b92f0764c2fad04fe25064406bf0",
      "parents": [
        "a3579d4b8443c37b1102a27acb745710b8777ce2",
        "ed36ba52bf8a7492522fea56106b1f0380ebf7b3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 22 22:10:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 22 22:11:01 2017 +0000"
      },
      "message": "Merge \"ASM Priority Boost Tool\""
    },
    {
      "commit": "a3579d4b8443c37b1102a27acb745710b8777ce2",
      "tree": "e4e74753a8c80686894252a62d9ad4eafd7d625a",
      "parents": [
        "12e0975963b57ae3e20aa5ec999afa7743f4dea2",
        "0153481a22d679818d9eb5ea997bfd967be1c206"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 22 21:23:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 22 21:23:54 2017 +0000"
      },
      "message": "Merge \"Fix code and test related to rules version check\""
    },
    {
      "commit": "8f2ca410ba5c4cf9f756f9adf14537425696307c",
      "tree": "15d55e375823252dc59daa9d42737ce3a118b507",
      "parents": [
        "12e0975963b57ae3e20aa5ec999afa7743f4dea2"
      ],
      "author": {
        "name": "Robert Sloan",
        "email": "varomodt@google.com",
        "time": "Wed Jun 21 16:15:44 2017 -0700"
      },
      "committer": {
        "name": "Rob Sloan",
        "email": "varomodt@google.com",
        "time": "Thu Jun 22 21:16:21 2017 +0000"
      },
      "message": "Don\u0027t statically link libcrypto in frameworks.\n\nThat creates duplicate copies of libcrypto in memory, which confuses\nconscrypt.\n\nTest: CtsLibcoreTestCases\nChange-Id: I3b03d37feb405f14f8495015be7ff768b4347737\nMerged-In: I547bb838befa743d72d356c186ff3cd355736589\n"
    },
    {
      "commit": "ed36ba52bf8a7492522fea56106b1f0380ebf7b3",
      "tree": "4f7a990ab7b0acd9093501fe9c4ad0bfa032ecb5",
      "parents": [
        "156775fea8cccf658b0fe2a3bcf05805062e5104"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Fri May 12 17:31:13 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jun 22 14:00:04 2017 -0700"
      },
      "message": "ASM Priority Boost Tool\n\nThis tool is a replacement for the Jack plugin that allows injection\nof static method calls before lock enter and exit.\n\nA common use case would be to boost a thread\u0027s priority as soon as\nit acquires a heavily contented lock and resetting the priority upon\nrelease.\n\nThis tool is meant to be optionally invoked from /build/core/ rules\nduring the build process.\n\nTest: JUnit Tests / resulting image on a bullhead.\n\nChange-Id: If400414a0bf50f03768a1de2ebee42086a9d701f\nMerged-In: If400414a0bf50f03768a1de2ebee42086a9d701f\n(cherry picked from commit 93db63059ad5e9e1d59c8ce013559069d566ef4c)\n"
    },
    {
      "commit": "553c8c7753eeb80fd8d7912b1ebc990cb8f393f1",
      "tree": "ec645fdd09a7a1167f76dc9573be0957f7483e62",
      "parents": [
        "12e0975963b57ae3e20aa5ec999afa7743f4dea2"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Jan 12 16:00:30 2017 -0800"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Thu Jun 22 20:49:55 2017 +0000"
      },
      "message": "Bluetooth: minor documentation fix to de-confuse\n\nIt was somewhat unclear which is the preferred method of retrieving a\nBluetoothAdapter.  Make it clear that using BluetoothManager is\npreferred, and remove references to the old method in BluetoothManager\ndocs since it is only avaialable in API 18 or higher.\n\nTest: recompile, check that documentation is updated\nFix: 33355430\nChange-Id: Ia20b4e45dca03bc2f13c2ab477799b89c5e14f45\n"
    },
    {
      "commit": "0153481a22d679818d9eb5ea997bfd967be1c206",
      "tree": "571d0aeb8f512bc455e61539ba92e1c4786cbc6a",
      "parents": [
        "ba6b96d9788586e7a4b1560b380263a7d6b085f1"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 22 17:58:02 2017 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 22 21:24:54 2017 +0100"
      },
      "message": "Fix code and test related to rules version check\n\nFix code and test related to an incorrectly implemented\nrules version check.\n\nThis meant that a device could not return the rules version\nit shipped with.\n\nAnother unused (and also confusing) method and\nassociated test is being deleted here.\n\nTo run tests:\nmake -j30 FrameworksServicesTests\nadb install -r -g \\\n  \"out/target/product/angler/data/app/FrameworksServicesTests/FrameworksServicesTests.apk\"\nadb shell am instrument -e package com.android.server.timezone -w \\\n  com.android.frameworks.servicestests \\\n  \"com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\"\n\nTest: See above.\nBug: 31008728\nChange-Id: I31b55e88072dd73055cb3d8cf252be6eac920322\n"
    },
    {
      "commit": "12e0975963b57ae3e20aa5ec999afa7743f4dea2",
      "tree": "0f6efe5f3fc53f0732f73a511a9897611c8a2fb1",
      "parents": [
        "156775fea8cccf658b0fe2a3bcf05805062e5104",
        "76de39e5eb158cdc62e6f4a4800ce7f9bc2f2a25"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 22 18:22:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 22 18:22:09 2017 +0000"
      },
      "message": "Merge \"Add a common call when wrapping an app.\""
    },
    {
      "commit": "156775fea8cccf658b0fe2a3bcf05805062e5104",
      "tree": "f17fafccf21c1fb0351ada95564628ff775fd843",
      "parents": [
        "e74f3adba563d95159916014b21e9463a6c40a07",
        "2a637cf9b0f2c2ebaf573a1f478e31dc1e6a8354"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 22 14:17:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 22 14:17:19 2017 +0000"
      },
      "message": "Merge \"Ensure that android.test tests pass\""
    },
    {
      "commit": "b25a5323586a130121237aa1a9da7ca5aa33468e",
      "tree": "de9752493a6d89003f9f1f637bb0b689f800e368",
      "parents": [
        "8a945baf4acd0eb35c1b894c889fa47c5a73463e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 21 14:40:12 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 22 14:38:23 2017 +0100"
      },
      "message": "Rename Binder.destroy() to Binder.destroyBinder().\n\nThere are a few AIDL-generated stubs that perform \"destroy\"\ntransactions and call \"this.destroy()\". Previously, this\nresolved to the \"destroy()\" method from their interface on\nART while resolving to Binder.destroy() on the RI, though\nthis is a subject of a bug report against the JDK,\n    http://bugs.java.com/bugdatabase/view_bug.do?bug_id\u003d8021581 .\nResolving to the private Binder.destroy, inaccessible to\nthe Stub, would lead to throwing IllegalAccessErrror.\n\nAs we\u0027re changing the method lookup to be closer to RI, see\n    https://android-review.googlesource.com/413119 ,\nwe should stay clear of the problematic cases whether we\nmake a decision to follow the RI precisely or not. Therefore\nwe rename the Binder.destroy() to Binder.destroyBinder().\n\nTest: Nexus 6P boots.\nBug: 62855082\nChange-Id: I43baf76b6f3c681d93b411cecf2bc00fccafecac\n"
    },
    {
      "commit": "2a637cf9b0f2c2ebaf573a1f478e31dc1e6a8354",
      "tree": "f17fafccf21c1fb0351ada95564628ff775fd843",
      "parents": [
        "e74f3adba563d95159916014b21e9463a6c40a07"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 12:52:18 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 12:58:58 2017 +0100"
      },
      "message": "Ensure that android.test tests pass\n\nIt looks as though the tests in test-runner/tests have not actually been\nrun successfully for over 7 years. As a result they have degraded. This\nchange fixes the tests so that they will pass and provides instructions\non how to run them.\n\nTestCaseUtilTest.testGetTestCaseNamesForTestSuiteWithSuiteMethod\n    This fails because it expected 2 names to be returned but only\n    returns 0. The reason for that is although TwoTestsInTestSuite has a\n    Test suite() method that does create a TestSuite with two tests the\n    TestCaseUtil method does not actually call suite(). Instead, because\n    TwoTestsInTestSuite is a TestSuite it just calls the tests() method\n    on it which returns an empty Enumeration because TwoTestsInTestSuite\n    is empty.\n\n    The support for \"static Test suite() {}\" is broken but fixing this\n    will affect the behavior of InstrumentationTestRunner which is used\n    in thousands of different places both in and outside Google and so\n    could cause untold problems.\n\nTestSuiteBuilderTest.testIncludeAllPackagesUnderHere\n    Reformat the list, one per line and then add missing name\n    \"testPublicConstructor\".\n\nErrorTest/FailingTest\n    These tests are not meant to be run on their own, only as part of a\n    separate test. The RunAsPartOfSeparateTest annotation was added to\n    allow these to be excluded using notAnnotation as shown in the\n    instructions for running the tests.\n\nBug: 30188076\nTest: followed new instructions in test-runner/tests/Android.mk\nChange-Id: I60e7bee9cd08a9ab7777a2578fc58da772de5c1f\n"
    },
    {
      "commit": "e74f3adba563d95159916014b21e9463a6c40a07",
      "tree": "12201cd26dde7cb81a8652853d1f9904b652e051",
      "parents": [
        "a88b12ce5e2778081a321ac049aa2ff7fd1c281d",
        "a5c1f7f63a850bb23d18fde4beed75dc70489041"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 22 07:46:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 22 07:46:34 2017 +0000"
      },
      "message": "Merge \"ConnectivityManager: fix style issue\""
    },
    {
      "commit": "a88b12ce5e2778081a321ac049aa2ff7fd1c281d",
      "tree": "71795956eea71d9748027de3bd8c03e20534ac62",
      "parents": [
        "4ff3cf1eca71e61896a6f4a493974113656f3fd5",
        "2db1074e4f747ee71e913cd890d385e563f23b5c"
      ],
      "author": {
        "name": "Joel Scherpelz",
        "email": "jscherpelz@google.com",
        "time": "Thu Jun 22 06:34:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 22 06:34:31 2017 +0000"
      },
      "message": "Merge \"Use RFC 7217 stable privacy addresses\""
    },
    {
      "commit": "2db1074e4f747ee71e913cd890d385e563f23b5c",
      "tree": "71795956eea71d9748027de3bd8c03e20534ac62",
      "parents": [
        "4ff3cf1eca71e61896a6f4a493974113656f3fd5"
      ],
      "author": {
        "name": "Joel Scherpelz",
        "email": "jscherpelz@google.com",
        "time": "Wed Jun 07 15:38:38 2017 +0900"
      },
      "committer": {
        "name": "Joel Scherpelz",
        "email": "jscherpelz@google.com",
        "time": "Thu Jun 22 13:31:06 2017 +0900"
      },
      "message": "Use RFC 7217 stable privacy addresses\n\nAsk Netd to setup WiFi interfaces to use stable privacy addresses. This\nshould fail benignly on devices with kernels lacking RFC 7217 support.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - Manually observed persistent stable secret\n    - Manually observed randomized IPv6 addresses (with flags \u003d 800)\nBug: 17613910\n\nChange-Id: I9465de16685b1eb0fd842446a530cf98d77a0c28\n"
    },
    {
      "commit": "76de39e5eb158cdc62e6f4a4800ce7f9bc2f2a25",
      "tree": "db8b83d1f27530bd74ce2dbff9ed57114107f1ae",
      "parents": [
        "4ff3cf1eca71e61896a6f4a493974113656f3fd5"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jun 20 16:13:40 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 21 17:19:45 2017 -0700"
      },
      "message": "Add a common call when wrapping an app.\n\nWhen an application is wrapped using setprop wrap.\u003capplication\u003e, it\ndoesn\u0027t set the special zygote flag, or make the mallopt call. This\nmeans that a wrapped application will behave differently, and not\nbe able to track zygote native allocations versus app native allocations.\n\nThis CL adds a nativePreApplicationInit call that is used after the\nZygote is forked, and when a wrapped application is called.\n\nBug: 62068500\n\nTest: Booted sailfish system. Verified that the zygote has not called\nTest: the new function. Verified the function is called when a wrapper\nTest: is used. Verified the function is called when the Zygote forks\nTest: a process.\nChange-Id: I392e1b5429be77def63f7815b072d68e9408cc7f\n(cherry picked from commit 2980de4a59db048851fbbac9cd847a96a12fa4ec)\n"
    },
    {
      "commit": "46143e1262f2588f60370b5d3cf7e9d62505c22e",
      "tree": "32ac8bd413d4d8bb48816be7b10630303d0d42cc",
      "parents": [
        "01dcf54e9a0a77bdfb9694b1c40626c1bebc2168"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 21 11:52:35 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 21 11:56:58 2017 -0700"
      },
      "message": "Replace MallocHelper with std::unique_ptr.\n\nObviously this code could be cleaned up more, but I doubt anyone wants to.\nMinimal change to remove MallocHelper.\n\nBug: https://issuetracker.google.com/36982134\nTest: builds, boots\nChange-Id: I138739c281cc2ad9723d1eea3546bf5c797ade90\n"
    },
    {
      "commit": "4ff3cf1eca71e61896a6f4a493974113656f3fd5",
      "tree": "0091d0cbd4e82fa463d0fb1068beeb6920a2831b",
      "parents": [
        "01dcf54e9a0a77bdfb9694b1c40626c1bebc2168",
        "1c6027c156c1e0ffbadcef3415d46c27116881dd"
      ],
      "author": {
        "name": "Chen Xu",
        "email": "fionaxu@google.com",
        "time": "Wed Jun 21 17:21:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 17:21:40 2017 +0000"
      },
      "message": "Merge \"migrate roaming operator configs to carrierconfig\""
    },
    {
      "commit": "1c6027c156c1e0ffbadcef3415d46c27116881dd",
      "tree": "1d3b62edf166abf2923e8bd1c09ddfe6248f7a54",
      "parents": [
        "1bfccadc81dfdaccab231c53bdb3c1d90b7fdfc4"
      ],
      "author": {
        "name": "fionaxu",
        "email": "fionaxu@google.com",
        "time": "Thu Jun 01 18:52:17 2017 -0700"
      },
      "committer": {
        "name": "Chen Xu",
        "email": "fionaxu@google.com",
        "time": "Wed Jun 21 17:18:38 2017 +0000"
      },
      "message": "migrate roaming operator configs to carrierconfig\n\nBug:37885668\nTest:runtest --path\npackages/apps/CarrierConfig/tests/src/com/android/carrierconfig/CarrierConfigTest.java\nChange-Id: Ic669581243a7a640f9ac1b5155954514168cd14b\nMerged-In: Ic669581243a7a640f9ac1b5155954514168cd14b\n"
    },
    {
      "commit": "01dcf54e9a0a77bdfb9694b1c40626c1bebc2168",
      "tree": "118c15632d66022069f7ec32160b104c6b4bad55",
      "parents": [
        "0e4f1358d6b2a1b321f8deaded61643eed908abb",
        "e2e557976f1d68bf4d6a147ec484e5455f15eeef"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 21 09:03:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 09:03:29 2017 +0000"
      },
      "message": "Merge \"Cleanup a.t.TestGrouping\""
    },
    {
      "commit": "0e4f1358d6b2a1b321f8deaded61643eed908abb",
      "tree": "848f4fa13bfa9fb8ec2b9e4842ff4825abd76b0b",
      "parents": [
        "9d5576e081f74d6b77d9d98c96534c82298f6e44",
        "44c717386d0aaacfdc19cf4786cd0f44f3a935fd"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 07:46:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 07:46:41 2017 +0000"
      },
      "message": "Merge \"Remove unused a.t.InstrumentationUtils\""
    },
    {
      "commit": "9d5576e081f74d6b77d9d98c96534c82298f6e44",
      "tree": "bf1f5dc8f48f47bacd2600b912be087b347d69dc",
      "parents": [
        "1935dce8ebdf888013dfb310528f66b26ae44840",
        "575f9da647c2006d3e895adb2c418b51e50d3d63"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 07:46:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 07:46:05 2017 +0000"
      },
      "message": "Merge \"Cleanup a.t.InstrumentationTestRunner\""
    },
    {
      "commit": "1935dce8ebdf888013dfb310528f66b26ae44840",
      "tree": "8e9888fb00e5a065744a1eaf4f859428a4daf317",
      "parents": [
        "3724e7e5e92f1bbaf3aea0d72ae1359c5a755d13",
        "4f1dbfed97ed482110dea1d606809dcd4355105b"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 07:46:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 07:46:03 2017 +0000"
      },
      "message": "Merge \"Remove unused a.t.s.InstrumentationTestSuiteBuilder\""
    },
    {
      "commit": "3724e7e5e92f1bbaf3aea0d72ae1359c5a755d13",
      "tree": "53cc89a126ec7457c9187396963fdc5318a8fb9c",
      "parents": [
        "ecbe6fa147a38369c2309c1b6fb7d7313d9ca320",
        "20fb642a5c9a34d2ec6d18d856e07305b1f4181e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 07:46:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 07:46:00 2017 +0000"
      },
      "message": "Merge \"Remove unused android.test.DatabaseTestUtils\""
    },
    {
      "commit": "ecbe6fa147a38369c2309c1b6fb7d7313d9ca320",
      "tree": "79bbbdfb82863d05bd64a7604c893d1e6fbd381e",
      "parents": [
        "1bfccadc81dfdaccab231c53bdb3c1d90b7fdfc4",
        "0e61baa0ac83e580429217f8394e1790d6510158"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 21 07:06:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 07:06:49 2017 +0000"
      },
      "message": "Merge \"Always allow Ethernet to be an upstream\""
    },
    {
      "commit": "0e61baa0ac83e580429217f8394e1790d6510158",
      "tree": "79bbbdfb82863d05bd64a7604c893d1e6fbd381e",
      "parents": [
        "1bfccadc81dfdaccab231c53bdb3c1d90b7fdfc4"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Mar 09 11:44:11 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Jun 21 14:03:03 2017 +0900"
      },
      "message": "Always allow Ethernet to be an upstream\n\nIf there are any upstream types defined at all, make sure that\neither TYPE_ETHERNET is included somewhere within the sorted list\nor force it to be at the front.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 32163131\nBug: 36076442\nChange-Id: Ie61d1358f73d518de23f6ca48ca2765ca14a1067\n"
    },
    {
      "commit": "1bfccadc81dfdaccab231c53bdb3c1d90b7fdfc4",
      "tree": "d0c4db73e9751a4b753a743b3c758f307fa79bd4",
      "parents": [
        "ba6b96d9788586e7a4b1560b380263a7d6b085f1",
        "57d5b8d02d29fae063794c3515ea33cf4cd84304"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 20 14:44:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 20 14:44:58 2017 +0000"
      },
      "message": "Merge \"Remove unused a.t.InstrumentationCoreTestRunner\""
    },
    {
      "commit": "e2e557976f1d68bf4d6a147ec484e5455f15eeef",
      "tree": "22b1af76216a1465201e9a1b91aa9f1e13c4ee49",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:53:48 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 15:29:57 2017 +0100"
      },
      "message": "Cleanup a.t.TestGrouping\n\nTestGrouping is not part of the API but is used by classes that are and\nso will need to be included in the static library we ship as part of the\nSDK. As that library will be built directly from the source (as opposed\nto android.jar which is built from stubs) developers will be able to see\nclasses and methods that are hidden and so not present in the stubs.\n\nThis change makes TestGrouping and its members as inaccessible as\npossible. Unused methods and fields were removed and the TestGrouping\nclass was simplified by passing the ClassLoader into the constructor,\ninitializing the classLoader, making the classLoader field final,\nand removing the setClassLoader(ClassLoader) method.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ie0545b1a61b74cdbc78667417f360b5197e2e128\n"
    },
    {
      "commit": "44c717386d0aaacfdc19cf4786cd0f44f3a935fd",
      "tree": "24edbc9099ff67c9c40768e0e0f13a7c05b670b9",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:04:27 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 15:02:57 2017 +0100"
      },
      "message": "Remove unused a.t.InstrumentationUtils\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ia06e4ae77f2c0ca341ef7c04f5f32bdd6a06d59c\n"
    },
    {
      "commit": "575f9da647c2006d3e895adb2c418b51e50d3d63",
      "tree": "39b7eff77e5d97c348f4075828a84f30d7c4671b",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:41:20 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 15:02:38 2017 +0100"
      },
      "message": "Cleanup a.t.InstrumentationTestRunner\n\nARGUMENT_TEST_CLASS, ARGUMENT_TEST_PACKAGE, ARGUMENT_TEST_SIZE_PREDICATE\nand ARGUMENT_DELAY_MSEC were made package private because they are not\npart of the API and are only used from within the same package.\n\nThe JavaDoc comment was changed to a multi-line comment because it is\nnot and should not be associated with any member.\n\nFixed a couple of minor JavaDoc issues.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: If28460aec2fd0080e0f5346a83abae393b7a9fb2\n"
    },
    {
      "commit": "4f1dbfed97ed482110dea1d606809dcd4355105b",
      "tree": "85c210535f6dc287c799c8230401151b27ff52ee",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:03:28 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 15:01:36 2017 +0100"
      },
      "message": "Remove unused a.t.s.InstrumentationTestSuiteBuilder\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I30514123c077e6047227f888f5f1a20e71ee1988\n"
    },
    {
      "commit": "57d5b8d02d29fae063794c3515ea33cf4cd84304",
      "tree": "f62e6d28055c4a3b688cecddd5df534bb275f3b5",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 11:05:25 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:58:33 2017 +0100"
      },
      "message": "Remove unused a.t.InstrumentationCoreTestRunner\n\nThe only usage of this was in the unused\ncts/tests/vm-tests-tf/AndroidManifest.xml which was deleted in\nhttps://android-review.googlesource.com/#/c/418900/.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I96f3586a7017f4cd14fa31207e0fff19c92f0de4\n"
    },
    {
      "commit": "20fb642a5c9a34d2ec6d18d856e07305b1f4181e",
      "tree": "bdab134a95b171e4681a16595b380feab4ab441c",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:00:03 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:00:03 2017 +0100"
      },
      "message": "Remove unused android.test.DatabaseTestUtils\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I11b1a3b90b9d17af9278ec8b28483eee01b75e81\n"
    },
    {
      "commit": "ba6b96d9788586e7a4b1560b380263a7d6b085f1",
      "tree": "76e920507c370f7020f38e00e6ec649ddcf1cde7",
      "parents": [
        "51ee00785c070edb4609ec5496e690a9f4ebc871",
        "fe3b1182c5e98018dca6a1093bd5983b9620b5a1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 20 12:06:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 20 12:06:32 2017 +0000"
      },
      "message": "Merge \"Track TimeZoneDistroInstaller method changes\""
    },
    {
      "commit": "51ee00785c070edb4609ec5496e690a9f4ebc871",
      "tree": "2de150ac876710d5df91433b332d743d7fda5e3c",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22",
        "41531e267d7bb8bb5a0fe36555741c17d9d21c27"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jun 20 11:01:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 20 11:01:16 2017 +0000"
      },
      "message": "Merge \"Create a TetherInterfaceStateMachine when told the interface name.\""
    },
    {
      "commit": "41531e267d7bb8bb5a0fe36555741c17d9d21c27",
      "tree": "4a19e8e1a6f584a13952a6a061cca90f16ded3b0",
      "parents": [
        "778ade9073ee5c0e4e5f1dffc7479cc720dcdff4"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jun 20 17:18:27 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jun 20 17:28:55 2017 +0900"
      },
      "message": "Create a TetherInterfaceStateMachine when told the interface name.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 32163131\nBug: 62343300\n\nChange-Id: I93f3bdcf20dc4f03cd621d7ab6066344642550e3\n"
    },
    {
      "commit": "a5c1f7f63a850bb23d18fde4beed75dc70489041",
      "tree": "0b5f99893826634ecd7615a818f190f6a49a82b0",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Jun 20 14:10:14 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Jun 20 14:11:57 2017 +0900"
      },
      "message": "ConnectivityManager: fix style issue\n\nSimple style fix flagged by linter.\n\nTest: no functional change.\nChange-Id: I2cb19912cba149eeaffdd157616d210259d42959\n"
    },
    {
      "commit": "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22",
      "tree": "dd84380599a40d13419272f4dee3b9a82b145acd",
      "parents": [
        "04e89ad63172cc15ed41d20cb9f4dec2dfa1b8e5",
        "605b295011be74c786a2eef586d31ccb07160422"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Jun 20 05:04:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 20 05:04:02 2017 +0000"
      },
      "message": "Merge \"CaptivePortalLogin correctly unregisters callbacks\""
    },
    {
      "commit": "04e89ad63172cc15ed41d20cb9f4dec2dfa1b8e5",
      "tree": "6840f75acd1c5e5594c24e203e21227268e83418",
      "parents": [
        "778ade9073ee5c0e4e5f1dffc7479cc720dcdff4",
        "31c176d91068934f5b79125afa3b5ce0f44dbe8f"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Jun 20 05:03:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 20 05:03:24 2017 +0000"
      },
      "message": "Merge \"Better errors from unregisterNetworkCallback\""
    },
    {
      "commit": "778ade9073ee5c0e4e5f1dffc7479cc720dcdff4",
      "tree": "47128711a7bb0167029500db58ff80ec05cef0f3",
      "parents": [
        "b6dde12ef0cd9bfae5f0910785411a04c88e1dd3",
        "0c913bac46b64bd0ce1a0ee87beaeb4cf40af5c1"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Jun 20 00:47:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 20 00:47:57 2017 +0000"
      },
      "message": "Merge \"DO NOT MERGE Instrument captive portal login activity\""
    },
    {
      "commit": "b6dde12ef0cd9bfae5f0910785411a04c88e1dd3",
      "tree": "760834ddcb99f7344fc95c49405e8fe0a637436c",
      "parents": [
        "e601160a9697bf836e425459e5d804d39457741f",
        "56bdb8ae96f6d11d0c6d3ef3a47b5d8fe2981364"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 19 21:55:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 19 21:55:05 2017 +0000"
      },
      "message": "Merge \"Add an extra level of indirection to make sure that native IHwBinder\""
    },
    {
      "commit": "e601160a9697bf836e425459e5d804d39457741f",
      "tree": "eb8605eb69885ea11771b0b839fbd0744072ee83",
      "parents": [
        "42b157886792745f9f1011b92726c7756876bbe2",
        "727a05b23e4c5bcfba4ce8b8c1eaaa078122735d"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Jun 19 19:53:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 19 19:53:41 2017 +0000"
      },
      "message": "Merge changes from topics \u0027embms-init-fix\u0027, \u0027embms-download-2\u0027\n\n* changes:\n  Add callback for initialization done\n  Embms download part 2\n"
    },
    {
      "commit": "42b157886792745f9f1011b92726c7756876bbe2",
      "tree": "595ccacc6418561b45fe016c9814775fca4bd8e4",
      "parents": [
        "1dae9a4709642fda47dc79f8e760af9934427d60",
        "2489b415ff8ec87a4c89f4b16e8d7b2901cd6b3d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 19 19:17:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 19 19:17:39 2017 +0000"
      },
      "message": "Merge \"Remove legacy advertiser from map after it\u0027s no longer used\""
    },
    {
      "commit": "56bdb8ae96f6d11d0c6d3ef3a47b5d8fe2981364",
      "tree": "2bbe804735c5243990c3dffe196061eb5c2351db",
      "parents": [
        "1dae9a4709642fda47dc79f8e760af9934427d60"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jun 16 14:56:12 2017 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 19 11:39:28 2017 -0700"
      },
      "message": "Add an extra level of indirection to make sure that native IHwBinder\n\nobjects, while alive, maintain a strong reference to their Java\ncounterpart.\n\nBug: 33042939\nTest: hidl_test_java\nChange-Id: I69179772b3218705e9ef46cbb10b21b6473280d6\n"
    },
    {
      "commit": "2489b415ff8ec87a4c89f4b16e8d7b2901cd6b3d",
      "tree": "595ccacc6418561b45fe016c9814775fca4bd8e4",
      "parents": [
        "1dae9a4709642fda47dc79f8e760af9934427d60"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Tue Jun 13 18:59:07 2017 -0700"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Mon Jun 19 17:33:16 2017 +0000"
      },
      "message": "Remove legacy advertiser from map after it\u0027s no longer used\n\nTest: manual\nBug: 62597369\nChange-Id: Ief1e1b054f29b59b1ed72514b138d4f209f9847a\n"
    },
    {
      "commit": "fe3b1182c5e98018dca6a1093bd5983b9620b5a1",
      "tree": "eb9510583bdb63253f3f6b43c351dee0d5853a17",
      "parents": [
        "1dae9a4709642fda47dc79f8e760af9934427d60"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jun 19 12:56:08 2017 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jun 19 18:26:46 2017 +0100"
      },
      "message": "Track TimeZoneDistroInstaller method changes\n\nThe TimeZoneDistroInstaller now takes a TimeZoneDistro object\nnot bytes, which will help to hide whether the distro is in memory\nor in storage. See the associated libcore change for details.\n\nTo run tests:\nmake -j30 FrameworksServicesTests\nadb install -r -g\n  \"out/target/product/angler/data/app/FrameworksServicesTests/FrameworksServicesTests.apk\"\nadb shell am instrument -e package com.android.server.timezone -w\n  com.android.frameworks.servicestests \\\n  \"com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\"\n\nTest: See above.\nBug: 31008728\n\nChange-Id: Ieead1bb87b9ae196abab93342ba5c5747ca45116\n"
    },
    {
      "commit": "605b295011be74c786a2eef586d31ccb07160422",
      "tree": "1b4b4c495b7c942a6d5d4aa60448e5dc96939c54",
      "parents": [
        "31c176d91068934f5b79125afa3b5ce0f44dbe8f"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sat Jun 17 12:47:33 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Jun 19 22:17:27 2017 +0900"
      },
      "message": "CaptivePortalLogin correctly unregisters callbacks\n\nThe NetworkCallback registered by the CaptivePortalLogin activity in\nonCreate was unregistered in both onDestroy() and done(). In addition\ndone() can be called concurrently from different places (from the\nwebview, from the captive portal test probe, from the activity menu),\nresulting in incorrectly unregistering the callback more than once.\n\nThis patch fixes the lifecycle management of the NetworkCallback\nregistered by the CaptivePortalLogin activity so that it is unregistered\nonce only in onDestroy.\n\nIn addition the done() method is made robust against multiple calls and\nbecomes a no-op after the first call. This avoids multiple calls\nto CaptivePortal for the same captive portal.\n\nBug: 62497809\nTest: tested manually with captive portal setup in the office\nChange-Id: I77fbeb55cf91d3b44e91d2fecb800dae40279652\n"
    },
    {
      "commit": "31c176d91068934f5b79125afa3b5ce0f44dbe8f",
      "tree": "24d48ba9a09d64d1f3f153b00933fb01f638d17b",
      "parents": [
        "0c913bac46b64bd0ce1a0ee87beaeb4cf40af5c1"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sat Jun 17 13:14:12 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Jun 19 22:11:50 2017 +0900"
      },
      "message": "Better errors from unregisterNetworkCallback\n\nThis patch changes the validation of unregisterNetworkCallback in\nConnectivityManager so that the caller can better distinguish the case\nof a callback that was never registered from the case of a callback that\nhas already been unregistered.\n\nBug: 62497809\nTest: runtest frameworks-net passes\nChange-Id: I58eda22725dd4e67dc4b64207e38cf482032df10\n"
    },
    {
      "commit": "0c913bac46b64bd0ce1a0ee87beaeb4cf40af5c1",
      "tree": "abfdd3c117fff234bbe1583688ca4c555ac86a70",
      "parents": [
        "b5c4e80ecd47dda8c73b0e93eb2ee1a8da58c981"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Jun 05 14:52:24 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Jun 19 22:10:37 2017 +0900"
      },
      "message": "DO NOT MERGE Instrument captive portal login activity\n\nAlso add CAPTIVE_PORTAL_LOGIN_ACTIVITY_SSL_ERROR constants to\nmetrics_constants.proto for counting ssl error pages shown by the\ncaptive portal login activity.\n\nBug: 36203355\nBug: 34901696\nBug: 36532213\nTest: manually tested with captive portal testing setup while watching\n      event logs: adb logcat -b events | grep captiveportallogin\n        06-08 16:25:20.279 21558 21558 I sysui_action: [1004,com.android.captiveportallogin]\n        06-08 17:01:04.052 21558 21558 I sysui_action: [1007,com.android.captiveportallogin]\n\nMerged-In: Ia05853506d424ad4cb2c11770ae7718fbef3f01c\n\n(cherry picked from commit c61dc92fc0619d101c4b789f6305012701cc47a0)\n(cherry picked with DO NOT MERGE because oc-dev-plus-aosp already\ncontains a version of this commit compatible with proto2).\n\nChange-Id: I55ea3c61842f16bf6a98e812fb6dc940f96f895c\n"
    },
    {
      "commit": "1dae9a4709642fda47dc79f8e760af9934427d60",
      "tree": "06ef6327554ddda70607fb8c0c3460b5f6a790f1",
      "parents": [
        "663b02dd284a60fb3cc5266adaa1db535025a8fe",
        "dd4d5820344205085c19dc142aec252ea9ac220b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 19 13:00:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 19 13:00:38 2017 +0000"
      },
      "message": "Merge \"Make interface IP serving code set LinkProperties\""
    },
    {
      "commit": "663b02dd284a60fb3cc5266adaa1db535025a8fe",
      "tree": "9954d2cbdfa8ceba08d32bcaf3355fe5123ccc38",
      "parents": [
        "b5c4e80ecd47dda8c73b0e93eb2ee1a8da58c981",
        "68ae301831b372ee873d275efdcc8f177e4c571f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 19 11:29:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 19 11:30:05 2017 +0000"
      },
      "message": "Merge \"Documentation: changed tid parameter description for getThreadPriority()\""
    },
    {
      "commit": "68ae301831b372ee873d275efdcc8f177e4c571f",
      "tree": "9954d2cbdfa8ceba08d32bcaf3355fe5123ccc38",
      "parents": [
        "b5c4e80ecd47dda8c73b0e93eb2ee1a8da58c981"
      ],
      "author": {
        "name": "Alessio Balsini",
        "email": "alessio.balsini@gmail.com",
        "time": "Wed Jun 07 11:41:33 2017 +0200"
      },
      "committer": {
        "name": "Alessio Balsini",
        "email": "alessio.balsini@gmail.com",
        "time": "Mon Jun 19 08:48:14 2017 +0000"
      },
      "message": "Documentation: changed tid parameter description for getThreadPriority()\n\nWrong description of the \"tid\" parameter used by getThreadPriority():\nthe function does not \"change\" the priority of the thread associated to \n\"tid\".\nDefined also the meaning of setting tid parameter to 0.\n\n\nTest: None\n\nChange-Id: I8552f3b110eaab1aefa51477e82d3e295547be34\nSigned-off-by: Alessio Balsini \u003calessio.balsini@gmail.com\u003e\n"
    },
    {
      "commit": "dd4d5820344205085c19dc142aec252ea9ac220b",
      "tree": "7ecf1a7ecb5b6d93c2d5b92f26d219e25fcbed62",
      "parents": [
        "b5c4e80ecd47dda8c73b0e93eb2ee1a8da58c981"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jun 12 18:20:08 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jun 19 15:51:50 2017 +0900"
      },
      "message": "Make interface IP serving code set LinkProperties\n\nAdditionally, clean up awkward IPv6TetheringInterfaceServices\ninstantiation mechanics.  In future, this class will be absorbed\nby TetherInterfaceStateMachine (prior to its renaming to IpServer).\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 29337859\nBug: 32163131\n\nChange-Id: Ib620e3df182f9f8e2c019aae1cd8981eb0b29376\n"
    },
    {
      "commit": "727a05b23e4c5bcfba4ce8b8c1eaaa078122735d",
      "tree": "37269aca8779e71891b2be51a4431037d3ba77e3",
      "parents": [
        "fcbf24075dca399bbe94979aef770b4aef705db4"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri Jun 16 14:59:57 2017 -0700"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri Jun 16 18:58:57 2017 -0700"
      },
      "message": "Add callback for initialization done\n\nAdd callback for initialization done in the framework, and listen to it\nin the testapps. Make initialization asynchronous as well for both\ndownload and streaming.\n\nChange-Id: Iea7f803df9d2752401b2eca9f6c7375007cac35e\n"
    },
    {
      "commit": "b5c4e80ecd47dda8c73b0e93eb2ee1a8da58c981",
      "tree": "8a5657836c7c0c9533a46b88d8cbb58518f20fd3",
      "parents": [
        "7d136b777a71c816f4e7fc77be50a2aa56fb4322",
        "d3375090aa3694d70d39590f1480ccd9b1eb48ae"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jun 17 01:25:12 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 17 01:25:15 2017 +0000"
      },
      "message": "Merge \"Simplify NfcCommand and avoid NullPointerExceptions\""
    },
    {
      "commit": "fcbf24075dca399bbe94979aef770b4aef705db4",
      "tree": "34baa3e62887a5548551596f8f64cb0d72d9e992",
      "parents": [
        "6f029bbc8272531972d02bd5f8b93446825d3cf0"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Wed Jun 07 13:57:11 2017 -0700"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri Jun 16 18:10:50 2017 -0700"
      },
      "message": "Embms download part 2\n\nAdd support for multi-part file downloads.\nImproves destination directory handling in the download process.\n\nChange-Id: Ibad57bab8804530ce09305424790d5520cd02071\n"
    },
    {
      "commit": "7d136b777a71c816f4e7fc77be50a2aa56fb4322",
      "tree": "fb0c125cc4509d02fc96c221d4fbf860c5ec46a5",
      "parents": [
        "2ed8b06173c21869b99d4285d289e59af3dff749",
        "4794e7efdf1020a89e7800c1b666695f9bf55dbd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 16 23:28:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 16 23:28:25 2017 +0000"
      },
      "message": "Merge \"Add a svc command for enabling/disabling Bluetooth\""
    },
    {
      "commit": "4794e7efdf1020a89e7800c1b666695f9bf55dbd",
      "tree": "fb0c125cc4509d02fc96c221d4fbf860c5ec46a5",
      "parents": [
        "2ed8b06173c21869b99d4285d289e59af3dff749"
      ],
      "author": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Tue Jun 13 11:42:36 2017 -0700"
      },
      "committer": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Fri Jun 16 23:10:38 2017 +0000"
      },
      "message": "Add a svc command for enabling/disabling Bluetooth\n\nBug: 62067926\nTest: svc bluetooth disable\n      svc bluetooth enable\nChange-Id: I9a53d7ab1805df98d8cf1292cf1061eacc14655d\n"
    },
    {
      "commit": "2ed8b06173c21869b99d4285d289e59af3dff749",
      "tree": "73af2db4839039b97b418369e347c8db9f198b50",
      "parents": [
        "5ac7a03f9f4bb9f2222ce37ff4101aaa8787353c",
        "a6a71d0cd57d9f01605d0177032cd6bd1f4555f7"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Jun 16 14:37:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 16 14:37:18 2017 +0000"
      },
      "message": "Merge \"Track movement of some libcore/tzdata files\""
    },
    {
      "commit": "5ac7a03f9f4bb9f2222ce37ff4101aaa8787353c",
      "tree": "faf40b184568b5accf41142d1d87a707c88be45c",
      "parents": [
        "8a945baf4acd0eb35c1b894c889fa47c5a73463e",
        "664d208a23be1bc6a0b1d6efdf62b711885394bc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 16 13:49:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 16 13:49:59 2017 +0000"
      },
      "message": "Merge \"Fixes for tetheroffload crashes\""
    },
    {
      "commit": "664d208a23be1bc6a0b1d6efdf62b711885394bc",
      "tree": "faf40b184568b5accf41142d1d87a707c88be45c",
      "parents": [
        "8a945baf4acd0eb35c1b894c889fa47c5a73463e"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Jun 15 18:06:34 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Jun 16 21:11:39 2017 +0900"
      },
      "message": "Fixes for tetheroffload crashes\n\nNow that we can talk to the HALs (with some out of tree CLs and\n\"setenforce 0\"), several crashes were encountered.\n\nFixes here include:\n    - avoid hidl_handle move semantics\n    - check HIDL method status return value (isOk())\n    - convert Java short port numbers to ints\n    - don\u0027t pass nulls to HIDL where Strings are required\n      (limitations in parceling)\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\n    - \"setenforce 0\" and start tethering\nBug: 29337859\nBug: 32163131\n\nMerged-In: I5fa930be0c9eda491cf17bd4de9b55ab33672d25\nMerged-In: Id1037d22826f4d426bccfa17dce0962c54518d64\nChange-Id: I91314440c3a04e5f2502579b5f06dac9f25cf0cd\n(cherry picked from commit 1185459c4169891bd7550655218e738c8bf1abe2)\n"
    },
    {
      "commit": "a6a71d0cd57d9f01605d0177032cd6bd1f4555f7",
      "tree": "09419ce378b96946f4b65ddb6125ab103c7b649a",
      "parents": [
        "6f029bbc8272531972d02bd5f8b93446825d3cf0"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 13 15:12:17 2017 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Jun 16 11:56:31 2017 +0000"
      },
      "message": "Track movement of some libcore/tzdata files\n\nSome files in libcore/tzdata are moving to system/timezone\nunder the package com.android.timezone.distro.\n\nTo run tests:\nmake -j30 FrameworksServicesTests\nadb install -r -g \"out/target/product/angler/data/app/FrameworksServicesTests/FrameworksServicesTests.apk\"\nadb shell am instrument -e package com.android.server.timezone -w com.android.frameworks.servicestests \\\n        \"com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\"\n\nTest: See above.\nBug: 31008728\nMerged-In: I2600dd4bee22a571b9eb7303733591b60d1a8b2a\nChange-Id: I2600dd4bee22a571b9eb7303733591b60d1a8b2a\n"
    },
    {
      "commit": "8a945baf4acd0eb35c1b894c889fa47c5a73463e",
      "tree": "edb02e58f41adafa382615225cc1c64297a8164e",
      "parents": [
        "3890689bb29543f8297f0b5bc9933739a4225daa",
        "d1235f54d4943a0a3a920013a5875b5193bd0490"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 15 23:32:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 23:32:59 2017 +0000"
      },
      "message": "Merge \"When updating a split app, copy compiled files from base.apk only.\""
    },
    {
      "commit": "d3375090aa3694d70d39590f1480ccd9b1eb48ae",
      "tree": "156ffb2b3c8b658297a2a441e6d8737bb671fc67",
      "parents": [
        "3890689bb29543f8297f0b5bc9933739a4225daa"
      ],
      "author": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Tue Jun 13 16:07:32 2017 -0700"
      },
      "committer": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Thu Jun 15 21:12:14 2017 +0000"
      },
      "message": "Simplify NfcCommand and avoid NullPointerExceptions\n\nTest: adb root\n      adb shell\n      stop\n      svc nfc enable\n      start\n      svc nfc disable\n\nChange-Id: Ie5170f0525f8830d1d80b5607191ce95e78a55ae\n"
    },
    {
      "commit": "3890689bb29543f8297f0b5bc9933739a4225daa",
      "tree": "58885747c8f0de4c3f29470bce4356be796b3225",
      "parents": [
        "13ade8f910819e7b6e043515fdcb414bfed2b035",
        "26439f5616be0f7894ed37e6952b3a6841d3b164"
      ],
      "author": {
        "name": "Ying Xu",
        "email": "yinxu@google.com",
        "time": "Thu Jun 15 16:50:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 16:50:11 2017 +0000"
      },
      "message": "Merge \"Use java.util.Objects.hashCode to get hashcode.\""
    },
    {
      "commit": "13ade8f910819e7b6e043515fdcb414bfed2b035",
      "tree": "b62e8725adf5ca4a0fc61b7754e5ea75aad29538",
      "parents": [
        "6f029bbc8272531972d02bd5f8b93446825d3cf0",
        "8f7c40c83430edd3b72aafaf6f71b2f084fe7f27"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu Jun 15 15:21:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 15:21:39 2017 +0000"
      },
      "message": "Merge \"NfcTile: make sure NFC adapter is always available when needed\""
    },
    {
      "commit": "8f7c40c83430edd3b72aafaf6f71b2f084fe7f27",
      "tree": "b62e8725adf5ca4a0fc61b7754e5ea75aad29538",
      "parents": [
        "6f029bbc8272531972d02bd5f8b93446825d3cf0"
      ],
      "author": {
        "name": "Anas Karbila",
        "email": "anaskarbila@gmail.com",
        "time": "Thu Jun 15 22:36:53 2017 +0900"
      },
      "committer": {
        "name": "Anas Karbila",
        "email": "anaskarbila@gmail.com",
        "time": "Thu Jun 15 22:42:00 2017 +0900"
      },
      "message": "NfcTile: make sure NFC adapter is always available when needed\n\nTest: enable NFC-\u003ereboot-\u003edirectly open QS panel, NFC tile will show disabled state. This commit fixes it.\n\nChange-Id: Iabbe4ec11a38614b9c65627d58c6ee9ec93435f3\n"
    },
    {
      "commit": "26439f5616be0f7894ed37e6952b3a6841d3b164",
      "tree": "e61d203a779849cf4de950cd7aa5d7a3b68b6ddc",
      "parents": [
        "6f029bbc8272531972d02bd5f8b93446825d3cf0"
      ],
      "author": {
        "name": "yinxu",
        "email": "yinxu@google.com",
        "time": "Wed Jun 14 10:31:40 2017 -0700"
      },
      "committer": {
        "name": "yinxu",
        "email": "yinxu@google.com",
        "time": "Wed Jun 14 10:54:05 2017 -0700"
      },
      "message": "Use java.util.Objects.hashCode to get hashcode.\n\nTest: Telephony sanity tests\nChange-Id: I8b845f2e5e44b242278b8955807d1b40e67e1414\n"
    },
    {
      "commit": "6f029bbc8272531972d02bd5f8b93446825d3cf0",
      "tree": "538500387be99d4ae436dd234ee28a31507538a0",
      "parents": [
        "70373f79282bf4bb7868bf234f80a047f71de470",
        "94ae4c99c5a0d580f5898d480e1e1d08a292d060"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 14 10:11:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 14 10:12:00 2017 +0000"
      },
      "message": "Merge \"Merge IPv6TetheringInterfaceServices into TetherInterfaceStateMachine\""
    },
    {
      "commit": "70373f79282bf4bb7868bf234f80a047f71de470",
      "tree": "4ad9bae4ce56ebf5db22f3ebea4407ae4b07c58c",
      "parents": [
        "6b70eafae166fa1a44c02bfb91650f29dcece74a",
        "a88d1990b7482d94f20f2ba3d04a8eea8543e22d"
      ],
      "author": {
        "name": "Ying Xu",
        "email": "yinxu@google.com",
        "time": "Wed Jun 14 02:16:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 14 02:16:52 2017 +0000"
      },
      "message": "Merge \"Adds error codes and maximum RAN/Bands/Channels\""
    },
    {
      "commit": "6b70eafae166fa1a44c02bfb91650f29dcece74a",
      "tree": "57356242d4287bea3b603793bba65b5658aa827f",
      "parents": [
        "a0974dbc0f985ed1f04037cc99b3b2e81644629d",
        "3a84a23f36f85f5a16503d3d220358175582f83b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 13 21:49:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 21:49:49 2017 +0000"
      },
      "message": "Merge \"Do not CloseGuard KernelID or FieldID\""
    },
    {
      "commit": "a0974dbc0f985ed1f04037cc99b3b2e81644629d",
      "tree": "e09a5c9d834ab895b958ef57490c286abb3ade5a",
      "parents": [
        "b124bea78224509135a4768c24ec8e8ae75872fb",
        "3d98911973a1f221e2f433d1f31185e117dcb02b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jun 13 20:38:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 20:38:51 2017 +0000"
      },
      "message": "Merge \"Add updateMethod callback\""
    },
    {
      "commit": "b124bea78224509135a4768c24ec8e8ae75872fb",
      "tree": "54d618c93b60f830f2cd2f2a4b60de5e11ff34dd",
      "parents": [
        "aadb414f02facebe84010167aa8a3777c7f700a3",
        "82cff68a3ad08c908a29174a523fecc3ad9be248"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 13 20:30:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 20:30:39 2017 +0000"
      },
      "message": "Merge \"remove the lock-use for prunePrintService in case blocking main thread\""
    },
    {
      "commit": "a88d1990b7482d94f20f2ba3d04a8eea8543e22d",
      "tree": "a8281d2ea680bf139705946b454e64d6d953a4cc",
      "parents": [
        "aadb414f02facebe84010167aa8a3777c7f700a3"
      ],
      "author": {
        "name": "yinxu",
        "email": "yinxu@google.com",
        "time": "Tue May 30 18:04:19 2017 -0700"
      },
      "committer": {
        "name": "yinxu",
        "email": "yinxu@google.com",
        "time": "Tue Jun 13 13:27:39 2017 -0700"
      },
      "message": "Adds error codes and maximum RAN/Bands/Channels\n\nAdded error codes which are mapped from the RadioError which is returned\nfrom RIL, also added some errors which will be generated at telephony.\nThose errors will be returned to the user with the onError() callback.\n\nAdded the maximun number of RAN/Bands/Channels in 1 scan request.\n\nTest: Telephony sanity tests\nBug: 30954762\nChange-Id: Ie7865ed2101d9564e26870a8ebbb0ceb7bd9bd1b\n"
    },
    {
      "commit": "aadb414f02facebe84010167aa8a3777c7f700a3",
      "tree": "5744b439630601cb8e889ea03955617379e7317b",
      "parents": [
        "d9f3a3cf37826650397ebc026abe4c46f27703f5",
        "5aa279287c44221f7ace0dfac5b52b0b91dfdcad"
      ],
      "author": {
        "name": "Pankaj Kanwar",
        "email": "pkanwar@google.com",
        "time": "Tue Jun 13 20:22:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 20:22:24 2017 +0000"
      },
      "message": "Merge \"Radio Interface changes to pass the encryption object, including the key,to the modem.\""
    },
    {
      "commit": "3a84a23f36f85f5a16503d3d220358175582f83b",
      "tree": "153265cd3512080df3af60a0a0d42e6ef2a293e0",
      "parents": [
        "f02b7b7ba6a712a0803877907b8d4ed30ace169d"
      ],
      "author": {
        "name": "Yang Ni",
        "email": "yangni@google.com",
        "time": "Fri Apr 28 08:45:40 2017 -0700"
      },
      "committer": {
        "name": "Yang Ni",
        "email": "yangni@google.com",
        "time": "Tue Jun 13 19:41:55 2017 +0000"
      },
      "message": "Do not CloseGuard KernelID or FieldID\n\nBug: 28053584\n\nStop CloseGuarding for two reasons:\n\n1) KernelID and FieldID objects are constructed in auto-generated\n(RenderScript reflected) Java code. It would be impossible for a user to\nexplicitly call destroy() on them. Guarding them would leave a lot of\nnoisy warnings in logcat.\n\n2) These KernelID and FieldID objects are not big compared to other\nRenderScript objects, e.g. Allocations. They occupy almost no native\nresources except for a native pointer. Leaving their destruction to Java\nGC would be completely acceptable, since any delay in reclaiming them is\nunlikely to cause memory pressure.\n\nTest: CTS on x86_64 emulator\nChange-Id: I587b5561a0b2bdbf0b2e95bf2995c20d5f5faf9d\n"
    },
    {
      "commit": "d9f3a3cf37826650397ebc026abe4c46f27703f5",
      "tree": "2cb1f892ebb9036986fae5acd1b267baeedd86d7",
      "parents": [
        "6f11744adc45d8c2b4da8645332e78c784658bb7",
        "58383ba095f552a58ed416736fe049126c647ffd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 13 18:34:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 18:34:47 2017 +0000"
      },
      "message": "Merge \"Binder: Add more logging on Error\""
    },
    {
      "commit": "d1235f54d4943a0a3a920013a5875b5193bd0490",
      "tree": "23ef98c041e24bfd11bc73c6f4bfc1933dda62d6",
      "parents": [
        "6f11744adc45d8c2b4da8645332e78c784658bb7"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jun 13 11:09:10 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jun 13 11:27:28 2017 -0700"
      },
      "message": "When updating a split app, copy compiled files from base.apk only.\n\nThis fixes issues with some splits failing to be recompiled if they\nhaven\u0027t changed, but the dex files they depend on have.\n\nThe real fix will be for frameworks to generate the new expected\nclasspath and check in DexFile.getDexOptNeeded. Then we can undo\nthis change and copy over all the compiled split files again.\n\nBug: 62269291\nTest: cts-tradefed run singleCommand cts -d --module\nCtsAppSecurityHostTestCases -t android.appsecurity.cts.SplitTests\n\nChange-Id: Id8e6dc59b16d4f10a6c2d9d81027012204e0f26b\n"
    },
    {
      "commit": "5aa279287c44221f7ace0dfac5b52b0b91dfdcad",
      "tree": "261908e75320504497dd1c58b49c106b78fe44ac",
      "parents": [
        "ef6b81e5b2ae7b7c75d3ad8f40d0d57b666dfec8"
      ],
      "author": {
        "name": "pkanwar",
        "email": "pkanwar@google.com",
        "time": "Mon May 22 15:23:38 2017 -0700"
      },
      "committer": {
        "name": "pkanwar",
        "email": "pkanwar@google.com",
        "time": "Tue Jun 13 08:35:32 2017 -0700"
      },
      "message": "Radio Interface changes to pass the encryption object, including the\nkey,to the modem.\n\nWe will now pass the ImsiEncryptionInfo object which includes mnc/mcc.\nBUG: 35606429\nTest: manual\nChange-Id: Idf835d9b99a26cb0c0d73fb70ffa9875843ac62b\n"
    },
    {
      "commit": "6f11744adc45d8c2b4da8645332e78c784658bb7",
      "tree": "eb74dbc45da08c076f730e240ff8b1fbc218a28b",
      "parents": [
        "30a1cf96bb43e59029542a7f80be5522129b45b0",
        "cfd0f9beeed9c1934b47a2914533cdd06c9f79e3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 13 15:27:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 15:27:11 2017 +0000"
      },
      "message": "Merge changes I73ae8de1,I58260902\n\n* changes:\n  Binder: Log details of pending exception.\n  Binder: Be forceful about a forceful exit.\n"
    },
    {
      "commit": "94ae4c99c5a0d580f5898d480e1e1d08a292d060",
      "tree": "0bd3c08947290e104e298bf327b256f79cd2bf63",
      "parents": [
        "30a1cf96bb43e59029542a7f80be5522129b45b0"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jun 13 21:32:10 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jun 13 22:36:37 2017 +0900"
      },
      "message": "Merge IPv6TetheringInterfaceServices into TetherInterfaceStateMachine\n\nIdeally this would have been done immediately after IPv6 tethering code\nwas made part of an official named release. Getting this in now should\nhelp with the relaying of LinkProperties that is required for offload.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\n    - runtest frameworks-wifi passes\nBug: 29337859\nBug: 32163131\n\nChange-Id: I015fa3cb05a15624f9e80b7aa5a871cefef431b7\n"
    },
    {
      "commit": "30a1cf96bb43e59029542a7f80be5522129b45b0",
      "tree": "9f46552fd01838f9ff45091955ac3cfe50e5bc09",
      "parents": [
        "6428e1a4d4feffe5cb7209488e31b92a0666a33f",
        "5bbece747f7179a629eed942e2aa88507e744b6b"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jun 13 08:20:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 08:20:43 2017 +0000"
      },
      "message": "Merge \"make UpsreamNetworkMonitor the sole source of upstream network information\""
    },
    {
      "commit": "6428e1a4d4feffe5cb7209488e31b92a0666a33f",
      "tree": "11e1b405a04b44190c526433649847aedfe006b9",
      "parents": [
        "ef6b81e5b2ae7b7c75d3ad8f40d0d57b666dfec8",
        "218c226b0882640a351deb0dd945a30b8bc32fff"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 13 03:13:18 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 03:13:19 2017 +0000"
      },
      "message": "Merge \"Only disable Wi-Fi IP serving on specific interface, if available\""
    },
    {
      "commit": "5bbece747f7179a629eed942e2aa88507e744b6b",
      "tree": "9f46552fd01838f9ff45091955ac3cfe50e5bc09",
      "parents": [
        "218c226b0882640a351deb0dd945a30b8bc32fff"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Jun 09 17:08:52 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jun 13 12:04:00 2017 +0900"
      },
      "message": "make UpsreamNetworkMonitor the sole source of upstream network information\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 32163131\nChange-Id: I66ce682cf9c31887264a095a4e4638d281d8ed39\n"
    },
    {
      "commit": "218c226b0882640a351deb0dd945a30b8bc32fff",
      "tree": "11e1b405a04b44190c526433649847aedfe006b9",
      "parents": [
        "ef6b81e5b2ae7b7c75d3ad8f40d0d57b666dfec8"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Jun 09 16:36:29 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jun 13 11:27:36 2017 +0900"
      },
      "message": "Only disable Wi-Fi IP serving on specific interface, if available\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 32163131\n\nChange-Id: Ifd9131bad20810ee24c9436d8c0df7a81fae11d5\n"
    },
    {
      "commit": "58383ba095f552a58ed416736fe049126c647ffd",
      "tree": "d2c1e0d8bb342292ae85b1e6718293ade0c33606",
      "parents": [
        "cfd0f9beeed9c1934b47a2914533cdd06c9f79e3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 12 10:43:05 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 12 19:07:58 2017 -0700"
      },
      "message": "Binder: Add more logging on Error\n\nTry to add the Error\u0027s message to the abort, so that it shows up\nwhen the logcat is missing.\n\nSample message:\n\n\u0027jni_internal.cc:508] JNI FatalError called: java.lang.Error thrown during binder transaction: java.lang.LinkageError: This is a test.\u0027\n\nBug: 62514767\nTest: m\nChange-Id: I12026bb7a8ec9438db493f135ed5d0177187f702\n"
    },
    {
      "commit": "ef6b81e5b2ae7b7c75d3ad8f40d0d57b666dfec8",
      "tree": "51c307ffe7d4fb0e894427b0342281aa603a2d3e",
      "parents": [
        "5cfbbce162360321bfbd36e1cf491bf32d448f53",
        "ce7e7c71c96788026ff8f667504441bc98354879"
      ],
      "author": {
        "name": "Pankaj Kanwar",
        "email": "pkanwar@google.com",
        "time": "Tue Jun 13 00:28:42 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 00:28:44 2017 +0000"
      },
      "message": "Merge \"Address IMSI privacy issues.\""
    },
    {
      "commit": "ce7e7c71c96788026ff8f667504441bc98354879",
      "tree": "64f92a4e925f8432f000d67cb11e40d9e4a7bbe9",
      "parents": [
        "a1df5b25e65321562f82df1cab884bffcde8c33b"
      ],
      "author": {
        "name": "pkanwar",
        "email": "pkanwar@google.com",
        "time": "Mon Feb 20 19:23:55 2017 -0800"
      },
      "committer": {
        "name": "Pankaj Kanwar",
        "email": "pkanwar@google.com",
        "time": "Tue Jun 13 00:14:36 2017 +0000"
      },
      "message": "Address IMSI privacy issues.\n\nAdded getCarrierInfoForImsiEncryption and\nsetCarrierInfoForImsiEncryption methods.\n\nCP from Master\n\nBug: 35606429\nTest: runtest --path ..ImsiEncryptionInfoTest.java\nChange-Id: I62bdc8ac5e57b749fc5675c28579ec2d9183643d\n"
    },
    {
      "commit": "cfd0f9beeed9c1934b47a2914533cdd06c9f79e3",
      "tree": "c83b6e5d33b5427d3dd86b51a176cf1cf7f99481",
      "parents": [
        "83a24af5459696c3905fe476ca86c7b34e75650f"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Apr 18 17:48:39 2017 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 12 16:54:40 2017 -0700"
      },
      "message": "Binder: Log details of pending exception.\n\nThis was accidentally removed by change d64abfcf93b59500a0d.\n\nTest: manual; verify exception trace is printed in logs.\nBug: 36813403\nBug: 37435516\nChange-Id: I73ae8de167c457d56fddb85943a8f08f8913f0f7\n(cherry picked from commit ccc9fad9e6abfa3cf082567669cc5d03ec7a3086)\n"
    },
    {
      "commit": "83a24af5459696c3905fe476ca86c7b34e75650f",
      "tree": "72207a43e3941e34ec190cd385645998a60b376e",
      "parents": [
        "5cfbbce162360321bfbd36e1cf491bf32d448f53"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 12 11:50:10 2017 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 12 16:54:40 2017 -0700"
      },
      "message": "Binder: Be forceful about a forceful exit.\n\nWe were previously using exit(1) when code servicing an IPC threw\nany subclass of Error. That made it much harder to diagnose cases\nwhere that happened because :\n\n- exit runs global destructors, which might prove problematic (see\n  linked bug).\n- such exits are often due to bugs in application code (things like\n  AssertionErrors being thrown) but aren\u0027t flagged as such by our\n  infrastructure, or by humans for that matter.\n\nTo address both issues, use FatalError() so that the runtime can dump\nmore useful information to the logs before it aborts.\n\nTest: manual\nBug: 36813403\nChange-Id: I5826090229109dc7cb19f0c3571c609f990cd36a\n(cherry picked from commit d64abfcf93b59500a0dba1626e73861848eb4407)\n"
    },
    {
      "commit": "5cfbbce162360321bfbd36e1cf491bf32d448f53",
      "tree": "2aa8523e4dac8387d280ed2ff76c55f5fec615d4",
      "parents": [
        "a1df5b25e65321562f82df1cab884bffcde8c33b",
        "977992f3fc9f4f6bb2d1f9536143327a6021c5d1"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Mon Jun 12 22:36:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 12 22:36:08 2017 +0000"
      },
      "message": "Merge \"Protect broadcast used in settings for bond cancel\""
    },
    {
      "commit": "977992f3fc9f4f6bb2d1f9536143327a6021c5d1",
      "tree": "2aa8523e4dac8387d280ed2ff76c55f5fec615d4",
      "parents": [
        "a1df5b25e65321562f82df1cab884bffcde8c33b"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Fri Jun 09 16:38:19 2017 -0700"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Mon Jun 12 09:28:43 2017 -0700"
      },
      "message": "Protect broadcast used in settings for bond cancel\n\nTest: cancel pairing from notification tray\nBug: 62094630\nChange-Id: Ia83a874c1ea9a1d9d5502609f81e94052bb5759c\n"
    },
    {
      "commit": "82cff68a3ad08c908a29174a523fecc3ad9be248",
      "tree": "ee22d29e9a6af993dfe35f5fc56f6d265b153fd7",
      "parents": [
        "a1df5b25e65321562f82df1cab884bffcde8c33b"
      ],
      "author": {
        "name": "yangbingqian",
        "email": "yangbingqian@xiaomi.com",
        "time": "Mon Jun 12 22:45:50 2017 +0800"
      },
      "committer": {
        "name": "yangbingqian",
        "email": "yangbingqian@xiaomi.com",
        "time": "Mon Jun 12 22:45:50 2017 +0800"
      },
      "message": "remove the lock-use for prunePrintService in case blocking main thread\n\nAs in the change: I4f4cdaba65132dc2ef054877cbb097b499a723f6\nthe lock object is removed when calling RemotePrintSpooler\nand so as it in the method prunePrintService(). But in the\nconstructor of UserState, the mLock is still held when calling\nprunePrintService(), it may also block the main thread\n\nIt is better to take it out of the synchronized block\n\nTest: null\n\nChange-Id: I709b491d611dbcbf21a5fd493b879ed290dd0247\nSigned-off-by: yangbingqian \u003cyangbingqian@xiaomi.com\u003e\n"
    },
    {
      "commit": "a1df5b25e65321562f82df1cab884bffcde8c33b",
      "tree": "a84571411292be251c8a447ee68afd6d9ebbf453",
      "parents": [
        "186a588d57ce7876ebe868cd6399f1ed684e19f0",
        "47c2a3e93eff59fe2309917662093e44c5ab70cf"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Sat Jun 10 00:03:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 10 00:03:58 2017 +0000"
      },
      "message": "Merge \"Changed Locale in ServiceInfo to a list.\""
    },
    {
      "commit": "186a588d57ce7876ebe868cd6399f1ed684e19f0",
      "tree": "137dc32e56e6e1940d4a821c89a8207bfc58cf4d",
      "parents": [
        "1d5d409f6f9b38f4075e8526f0932dd6a08f8d0c",
        "e788f4ea9e2248c3494f48c0094c534ddffdbac3"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri Jun 09 21:44:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 09 21:44:29 2017 +0000"
      },
      "message": "Merge \"Update documentation for streaming methods\""
    },
    {
      "commit": "1d5d409f6f9b38f4075e8526f0932dd6a08f8d0c",
      "tree": "d7bbbaeccc7ab5436f846ba8db7562617d020a72",
      "parents": [
        "29213205173a632c65b77525da00419f47462509",
        "e5c7420f45a5bae24c07201efd31ee93b8a17c0a"
      ],
      "author": {
        "name": "Jordan Liu",
        "email": "jminjie@google.com",
        "time": "Fri Jun 09 17:25:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 09 17:25:10 2017 +0000"
      },
      "message": "Merge \"Add IApnSourceService.aidl\""
    },
    {
      "commit": "29213205173a632c65b77525da00419f47462509",
      "tree": "9c7bebaafbc788a504eed27115b8c043c3afc3cd",
      "parents": [
        "5b9d362b607ef4f35669cff19730ff7a6f03d8f2",
        "828512f14c9e10e6614fde512d5a44cb0fddfda4"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Jun 09 11:31:21 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 09 11:31:23 2017 +0000"
      },
      "message": "Merge \"Revert \"Instrument captive portal login activity\"\""
    },
    {
      "commit": "828512f14c9e10e6614fde512d5a44cb0fddfda4",
      "tree": "a604e7463663a56b6e5788f9e9a7d3462692d996",
      "parents": [
        "f867da14eaa194cb53b0726b50e570268e70f1d7"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Jun 09 11:30:05 2017 +0000"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Jun 09 11:30:05 2017 +0000"
      },
      "message": "Revert \"Instrument captive portal login activity\"\n\nThis reverts commit f867da14eaa194cb53b0726b50e570268e70f1d7.\n\nChange-Id: Ic900c91ed87c2d65c151f8386954bd7b74128348\n"
    }
  ],
  "next": "5b9d362b607ef4f35669cff19730ff7a6f03d8f2"
}
