)]}'
{
  "log": [
    {
      "commit": "5f50c87946fad39127b2a89ddb60f731101f9898",
      "tree": "5f480b9c948b95515b4aac8e7ac080fbb9ea7e57",
      "parents": [
        "5d5ace5e111caced55cd56c4b531ec376c2f08df"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 30 11:47:38 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 30 17:27:40 2017 -0700"
      },
      "message": "Add boot profile support\n\nIf the boot profile file exists, its passed to the runtime as an\nimage compiler option. Also pass speed-profile for this case.\n\nBug: 37966211\nTest: make, flash, and look at logcat during boot\n\n(cherry picked from commit f99e70e93408bd6dfda595866f13ba0068d4798e)\n\nChange-Id: Ia09ff0200186382e45151b7cabb53016f8e0aa3f\n"
    },
    {
      "commit": "5d5ace5e111caced55cd56c4b531ec376c2f08df",
      "tree": "006b5930cf50669fc42826b36213f6ffd3f35001",
      "parents": [
        "8558d93db8902740a5fba7c1e6a4b0bbc36a2c16",
        "4c5ffe468d117c86d30b71b9ac965cf37a83f0b6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 30 20:36:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 30 20:36:36 2017 +0000"
      },
      "message": "Merge \"hidl getService throw correct exceptions.\""
    },
    {
      "commit": "4c5ffe468d117c86d30b71b9ac965cf37a83f0b6",
      "tree": "4644639276852465c51bf00e822e9a2583c04970",
      "parents": [
        "2ed8b06173c21869b99d4285d289e59af3dff749"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jun 28 10:21:00 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jun 29 18:15:40 2017 +0000"
      },
      "message": "hidl getService throw correct exceptions.\n\nNoSuchElementException needs to be thrown when getService is\ncalled and the service is not available.\n\nTest: hidl_test_java\nFixes: 63087967\n\nMerged-In: I207098cfb732e888f91704f623e888e72e6ce7d9\nChange-Id: I207098cfb732e888f91704f623e888e72e6ce7d9\n"
    },
    {
      "commit": "679d0bc8f99145d70af0c8006d807b55110fe3b5",
      "tree": "eb09be1841886c7bf4fbdb2b432509554b356fbf",
      "parents": [
        "c79c4240ec174d121fe1781c94adc41c209fac9c"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Tue Jun 20 17:09:47 2017 -0700"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Thu Jun 29 17:43:32 2017 +0000"
      },
      "message": "Support battery level reporting via Apple VSC (1/2)\n\n* Add related constants to BluetoothHeadset\n\nBug: 35874078\nTest: make, test with supporting headsets\nChange-Id: I9f49ea28efdf6de0e751a377d879fe13a47655d5\n"
    },
    {
      "commit": "0fcbba25b7ac7fd59367c8c9ba3080a3e6ade934",
      "tree": "4a2c9207d1be9ccad4193073e5a0fc7cc3fa7704",
      "parents": [
        "01017959fea2ff9bcb5fcf10c63ba23542a52dde"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Tue Jun 20 17:07:40 2017 -0700"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Thu Jun 29 17:17:14 2017 +0000"
      },
      "message": "Support battery level reporting via Plantronics XEVENT (1/2)\n\n* Add related constants to BluetoothHeadset\n\nBug: 35874078\nTest: make, test with supporting headsets\nChange-Id: Ied089a065bf9caa0d03f681950fefa2ea990bb3e\n"
    },
    {
      "commit": "01017959fea2ff9bcb5fcf10c63ba23542a52dde",
      "tree": "669fbc276842c8d6eb784c73e09ed70335650c00",
      "parents": [
        "d129a14647398ed311486acd1f64bfccf1e5e01c",
        "e8fcd6b14ac36c9e786d7e0cf72c98fcdfcf4fe0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 29 12:18:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 29 12:18:35 2017 +0000"
      },
      "message": "Merge \"No need to explicitly list ethernet upstream type\""
    },
    {
      "commit": "d129a14647398ed311486acd1f64bfccf1e5e01c",
      "tree": "17b44823588a5ebc5414ef4568b2ac918dfb2871",
      "parents": [
        "5790bae2f43307c8f7c01dbf9e5d2c16bdcad855",
        "23eb3a19b888ab758d8aa4cec5a7eb7fc12fd01d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 29 11:29:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 29 11:29:37 2017 +0000"
      },
      "message": "Merge \"Use sendBroadcastAsUser rather than sendBroadcast\""
    },
    {
      "commit": "73795440a54a5407284331ac11f8c0f75acd98d6",
      "tree": "875d863a8cfbf179dab69370138ded640dfc1a82",
      "parents": [
        "db8e4efd5bb60aa05cd9f581f39cd016da4fab70"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Thu Jun 22 12:56:54 2017 -0700"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Thu Jun 29 08:30:37 2017 +0000"
      },
      "message": "HFP: Modify comments for ACTION_HF_INDICATORS_VALUE_CHANGED (1/2)\n\n* Per HFP 1.7.1 spec page 102 of 144\n  EXTRA_HF_INDICATORS_IND_ID should be int\n  EXTRA_HF_INDICATORS_IND_VALUE should be int\n\nBug: 35874078\nTest: make, PTS test, unit tests\nruntest -c com.android.bluetooth.btservice.RemoteDevicesTest bluetooth\n\nChange-Id: Idd316a82bab164b6ea1701bb261b1cc3dee196f1\n"
    },
    {
      "commit": "e8fcd6b14ac36c9e786d7e0cf72c98fcdfcf4fe0",
      "tree": "196390458da47eb84aae2550bd4d1e27918039c6",
      "parents": [
        "db8e4efd5bb60aa05cd9f581f39cd016da4fab70"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Jun 21 23:27:55 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Jun 29 17:26:11 2017 +0900"
      },
      "message": "No need to explicitly list ethernet upstream type\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 32163131\nBug: 36076442\nChange-Id: I743c20d5b969e33c6b10d0b47ac06e6b8c968acf\n"
    },
    {
      "commit": "1d312bfa78c25e0e1d6ea25b2c027e2efdd5a418",
      "tree": "0161526d9a0aefa33137da2db9bb4d8156d3a220",
      "parents": [
        "c49534cf097f75421e56d1b6a22112ef942165c2"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Fri Jun 16 19:43:58 2017 -0700"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Tue Jun 27 16:53:09 2017 -0700"
      },
      "message": "Add APIs to get remote device\u0027s battery level (1/2)\n\n* Add BluetoothDevice.getBatteryLevel() API to retreive battery level\n  information of remote device\n* Add BluetoothDevice.ACTION_BATTERY_LEVEL_CHANGED intent to notify user\n  that remote device\u0027s battery level has changed\n\nBug: 35874078\nTest: make, pair with devices and use them\nChange-Id: I41051ee25383f5f3a1e505aef6f8c526385f58bd\n"
    },
    {
      "commit": "23eb3a19b888ab758d8aa4cec5a7eb7fc12fd01d",
      "tree": "285f913fdd52d67c0777ea7d29254357a5089875",
      "parents": [
        "f093d4e13e42a10bc6afc676d1453b4893b03ef7"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 27 18:53:58 2017 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 27 19:04:50 2017 +0100"
      },
      "message": "Use sendBroadcastAsUser rather than sendBroadcast\n\nAccording to messages in the logcat sendBroadcastAsUser\nis the better option.\n\nTest: Manual\nBug: 31008728\nChange-Id: I06bcd3c53878fc2b1b817337ea8719fcc4975501\n"
    },
    {
      "commit": "2a4d009ee15f0d620e273879feba74d3db28cbab",
      "tree": "5732e27216e80b59504e0f27e4d0152ac68fde01",
      "parents": [
        "3c5ab7d3243e646137d9e60c2a54ffc907a85a27"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 10:47:25 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 15:51:10 2017 +0100"
      },
      "message": "Clean up Predicate related code in android.test\n\nPart of the work of removing JUnit and dependent android.test classes\nfrom the Android API involves providing a static library that developers\ncan include in their test applications to ease migration. That library\nwill be built directly from the source (as opposed to android.jar which\nis built from stubs) and so developers will be able to see classes and\nmethods that are not present in the stubs. This change is one of a\nnumber of similar changes that cleanup the existing non-API code in\norder to minimize the additional methods and classes exposed externally.\nThe basic approach is to remove unused classes and methods, use least\nvisible access modifier possible and generally minimize the amount of\npublicly visible code.\n\nThe HasClassAnnotation and HasMethodAnnotation were never used\nseparately and only used by HasAnnotation. This merges the functionality\ninto a single nested class in TestPredicates, hidden behind the new\nTestPredicates.hasAnnotation(). The HasAnnotationTest was renamed as\nTestPredicatesTest and the HasClassAnnotationTest and\nHasMethodAnnotationTest classes were removed as their tests provide no\nadditional coverage. The removal of the Has*Annotation.java files means\nthat the test-runner/src/android/test/suitebuilder/annotation/ directory\nis empty apart from the package.html file so that was moved to\nlegacy-test to sit alongside the actual annotation classes.\n\nThe Predicates class, while part of the legacy-test module was only\never used by the test-runner module and only its not() method was\nactually used. So, the not() method and associated nested class were\nmoved to TestPredicates, the tests for not() were moved to\nTestPredicatesTest and the Predicates* classes were removed.\nThat allowed for the removal of the legacy-android-tests as that is now\nempty.\n\nTestPredicates has a number of constants that were public. They were\nhidden by moving them to the class that actually used them.\n\nA minor generic issue was fixed in AssignableFrom.\n\nBug: 30188076\nTest: make checkbuild and run FrameworkTestRunnerTests\nChange-Id: I861da388a4146bb28e1e480d1b7ba9137b7b270e\n"
    },
    {
      "commit": "3c5ab7d3243e646137d9e60c2a54ffc907a85a27",
      "tree": "388daaef474e61398bf0c01145c807b8fae62140",
      "parents": [
        "98f2decdadaebe5160ce2661c1c1f4208b9cdd59",
        "e24e60ecacd956375a5cabdf9e67fefe7acabce0"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 14:24:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 26 14:24:31 2017 +0000"
      },
      "message": "Merge \"Remove a.t.TestCase\""
    },
    {
      "commit": "c729ff8253ba58e49d42d4662ddf86d4fe8ed909",
      "tree": "a10f076e3d74f9bfe11687eed5a86d5ccf83ae80",
      "parents": [
        "8330d5212d4f10e412dbc3ad8eac750f783258df",
        "5f9157651e80ed3c1ee4d2bc7ee662b0653899c8"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sat Jun 24 00:01:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 24 00:01:24 2017 +0000"
      },
      "message": "Merge changes I193297e0,I43beb966\n\n* changes:\n  NetworkCapabilities: Added support for TRANSPORT_LOWPAN\n  Connectivity metrics: serialize networkId, transports, ifname\n"
    },
    {
      "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": "5f9157651e80ed3c1ee4d2bc7ee662b0653899c8",
      "tree": "0298d28ca974cb60210b2b4f5572640eb064b88c",
      "parents": [
        "6a9bb8e84a308152485a8d64b7bf94b548ba5db9"
      ],
      "author": {
        "name": "Robert Quattlebaum",
        "email": "rquattle@google.com",
        "time": "Mon May 15 15:53:29 2017 -0700"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Jun 23 16:08:45 2017 +0900"
      },
      "message": "NetworkCapabilities: Added support for TRANSPORT_LOWPAN\n\nThis change simply adds a new constant, `TRANSPORT_LOWPAN`, for\nidentifying low-power wireless networks like Thread.\n\nBug: b/33073713\nMerged-In: Ie4aa77496f8ff466fa1a5fbc556e9c029457a689\n\n(cherry pick from commit 557e0c38b98f66d6147206f23d24d8d73b09e3e5)\n\nChange-Id: I21f9b41b8b31c63ceeb1bc9c965f6da2614c356a\n\nTest: runtest frameworks-net (not in original commit message)\n"
    },
    {
      "commit": "6a9bb8e84a308152485a8d64b7bf94b548ba5db9",
      "tree": "f62cef4616b7219e7d05e63871d2ab973379db7f",
      "parents": [
        "5a56873612793940ddb9a93a64d5e48929b0d02d"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Mar 15 23:05:01 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Jun 23 16:07:38 2017 +0900"
      },
      "message": "Connectivity metrics: serialize networkId, transports, ifname\n\nThis patch adds translation from ConnectivityMetricsEvent to\nIpConnectivityEvent of recently added fields:\n - top-level network id\n - top-level ifname\n - transports\n\nAlso adds inference of link layer from transports or ifname.\n\nAt the moment these new fields are not populated in\nConnectivityMetricsEvent. Follow-up patches will fill this gap for\nthe events of the android.net.metrics package.\n\nTest: new unit tests, $ runtest frameworks-net passes\nBug: 34901696\nMerged-In: I563a6a3183470bdfaabb7c781a1beaf6b1058bf0\n\n(partial cherry pick from commit 73fd4d1fafd0208e843abb6a6ad8a46a6fb18143)\n\nChange-Id: I6a00270e73a1bd07f23c367f2394d90a43ced47a\n\nTest: runtest frameworks-net (not in original commit message)\n"
    },
    {
      "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": "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": "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": "e24e60ecacd956375a5cabdf9e67fefe7acabce0",
      "tree": "0c6acb116f80662e2f72ac9e594c5a6dd1317474",
      "parents": [
        "2a637cf9b0f2c2ebaf573a1f478e31dc1e6a8354"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 14:48:58 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 15:21:11 2017 +0100"
      },
      "message": "Remove a.t.TestCase\n\nPart of the work of removing JUnit and dependent android.test classes\nfrom the Android API involves providing a static library that developers\ncan include in their test applications to ease migration. That library\nwill be built directly from the source (as opposed to android.jar which\nis built from stubs) and so developers will be able to see classes and\nmethods that are not present in the stubs. This change is one of a\nnumber of similar changes that cleanup the existing non-API code in\norder to minimize the additional methods and classes exposed externally.\nThe basic approach is to remove unused classes and methods, use least\nvisible access modifier possible and generally minimize the amount of\npublicly visible code.\n\nThe android.test.TestCase class is only referenced from the\nDatabasePerformanceTests class. There do not seem to be any references\nto that class either and there is a NewDatabasePerformanceTests.java\nfile in the same directory that looks to be a JUnit based replacement.\n\nBug: 30188076\nTest: make checkbuild and ran FrameworkTestRunnerTests\nChange-Id: Iafb26dc98a40715244f07d1c9e05ada5b1602ebf\n"
    },
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "a370159592307f97bc9a6cb031349686e0abe7f4",
      "tree": "f1323660dd30a13a337d52bd4b215ff30172f8aa",
      "parents": [
        "404e9f209f28ba02206cb5b0fd7bef9aa1587914",
        "42cd265639f626fd4cd085b2c452b59bd7b174fe"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 08 21:44:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 08 21:44:08 2017 +0000"
      },
      "message": "Merge \"Add system property for hot startup method threshold\""
    },
    {
      "commit": "ba1e26578e1b80c7e8b201e04f24b8689e4ea2ac",
      "tree": "9a086b2429f45c266740f5c00352ad604b2c53a1",
      "parents": [
        "9cf8c281d2c66b78f6f3fd8bd54d327cc3a211c9"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Jun 07 13:45:33 2017 -0700"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Thu Jun 08 17:54:29 2017 +0000"
      },
      "message": "Bluetooth: fix connectGatt overload invocations\n\nTest: sl4a GattOverBrEdrTest\nBug: 62387078\nChange-Id: I5bfb87683e25f8862587e8000eb4c9bb6ff14f99\n"
    },
    {
      "commit": "9cf8c281d2c66b78f6f3fd8bd54d327cc3a211c9",
      "tree": "5b3d37e23c2c82c523c0bd8bc1be5ea301f6a3c4",
      "parents": [
        "32703994fe80583e4779bc0be9829c32635c5812",
        "f20fdb93205fefd80364383812fe645307d08462"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 08 15:34:42 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 08 15:34:44 2017 +0000"
      },
      "message": "Merge \"Allow disabling GL preload even if gfxdriver isn\u0027t updatable\""
    },
    {
      "commit": "42cd265639f626fd4cd085b2c452b59bd7b174fe",
      "tree": "28e316816b8b265a584ffaf811f90f33956deab6",
      "parents": [
        "a65aa77c1c5bbd17fa0fd3d68bd74697ac57251f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 07 17:34:22 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 07 18:33:48 2017 -0700"
      },
      "message": "Add system property for hot startup method threshold\n\nThe property is dalvik.vm.hot-startup-method-samples, setting this\ncontrols how many startup samples are required before methods are\nmarked as hot in the profile.\n\nTest: adb shell setprop dalvik.vm.hot-startup-method-samples 12\nTest: adb shell setprop dalvik.vm.extra-opts -verbose:profiler\nTest: adb logcat | grep Profile\n\nBug: 36457259\n\n(cherry picked from commit 5eee004b926dc0fc02640de09c9d9a7f8fe1f052)\n\nChange-Id: Ibf8075aafc6e5bd2ba10385973b26faee3d807df\n"
    },
    {
      "commit": "5085ef71e9e6b0bd63f9ff0b80876049193885b5",
      "tree": "75ab063c25a967912c3787813452af80dc871d90",
      "parents": [
        "a65aa77c1c5bbd17fa0fd3d68bd74697ac57251f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 01 17:17:23 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 07 11:26:15 2017 -0700"
      },
      "message": "Framework: Remove SamplingProfiler\n\nRemove the very old and unsupported SamplingProfilerIntegration. This\nCL removes the code parts.\n\nBug: 37272346\nTest: m\nTest: Device boots\nMerged-In: I64d77244b5816ef1f605d19530b96be38f5c1bc6\nChange-Id: I64d77244b5816ef1f605d19530b96be38f5c1bc6\n"
    },
    {
      "commit": "f20fdb93205fefd80364383812fe645307d08462",
      "tree": "b40fc71944a18c94acdd1b07d898c71305cd2d98",
      "parents": [
        "46f8d427c41034772e16497164020ffbf7217014"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Apr 13 15:44:24 2017 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Tue Jun 06 11:41:46 2017 -0700"
      },
      "message": "Allow disabling GL preload even if gfxdriver isn\u0027t updatable\n\nBug: 34611670\nTest: set ro.zygote.disable_gl_preload\u003d1, shell start,\n      confirm GL driver isn\u0027t loaded in zygote process\n      by checking /proc/\u003cpid\u003e/maps\n\nChange-Id: Ieb739bd7eba365917684cf830d78c15fea06f8cf\n(cherry picked from commit 5d911fe6bb8f05a69b208fafeb3f6bd4b13f06ad)\n"
    },
    {
      "commit": "4f6ec3d11d97a77f7333d8efdf0fab486cec7c38",
      "tree": "df79fa835214b9b8dcd377df84b254885e10808d",
      "parents": [
        "75b7ef15f6484caa411842d0a191d02fecf7cf16",
        "8dc1fd0237992e1d693376b4f6eea45e7447e9db"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Fri Jun 02 23:40:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 02 23:40:18 2017 +0000"
      },
      "message": "Merge \"Add UDP Encap Socket Support to IpSecManager\""
    },
    {
      "commit": "e165a59c61b3e3af13bbeed085b69823a249fb5e",
      "tree": "3c6601804baca360d210b76754d7fe1897f3417d",
      "parents": [
        "641fbc140705c4f78c8cc15116decdffe428cf61"
      ],
      "author": {
        "name": "Sooraj Sasindran",
        "email": "sasindran@google.com",
        "time": "Tue May 09 15:00:55 2017 -0700"
      },
      "committer": {
        "name": "Sooraj Sasindran",
        "email": "sasindran@google.com",
        "time": "Thu Jun 01 22:50:14 2017 -0700"
      },
      "message": "Testra RSSI compliance\n\nDevices that support 4 bar signal strength\nindication should display the bars as follow:\n\n4 bar   RSRP   \u003e -90\n3 bar   -90 ≥    RSRP   \u003e -100\n2 bar  -100 ≥   RSRP   \u003e -115\n1 bar   -115 ≥  RSRP   \u003e -120\n0 bar   RSRP    ≤ -120\n      or No Sync to LTE Reference Signals\n\nBug\u003d37187586\n\nChange-Id: I2a76aabdf6d8ef1be3a05a90643b1e670f929bc3\n"
    },
    {
      "commit": "641fbc140705c4f78c8cc15116decdffe428cf61",
      "tree": "75ea2ff8d4fbd76424dd2195654877008b7d84e9",
      "parents": [
        "dae92faa025999f936bb95441ede8f17f71b1e1b"
      ],
      "author": {
        "name": "Sooraj Sasindran",
        "email": "sasindran@google.com",
        "time": "Thu May 11 17:36:37 2017 -0700"
      },
      "committer": {
        "name": "Sooraj Sasindran",
        "email": "sasindran@google.com",
        "time": "Thu Jun 01 22:44:32 2017 -0700"
      },
      "message": "Testra RSSI compliance\n\nDevices that support 4 bar signal strength\nindication should display the bars as follow:\n\n4 bar   RSRP   \u003e -90\n3 bar   -90 ≥    RSRP   \u003e -100\n2 bar  -100 ≥   RSRP   \u003e -115\n1 bar   -115 ≥  RSRP   \u003e -120\n0 bar   RSRP    ≤ -120\n      or No Sync to LTE Reference Signals\n\nAdd support for mnc 11, 71 and 72\n\nBUG\u003d37187586\n\nChange-Id: Ia0a71707d1cbc20887bcc00c0519833b522b4a95\n"
    },
    {
      "commit": "8dc1fd0237992e1d693376b4f6eea45e7447e9db",
      "tree": "d16f8c1071db2ef3f106339413557300f203851b",
      "parents": [
        "dae92faa025999f936bb95441ede8f17f71b1e1b"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Apr 04 19:37:48 2017 -0700"
      },
      "committer": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Fri Jun 02 03:18:56 2017 +0000"
      },
      "message": "Add UDP Encap Socket Support to IpSecManager\n\n-Implement the UdpEncapsulationSocket\n-Convert all ManagedResources to use resourceIds\n-Rework ManagedResource to track resourceIds\n\nBug: 30984788\nTest: cts - IpSecManagerTest#testUdpEncapsulation()\n\nChange-Id: I7b1099c487051a8d951c1485791c4b6cef2deb1d\n"
    },
    {
      "commit": "f547c4045f01a11023b854fb2b4fe315dedda582",
      "tree": "2908ee4ad691c5f8c89b3a1711d02a5ed6fff1be",
      "parents": [
        "7cf3086f371085b49488f42e24a9007fa8a1061b",
        "50f811c8fc31fbae4ae41f825d5d7b1166c6b4d4"
      ],
      "author": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Thu Jun 01 09:23:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 01 09:23:16 2017 +0000"
      },
      "message": "Merge \"Add tests on MultiDex.installInstrumentation\""
    },
    {
      "commit": "7cf3086f371085b49488f42e24a9007fa8a1061b",
      "tree": "295c62a77f64395c3de864f24a67d4b308af0223",
      "parents": [
        "93d7c84726a0dfcde218772c7cd3f033f84a38b3",
        "92c4db04e54a7bb375df01ce6e3fd98d568c6990"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 01 07:50:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 01 07:50:35 2017 +0000"
      },
      "message": "Merge \"Add a tethering offload settings kill switch\""
    },
    {
      "commit": "1dd1e03f1f025129c8376b94725b5f98b0fa3070",
      "tree": "dbc985301e2d96c80aaf6eec3556f779c66cd3ff",
      "parents": [
        "36fdb346f2245ca235b0fbde90b7da60606d54e5"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Tue May 09 17:16:01 2017 -0700"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Wed May 31 15:41:30 2017 -0700"
      },
      "message": "HFP: Allow SCO audio to be forcibly connected\n\n* Normally, Android only allows SCO audio to be connected in several\n  allowed cases (e.g. in call, in ringing, in virtual call state, etc)\n* Sometimes, it is necessary to force a SCO audio connection (e.g.\n  during PTS test)\n* This change adds setForceScoAudio(boolean) hidden, system only method\n  to allow such behaviour\n\nBug: 38040125\nTest: PTS HFP tests\nChange-Id: I28f295c98da5bebb837c2a5423c7acde81af73f7\n"
    },
    {
      "commit": "92c4db04e54a7bb375df01ce6e3fd98d568c6990",
      "tree": "c2a217e072941545154a4528ad13d0c68ca2dbdc",
      "parents": [
        "76efbb30f52ea183a42835926776ca8dfb288174"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed May 31 10:21:32 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed May 31 20:33:05 2017 +0900"
      },
      "message": "Add a tethering offload settings kill switch\n\nCheck for tether_offload_disabled (defaulting to false if not present)\nbefore starting the OffloadController.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 29337859\nBug: 32163131\nBug: 34361337\nChange-Id: Ifcc0eb1a41f09ad9e717c9252d2d55e69789669b\n"
    },
    {
      "commit": "a005ab22426c42143ae66ba87f02d551de7f96dd",
      "tree": "3ee497aba958b74218913655f3acac88aca4375e",
      "parents": [
        "23941e5c222bb300bf809cbf6f4d6057803a3c68"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 25 15:44:51 2017 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed May 31 10:30:47 2017 +0100"
      },
      "message": "jni: Track debuggerd API changes.\n\nandroid_os_Debug calls dump_backtrace_to_file_timeout which\nnow needs an additional argument that specifies the dump type.\n\nBug: 32064548\nTest: make\n\nChange-Id: Ic4047f4117fee0829d4cb8b1d47ad688b33001dc\n"
    },
    {
      "commit": "23941e5c222bb300bf809cbf6f4d6057803a3c68",
      "tree": "1cf1dd4b2751dfff84f4972c7f078e43f0942d8e",
      "parents": [
        "76efbb30f52ea183a42835926776ca8dfb288174"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed May 10 18:56:12 2017 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed May 31 10:09:49 2017 +0100"
      },
      "message": "AndroidRuntime: Add flag to support tombstoned aided stack dumps.\n\nWe introduce a new property dalvik.vm.stack-trace-dir that indicates\nthat we\u0027re using one trace file per dump. The runtime does not need\nto know what the directory is, since it will communicate with\ntombstoned in order to obtain a file descriptor to which it will write\nits traces. In this change, we set the -Xtombstonedtraces flag whenever\ndalvik.vm.stack-trace-dir is set.\n\nTest: Manual\nBug: 32064548\nChange-Id: I05984e91658250ad8379b821ca31649f13868580\n"
    },
    {
      "commit": "725e212de31046763d1e6164c96a0c6484c6a4a4",
      "tree": "c86eb7049104d8077e7ba3b0b7f2ac2fc16fdc4e",
      "parents": [
        "99c805b3193f64260982e2b9f5a26408b6a0c0a6",
        "45033a7e5799f2d957c7dad22eec0bfef94b3e16"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 26 22:53:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 26 22:53:29 2017 +0000"
      },
      "message": "Merge \"Add 32 and 128 bit Service Data parsing.\""
    },
    {
      "commit": "99c805b3193f64260982e2b9f5a26408b6a0c0a6",
      "tree": "9942f46efe27f8eeba016731312e925a6cd8dc68",
      "parents": [
        "b1f0bb6f83be2e6458a7443e3a9b47af5e20472e",
        "5dc487d5888d2bfe7feee102f0753bcbe4464a76"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 26 22:20:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 26 22:20:58 2017 +0000"
      },
      "message": "Merge \"Make NFC AIDL callbacks oneway\""
    },
    {
      "commit": "45033a7e5799f2d957c7dad22eec0bfef94b3e16",
      "tree": "4b0759781d798995ef899135016a651cb36ac240",
      "parents": [
        "21cc4bcd01266446b438e6c7a51cb8d63d61039f"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Fri May 26 13:59:55 2017 -0700"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Fri May 26 21:11:24 2017 +0000"
      },
      "message": "Add 32 and 128 bit Service Data parsing.\n\nBug: 62078132\nChange-Id: I79ff75cd5ccbe346dca79693b074ff3cd09112dd\n"
    },
    {
      "commit": "5dc487d5888d2bfe7feee102f0753bcbe4464a76",
      "tree": "e93426f4822d7fbdec79145b2361ced4e202c774",
      "parents": [
        "21cc4bcd01266446b438e6c7a51cb8d63d61039f"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Fri Apr 28 15:48:02 2017 -0700"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Fri May 26 21:06:25 2017 +0000"
      },
      "message": "Make NFC AIDL callbacks oneway\n\nTest: Read NFC tags, Android Beam\nBug: 32288773\nChange-Id: I6294ec29be2af8feb578e9bfd5e0770ad9c09cc0\nSigned-off-by: Ruchi Kandoi \u003ckandoiruchi@google.com\u003e\n"
    },
    {
      "commit": "dd0c9bbbb2d4b0c1ff633f2451fad892493a4c44",
      "tree": "cddb7a535eba0ea8280e574fffc090cd567116b8",
      "parents": [
        "21cc4bcd01266446b438e6c7a51cb8d63d61039f"
      ],
      "author": {
        "name": "Yuka Anami",
        "email": "yuka.x.anami@sonymobile.com",
        "time": "Mon May 15 13:53:04 2017 +0900"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Fri May 26 20:53:10 2017 +0000"
      },
      "message": "Add ID_LENGTH field for Empty type record\n\nIf ID_LENGTH field is omitted from Empty Type record, it cannot be\ndetected as Ndef since the data is strictly checked by e3fc7d9954.\nBut it is not possible to create raw bytes of Empty Type record\nwhich can meet this condition by using NdefRecord/NdefMessage.\nTo fix this issue, added ID_LENGTH field to Empty type record.\n\nBug: 38299566\nTest: Write and read NDEF tag with empty type record\nChange-Id: Idb58c80cf8562a8b314f4ddeccdc627dc0c6f5b4\n"
    },
    {
      "commit": "18c3201986b12ab67b90efbe74aff8025688bec8",
      "tree": "714dd813029531475a1309ed6cbc3e15b51a63ba",
      "parents": [
        "0388f0e47b9853437cdeebafc77d38e86606554b",
        "3b4359a06c482095338080fa908a67441ad23a2b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 26 08:00:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 26 08:00:45 2017 +0000"
      },
      "message": "Merge \"Pass bootComplete to dexopt.\""
    },
    {
      "commit": "475d9b283cf6baf28c4800b1e54aac4f27acb485",
      "tree": "3a54af0db83d153a5976163a31441a080fa3d39d",
      "parents": [
        "3436fd4833dd8f83fd8c1f093dfbc405cea229ce",
        "afe95a99783156c3d84a67209d0c30d3e11f94e0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 25 16:28:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 25 16:28:43 2017 +0000"
      },
      "message": "Merge \"HIDL: C++ Java parity\""
    },
    {
      "commit": "3b4359a06c482095338080fa908a67441ad23a2b",
      "tree": "2fc989f52a03cc044af4cfb53d96f63226824eb9",
      "parents": [
        "3436fd4833dd8f83fd8c1f093dfbc405cea229ce"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 25 13:53:22 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 25 13:56:00 2017 +0100"
      },
      "message": "Pass bootComplete to dexopt.\n\nbug: 37165062\nTest: After OTA, check bootComplete\u003dfalse on package updates\nChange-Id: I6fc00216020bb16d8ed4f6e839b5e1df0e942700\n"
    },
    {
      "commit": "3436fd4833dd8f83fd8c1f093dfbc405cea229ce",
      "tree": "46b78109220bf779057017e7c82c704e864a5850",
      "parents": [
        "48859e01d51622399b5ca40a672b77b70e63b696",
        "1e49f6c35f2a2c0133f9e331ebb84f96d34cef4c"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu May 25 10:39:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 25 10:39:15 2017 +0000"
      },
      "message": "Merge \"Remove time_zones_by_country.xml file\""
    },
    {
      "commit": "1e49f6c35f2a2c0133f9e331ebb84f96d34cef4c",
      "tree": "ac74ea423bed70a1dba0e0b8095da917d628600a",
      "parents": [
        "85e188585ed6b3f49c808a7b821d77b77956774a"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Mar 31 13:05:01 2017 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed May 24 15:31:16 2017 +0100"
      },
      "message": "Remove time_zones_by_country.xml file\n\ntime_zones_by_country.xml has been replaced by a file that can\nbe updated outside of an OTA and can be accessed via\nlibcore.util.TimeZoneFinder. This means parsing code has been\nremoved from this class and replaced by calls to libcore code.\n\nlibcore code uses ICU so this class adapts to\njava.util.TimeZone for published public APIs as well as other\nknock-ons to reduce impact of this change in telephony code.\nAll use of classes called TimeZone are fully-qualified to\nreduce confusion.\n\nSeveral public-but-hidden methods have been removed. These\ncan be returned if there are any important apps relying on\nthem.\n\nBug: 25338903\nTest: Ran CtsUtilTestCases\nChange-Id: I699b4e7420e8d7e61ee68ec96552ab3144c9bab2\n"
    },
    {
      "commit": "e7514335bfa93e896eac979bd9955a216f4317f4",
      "tree": "0edb295f69fa2bd30956d4570d8ba4a49278f1ec",
      "parents": [
        "0a76f9962140a42392d4bd5e4847c302f28c5f87"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed May 24 15:39:39 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed May 24 16:03:43 2017 +0900"
      },
      "message": "NsdServiceInfo: move test to tests/net\n\nThis patch also\n  - adds a license plate to NsdServiceInfoTest\n  - fixes some formatting and style issues\n      package name\n      uses of canonical junit asserts\n  - update NsdServiceInfoTest to not use the deprecated AndroidTestCase\n\nBug: 62044295\nBug: 32561414\nTest: $ runtest frameworks-net passes\nChange-Id: Ie5ebb00172aef4eec19e6ecd2b41c4467901b93d\n"
    },
    {
      "commit": "afe95a99783156c3d84a67209d0c30d3e11f94e0",
      "tree": "80bbc3c84dc4600a87b1439606509214327ff7d3",
      "parents": [
        "99cf40a25a23393b7463e9c5f664c4586c5eca48"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue May 23 12:45:16 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue May 23 16:32:00 2017 -0700"
      },
      "message": "HIDL: C++ Java parity\n\nAdd same restrictions to Java that we have in C++ HIDL\ncode for C++ services.\n\nTest: hidl_test_java, multiple internal devices work\nBug: 38415912\nChange-Id: I48571a5cd94b0ba6b1f722d032e45aac6e9527ed\n"
    },
    {
      "commit": "2c68452320f908a3053f6e359aab3af1732c1da2",
      "tree": "4dea19b527737d189a2924c460895ceb680a5c0d",
      "parents": [
        "e7678517b3f77fbd4b036f643ad4f22989068483"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue May 09 14:36:02 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue May 23 10:39:46 2017 +0900"
      },
      "message": "ConnectivityManager: simplify callback handler\n\nBug: 36701874\nTest: $ runtest frameworks-net\nChange-Id: I4d5f08903a54f8dced7cb6ae86703847b908b784\n"
    },
    {
      "commit": "e7678517b3f77fbd4b036f643ad4f22989068483",
      "tree": "8e15bba9ce1d836e03789dc656a99450ea948ca9",
      "parents": [
        "70fe11fc38c6b40a5e183ee1dcb18134164a7c35"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue May 09 15:19:01 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue May 23 10:39:45 2017 +0900"
      },
      "message": "ConnectivityManager: improve argument validation\n\nUsing Preconditions and dedicated static methods for checking arguments\nto improve error stack traces without error messages.\n\nTest: covered by previously added unit test\nBug: 36701874\nChange-Id: Id872b2c887a4bca43a8c3644622add1c2ee57c6d\n"
    },
    {
      "commit": "b5d6e45e8d8e8e074c74f77a8168eedc6917c74e",
      "tree": "ac79d3a9c396054fcf0f9d4974aa77930683a716",
      "parents": [
        "e245bf9067bd4f47c71f50ee620feebe75ff8000",
        "0eec03f75c4a7b5b261f2174a148863f9fd8174f"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri May 19 23:05:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 19 23:05:57 2017 +0000"
      },
      "message": "Merge \"Address ConnectivityManager API comments.\""
    },
    {
      "commit": "2965d33afc7fd68300b99a53a3f65dab10b5e24e",
      "tree": "8a2c9b2834ba1139ba8b0293fffc11c5d10f1eb3",
      "parents": [
        "c01fbf0f0c7903f2181a8be933b7020cc6af85c5"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Apr 27 14:30:21 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri May 19 00:58:41 2017 +0000"
      },
      "message": "Add a method to start the captive portal login app.\n\nBug: 36203355\nBug: 36656914\nTest: ConnectivityServiceTest (including new test) passes\nChange-Id: Ide82858af67024623560ab79beea27c201b63447\nMerged-In: I82a9a9a8da47870ba3f1bbef5941b37e970c844f\n\n(cherry picked from commit 4734cdbbc38752765376aedb0d5208463674535e)\n"
    },
    {
      "commit": "85faffa7efeea759ae8afb487716b2ad97af2838",
      "tree": "d6a73bfe926056986d71d7556e7ed7199a0aada3",
      "parents": [
        "8f65e470b0354f5fca3966f61a5995819609fbd2",
        "58d87e8ab7f3ba98c6f9ec049b2334063408895f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 17 15:19:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 17 15:19:27 2017 +0000"
      },
      "message": "Merge \"Convert libmedia_jni to Android.bp\""
    },
    {
      "commit": "0eec03f75c4a7b5b261f2174a148863f9fd8174f",
      "tree": "b8597dbc088938ef843c2b98299ac3ebd1f2aad6",
      "parents": [
        "0727abc423bb8ff265534f54daa4df9df7b61ee3"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon May 15 15:15:33 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed May 17 21:48:05 2017 +0900"
      },
      "message": "Address ConnectivityManager API comments.\n\nThis patch is a cherry pick of the two following commits:\n  - 15fd4395e13b4662a262ee67a5f75f5c521c62ef which addresses several\n    issues in the public api of ConnectivityManager.\n  - e2d48ff57c5529b32a9cd7bfdcf21d29df539f73 which fixes the documentation\n    of several methods in ConnectivityManager public api.\n\nBecause the first commit change the public api that is referenced in\nthe documentation fixed by the second commit, it is not possible to one\nwithout the other. In both cases trying to cherry pick only one of them\nresults in a build error.\n\nThe first commit was submitted successfully on an internal branch before\nthe checks done in the built got stricter.\n\nBug: 36370941\nTest: marlin builds and boots\nChange-Id: I86dcf056e6b165e527c3ee88dbabc2764ac09a08\nMerged-In: I693ee5270bf186c88c7c5056293519f7237504ff\n\n(cherry picked from commit 15fd4395e13b4662a262ee67a5f75f5c521c62ef)\n"
    },
    {
      "commit": "58d87e8ab7f3ba98c6f9ec049b2334063408895f",
      "tree": "ace97595abc765fdfbd8eb47c2825d0e02527f57",
      "parents": [
        "aa9a59ab32fcc98d3ad6b9ed650e507167f73a38"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 15 18:10:40 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 16 22:05:39 2017 -0700"
      },
      "message": "Convert libmedia_jni to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m -j checkbuild\nChange-Id: I1817c75ee45537ca0d5fc40a035f94a3dfeccc11\nMerged-In: I1817c75ee45537ca0d5fc40a035f94a3dfeccc11\n(cherry picked from commit 76de4f6b4d09423b3a5d3603527ce79acae4ed32)\n"
    },
    {
      "commit": "11780f1ad3f831d36655723ab07c28db821c3fe1",
      "tree": "6383bcf0097bcadae42c32cdc5a4cf2568062747",
      "parents": [
        "abb732fc40976097230a5928f74756d16d9c4317",
        "4c88a8c6848609333fa6058fcfc22ac58ed94dac"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 16 20:49:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 16 20:49:56 2017 +0000"
      },
      "message": "Merge \"Zygote: Allow arbitrary-length wrap property names\""
    },
    {
      "commit": "abb732fc40976097230a5928f74756d16d9c4317",
      "tree": "3efefe9d93325ef782aed3b60493bdb33ba398c9",
      "parents": [
        "4b3c44be55eb032dbf2357ec93fbbd5d5e0c82b1",
        "fe2bf16a2b287c3c748cd6fa7c14026becfe83ff"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 16 20:20:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 16 20:20:19 2017 +0000"
      },
      "message": "Merge \"Discover primary service by UUID for PTS tests (4/4)\""
    },
    {
      "commit": "fe2bf16a2b287c3c748cd6fa7c14026becfe83ff",
      "tree": "a86afd4bfc62c68dd776d894bac6b62beab76623",
      "parents": [
        "79d3648cc2f6af3ff1a0e8352ab6e2ca473f8d55"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Tue May 16 10:56:35 2017 -0700"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Tue May 16 11:37:00 2017 -0700"
      },
      "message": "Discover primary service by UUID for PTS tests (4/4)\n\nBug: 38123054\nTest: manual\nChange-Id: I89e088e60f4325f1ece59d22efda0c907a3b716a\n"
    },
    {
      "commit": "232ce7868d221af20d597e24a6e5eb98fda2514b",
      "tree": "5bc01cc70a04b36dd61d6e4f321d8d3fba8c2223",
      "parents": [
        "db6fc1afe8c43cbe47f0f05640d5ceb7a71bed23",
        "ab16dd10f148e1bd49e62ffd88d95bf6d39d5201"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue May 16 14:02:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 16 14:02:53 2017 +0000"
      },
      "message": "Merge \"Set the decay timer for all forked apps.\""
    },
    {
      "commit": "4c88a8c6848609333fa6058fcfc22ac58ed94dac",
      "tree": "d106bd1697331e00d5fb7a7f041a06288b44ca19",
      "parents": [
        "73818566d6cdab38b96a9a6dbf773f11b166526c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 10 18:53:02 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 15 19:51:29 2017 -0700"
      },
      "message": "Zygote: Allow arbitrary-length wrap property names\n\nThe restriction on system property key length has been lifted.\nUpdate the invoke-with code to first check the full-length property.\nThen fall back to the truncated version for backwards-compatibility.\n\nTest: m\nTest: manual with long package name (Maps)\nChange-Id: I9f714af093a6017307cfef18c84de769f0de7c3e\n"
    },
    {
      "commit": "d5ad3e8a0cda05acad9eb3b5bf2ba578bb5002f4",
      "tree": "34975630ac98fd45a8ee22fc869a39701f515f47",
      "parents": [
        "73818566d6cdab38b96a9a6dbf773f11b166526c"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue May 16 11:39:08 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue May 16 11:39:08 2017 +0900"
      },
      "message": "Remove unused import in ConnectivityManager\n\nThis makes the pre-upload verification pass.\n\nTest: no functional change.\nChange-Id: I6beccea10ccfcb39d975cb8f6f34fc9d79f1e170\n"
    },
    {
      "commit": "ab16dd10f148e1bd49e62ffd88d95bf6d39d5201",
      "tree": "9b786c197eea267db9f04b263634c76e46d2eab8",
      "parents": [
        "f465d84ebeacc1ac396133009ff8ee614363beec"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon May 15 16:50:29 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon May 15 16:50:29 2017 -0700"
      },
      "message": "Set the decay timer for all forked apps.\n\nThis will cause native memory frees to be less expensive, but it will cost\na bit of PSS that might hang around.\n\nBug: 36401135\n\nTest: Built and booted bullhead.\nTest: Ran jemalloc unit tests.\nTest: Ran bionic unit tests.\nTest: Ran a test that allocated and free\u0027d a large piece of memory,\nTest: and verified that after changing the parameter, the PSS\nTest: sticks around (decay timer set to 1), the PSS is purged (decay\nTest: timer set to 0).\nChange-Id: I140b26986f3f81fddd5b9ed9c9e4f2d4977b819b\n"
    },
    {
      "commit": "445513061089eda47eed0063a1069011251db370",
      "tree": "ff60ad03bd17d4e8d6a3473cb73c4a53d0014245",
      "parents": [
        "465f8527ddf1e495055e50a91267c3d8d3577068"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue May 09 15:52:46 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon May 15 15:17:48 2017 +0100"
      },
      "message": "Moved c.a.i.u.Predicate[s] into legacy-test\n\nThese classes are only used by android.test classes that are\nbeing removed. As their name suggests they should not be in the\nAndroid API at all so it makes sense to remove them. Especially\nas there is java.lang.function.Predicate available now.\n\nIt appears as though Predicate was only added in to the API\nbecause it was used by a method in the API as the directory in\nwhich it and Predicates live was not on the list of classes to\nexplicitly index. Moving it into legacy-test meant that they are\nnow being indexed explicitly which means that Predicates needs\nto be hidden.\n\nKeeps running the tests as part of the existing target.\n\nAt runtime apps targeted at the API version before these are\nremoved will have the legacy-test library automatically added\nto their classpath so they should see no effect. Apps that\ntarget a later API will have to include those classes from the\nandroid.legacy.test.jar which will contain all the android.test\nclasses that depend on it as well.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ia8502ec77ac11f85e078d70b68df214a9435eee7\nMerged-In: I6f6f5f16fe93bd80227a450c6254166632fc6813\n"
    },
    {
      "commit": "50f811c8fc31fbae4ae41f825d5d7b1166c6b4d4",
      "tree": "3b7c284912d99a71835e0345a6f45b962e985d81",
      "parents": [
        "ed112e3c11286bb8263185c2d30ab6a933686fff"
      ],
      "author": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Wed Aug 03 17:34:45 2016 +0200"
      },
      "committer": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Fri May 12 15:42:47 2017 +0200"
      },
      "message": "Add tests on MultiDex.installInstrumentation\n\nEither with dedicated Instrumentation or with MultiDexTestRunner.\n\nBug: 30575093\n\nTest: Those are tests\n\nChange-Id: I97a22625409fd587e1d63fa4207eb72ca67f2c82\n"
    },
    {
      "commit": "d6eaa8059037d52695c011c02ba58e0d73fd9b9a",
      "tree": "727a9c952220832d1576d1cb9921bd002447615a",
      "parents": [
        "79d3648cc2f6af3ff1a0e8352ab6e2ca473f8d55",
        "7b73266998e0dd4aa70f78c42854be9aaf91b7eb"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 11 23:34:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 23:34:24 2017 +0000"
      },
      "message": "Merge \"Init MemoryIntArray#mFd with -1\""
    },
    {
      "commit": "79d3648cc2f6af3ff1a0e8352ab6e2ca473f8d55",
      "tree": "9b6d264a89f1fc0c7c26f060cdd214db79fb97cb",
      "parents": [
        "7eca824ce303405ff5f415004ba5ceb1e0ff1f8d",
        "5b07cb35424431bc5e79ad274e693ab3fbcdd315"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu May 11 21:20:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 21:20:30 2017 +0000"
      },
      "message": "Merge \"Add key for carrier_volte_provisioned\""
    },
    {
      "commit": "21a57f263f1f84f3acc0e04661e720b5f7be48ff",
      "tree": "361fb07e64a80f20af55dd1f92eeb2f83840e5a1",
      "parents": [
        "383b2af3ecb6230dc58a7eeee5c31e68354451f2",
        "6e039a13cc032d2bbe94167fe54489c80cbc52c1"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu May 11 12:31:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 12:31:41 2017 +0000"
      },
      "message": "Merge changes Ie762ce75,I611fd791\n\n* changes:\n  ConnectivityManager: unit test for argument validation\n  ConnectivityManager: uses service error codes and exceptions\n"
    },
    {
      "commit": "cb88323dd27467d8ee3992fe4f05884a0d05abba",
      "tree": "9974d069c0a25dba3a3b31a3896b2e41bfcb7899",
      "parents": [
        "df57734354e9e7115eb7fd188f2815081cd3b626"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu May 11 13:16:17 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu May 11 14:15:15 2017 +0900"
      },
      "message": "ConnectivityManager: uses service error codes and exceptions\n\nThis patch introduces between ConnectivityManager and\nConnectivityService a mechanism for propagating back to clients\ninformative errors in the form of error codes and associated custom\nruntime exceptions.\n\nWithout error code, the service can only throw a limited number of\ndifferent exceptions over Binder. Furthermore the throw site stack\ntraces are always loss. Although for individual instances of a throw,\nthe error message can be inspected, aggregations of stack traces from\napp crashes sanitize error messages and only leaves the stack traces.\n\nThis makes debugging dificult for some service calls such as\nrequestNetwork that can have a variety of failure modes.\n\nIn this patch only one failure mode is codified. More can be added later\nat a light cost by: 1) defining an error code, 2) defining an\nassociated exception, 3) mapping the code to the exception. This patch\ncan serves as a template for doing so.\n\nTest: $ runtest frameworks-net,\n      #testNetworkRequestMaximum() detects the new exception type.\nBug:  36556809, 36701874\nChange-Id: I611fd7915575c9e418f7149fcdc8a879d2a3716d\n"
    },
    {
      "commit": "5b07cb35424431bc5e79ad274e693ab3fbcdd315",
      "tree": "f9eea146d5529dac718d7a930d1f982b7ea73aa9",
      "parents": [
        "1bb91813806b253dd50543974c397bcda2eaa389"
      ],
      "author": {
        "name": "Jordan Liu",
        "email": "jminjie@google.com",
        "time": "Mon Oct 03 11:35:33 2016 -0700"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Wed May 10 17:40:19 2017 -0700"
      },
      "message": "Add key for carrier_volte_provisioned\n\nAdd the key to CarrierConfigManager and remove old configs.\n\nBug: 29873049\nChange-Id: Icf3075fe39d3466732ea81738cb29c512f840401\nMerged-In: Icf3075fe39d3466732ea81738cb29c512f840401\n"
    },
    {
      "commit": "51876abe82857c22acfeb7cd4e15358eca5ee94b",
      "tree": "1370044ad2806c1b288705e86c29298d9bd1ca48",
      "parents": [
        "1bb91813806b253dd50543974c397bcda2eaa389",
        "cef9ce368c5f3d50913c37ea73d5589371faa11f"
      ],
      "author": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Thu May 11 00:37:42 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 00:37:44 2017 +0000"
      },
      "message": "Merge \"Bluetooth: HID: Add support for Set Idle and Get Idle Commands (3/4)\""
    },
    {
      "commit": "767f05feea67e642a76bd3e2e7633a8f5273f077",
      "tree": "7dc6f3065ba8e55afd57542b42e7a357c831676d",
      "parents": [
        "9588b607f048d0f513d674e90f9d0823928d1d26"
      ],
      "author": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Mon May 01 21:27:31 2017 -0700"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Wed May 10 16:28:47 2017 +0000"
      },
      "message": "Add Save and Restore of BluetoothOn setting\n\nThis change will automatically save the Bluetooth On setting when\nthe user chooses to backup the phone settings into the cloud. This\nsetting is restored by the Setup Wizard (SUW) when configuring the\nphone and this change will enable or disable the Bluetooth based\non this restored setting.\n\nBug: 35657817\nTest: Manual test with Sailfish\nChange-Id: Ie4518593af63f96f8c363f98941ca5260a3ec4bb\n"
    },
    {
      "commit": "cef9ce368c5f3d50913c37ea73d5589371faa11f",
      "tree": "6f266816daeb46210063bdf5f1f4c38ed8d13ebb",
      "parents": [
        "9588b607f048d0f513d674e90f9d0823928d1d26"
      ],
      "author": {
        "name": "Hemant Gupta",
        "email": "hemantg@codeaurora.org",
        "time": "Tue Jul 30 16:09:20 2013 +0530"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Wed May 10 16:23:17 2017 +0000"
      },
      "message": "Bluetooth: HID: Add support for Set Idle and Get Idle Commands (3/4)\n\nProvides an interface for application to send Set Idle\nand Get Idle commands to remote HID Device. Support for these\ntwo commands was missing from existing code, so existing code\ndesign is reused to add support for these two commands.\n\nWithout this support following mandatory PTS test cases for HID 1.0\ncannot be passed, TC_HOS_HID_BV_05/06.\n\nTest: Executed PTS tests TC_HOS_HID_BV_05/06 and confirmed if they can\npass\n\nBug: 34344715\nChange-Id: I548362cc328498920b2dae740f1a76b2cc2d6a67\n"
    },
    {
      "commit": "16832244164726c847f0118fefd3e57a04e01af1",
      "tree": "8e7e732faeb4d9841d59926867ea9b229753f3f2",
      "parents": [
        "cb70647418d09e468a33e2074500a3274f9a52f8",
        "00a16e077a2285bdb1466051ad577de88faffce1"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed May 10 08:19:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 08:19:33 2017 +0000"
      },
      "message": "Merge \"NetworkStatsFactory: no double looping on stats + stacked interfaces\""
    },
    {
      "commit": "037d3513e0a06c8dc59748b75d49c06e1db5e510",
      "tree": "3e5d4d01f3aa6bf7a77be9a5838f55477375e07b",
      "parents": [
        "df57734354e9e7115eb7fd188f2815081cd3b626"
      ],
      "author": {
        "name": "Sunny Kapdi",
        "email": "sunnyk@codeaurora.org",
        "time": "Fri May 05 15:27:33 2017 -0700"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed May 10 07:23:06 2017 +0000"
      },
      "message": "Bluetooth: Fix Periodic Adv interval check\n\nThe MIN and MAX values need to be swapped else\nthe parameter check in setInterval would always\nfail\n\nBug: 37579882\nChange-Id: I48538c2a61be88caaf04abd94074b3d9eb6dde96\n"
    },
    {
      "commit": "00a16e077a2285bdb1466051ad577de88faffce1",
      "tree": "79fc9a49f79174afc2ecbeade257a1b3bdf66970",
      "parents": [
        "e1bb3a14d1ee1aba2f92e5bccf659774699eaffe"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Apr 27 14:52:53 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed May 10 09:14:14 2017 +0900"
      },
      "message": "NetworkStatsFactory: no double looping on stats + stacked interfaces\n\nThis patch uses the associative structure of the stacked/base interface\ncollection to avoid the two nested for loops over stacked/base\ninterfaces and all stats entries when correcting 464xlat traffic stats.\n\nConsequently the list of stats entries is iterated only once.\n\nTest: runtest -x frameworks/base/../NetworkStatsFactoryTest.java\nBug: 33681750\nChange-Id: I84ae997fb693b909f431764697627b9957131732\n"
    },
    {
      "commit": "ba666e0621532526ae3e0e30074ddd060347fd44",
      "tree": "d8a1a8d5d00a56e06f47afac09b0feae25569670",
      "parents": [
        "66deee2bd47929652feb560f3c60a0097543dc7b",
        "e1bb3a14d1ee1aba2f92e5bccf659774699eaffe"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed May 10 00:07:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 00:07:29 2017 +0000"
      },
      "message": "Merge \"NetworkStatsFactory: fix double accounting on IPv6 only networks\""
    },
    {
      "commit": "6b1f39502c7d5f71b42d82ac6d511ee0afd1191e",
      "tree": "660a8d35da10fe67f3b67165667a92b6b04dbf6b",
      "parents": [
        "4ad5256547aee5469e4e39881484979f97155b0b"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Tue May 09 14:28:21 2017 -0700"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Tue May 09 22:59:18 2017 +0000"
      },
      "message": "Bluetooth: Fix interval low/min values\n\nBug: 38175945\nTest: none\nChange-Id: Idf487c7aafc518f2c57be78a1fa979b2c4a383d6\n"
    }
  ],
  "next": "a43bd01bd191cbfe3d58dbd27da8ef40dc4f04e7"
}
