)]}'
{
  "log": [
    {
      "commit": "a2fe748e7a24fcb631daa3e228564eca81f8a670",
      "tree": "d9ad3b8c382b90e8311b5d1b578008e79190c556",
      "parents": [
        "aa31e19ae1189f022b22d7de17e93e10516f80da",
        "761d3ff06c74a4da50a395f6269ea8b81d60f51f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 09 03:19:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 09 03:19:03 2018 +0000"
      },
      "message": "Merge \"Duration format for tunable settings\""
    },
    {
      "commit": "710971a2866a58c896a6862b36c10630f176804b",
      "tree": "024360d98d1aa00b28bbfcdd91ee71308db2f0bb",
      "parents": [
        "7ec463d928daa4f36ef7eecb0807c869f451ea2c",
        "5c19b897ddb89481c5981195d2470f6ce5de4b1c"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Jan 09 02:28:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 09 02:28:51 2018 +0000"
      },
      "message": "Merge \"Add a global setting to turn on/off the proc state cpu times tracking.\""
    },
    {
      "commit": "7ec463d928daa4f36ef7eecb0807c869f451ea2c",
      "tree": "7d903bc5d7ebec9c2551aa5dddf0fa5049ebab5e",
      "parents": [
        "03057588bcd4452060c3425cf85b1df15541b4e5",
        "bee6d5f92e0306361f10d81b6e2db68cf2466737"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 09 02:20:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 09 02:20:32 2018 +0000"
      },
      "message": "Merge \"incidentd: Updating process state enum.\""
    },
    {
      "commit": "973e7eba7e372b9d0631225a445878e63ad68eff",
      "tree": "83f42b7a2dd6e4d79b522ecdfe717bc653b15a41",
      "parents": [
        "124f4ce34d94be63a1d5210bdc9a7fe413b9d45c",
        "052e3149da48a8a841f5a974d60eb9d2109837de"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 09 01:29:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 09 01:29:00 2018 +0000"
      },
      "message": "Merge \"Work on issue #70859548: Reduce amount of time spent collecting pss data\""
    },
    {
      "commit": "6198ec6303494026bb1b5b0a6af422defc25e50d",
      "tree": "179604c4a29c841b3c415b3db287d9fa72c3ef31",
      "parents": [
        "2805379224584b8fc5ebc9792cd4f2acf08d3248",
        "7b76e93bf1e7de547989b044ddf9cb7c34db1898"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Tue Jan 09 00:56:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 09 00:56:08 2018 +0000"
      },
      "message": "Merge \"Remove DEMO_USER_SETUP_COMPLETE\""
    },
    {
      "commit": "5c19b897ddb89481c5981195d2470f6ce5de4b1c",
      "tree": "2003c075f610740363c2acffe5095e69f8b729c0",
      "parents": [
        "65e919ae8c299fe06613b67b534d085909306354"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Fri Jan 05 17:25:46 2018 -0800"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Jan 08 16:25:16 2018 -0800"
      },
      "message": "Add a global setting to turn on/off the proc state cpu times tracking.\n\nBug: 66953194\nTest: atest core/tests/coretests/src/com/android/internal/os/BatteryStatsTests.java\nTest: atest hostsidetests/incident/src/com/android/server/cts/BatteryStatsValidationTest.java\nTest: atest core/tests/coretests/src/com/android/internal/os/BstatsCpuTimesValidationTest.java\nChange-Id: Id26476ad77c95994f358d8bd59b6c2e6513c4c54\n"
    },
    {
      "commit": "13e0861efafa4d9e06174747b654a8968fe792ee",
      "tree": "813021470158eddb550c5a09df77b49258f0467d",
      "parents": [
        "f2beec008d9d59aafe8e63fe0cafbc78bcad77dc",
        "ef5218836dabbcd29be61b0f27aa26be6e32af6e"
      ],
      "author": {
        "name": "Toby Sargeant",
        "email": "tobiasjs@google.com",
        "time": "Tue Jan 09 00:12:33 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 09 00:12:33 2018 +0000"
      },
      "message": "Merge \"Add a Java FindAddress implentation.\" am: 9ea410a6f8 am: da4e3b68fb\nam: ef5218836d\n\nChange-Id: Ic896c9f805330c28e9e0c3ca583f28e80bc47184\n"
    },
    {
      "commit": "65e919ae8c299fe06613b67b534d085909306354",
      "tree": "f998bc8b282b243ffb7f0da989a063ba10295b42",
      "parents": [
        "9761f47e8469627934ef2bea5560d4433153b913",
        "e544d1622091eb9d47e958d60e117c19b137d0d9"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Jan 08 23:51:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 23:51:40 2018 +0000"
      },
      "message": "Merge \"Attribute procstate cpu times to correct battery/screen on/off buckets.\""
    },
    {
      "commit": "985cdcb88a262a905ddcc90b20177f2be292198b",
      "tree": "12b018a7b3c5c10d22e4490e8efd9a0cf56a55bc",
      "parents": [
        "8d20f3d940db4292f60b4fe2e6fa6cc84df160cf"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Wed Jan 03 12:13:26 2018 -0800"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Mon Jan 08 23:37:10 2018 +0000"
      },
      "message": "HFP: Add APIs for set and get active device (1/3)\n\n1. Call BluetoothHeadset.setActiveDevice(BluetoothDevice device) to set\n   a connected HFP/HSP device as active.\n2. Listen for BluetoothHeadset.ACTION_ACTIVE_DEVICE_CHANGED intent\n   that will contain the latest active device (in EXTRA_DEVICE field).\n   If the active device could not be changed, the EXTRA_DEVICE\n   field could be null.\n3. If setActiveDevice() is NOT in-progress, BluetoothA2dp.getActiveDevice()\n   can be used. If setActiveDevice() is in-progress, the result is undefined.\n4. BluetoothHeadset.setActiveDevice() could be called by some other parts of\n   the system, so interested parties should always listen for\n   BluetoothHeadset.ACTION_ACTIVE_DEVICE_CHANGED intents and prepared\n   for active device updates.\n\nBug: 68951996\nTest: manual\nChange-Id: I22ca639a04fed7bf17df59c405ddeda90dafb8ff\n(cherry picked from commit 05f4bc40743654ea501b18d70ee162a08b81b35c)\n"
    },
    {
      "commit": "0f4c4232d753885d6beb164b2d9288cc06efae3a",
      "tree": "cb4b7f654919257097ac17955a16fc4de6b811c0",
      "parents": [
        "9c53dba9a39e4e56d3b37da68d20ed96f28a6df7",
        "0ca18071b25c3dea033abc955d559cb1e0dace61"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 08 23:09:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 23:09:32 2018 +0000"
      },
      "message": "Merge \"Renaming leftover from previous CL...\""
    },
    {
      "commit": "7b76e93bf1e7de547989b044ddf9cb7c34db1898",
      "tree": "7c8083a4b4a48b700a33e2b356268972c5f4f6a3",
      "parents": [
        "bef82eda3a9531da62a0745694d862a874b0cde9"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Mon Jan 08 13:40:19 2018 -0800"
      },
      "committer": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Mon Jan 08 13:40:19 2018 -0800"
      },
      "message": "Remove DEMO_USER_SETUP_COMPLETE\n\nThis @hide setting is no longer used.\n\nBug: 71594447\nTest: make -j100\nChange-Id: Ib412f4c16eabb5bedb9e4538db294bfdfb2a4478\n"
    },
    {
      "commit": "ef5218836dabbcd29be61b0f27aa26be6e32af6e",
      "tree": "566599de83c795ab520f5b1098d33f849b46d3ea",
      "parents": [
        "48d6926f38112b69ddc37423f8362048e61359e0",
        "da4e3b68fba1932a44ba7cc74940f4caa6b5362a"
      ],
      "author": {
        "name": "Toby Sargeant",
        "email": "tobiasjs@google.com",
        "time": "Mon Jan 08 21:23:45 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 08 21:23:45 2018 +0000"
      },
      "message": "Merge \"Add a Java FindAddress implentation.\" am: 9ea410a6f8\nam: da4e3b68fb\n\nChange-Id: I7b2448fcb2edb4bc9000fd5e55f7295e6c6ff676\n"
    },
    {
      "commit": "2ef95c9d1dad6273fae93bd50789adbf967c0119",
      "tree": "d6bffc25c2eb1556b161e691b5633c05d021d306",
      "parents": [
        "5dfd8194b29aa15c7e17906ef0933d6f6ac10acb",
        "01f4f03188588d917f59d1c2737ee7bd27891dda"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 08 21:17:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 21:17:30 2018 +0000"
      },
      "message": "Merge \"Ignores Resources.NotFoundException when setting ViewStructure.setTestIdEntry().\""
    },
    {
      "commit": "5dfd8194b29aa15c7e17906ef0933d6f6ac10acb",
      "tree": "62d1d59b309bd56ba290ce86e5fa73b7871eedcb",
      "parents": [
        "7a085f9ea05126e959ab5de1ca810c1938072380",
        "ed074fd70011cf804a14b5cf53ffd4b529c5f367"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Mon Jan 08 21:14:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 21:14:50 2018 +0000"
      },
      "message": "Merge \"Support using ImageDecoder with ContentResolver + URI\""
    },
    {
      "commit": "b1ebd51c012abc6990fec9b043b80d6519b088b6",
      "tree": "a61bdc5b122009f007d81dad1f03bea2d674b4f7",
      "parents": [
        "eff28b58632ce2d322ece68a983bb36de4e78181",
        "d16d93361bcf56187411562e8130deec5486d4f8"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Mon Jan 08 21:13:52 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 08 21:13:52 2018 +0000"
      },
      "message": "Merge changes from topics \"bt-hfp-add-set-active-device-method\", \"bt-system-api-annotations\" am: 25259faa27\nam: d16d93361b\n\nChange-Id: I525cbc81c450afafd3fcedaf7b1b5e4b17a4162a\n"
    },
    {
      "commit": "af82f64f85b2feeeb965fafa5c90b9a2361273a2",
      "tree": "9e655ed785b97afa6b528cfe38d6664dd16ade84",
      "parents": [
        "7444654d47336fef2daf6f7e46900cabae86c403",
        "fe73dd054248556d7dcf97d7f020bdc265862621"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Mon Jan 08 21:11:35 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 08 21:11:35 2018 +0000"
      },
      "message": "Merge \"Added internal API to get/set the A2DP Active Device\" am: 6efee9c079 am: e3428dae04\nam: fe73dd0542\n\nChange-Id: Ibf2e9fb0a5939f45a9d21bc06b26ef719ff9c58f\n"
    },
    {
      "commit": "fe73dd054248556d7dcf97d7f020bdc265862621",
      "tree": "bee2140b01533b145796fb5787307ba03d3724cd",
      "parents": [
        "98fa8b7eb01a0d75283efdbd2e53970ca3a26832",
        "e3428dae0480163ca729d762d05faa016b1180f4"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Mon Jan 08 21:02:01 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 08 21:02:01 2018 +0000"
      },
      "message": "Merge \"Added internal API to get/set the A2DP Active Device\" am: 6efee9c079\nam: e3428dae04\n\nChange-Id: If220447db71398cc305eb7a702896e21959110c8\n"
    },
    {
      "commit": "0ca18071b25c3dea033abc955d559cb1e0dace61",
      "tree": "b8aead253ac5929468e8b5b0e4e97ee2b3cc2a88",
      "parents": [
        "61823f3a23750d672947ba7b5bb6dd4f1ff5503f"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Jan 08 12:59:33 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Jan 08 13:00:25 2018 -0800"
      },
      "message": "Renaming leftover from previous CL...\n\nTest: echo \u0027In TreeHugger we trust!\u0027\n\nBug: 71552872\n\nChange-Id: I2b317c28cb7ec0e74b2cfa98338f9d64ff7dce3b\n"
    },
    {
      "commit": "fbef27ab4a9dc463d38f031c55bef7d45f517cfe",
      "tree": "1d99b1e2c7fd0be48ec2f6fa575290a6805ab19b",
      "parents": [
        "09d9ac5819a37d397cfedbb185695992d85f8454",
        "3c034c987e1eeb49660fb62d3426c292a01412c9"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Jan 08 20:52:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 20:52:54 2018 +0000"
      },
      "message": "Merge \"Implement a new type of section which reads from logd and dumps proto.\""
    },
    {
      "commit": "09d9ac5819a37d397cfedbb185695992d85f8454",
      "tree": "1c7e4425cf0e66d5248bd0fabba0bd48b99438d7",
      "parents": [
        "2ff9e7697f0dc95aa73d35b9b7238f78bbb8511e",
        "98fa8b7eb01a0d75283efdbd2e53970ca3a26832"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jan 08 20:44:51 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 08 20:44:51 2018 +0000"
      },
      "message": "Merge \"Generic Mutable class for HIDL code.\" am: 0f05ce94c3 am: a4ac12c3ac\nam: 98fa8b7eb0\n\nChange-Id: I0062c37e0fe119ee31b8c72396e2be706a6469a5\n"
    },
    {
      "commit": "26876815966a46e8a8d73645e93bafe596e05a27",
      "tree": "5806d8108f59fcc14dd9bd81b2edbb4b95cdd4cf",
      "parents": [
        "0b033791b4dcc6fca926a7e8d750ef4bb72ae7f3",
        "a07d0e463d8493a9e0df49dd6946cf812c8ec848"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Mon Jan 08 20:29:11 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 08 20:29:11 2018 +0000"
      },
      "message": "Merge changes from topic \"ipsec-resource-id-cleanup\" am: 2b36299c73 am: d7319df4d0\nam: a07d0e463d\n\nChange-Id: Ib96b30bcb1b47c23d0a18cf043dd042409c61322\n"
    },
    {
      "commit": "98fa8b7eb01a0d75283efdbd2e53970ca3a26832",
      "tree": "bd64424b2502b866d1ef5375dc3a31e53ac92cbb",
      "parents": [
        "8637bb7e46ad7ee31fd44d17dab08d21d4a553cc",
        "a4ac12c3ac754a5a89ae50dc6f8ec3d01dd2fd79"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jan 08 20:25:30 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 08 20:25:30 2018 +0000"
      },
      "message": "Merge \"Generic Mutable class for HIDL code.\" am: 0f05ce94c3\nam: a4ac12c3ac\n\nChange-Id: I1914e805b15064b40b963840eddf87a0bbd41169\n"
    },
    {
      "commit": "a07d0e463d8493a9e0df49dd6946cf812c8ec848",
      "tree": "09c1e5d6809f9c49b94f73a9b4b26f0dea0f3629",
      "parents": [
        "555e680089513599edcb2335c1e45d9dd7872857",
        "d7319df4d076b63a4ce07ac362cae7b30aef36cf"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Mon Jan 08 20:16:08 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 08 20:16:08 2018 +0000"
      },
      "message": "Merge changes from topic \"ipsec-resource-id-cleanup\" am: 2b36299c73\nam: d7319df4d0\n\nChange-Id: If6ab575e2f30fc70d73e6f8787c87f3c7a2ab09d\n"
    },
    {
      "commit": "0b033791b4dcc6fca926a7e8d750ef4bb72ae7f3",
      "tree": "83e2145ee03b665db4ee909c5e38fa50026cbf4c",
      "parents": [
        "2e1a9598c8c7ad796448a08a14fe46e3d70c857f",
        "035820cbda4c208bec8129d0e1e43f986d2dff87"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 08 20:00:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 20:00:28 2018 +0000"
      },
      "message": "Merge \"Insert org.apache.http.legacy at the start of the shared library list\""
    },
    {
      "commit": "01f4f03188588d917f59d1c2737ee7bd27891dda",
      "tree": "f15af053594cfdd3006d1486148d2dbab8ba892a",
      "parents": [
        "61823f3a23750d672947ba7b5bb6dd4f1ff5503f"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Jan 08 09:49:15 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Jan 08 11:28:20 2018 -0800"
      },
      "message": "Ignores Resources.NotFoundException when setting ViewStructure.setTestIdEntry().\n\nTest: manual verification using com.facebook.katana\nFixes: 71695541\n\nChange-Id: Idefc7d3799f2ef5525a5050d63ca29a19cab730a\n"
    },
    {
      "commit": "379ae46d76bc0af256cf7943c7b773a9381baa36",
      "tree": "6ae785fbd616b35aa487191d1b667a9d612d8513",
      "parents": [
        "03033385afd531807c5f96a577f76f12a9a08431",
        "47117fcd7878ae75600cf95075fbdbec58be5da6"
      ],
      "author": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Mon Jan 08 18:56:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 18:56:40 2018 +0000"
      },
      "message": "Merge \"Move signing data into SigningDetails container\""
    },
    {
      "commit": "03033385afd531807c5f96a577f76f12a9a08431",
      "tree": "e1637f4a9bc1d30175feba7df2d5fe9931634e5b",
      "parents": [
        "a2e3d734fb6ba6c590ac07204f73f81c943386af",
        "36d873fd33fe16721ab1d8e2d40fe196a75d083d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 08 18:05:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 18:05:39 2018 +0000"
      },
      "message": "Merge \"Log vibrations in realtime, not the monotonic clock base.\""
    },
    {
      "commit": "ed074fd70011cf804a14b5cf53ffd4b529c5f367",
      "tree": "86ee72779eb0ed8f5742d2dac992476c53e011c0",
      "parents": [
        "5c72a77bcaed8f399974f4edbf3d156a0ceb7cbb"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Dec 11 13:47:23 2017 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Jan 08 12:41:39 2018 -0500"
      },
      "message": "Support using ImageDecoder with ContentResolver + URI\n\nBug: 63909536\nTest: CTS: I0f36ce34c968fd7fae4d8edebabea3a421859615\n\nAdd ImageDecoder.createSource(ContentResolver, URI), allowing a client\nto decode images from files, content, resources, etc.\n\nPrefer using a file descriptor to using an InputStream so the input can\nbe cheaply seeked and rewound if necessary.\n\nMake ImageDecoder implement AutoCloseable to handle closing the input.\n\nMake decodeDrawable/decodeBitmap always return an object or throw an\nIOException. Avoid checking for a file in the Source constructor.\n\nFix a bug where inner Exception classes were not static.\n\nUpdate JavaInputStreamAdaptor to be usable by ImageDecoder:\n- previously it always swallowed exceptions. Allow them to propagate\n  (optionally) so that they can be reported back to the client.\n- Add refs to the InputStream and byte[]. ImageDecoder returns from\n  native and then uses the JavaInputStreamAdaptor again, making the\n  local refs go out of scope.\n- Hold on to the JavaVM and convert to the JNIEnv when necessary. Pass\n  local env pointers to avoid looking it up multiple times in one call.\n- If an exception is thrown inside the doRead() loop, return the number\n  of bytes successfully read.\n\nChange-Id: I869dad55521cf942efd010c06baf3f44c1c08374\n"
    },
    {
      "commit": "035820cbda4c208bec8129d0e1e43f986d2dff87",
      "tree": "5661a69d93d1dc1adb7fdaf5fb0d6b6d7bc73591",
      "parents": [
        "0c3ad0408a1f26d8cb408472eb4751cb783d58bc"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Oct 02 11:16:25 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jan 08 16:57:35 2018 +0000"
      },
      "message": "Insert org.apache.http.legacy at the start of the shared library list\n\nEnsure consistent behaviour depending on whether OAHL is on the\nbootclasspath or not.\n\nWhen OAHL is on the bootclasspath the search order is (where ... is the\nother libraries on the bootclasspath):\n   OAHL\n   ...\n   shared libraries\n   optional shared libraries\n   APK\n\nPrior to this change the OAHL was added to the end of the shared\nlibrary list which meant the search order (when OAHL is not on the\nbootclasspath) would be:\n   ...\n   shared libraries\n   OAHL\n   optional shared libraries\n   APK\n\nAfter this change the order will be:\n   ...\n   OAHL\n   shared libraries\n   optional shared libraries\n   APK\n\nThe slight difference at the beginning is not an issue because there are\nno conflicting resources or class files between OAHL and the other boot\nlibraries.\n\nBug: 65552462\nBug: 18027885\nTest: build, flash, check systrace when starting GoogleDialer\nChange-Id: Ifcb4d50c13e35eebac4d18f8f0f10dd0734e8896\n"
    },
    {
      "commit": "36d873fd33fe16721ab1d8e2d40fe196a75d083d",
      "tree": "ab83025950e6cd431b3f19af8ae5a8c07e900519",
      "parents": [
        "0ff8dabf2c258389ee6a633b4c7f99477b63071a"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Jan 08 15:54:05 2018 +0000"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Jan 08 15:55:13 2018 +0000"
      },
      "message": "Log vibrations in realtime, not the monotonic clock base.\n\nAlso, keep more vibration logs around for debugging by default and do a\nbit of clean up in VibratorService.\n\nBug: 70283106\nTest: flash, run dumpsys vibrator\nChange-Id: Ib541be0ed97cdc6e2fda278fa59896d2fde20228\n"
    },
    {
      "commit": "9ea410a6f8d7859e4c54070bba12e197ef6cdb71",
      "tree": "b0b808172badbc7523bac93f2414ed3ead4fa922",
      "parents": [
        "abac8f7a86ef86b15aac45bc77b5ef1394a8e3bc",
        "f4d85d806e72b7a349123f870bc2712fe01b55d5"
      ],
      "author": {
        "name": "Toby Sargeant",
        "email": "tobiasjs@google.com",
        "time": "Mon Jan 08 12:05:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 08 12:05:12 2018 +0000"
      },
      "message": "Merge \"Add a Java FindAddress implentation.\""
    },
    {
      "commit": "4d823cdd3a2cb4a39c324971ed26806d7abdf49b",
      "tree": "702fb9717299354eafee07ac7fb1a95ee7c39fea",
      "parents": [
        "3ce996f288f9dff7304fd9d1b89255900ca2cfd9",
        "de61120d1955f6542d5d8ce663ee607aa7557802"
      ],
      "author": {
        "name": "Peter Visontay",
        "email": "pvisontay@google.com",
        "time": "Mon Jan 08 09:12:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 09:12:44 2018 +0000"
      },
      "message": "Merge \"Add AndroidTest.xml for privacy tests.\""
    },
    {
      "commit": "b3c096d9b52acf8951d5ece7a9652cc43f31c722",
      "tree": "99d3599a72af8f238b1fc474a95dabdefc7c4258",
      "parents": [
        "6fb6774c9fa0073975529be05974be56031fe6c3",
        "091d7771d4bb47333341115940782f4a346e4ce7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 08 06:30:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 06:30:57 2018 +0000"
      },
      "message": "Merge \"[RTT2] Clean-up the RTT service name\""
    },
    {
      "commit": "6fb6774c9fa0073975529be05974be56031fe6c3",
      "tree": "2aa6122a40bc6d4e98f8ef5b86839f34eb3e947a",
      "parents": [
        "6557fb49a2a341b742875b62ae98e76ab4b425f2",
        "9f2dc0527e755743c3b13fb27f68e5c425276106"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Jan 08 02:08:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 02:08:17 2018 +0000"
      },
      "message": "Merge \"Add DataUnit to clarify SI-vs-IEC units.\""
    },
    {
      "commit": "9f2dc0527e755743c3b13fb27f68e5c425276106",
      "tree": "a76196384ffea549b929dd8e0610f342b502591c",
      "parents": [
        "61823f3a23750d672947ba7b5bb6dd4f1ff5503f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Jan 07 16:47:31 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Jan 07 19:06:01 2018 -0700"
      },
      "message": "Add DataUnit to clarify SI-vs-IEC units.\n\nMirrors the design of TimeUnit and ChronoUnit which many developers\nare already familiar with, making it easy to pick up and use.\n\nYes, this is an enum.\n\nBug: 70915728\nTest: bit FrameworksCoreTests:android.util.DataUnitTest\nChange-Id: Id0cfdac5c81ed89c3c9ece23c964acba4a4f8471\n"
    },
    {
      "commit": "6557fb49a2a341b742875b62ae98e76ab4b425f2",
      "tree": "c83399a0ae2a393d806b17100654648cbfba8eaa",
      "parents": [
        "102f5632fb02fe9ef440410edf8b28e6612e1c72",
        "96a9256fd81857c00bb014b8e00f7d552a0ed50a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jan 07 23:09:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jan 07 23:09:27 2018 +0000"
      },
      "message": "Merge \"Notifier: Chained attribution support for noteLongPartialWakeLock[finish|start]\""
    },
    {
      "commit": "3c034c987e1eeb49660fb62d3426c292a01412c9",
      "tree": "168d3f0040e3e74ac1b2741f91d2dbfcee166535",
      "parents": [
        "a598c05d632d303a49ba06fe306136e0039c785d"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Dec 22 17:36:47 2017 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Sat Jan 06 20:33:14 2018 -0800"
      },
      "message": "Implement a new type of section which reads from logd and dumps proto.\n\nAnd implement a file section which reads from event-log-tags for\ndecoding binary logs.\n\nBug: 70936599\nTest: atest incidentd_test \u0026\u0026 atest incident_helper_test and flush on\ndevice and test log sections and event_log_tag_map\nChange-Id: Ib3d35e317f355de69f01ded012482486e9a43da6\n"
    },
    {
      "commit": "102f5632fb02fe9ef440410edf8b28e6612e1c72",
      "tree": "44d0d66a22800be04b1132f1d653cf55b0482f38",
      "parents": [
        "5daccec818ffc26fafb795b17d5b1f76fbce3a60",
        "f9a89c184457e27cef89a372f139171b60586f6a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 06 21:28:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 06 21:28:23 2018 +0000"
      },
      "message": "Merge \"Add permission necessary to use RecoverableKeyStoreLoader API.\""
    },
    {
      "commit": "5daccec818ffc26fafb795b17d5b1f76fbce3a60",
      "tree": "fe258c6c30f4e87d6471aae18b4ea5585b52c8bd",
      "parents": [
        "c7dca1bddf49cbe4219258cbd71f4cabc4388543"
      ],
      "author": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Sat Jan 06 19:16:25 2018 +0000"
      },
      "committer": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Sat Jan 06 19:16:25 2018 +0000"
      },
      "message": "Add API to remove recoverable keys\n\nTest: adb shell am instrument -w -e package com.android.server.locksettings.recoverablekeystore com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\nChange-Id: Ib69e730467974d34ffe4a700bd6aaf4543a524ae\n"
    },
    {
      "commit": "555e680089513599edcb2335c1e45d9dd7872857",
      "tree": "83d05c959cf7140135553328e5dbc1b33b12c7aa",
      "parents": [
        "28c72b43d9ef8cccd49d6f19b555506508c0f0ad",
        "12dad0c4fc5fc8f0988dca0fffd2d26f2cb04195"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Sat Jan 06 03:34:46 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 06 03:34:46 2018 +0000"
      },
      "message": "Turn default gradient into solid black\nam: 12dad0c4fc\n\nChange-Id: I6f5c702487f46395bd1930d943782d1a9b6bac5d\n"
    },
    {
      "commit": "41df03f8e336ff5c6a8eafccb312e65c15822078",
      "tree": "72be8c4374e5844ded6a164e4f7296dfdd923aa1",
      "parents": [
        "fdd2f02f306d151e6a4168eeb3a167f76f0b5f36",
        "7374826b2f49c2e1a7f6fe8c7fa3fcf0b7f38a2d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 06 03:31:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 06 03:31:24 2018 +0000"
      },
      "message": "Merge \"Turn on Settings security settings v2.\""
    },
    {
      "commit": "65b1cfe0a1472d063ef70116d1104e5b63ca27bd",
      "tree": "b799c4e4e5dbc37fddc205720a0495425bc78226",
      "parents": [
        "a938a467d899d58117d924413fc7fe647db95652",
        "38343bc35c874cfdfb2bfd071d8618f0f19e6bfd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 06 01:16:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 06 01:16:31 2018 +0000"
      },
      "message": "Merge \"Re-commit: Smooth scroll RecyclerView on a11y ACTION_SCROLL_*\""
    },
    {
      "commit": "26db21ba9cd2a56435d21c7eb86eb9a904a5af33",
      "tree": "7871b2cf1a41ff2ef181a698ed3f7d916c9ff186",
      "parents": [
        "551d9aa68a51b1996f5ef9d4e9510b9c7b6be030",
        "8505e098bd92a100492b59b1f6752e0635b32351"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 06 00:54:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 06 00:54:32 2018 +0000"
      },
      "message": "Merge \"Remove @SystemApi annotation from private or package-private members\""
    },
    {
      "commit": "551d9aa68a51b1996f5ef9d4e9510b9c7b6be030",
      "tree": "fa7c7927d5fff5ff7b7d6656c68740e7335b9e6c",
      "parents": [
        "a1c95b7e0b008ce2b18fcd944d394bde13ea8189",
        "4dcacd3719d0ecfe15e6ef94dd105d70d8d007a9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 23:22:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 23:22:32 2018 +0000"
      },
      "message": "Merge \"Single color scrim\""
    },
    {
      "commit": "12dad0c4fc5fc8f0988dca0fffd2d26f2cb04195",
      "tree": "df43d7c0cb355dcddc66adde9c2c479c89f0e46c",
      "parents": [
        "4689a6d979da4d254fd0524831b807f071f9146d"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Oct 30 11:09:25 2017 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Fri Jan 05 22:59:49 2018 +0000"
      },
      "message": "Turn default gradient into solid black\n\nTest: visual\nBug: 66957450\nChange-Id: I6a34a35912e4dd4594565f88636ce89689d26f2f\n(cherry picked from commit e7476addecb4fec6abd08cfb7aa27c473ce5c1f0)\n"
    },
    {
      "commit": "05f4bc40743654ea501b18d70ee162a08b81b35c",
      "tree": "b5021558b1c6c1ae2564222c48869fb0a286cc13",
      "parents": [
        "4029fa6039a3305b093d8db0a24fb8e4dedd351a"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Wed Jan 03 12:13:26 2018 -0800"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Fri Jan 05 14:51:40 2018 -0800"
      },
      "message": "HFP: Add APIs for set and get active device (1/3)\n\n1. Call BluetoothHeadset.setActiveDevice(BluetoothDevice device) to set\n   a connected HFP/HSP device as active.\n2. Listen for BluetoothHeadset.ACTION_ACTIVE_DEVICE_CHANGED intent\n   that will contain the latest active device (in EXTRA_DEVICE field).\n   If the active device could not be changed, the EXTRA_DEVICE\n   field could be null.\n3. If setActiveDevice() is NOT in-progress, BluetoothA2dp.getActiveDevice()\n   can be used. If setActiveDevice() is in-progress, the result is undefined.\n4. BluetoothHeadset.setActiveDevice() could be called by some other parts of\n   the system, so interested parties should always listen for\n   BluetoothHeadset.ACTION_ACTIVE_DEVICE_CHANGED intents and prepared\n   for active device updates.\n\nBug: 68951996\nTest: manual\nChange-Id: I22ca639a04fed7bf17df59c405ddeda90dafb8ff\n"
    },
    {
      "commit": "4029fa6039a3305b093d8db0a24fb8e4dedd351a",
      "tree": "6565c66a3d38efb543a7dd84b8d06e0448239229",
      "parents": [
        "6efee9c079eecf025384228763982eecd935c2f8"
      ],
      "author": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Tue Oct 17 17:01:38 2017 -0700"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Fri Jan 05 14:50:30 2018 -0800"
      },
      "message": "Add SystemApis annotations\n\nThere are some number of places where bluetooth APIs are used via\nreflection from GMSCore. Add proper annotations.\n\nBug: 67052734\nTest: Manual - and using make update-api\nChange-Id: Ib6e3aa1ff5b6f9cdc78367f9be13ed00542d6f65\n(cherry picked from commit 64bd35ef2cb40bbf9476a3bf63a763d5a32cc73b)\n"
    },
    {
      "commit": "fac7e4591f99acacedd8005f3bc6230d1475eb43",
      "tree": "a3ff9b8da91bbc9cbf1a4c68fdd0423b3097d21b",
      "parents": [
        "1cd19bdcae9280f75a923d3ba5d192d0ad24de62",
        "8038267b9805b69659ae7e74ad9595dbd309a81d"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Fri Jan 05 22:02:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 22:02:07 2018 +0000"
      },
      "message": "Merge \"Enable/disable fallback line spacing in TextView\""
    },
    {
      "commit": "1cd19bdcae9280f75a923d3ba5d192d0ad24de62",
      "tree": "dc42a00b4e614fc95fca897e06d2870bec499e6b",
      "parents": [
        "84c4e9f6a99cf19c23e47cf44b34f6e2142d7a1b",
        "ea56c330a3702ec8a9af0acfbf512bdc43fad9e7"
      ],
      "author": {
        "name": "Chen Xu",
        "email": "fionaxu@google.com",
        "time": "Fri Jan 05 21:56:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 21:56:42 2018 +0000"
      },
      "message": "Merge \"Carrier identification config updater\""
    },
    {
      "commit": "64a9435cc720cb9f54a65ae4829b2f0532c45d24",
      "tree": "0d85732cf0d902a0e2e5c53d615014b8f910175e",
      "parents": [
        "0f05ce94c334b0ebcce9a78820f12c223578ed8d"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Tue Dec 19 13:20:06 2017 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Fri Jan 05 21:44:59 2018 +0000"
      },
      "message": "Added internal API to get/set the A2DP Active Device\n\n1. Call BluetoothA2dp.setActiveDevice(BluetoothDevice device) to set\n   a connected A2DP device as active.\n   The value of \"device\" could be null to clear the active device\n   and stop streaming audio to a Bluetooth device.\n2. Listen for BluetoothA2dp.ACTION_ACTIVE_DEVICE_CHANGED intent\n   that will contain the latest active device (in EXTRA_DEVICE field).\n   If the active device could not be changed, the EXTRA_DEVICE\n   field could be null.\n3. If setActiveDevice() is NOT in-progress, BluetoothA2dp.getActiveDevice()\n   can be used. If setActiveDevice() is in-progress, the result is undefined.\n4. BluetoothA2dp.setActiveDevice() could be called by some other parts of\n   the system, so interested parties should always listen for\n   BluetoothA2dp.ACTION_ACTIVE_DEVICE_CHANGED intents and prepared\n   for active device updates.\n\nBug: 71555243\nTest: Manual\nChange-Id: I661b6882e8e6b437db50210aec1dd12a10199969\n"
    },
    {
      "commit": "0f05ce94c334b0ebcce9a78820f12c223578ed8d",
      "tree": "0c120d4ecd70279fa90e9f2abda1f6c652d522da",
      "parents": [
        "02a03976433e6a4cae100d997556b89b3c200a6e",
        "4bfa2ebb89b909ac36094fd55080d749a996f5df"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 21:44:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 05 21:44:37 2018 +0000"
      },
      "message": "Merge \"Generic Mutable class for HIDL code.\""
    },
    {
      "commit": "4dcacd3719d0ecfe15e6ef94dd105d70d8d007a9",
      "tree": "ad2a52e8298bdebead9316e7c14e480e6ef863a8",
      "parents": [
        "c9cbc3e5fcb1c3b9683c617df0c3b645d6516b02"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Fri Jan 05 11:36:51 2018 -0800"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Fri Jan 05 13:28:27 2018 -0800"
      },
      "message": "Single color scrim\n\nRemoved gradient and kept brightest color.\n\nTest: atest ./tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java\nTest: visual\nBug: 64122537\nChange-Id: I75cba32172a5869f3d8a57ab9955bffcba60db76\n"
    },
    {
      "commit": "84c4e9f6a99cf19c23e47cf44b34f6e2142d7a1b",
      "tree": "4abf9c7d6aeb453b6126a185b447bf775844e12e",
      "parents": [
        "25d2bf9c6ab1f97160676dbb7a80dd17e5010941",
        "ca98cde254fef6c31634d8a3069a0d7b76ecf908"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Fri Jan 05 21:26:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 21:26:20 2018 +0000"
      },
      "message": "Merge \"Implement part of ITunerSession interface.\""
    },
    {
      "commit": "7374826b2f49c2e1a7f6fe8c7fa3fcf0b7f38a2d",
      "tree": "81b6f7a1883115f517522af6e46b27b0548d057b",
      "parents": [
        "feeb12a962e48834f2dc9d4ebedebeb8af9f6c7a"
      ],
      "author": {
        "name": "Fan Zhang",
        "email": "zhfan@google.com",
        "time": "Fri Jan 05 13:10:16 2018 -0800"
      },
      "committer": {
        "name": "Fan Zhang",
        "email": "zhfan@google.com",
        "time": "Fri Jan 05 13:10:16 2018 -0800"
      },
      "message": "Turn on Settings security settings v2.\n\nBug: 32953042\nTest: rebuild\nChange-Id: Ia21d2947306b567dc9580c816c0261836356a281\n"
    },
    {
      "commit": "25d2bf9c6ab1f97160676dbb7a80dd17e5010941",
      "tree": "f94db6c0182ddfabf5d2ef11b6c997f5b4936d16",
      "parents": [
        "25e3210eaf792c81308fe228a91527adc5ad9eed",
        "867d10944d7d2bcf38609629edfc7e75d68a0e34"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 20:55:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 20:55:02 2018 +0000"
      },
      "message": "Merge \"WebView: clarify docs regarding base64 encoding\""
    },
    {
      "commit": "bf1b0b04bf135586a24b57de0ab7eca20e4d5fe3",
      "tree": "b3245c95b906f76d9d6e2586bdd13bfff2eba047",
      "parents": [
        "3c8275552797f308108887536922bf65ce50a1b4",
        "6f724c4b9e4c7c6cae508742a0aef06798fe3051"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 19:29:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 19:29:17 2018 +0000"
      },
      "message": "Merge \"Bugfix: wakeup alarms logging\""
    },
    {
      "commit": "4bfa2ebb89b909ac36094fd55080d749a996f5df",
      "tree": "bc4de3a6917fe02b9f02684e0328c49dd8df2430",
      "parents": [
        "ae81e15c9cbfdc815a9b4e05d035cedabb6131a2"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 05 09:41:10 2018 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 05 19:13:06 2018 +0000"
      },
      "message": "Generic Mutable class for HIDL code.\n\nIn general, using Mutable inside of structures\nor as API arguments is a code smell. However, it\nis the most syntactically clean way of fetching\nsomething out of a lambda or inner class.\n\nUsing this, one can do:\nMutable\u003cResult\u003e res \u003d new Mutable\u003c\u003e();\nhidlObject.foo((...) -\u003e {\n    res.value \u003d ...;\n});\n\nThere is an alternative:\nResult a[] \u003d new Result[1];\nhidlObject.foo((...) -\u003e {\n    a[0] \u003d ...;\n});\n\nHowever, this alternative syntax is relatively messy.\n\nBug: N/A\nTest: boot, use w/ wifi\nChange-Id: Ibff13c653cc17bd25ddbb0534ba21ef485bff7aa\n"
    },
    {
      "commit": "2b36299c73f7ba853b5b3acf4ea58facb9d4922e",
      "tree": "1237463fa6a00096be5d824439eec52ada62177b",
      "parents": [
        "766f0a4981478ff63854df70ba50e6420d19c02b",
        "d8c7429418179379c5c7f23ba29a9eee3d22a7c0"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Fri Jan 05 19:05:09 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 05 19:05:09 2018 +0000"
      },
      "message": "Merge changes from topic \"ipsec-resource-id-cleanup\"\n\n* changes:\n  IpSecService - Convert mNextResourceId from AtomicInt to Int\n  IpSec Invalidate the Resource IDs on close()\n"
    },
    {
      "commit": "ea56c330a3702ec8a9af0acfbf512bdc43fad9e7",
      "tree": "9933469e5e31bbcd0d3b0204fc998d950ae384e1",
      "parents": [
        "feeb12a962e48834f2dc9d4ebedebeb8af9f6c7a"
      ],
      "author": {
        "name": "fionaxu",
        "email": "fionaxu@google.com",
        "time": "Thu Dec 28 16:41:52 2017 -0800"
      },
      "committer": {
        "name": "fionaxu",
        "email": "fionaxu@google.com",
        "time": "Fri Jan 05 10:35:18 2018 -0800"
      },
      "message": "Carrier identification config updater\n\nBug: 64131637\nTest: test_carrier_id_full.sh samples/carrier-ids-sample.pb\nChange-Id: I355e90292ef2073e403f13fb0f1d545e0f503c2f\n"
    },
    {
      "commit": "d9757a7d59a6ea91c82eee32c7e87a8f42a84cf3",
      "tree": "23fe1469677c2b8ca5e5a87dec3cc1073a8c1c76",
      "parents": [
        "a068cd68c03b09c1a49f6c50d8c305e6cbf0287b",
        "97e55583d34c87a151452799dc019927f64f2f01"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 18:24:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 18:24:14 2018 +0000"
      },
      "message": "Merge \"Use ServiceSpecificException in RecoverableKeyStoreMgr\""
    },
    {
      "commit": "a068cd68c03b09c1a49f6c50d8c305e6cbf0287b",
      "tree": "73c0e5015f08928fc66fb41b0944f870978d0375",
      "parents": [
        "61823f3a23750d672947ba7b5bb6dd4f1ff5503f",
        "fa51853ae56ed74a0c854c01851cb1435453005f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 18:21:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 18:21:53 2018 +0000"
      },
      "message": "Merge \"Binding on-demand #8: Miscellaneous usages\""
    },
    {
      "commit": "47117fcd7878ae75600cf95075fbdbec58be5da6",
      "tree": "c9fbbfacf8c83501aacabbf4ce0ea506321d497c",
      "parents": [
        "61823f3a23750d672947ba7b5bb6dd4f1ff5503f"
      ],
      "author": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Tue Dec 19 10:17:21 2017 -0800"
      },
      "committer": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Fri Jan 05 09:48:49 2018 -0800"
      },
      "message": "Move signing data into SigningDetails container\n\nThis change replaces fields from Package that relate to signing\nwith a single SigningDetails container. It does the same with\nInstallArgs and InstallParams. This simplifies much of the code\nthat would have otherwise relied on synchronizing many fields and\nwill enable PackageManagerService to make install-time descisions\nbased on package data instead of forcing it to be part of package\nparsing.\n\nTest: android.appsecurity.cts.PkgInstallSignatureVerificationTest passes.\nBug: 68860689\nChange-Id: I53bc8c6908b61a54004d1b1d45637be9710ae72f\n"
    },
    {
      "commit": "fa51853ae56ed74a0c854c01851cb1435453005f",
      "tree": "d9ae04564295053eb2b8621f55fa2f64b63bb1a3",
      "parents": [
        "dc4cb146315240441fc8d9c05fe8dd63370a7c57"
      ],
      "author": {
        "name": "Bernardo Rufino",
        "email": "brufino@google.com",
        "time": "Tue Jan 02 16:01:53 2018 +0000"
      },
      "committer": {
        "name": "Bernardo Rufino",
        "email": "brufino@google.com",
        "time": "Fri Jan 05 16:33:33 2018 +0000"
      },
      "message": "Binding on-demand #8: Miscellaneous usages\n\nMigrate usages of the transport binder to binding on-demand:\n* getDestinationString()\n* isAppEligibleForBackup()\n* dump()\n\nFor getDestinationString() we\u0027ll be introducing an invisible bug for\npeople that haven\u0027t updated GMSCore to include the usage of\nupdateTransportAttributes() API introduced in earlier CL. The bug is\nthat that text won\u0027t change, it\u0027ll remain constant. It\u0027s invisible\nbecause currently only place that uses that method is Settings in some\ncircumstances that depend on the transport, and those circunstances\ndon\u0027t happen with our transports. Check http://ag/1831025.\n\nFor isAppEligibleForBackup(), a new filterAppsEligibleForBackup() is\ncreated and there we bind on-demand.\n\nChange-Id: Idc9e31f0e8eda8531e204c05a84fafdaf0247d08\nRef: http://go/br-binding-on-demand\nBug: 17140907\nTest: adb shell dumpsys backup, observe destination of transports\nTest: adb shell bmgr backupnow --all, observe only eligible apps got backed-up\nTest: Force-loaded settings screen and observed destination string\nTest: m -j RunFrameworksServicesRoboTests\n"
    },
    {
      "commit": "31274c811ed5fe5cb13aaf26c51dc5c5b86db2bf",
      "tree": "8de1768da2e4df01a75b6e392d1b63bacdc54c42",
      "parents": [
        "0ff8dabf2c258389ee6a633b4c7f99477b63071a"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Jan 05 10:25:08 2018 -0500"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Jan 05 10:25:57 2018 -0500"
      },
      "message": "IWYU for sk_malloc_throw\n\nTest: build\n\nChange-Id: I20155994d8d22445afbe9ab9949ae8cce6871a0b\n"
    },
    {
      "commit": "f4d85d806e72b7a349123f870bc2712fe01b55d5",
      "tree": "7f3298f6bdd4375201875a0be64503b45659e0e4",
      "parents": [
        "766f0a4981478ff63854df70ba50e6420d19c02b"
      ],
      "author": {
        "name": "Tobias Sargeant",
        "email": "tobiasjs@google.com",
        "time": "Fri Jan 05 14:34:38 2018 +0000"
      },
      "committer": {
        "name": "Tobias Sargeant",
        "email": "tobiasjs@google.com",
        "time": "Fri Jan 05 14:44:10 2018 +0000"
      },
      "message": "Add a Java FindAddress implentation.\n\nThis stops calling findAddress (possibly indirectly via Linkify) from\nloading webview native code, resulting in a performance and memory\nimprovement for those apps that call WebView#findAddress but do not\notherwise use WebView.\n\nBug: 22362008\nTest: Existing WebView CTS test.\nChange-Id: I5fcab725ceaf0d6a00e931d3b6cd2f3799d68391\n"
    },
    {
      "commit": "5a2a1ef74a989ef5ac749f0bfbb8f9bc665e7050",
      "tree": "d8b7bc4bf9f79a3a8da6b1a1548692095e3ba63d",
      "parents": [
        "e780e8d2b3a1482b54ab56fb37177bf17924d105"
      ],
      "author": {
        "name": "Peter Visontay",
        "email": "pvisontay@google.com",
        "time": "Mon Dec 18 20:34:03 2017 +0000"
      },
      "committer": {
        "name": "Peter Visontay",
        "email": "pvisontay@google.com",
        "time": "Fri Jan 05 13:09:01 2018 +0000"
      },
      "message": "Define a @SystemApi string ID for each App Op.\n\nInternal numeric op codes may change, but the public string IDs must consistently refer to the same operation.\n\nBug: 63907873\nTest: Ran the tests being added in this this topic: make CtsPermissionTestCases -j32 \u0026\u0026 cts-tradefed run singleCommand cts-dev -m CtsPermissionTestCases --test android.permission.cts.AppOpsTest\nChange-Id: I12bd9e2384d938120a403c4d76be4c1479ffd4ee\n"
    },
    {
      "commit": "97e55583d34c87a151452799dc019927f64f2f01",
      "tree": "e7b9cefa4d624327464052db2e0da328d4b44e7d",
      "parents": [
        "e6c4fdc6fbb0b73667f4e55e9ee3d0396685e5ce"
      ],
      "author": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Fri Jan 05 12:43:13 2018 +0000"
      },
      "committer": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Fri Jan 05 12:43:13 2018 +0000"
      },
      "message": "Use ServiceSpecificException in RecoverableKeyStoreMgr\n\nThis is so we can better convey error codes to the client.\n\nTest: adb shell am instrument -w -e package\ncom.android.server.locksettings.recoverablekeystore\ncom.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: I02d0ed07e895d3a0297f77934830e19bb6abf43e\n"
    },
    {
      "commit": "e780e8d2b3a1482b54ab56fb37177bf17924d105",
      "tree": "4780bad9dd0eacaae3752b4a8385f00fc926a328",
      "parents": [
        "e6c4fdc6fbb0b73667f4e55e9ee3d0396685e5ce",
        "d20627f50c7ad3f96ddfe44b708711e9ab0e2d6d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 10:59:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 10:59:28 2018 +0000"
      },
      "message": "Merge \"Add createNewItem() to RingBuffer util class.\""
    },
    {
      "commit": "e6c4fdc6fbb0b73667f4e55e9ee3d0396685e5ce",
      "tree": "286b5ace17e2d0b9e96d78cc28d7c7179445fac3",
      "parents": [
        "c21066b0e7256fea485f15c4a9811b2b2f071bf4",
        "0ebc96ce8f36c761c487f84c1367fb8bf8afb3c3"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Jan 05 09:16:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 09:16:21 2018 +0000"
      },
      "message": "Merge \"BatteryStatsImpl: Support chained attribution for BT events.\""
    },
    {
      "commit": "96a9256fd81857c00bb014b8e00f7d552a0ed50a",
      "tree": "be7da8b0a359f8094394a0ed79c152935c69e541",
      "parents": [
        "c21066b0e7256fea485f15c4a9811b2b2f071bf4"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 02 18:57:17 2018 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Jan 05 09:03:41 2018 +0000"
      },
      "message": "Notifier: Chained attribution support for noteLongPartialWakeLock[finish|start]\n\nTest: BatteryStatsNoteTest\nBug: 62390666\nChange-Id: I1f393b475cb18171f4d24f8774f3509a00e2a404\n"
    },
    {
      "commit": "c21066b0e7256fea485f15c4a9811b2b2f071bf4",
      "tree": "897de13e0a3960304626ede33d351040e2dff664",
      "parents": [
        "48e5682a588201aac8cf7a532f1f92732f1b36e5",
        "728c8a08746f4869f265dc6f8617c35ce2f6a361"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Jan 05 09:02:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 09:02:18 2018 +0000"
      },
      "message": "Merge \"BatteryStats: Add WorkChain support for WiFi events.\""
    },
    {
      "commit": "48e5682a588201aac8cf7a532f1f92732f1b36e5",
      "tree": "4b051edce07a30f2370119b7f3d2a2894817cc30",
      "parents": [
        "d8cfb1bf578e4b12ec0843f70eca4a95d229a5d7",
        "1429831ac86ad48b3ea7cb39f7c1234d9272dc0b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 08:22:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 08:22:18 2018 +0000"
      },
      "message": "Merge \"Remove unused userId parameter from RecoverableKeyStoreManager.\""
    },
    {
      "commit": "867d10944d7d2bcf38609629edfc7e75d68a0e34",
      "tree": "7626afc8f71759fa8975c1c76355b87a8fb317e8",
      "parents": [
        "670c338751ce3f8175e84845f20bd99ea12e5f1d"
      ],
      "author": {
        "name": "Nate Fischer",
        "email": "ntfschr@google.com",
        "time": "Thu Jan 04 21:57:33 2018 -0800"
      },
      "committer": {
        "name": "Nate Fischer",
        "email": "ntfschr@google.com",
        "time": "Thu Jan 04 21:57:33 2018 -0800"
      },
      "message": "WebView: clarify docs regarding base64 encoding\n\nDocs change only, no change to logic.\n\nThis CL provides a better loadData() example, using base64 encoding.\nThis uses the Base64 class already provided by Android to automatically\nhandle the encoding.\n\nThis also changes the percent-encoding docs to:\n\n * Link to the official RFC\n * No longer provide examples of characters to encode (one example was\n   incorrect, \u0027\\\u0027 is not %27)\n\nBug: 70555565\nTest: make docs (manually verify things look good)\nTest: I built a sample app and tested Base64#encodetoString to make sure the flags are correct\nChange-Id: If9f810e6b568efdc5d1ad84ac64f2abf3788f40b\n"
    },
    {
      "commit": "eb486d48a284147bf49d36e97eb32c6a0d9f8b80",
      "tree": "a185755144f937b9be2cb68453b9b3fe4f0726f6",
      "parents": [
        "c9cbc3e5fcb1c3b9683c617df0c3b645d6516b02"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Thu Jan 04 14:28:52 2018 -0800"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Thu Jan 04 21:36:00 2018 -0800"
      },
      "message": "Do not block ambient mode IPC\n\nThis can happen asynchronously, blocking may lower\nframe rate.\n\nBug: 70857288\nTest: press power button, look at AoD wallpaper\nChange-Id: I453082adc0d5f58eb8e7cbf7663fca0cd0183075\n"
    },
    {
      "commit": "c9cbc3e5fcb1c3b9683c617df0c3b645d6516b02",
      "tree": "db1546ca1f4b1cc8d87ceb3d29dd20bc37c7f63b",
      "parents": [
        "cc74ecb26ceb3139745bd520c5deab383b069f3e",
        "8eb783b21e38b15e41a8268d6b08f24bc62bc21f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Jan 05 03:53:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 03:53:56 2018 +0000"
      },
      "message": "Merge \"FBE devices now fully support adoptable storage.\""
    },
    {
      "commit": "cc74ecb26ceb3139745bd520c5deab383b069f3e",
      "tree": "07b95b94bffe72cd7f150aa72a821ab5d4b15456",
      "parents": [
        "4d2defc4b687ea9dbc2acbc136fe02905837b247",
        "717f52f2dd8920d387c4d5143c7646787cec13bf"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Jan 05 03:49:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 03:49:06 2018 +0000"
      },
      "message": "Merge \"Intent to manage subscription plans.\""
    },
    {
      "commit": "8038267b9805b69659ae7e74ad9595dbd309a81d",
      "tree": "ee924bddde46f2bfac6b1c67047fac27ec49fbad",
      "parents": [
        "5d8307186f589d764de34ed9f4a5456a1de6a35d"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Wed Jan 03 19:39:39 2018 -0800"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Thu Jan 04 19:48:35 2018 -0800"
      },
      "message": "Enable/disable fallback line spacing in TextView\n\nAdd API to enable/disable fallback line spacing in TextView.\n\nTest: bit FrameworksCoreTests:android.widget.TextViewFallbackLineSpacingTest\n\nBug: 65161512\n\nChange-Id: I76ba7bdb7d25c7a94653144536295c50d8b0e495\n"
    },
    {
      "commit": "ca98cde254fef6c31634d8a3069a0d7b76ecf908",
      "tree": "ce1c9c55812f4a0f8d2af2274f7bac44d801217f",
      "parents": [
        "ec397abf931a39ed1c3d36f0af4ee9a68b883b07"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Jan 04 12:26:40 2018 -0800"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Jan 04 19:43:59 2018 -0800"
      },
      "message": "Implement part of ITunerSession interface.\n\nMethods not covered are related to tuning or program list.\n\nThis makes 11 passing test cases and still 6 failing for the new HAL.\n\nTest: instrumentation\nBug: 69958777\nChange-Id: I2631d66d05774adb9e8fd42c8309e16f832c4478\n"
    },
    {
      "commit": "8eb783b21e38b15e41a8268d6b08f24bc62bc21f",
      "tree": "6c5e0a5de3a9e10ed610b682e23b042a9c8677ce",
      "parents": [
        "f262c7f2e00b9239e0c333b81f1ccb1953713ab1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jan 04 16:46:48 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jan 04 18:50:14 2018 -0700"
      },
      "message": "FBE devices now fully support adoptable storage.\n\nWe\u0027ve finished all the underlying work to support adoptable storage\non FBE devices, so remove the code that was disabling it by default.\n\nIntroduce feature flag to make it easier to detect devices that\nsupport adoptable storage.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AdoptableHostTest\nBug: 29923055, 25861755, 33252673, 37289651\nChange-Id: I3630d690c9e66c7e41e316a4263ea2eb1e752ad3\n"
    },
    {
      "commit": "091d7771d4bb47333341115940782f4a346e4ce7",
      "tree": "d8ea21fabc9386d768b57c12a2441261464465c1",
      "parents": [
        "c36fbd4f0f01d6c279cdbe34b5596a81e0f53eb1"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Jan 04 17:47:37 2018 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Jan 04 17:49:09 2018 -0800"
      },
      "message": "[RTT2] Clean-up the RTT service name\n\nReplace place-holder rttmanager2 with final wifirtt.\n\nBug: 65108607\nTest: integration tests\nChange-Id: I287c2173a67b047f2796f12189ce269c416d87d7\n"
    },
    {
      "commit": "ead08f70db485bf4a748c780aed294a25afc591a",
      "tree": "4cb0af088dd7562e798a9345d6f689ed68829252",
      "parents": [
        "aade46f9a7bf2cee36d9f5ff690622e68d2246f6",
        "3fcce9f251ef29dd25e01e46d09b684691c1a36a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 05 01:47:23 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 05 01:47:23 2018 +0000"
      },
      "message": "Merge changes I872a81ae,I0b9e72d2 am: f30c2c02f0 am: 34445736d8\nam: 3fcce9f251\n\nChange-Id: Ic78c8cea300e402328313f8e70dcbee2d4716b64\n"
    },
    {
      "commit": "3fcce9f251ef29dd25e01e46d09b684691c1a36a",
      "tree": "090f2f7eb385bb38979e28fb7b664bfc75b42d98",
      "parents": [
        "5c18216aa714e354f45374ba71799026ca9d20e4",
        "34445736d8f9f6d2bc0c3218514068a8554a616a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 05 01:39:13 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 05 01:39:13 2018 +0000"
      },
      "message": "Merge changes I872a81ae,I0b9e72d2 am: f30c2c02f0\nam: 34445736d8\n\nChange-Id: I506b0e29977f0fbb410066dea46c99f264e01028\n"
    },
    {
      "commit": "1429831ac86ad48b3ea7cb39f7c1234d9272dc0b",
      "tree": "195341c375b9f661d88d574e302141fc756a7cba",
      "parents": [
        "a598c05d632d303a49ba06fe306136e0039c785d"
      ],
      "author": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Thu Jan 04 15:19:19 2018 -0800"
      },
      "committer": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Thu Jan 04 17:31:50 2018 -0800"
      },
      "message": "Remove unused userId parameter from RecoverableKeyStoreManager.\n\nBug: 66499222\nTest: adb shell am instrument -w -e package \\\ncom.android.server.locksettings.recoverablekeystore \\\ncom.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: Ibf09724839cbdbf7172462ce0368278c7e65155f\n"
    },
    {
      "commit": "f30c2c02f07eb7dc7e78a4579b2f2337ec737e9b",
      "tree": "a81e0c7e14fab1e05a442e4a3f5f93dfe9579cc7",
      "parents": [
        "ae81e15c9cbfdc815a9b4e05d035cedabb6131a2",
        "158bde462e7b8b7b5061d343829bc04375ea736c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 01:14:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 05 01:14:44 2018 +0000"
      },
      "message": "Merge changes I872a81ae,I0b9e72d2\n\n* changes:\n  Revert \"Frameworks: Move SharedPreferencesImpl to Future\"\n  Revert \"Frameworks: Silently ignore InterruptedException\"\n"
    },
    {
      "commit": "feeb12a962e48834f2dc9d4ebedebeb8af9f6c7a",
      "tree": "4e14507c7c36b8daaed02c992a243259614ac716",
      "parents": [
        "8f623c65955743287bc8670fcf5b8f1d4c334251",
        "660d573e438c4b1a044fa399bb99272a0bcc9f22"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 00:32:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 00:32:25 2018 +0000"
      },
      "message": "Merge \"Let wallpaper know when to animate AoD transition\""
    },
    {
      "commit": "e92d9e11564d400ef017acd51867c8f3afa05e30",
      "tree": "4ac0658a478988a42a82a3af384b6e2b126e3cd7",
      "parents": [
        "f262c7f2e00b9239e0c333b81f1ccb1953713ab1",
        "7323eecba36991e161d621c001d35e8cccb258ab"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Thu Jan 04 23:50:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 23:50:40 2018 +0000"
      },
      "message": "Merge changes from topic \"BackupManagerModernInstallInterface\"\n\n* changes:\n  Disable installation via adb restore\n  Use modern install method in backup service\n"
    },
    {
      "commit": "6119d8d1d0d89b0d4c4ac822e9e93bb47f1ebd9a",
      "tree": "06c23b610231ba13bd4dc743cc4720e1104c21c2",
      "parents": [
        "ae81e15c9cbfdc815a9b4e05d035cedabb6131a2"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Dec 13 18:51:35 2017 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Jan 04 15:28:29 2018 -0800"
      },
      "message": "IpSec Invalidate the Resource IDs on close()\n\nTo facilitate error checking we should invalidate\nthe resource IDs of all objects when we close() them.\nToday, the resource ID is invalidated on the Transform\nobject but not on the SPI or Encap Socket. This CL\nunifies the behavior.\n\nBug: 70641274\nTest: cts - IpSecManagerTest\nChange-Id: I28caec3e913902c748c6a50b4ef742ccef8b1b09\n"
    },
    {
      "commit": "717f52f2dd8920d387c4d5143c7646787cec13bf",
      "tree": "12109ec3004269297abe1df8fd66d141f8fe805c",
      "parents": [
        "60de82d1991a4ef810e44ea6f27a182c2a101e0c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jan 04 16:04:11 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jan 04 16:11:51 2018 -0700"
      },
      "message": "Intent to manage subscription plans.\n\nDefine an API for carrier apps to provide a deep-link into their app\nfor the user to see more details about their billing relationship,\nsuch as upgrading plans.\n\nThe createManageSubscriptionIntent() method is ready for OS\ncomponents to use when deciding if they should show a \"MANAGE\"\nbutton in their UI, and the returned Intent is fully constructed\nand ready to roll.\n\nTest: builds, boots\nBug: 64133169\nChange-Id: I9b2775b7cba5313f517996870135eb4682082873\n"
    },
    {
      "commit": "a598c05d632d303a49ba06fe306136e0039c785d",
      "tree": "f519f38f3fc5357f86f2d533be420810d2eea480",
      "parents": [
        "efc331b287e8e227ec4aca7459f04a951f5b81c3",
        "d6058f44f47b2379200bc69aecbcf34fe2b3f873"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 04 22:57:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 22:57:25 2018 +0000"
      },
      "message": "Merge \"Do not return pointer to freed memory\""
    },
    {
      "commit": "e0e69f8704cb96f12e8fb1530524443136daaf7e",
      "tree": "a338f504117eea10b349db26b3271770c3aaf4de",
      "parents": [
        "e4a03006e6078a90653f88b29583c27c9bcc279e",
        "d1b287e56f0fd57ec6d1ac44bbaa73b09447e55a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 04 22:05:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 22:05:37 2018 +0000"
      },
      "message": "Merge \"Using RenderNode for creating snapshot of a View, so that hardware bitmaps are drawn properly\""
    },
    {
      "commit": "e4a03006e6078a90653f88b29583c27c9bcc279e",
      "tree": "42cdd3a175550450b8db095a8ab75da4305e0139",
      "parents": [
        "6d7e05dc3f191584c589ef9f2c6cc3ad1bdf8ab7",
        "22e6c7b95c2a26757ef463bca3c5224e4381a30c"
      ],
      "author": {
        "name": "Maurice Lam",
        "email": "yukl@google.com",
        "time": "Thu Jan 04 22:05:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 22:05:12 2018 +0000"
      },
      "message": "Merge \"Revert \"Fixed RTL alignment issue in suggested language list\"\""
    },
    {
      "commit": "6d7e05dc3f191584c589ef9f2c6cc3ad1bdf8ab7",
      "tree": "325e371432915643178a1cfdb5d417460006071c",
      "parents": [
        "db21daf96c27b59eb4f3576b8b4ac25c2b8db42f",
        "44e7de3a2a3c3459c7004b392dd8de217c34aab0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 04 21:54:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 21:54:40 2018 +0000"
      },
      "message": "Merge \"Validate hotspot when loading PointerIcon from resource\""
    },
    {
      "commit": "db21daf96c27b59eb4f3576b8b4ac25c2b8db42f",
      "tree": "8e02ee0162db0d74834656fd2a1cf1ad27ba7f93",
      "parents": [
        "dfaa392fd5646f7dc0781e91198b0a363021a2bb",
        "a1d1d5b1fa7f88ac5a548f1fbb8c6011cf916ea9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 04 21:52:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 21:52:25 2018 +0000"
      },
      "message": "Merge \"camera: Add device info version\""
    },
    {
      "commit": "dfaa392fd5646f7dc0781e91198b0a363021a2bb",
      "tree": "1c1f37ea66fcc41b8ebe91d4fbf86c660ee3b70b",
      "parents": [
        "def6d70aee4cd2210c63a9ed9b051e5fbaf1925e",
        "c8728e964b32a226749d56589e65762f08073908"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 04 21:38:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 21:38:29 2018 +0000"
      },
      "message": "Merge changes I1a61a5c9,I7e0dc28f,If0c923b3\n\n* changes:\n  Rethrow RemoteException instead of log in ContextHubManager\n  Remove unnecessary log from ContextHubManager\n  Remove legacy bug comment in NanoAppInstanceInfo\n"
    },
    {
      "commit": "def6d70aee4cd2210c63a9ed9b051e5fbaf1925e",
      "tree": "575bdb67d1a4bcf57299a12832d95a49c32893ee",
      "parents": [
        "e058f1a95245e90cd6f12d7558a39b8af8d61053",
        "9042643c1f953a0889d959368273a67370ebc182"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 04 21:30:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 21:30:13 2018 +0000"
      },
      "message": "Merge \"Clarify accessibility event documentation\""
    },
    {
      "commit": "79c238ada6e7072f62f807781d58d314ed2f17a9",
      "tree": "7ddce85f1fbd5a5850d82b998c83de7621e47b79",
      "parents": [
        "ec397abf931a39ed1c3d36f0af4ee9a68b883b07"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Dec 13 15:59:07 2017 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Thu Jan 04 13:26:28 2018 -0800"
      },
      "message": "Use modern install method in backup service\n\nTest: adb backup -apk myApp -f backup ; adb restore backup\nChange-Id: I2bbcb0487ecc525a6dc8a2693b15ce624db275b0\n"
    },
    {
      "commit": "9c777b22da556b776a098c0735d8881734e15865",
      "tree": "593a5f0d15275c4eb9423b5401a96e253b0251a1",
      "parents": [
        "8d54389b6100d9796398edece98ed3fcef3e2bd8",
        "0c99ecc515b44174df277a9a6a47d4e7b00cb901"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Thu Jan 04 21:02:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 21:02:44 2018 +0000"
      },
      "message": "Merge \"Add subtype to indicate accessibility text\""
    },
    {
      "commit": "d6058f44f47b2379200bc69aecbcf34fe2b3f873",
      "tree": "27b8d5c4732cdedf99bb67accff990433345d5bf",
      "parents": [
        "b944bc86078146c523d58d2b70d56044be3bf216"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Jan 04 13:00:48 2018 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Jan 04 13:00:48 2018 -0800"
      },
      "message": "Do not return pointer to freed memory\n\nSince the code was changed to use std::string instead of String8, it is\nno longer safe to pass a raw pointer to internal memory of the string\nobject, since std::string creates a copy even if the data itself is not\nbeing modified.\nInstead, return std::string to the calling function and let the function\naccess the pointer when necessary.\n\nBug: 71541263\nTest: boot up asan build on pixel 2 xl, then interact with google\ncalendar and chrome. Observe no crashes with the patch.\n\nChange-Id: I6af2d23985d0553dd0707ad985f7f1e7b2240611\n"
    },
    {
      "commit": "3157acc3184436495cb8d6c5e5dff36e79add6e9",
      "tree": "0433cdde217a729779df99e04fb36ff27122066d",
      "parents": [
        "d2f4186914fec715545fda51938dfc883470cfe1",
        "1e423b950abc044d2f18a1771af19e42a5ea2022"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 04 20:24:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 20:24:39 2018 +0000"
      },
      "message": "Merge \"Default grant coarse loc perm to use-open-wifi app\""
    },
    {
      "commit": "d2f4186914fec715545fda51938dfc883470cfe1",
      "tree": "6684c3b4b410e0f14b2d5f4ced4585492fd07a4f",
      "parents": [
        "60de82d1991a4ef810e44ea6f27a182c2a101e0c",
        "5db64eb1da42118af65ceba1d0612fd82c294608"
      ],
      "author": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Thu Jan 04 20:19:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 20:19:43 2018 +0000"
      },
      "message": "Merge \"Don\u0027t allow 0-sized views to be focused.\""
    }
  ],
  "next": "de61120d1955f6542d5d8ce663ee607aa7557802"
}
