)]}'
{
  "log": [
    {
      "commit": "4f66cb3f534eafff335ec803caff0572d08e8aa5",
      "tree": "6e884d6466b0a4a56e1f2640a0eb61293bc7e98e",
      "parents": [
        "5706a8f5353218a60d3cf104a03e79fae301c27d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Sep 29 15:19:58 2016 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 03 11:08:42 2016 -0700"
      },
      "message": "app_process: Forward -cp/-classpath to ART.\n\n* No new functionality was added, this was already possible via\n  -Djava.class.path\u003dclasspath\n* However, this makes it a bit more compatible with other tools\n  that use -cp to invoke the main class.\n* Also update the benchmarks README for correct up-to-date vogar\n  instructions.\n\nTest: vogar --mode app_process --benchmark frameworks/base/core/tests/benchmarks/src/android/os/ParcelBenchmark.java\nBug: 31807538\nChange-Id: Idb04600fed3dd955437ccac832617dcfd1b52b63\n"
    },
    {
      "commit": "5706a8f5353218a60d3cf104a03e79fae301c27d",
      "tree": "55a350bffd5cc60c2b79e751ea0a2529080d5a38",
      "parents": [
        "3c70a2fad21126ec8a5cb3317d063a6561db4516",
        "3855370c24b575e0943a9a3c146fda980cd71e24"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Sep 20 16:41:04 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 20 16:41:04 2016 +0000"
      },
      "message": "Merge \"[NAN] Rename to make discovery explicit\""
    },
    {
      "commit": "3c70a2fad21126ec8a5cb3317d063a6561db4516",
      "tree": "1998c3861801082135a0c65450f4ab730e72ebf5",
      "parents": [
        "0027ddf990c657d3db8c1179cc2cad2dfe19f79f",
        "bfc76e06469f8123a6a1f2a28cc3db7118070ee3"
      ],
      "author": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Tue Sep 20 15:50:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 20 15:50:08 2016 +0000"
      },
      "message": "Merge \"WifiScanner: retrieve single scan results\""
    },
    {
      "commit": "3855370c24b575e0943a9a3c146fda980cd71e24",
      "tree": "683fb442158c6034a00af23c3d80c399862e36be",
      "parents": [
        "0027ddf990c657d3db8c1179cc2cad2dfe19f79f"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Sep 14 14:41:56 2016 -0700"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Sep 19 21:52:14 2016 +0000"
      },
      "message": "[NAN] Rename to make discovery explicit\n\nPure rename operation - no other functional changes.\n\n(cherry-pick of commit ddb5f646562f31d7e78778a978e546f85312b009)\n\nBug: 31470256\nTest: unit tests, integrated (sl4a) tests.\nChange-Id: I5110d1a673b7ba4e39350d723b5984586fec585a\n"
    },
    {
      "commit": "0027ddf990c657d3db8c1179cc2cad2dfe19f79f",
      "tree": "005e3fdbe636a992205beef284592127cbda1c51",
      "parents": [
        "750b523aa2a0e7c5d107f24057083b5672eb8eda",
        "0fbeb0543e6dbb898abe2400c0b22462f3d73d08"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Sep 19 20:47:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 19 20:47:37 2016 +0000"
      },
      "message": "Merge \"[NAN] Update API: replace looper with handler\""
    },
    {
      "commit": "0fbeb0543e6dbb898abe2400c0b22462f3d73d08",
      "tree": "005e3fdbe636a992205beef284592127cbda1c51",
      "parents": [
        "750b523aa2a0e7c5d107f24057083b5672eb8eda"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Fri Sep 09 13:36:52 2016 -0700"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Sep 19 20:47:15 2016 +0000"
      },
      "message": "[NAN] Update API: replace looper with handler\n\nPer API council guidelines.\n\n(cherry-pick of commit 0ff5bf0092eb25f579e2e93fb2f93bc953b39211)\n\nBug: 31377060\nTest: unit tests, integrated (sl4a) tests\nChange-Id: I05142001fb593399fb4675fbec965d7e08e0fac1\n"
    },
    {
      "commit": "750b523aa2a0e7c5d107f24057083b5672eb8eda",
      "tree": "fc60e56dea44d62167e7b3d1a8468b7e443095c5",
      "parents": [
        "16e1007481f508e292505bc348cec2320cbe9d08",
        "0b3b2a5f3b2b924c05c2240e69c1750d60a056a7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 19 20:02:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 19 20:02:27 2016 +0000"
      },
      "message": "Merge \"Fix parameter description\""
    },
    {
      "commit": "16e1007481f508e292505bc348cec2320cbe9d08",
      "tree": "4afdabf1b2ffb42423bca3fe2e738a689c735ea1",
      "parents": [
        "3fcabac35ab68c3e4e62d413ab9648cfa459aed4",
        "9d8f51cbae05135848bea4b9b4b41793ae126e28"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 19 18:28:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 19 18:28:47 2016 +0000"
      },
      "message": "Merge \"fix wrong algorithm in WifiPowerPerPacket()\""
    },
    {
      "commit": "3fcabac35ab68c3e4e62d413ab9648cfa459aed4",
      "tree": "017d306e4e7f4f4a4017e2898940f31d8f4c1bb5",
      "parents": [
        "b1161c83f9ee661947261fd678da261ca3a33acb",
        "8c3354f7197fff01472851a5438f58482c86ef12"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Sep 19 16:03:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 19 16:03:59 2016 +0000"
      },
      "message": "Merge \"[NAN] Make parcelable class final - per API linter\""
    },
    {
      "commit": "8c3354f7197fff01472851a5438f58482c86ef12",
      "tree": "017d306e4e7f4f4a4017e2898940f31d8f4c1bb5",
      "parents": [
        "b1161c83f9ee661947261fd678da261ca3a33acb"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Fri Sep 09 16:17:31 2016 -0700"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Sep 19 14:09:42 2016 +0000"
      },
      "message": "[NAN] Make parcelable class final - per API linter\n\n(cherry-pick of feef60406e961afcda8893c7560382382c358910)\n\nBug: 31380952\nTest: build + sl4a integration test (WifiNanManagerTest:test_nan_discovery_session)\nChange-Id: I74c079763d6b3a4f0119b16acd7a18014a10ebbd\n"
    },
    {
      "commit": "9d8f51cbae05135848bea4b9b4b41793ae126e28",
      "tree": "5469e647ef589e2abad88495652473b59c7c522e",
      "parents": [
        "f7c508ae09ad9dce600af23572d3d618c9ff8475"
      ],
      "author": {
        "name": "yuanhuihui",
        "email": "yuanhuihui@xiaomi.com",
        "time": "Mon Sep 12 10:34:53 2016 +0800"
      },
      "committer": {
        "name": "yuanhuihui",
        "email": "yuanhuihui@xiaomi.com",
        "time": "Sun Sep 18 09:33:39 2016 +0800"
      },
      "message": "fix wrong algorithm in WifiPowerPerPacket()\n\nstep1: PowerProfile.POWER_WIFI_ACTIVE represents energy consumption(mAh) per hour\ndevied by 3600, then WIFI_POWER \u003d\u003d\u003e energy consumption(mAh) per second\n\nstep2: WIFI_BPS represents 1000000 bit per second\nthen (double)WIFI_BPS) / 8  \u003d\u003d\u003e 1000000/8 Byte per second\n\nstep3: as upload and download, so divided  by 2;\nthen   (((double)WIFI_BPS) / 8 / 2048))  \u003d\u003d\u003e 1000000/8/2048 KB per second\n\u003d\u003d\u003e packet  per second (where 1 packet \u003d 2 KB)\n\nso WIFI_POWER / (((double)WIFI_BPS) / 8 / 2048) represents  mAh per Packet where 1 packet \u003d 2 K.\n\nwhen  divided by (60*60) again , that make WifiPowerEstimator narrow 3600 times.\n\nChange-Id: Ic055a5145b6dfb1129c8969826329a3024c9e2b6\nSigned-off-by: yuanhuihui \u003cyuanhuihui@xiaomi.com\u003e\n"
    },
    {
      "commit": "bfc76e06469f8123a6a1f2a28cc3db7118070ee3",
      "tree": "1100bacc9fc10813bf14d19d5731a4c794e30ef7",
      "parents": [
        "b1161c83f9ee661947261fd678da261ca3a33acb"
      ],
      "author": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Wed Sep 14 22:07:04 2016 -0700"
      },
      "committer": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Sat Sep 17 01:38:33 2016 -0700"
      },
      "message": "WifiScanner: retrieve single scan results\n\nAdd a new CMD_GET_SINGLE_SCAN_RESULTS message type and\ngetSingleScanResults method that allow WifiService to get\nscan results directly from WifiScanner.\n\nBUG: 31444878\nTest: manually tested on angler\nTest: frameworks/opt/net/wifi/tests/wifitests/runtests.sh on angler\nTest: ran GTS CtsNetTestCases on angler\nChange-Id: I705233d7dc4ae7e8480c53ff0f9e1b6c8875fecb\n"
    },
    {
      "commit": "b1161c83f9ee661947261fd678da261ca3a33acb",
      "tree": "7b06876b1bba9b442e775daf3480f02b5266ea03",
      "parents": [
        "bc19e00d35e2908049296b16afd361580273dc18",
        "8da6bdc2d32e0a9015e596c760aacbeafa28524f"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Sep 16 22:34:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 16 22:34:57 2016 +0000"
      },
      "message": "Merge \"WifiScanner: Change hidden/PNO scan params\""
    },
    {
      "commit": "bc19e00d35e2908049296b16afd361580273dc18",
      "tree": "8f6df40775cb7a3fc893fcf6845b6c17c725c6c0",
      "parents": [
        "831a4aea1ead1d8182793df98e51d2777d9ea731",
        "3477efce30b1d7f6f8bd07e31d9f1befadda2a34"
      ],
      "author": {
        "name": "Tianjie Xu",
        "email": "xunchang@google.com",
        "time": "Fri Sep 16 18:19:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 16 18:19:23 2016 +0000"
      },
      "message": "Merge \"Collect status on uncrypt time cost\""
    },
    {
      "commit": "831a4aea1ead1d8182793df98e51d2777d9ea731",
      "tree": "75b031894afb883e2f376b92156c0f3c5e22b6bc",
      "parents": [
        "9c08f6bb827a7980bf8a8d0f5b9c1d7342e70e86",
        "41d65f28c202bd405f60f7739fd2cd775bb35213"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 16 18:16:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 16 18:16:23 2016 +0000"
      },
      "message": "Merge \"[AM] Skip unnessary ANR when process already died.\""
    },
    {
      "commit": "9c08f6bb827a7980bf8a8d0f5b9c1d7342e70e86",
      "tree": "be8d0b2fa14047e75eae397d2eb9c5550f0dba2b",
      "parents": [
        "05884ac869a963652bd3fcedbe12147618f47582",
        "e4f8d69c58e3e0a54b1434d64217d30e8d448864"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 16 17:23:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 16 17:23:42 2016 +0000"
      },
      "message": "Merge \"Move art::Runtime::InitZygote logic from art into frameworks/base.\""
    },
    {
      "commit": "41d65f28c202bd405f60f7739fd2cd775bb35213",
      "tree": "c0b1f0eba2250466814cdcda6507bf4a63074351",
      "parents": [
        "05884ac869a963652bd3fcedbe12147618f47582"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "Mark_Lu@htc.com",
        "time": "Wed Mar 23 19:08:44 2016 +0800"
      },
      "committer": {
        "name": "Mark Lu",
        "email": "Mark_Lu@htc.com",
        "time": "Sat Sep 17 00:28:20 2016 +0800"
      },
      "message": "[AM] Skip unnessary ANR when process already died.\n\nWhen app process been killed by AMS or lowmemkiller just before ANR report,\nbecause process record info has been cleared after received death recipient,\nit also cannot dump trace log because process already dead,\nso report ANR \u0026 show ANR UI to let user wait seems is unnecessary.\n(compare normal ANR case, if kill app process by command,\nANR dialog will also dismissed, it seems reasonable.)\n\nTo check above condition, if ANR process record killed set as true,\nit means process already dead \u0026 can skip report this ANR.\n\nChange-Id: I483cb02bacb10c32db80ca1097310b02abbac24d\n"
    },
    {
      "commit": "05884ac869a963652bd3fcedbe12147618f47582",
      "tree": "ed4b31982a4bb712a27dcefdb691949f694c72ad",
      "parents": [
        "85539bed7720b25f982daaed58ae368f973fee5b",
        "f0c606eb3e481050fd1dacd52694bacb794a4736"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 16 08:36:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 16 08:36:44 2016 +0000"
      },
      "message": "Merge \"Stop including libcore/include/ in most of frameworks/base.\""
    },
    {
      "commit": "85539bed7720b25f982daaed58ae368f973fee5b",
      "tree": "948877aebd186c4475e4313a09d52aab72db0113",
      "parents": [
        "9d9cf5b383f26c209b781dbca0723f69ff6913ba",
        "fa1886feea55785f413f5efcd86bccca92f26759"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 16 05:21:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 16 05:21:33 2016 +0000"
      },
      "message": "Merge \"Remove synchronization from getCurrentInputMethodSubtype()\""
    },
    {
      "commit": "fa1886feea55785f413f5efcd86bccca92f26759",
      "tree": "948877aebd186c4475e4313a09d52aab72db0113",
      "parents": [
        "9d9cf5b383f26c209b781dbca0723f69ff6913ba"
      ],
      "author": {
        "name": "Gopal Krishna Shukla",
        "email": "gshukla@codeaurora.org",
        "time": "Thu Jun 30 11:34:21 2016 +0530"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Fri Sep 16 03:41:46 2016 +0000"
      },
      "message": "Remove synchronization from getCurrentInputMethodSubtype()\n\ngetCurrentInputMethodSubtype() acquires InputManagerService.mMethodMap\nwithin its body. There seems to be no reason for holding\nInputMethodManager.mH to call getCurrentInputMethodSubtype(). Holding mH\ncan cause potential deadlock b/w two threads acquiring mH and mMethodMap\nin different orders.\n\nBug: 31247871\nBug: 31273203\nBug: b.android.com/218423\nChange-Id: I20cf2c20f49b1b02c0f7a18257b49d4bcc081b5d\n"
    },
    {
      "commit": "f0c606eb3e481050fd1dacd52694bacb794a4736",
      "tree": "ad66d1a579ec29de99040706e3f45e21595c63fc",
      "parents": [
        "9d9cf5b383f26c209b781dbca0723f69ff6913ba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 15 13:13:39 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 15 13:13:39 2016 -0700"
      },
      "message": "Stop including libcore/include/ in most of frameworks/base.\n\nframeworks/base/core/jni/android_text_StaticLayout.cpp does actually use\nScopedIcuLocale, so I\u0027ve left that for now.\n\nChange-Id: I6458cd133871281a747a9da2e304da10b445051a\n"
    },
    {
      "commit": "e4f8d69c58e3e0a54b1434d64217d30e8d448864",
      "tree": "639c5bcaefff94ffa6049d2c45af1a9df9ccdb97",
      "parents": [
        "9d9cf5b383f26c209b781dbca0723f69ff6913ba"
      ],
      "author": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Tue Sep 13 19:13:01 2016 -0400"
      },
      "committer": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Wed Sep 14 14:31:12 2016 -0400"
      },
      "message": "Move art::Runtime::InitZygote logic from art into frameworks/base.\n\nTest: m\nTest: aosp_angler-eng boots\nChange-Id: I964c70576136e7424797140b2f7d179e70298c44\n"
    },
    {
      "commit": "8da6bdc2d32e0a9015e596c760aacbeafa28524f",
      "tree": "42418753b5b775284055d9dd9e1e1cf080f8d9d1",
      "parents": [
        "1bb0616c5675bcd699b99a65ff566b2fac3ec0f7"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Mon Sep 12 13:46:32 2016 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Wed Sep 14 09:15:41 2016 -0700"
      },
      "message": "WifiScanner: Change hidden/PNO scan params\n\nSince networks are no longer configured in wpa_supplicant, network\nIDs/priorities being passed around for hidden/PNO scanning does not\nmake any sense.\nChanging the wifi scanner interface to remove all network ID/priority\nreferences. These will be replaced by SSID of the corresponding\nnetworks for hidden networks.\n\nBUG: 29503772\nTEST: Existing unit tests.\nTEST: Successfully connected to a hidden network on device\nChange-Id: I5d877e0345d574fb513b6eecca14f65f2ee4e7ab\n"
    },
    {
      "commit": "9d9cf5b383f26c209b781dbca0723f69ff6913ba",
      "tree": "652dbb9384565f0d1d5ddcf2e867e988cd1ff65a",
      "parents": [
        "796578f9a99b3503aed1fb61f891bd80aad87422",
        "313177dccacaf5fefd2954d90c065e35e5b03253"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 14 13:54:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 14 13:54:37 2016 +0000"
      },
      "message": "Merge \"Skip ANR for processes that have been killed\""
    },
    {
      "commit": "796578f9a99b3503aed1fb61f891bd80aad87422",
      "tree": "cbc73bbb7b109fcb505ecba8a56a20a91ab4eb94",
      "parents": [
        "4b1a8f46d6ec55796bf77fd8921a5a242a219278",
        "5638991c8233139ecf6207b99851116e2d2c2714"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 14 13:07:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 14 13:07:05 2016 +0000"
      },
      "message": "Merge \"app_main: failure to PR_SET_NO_NEW_PRIVS is always fatal.\""
    },
    {
      "commit": "5638991c8233139ecf6207b99851116e2d2c2714",
      "tree": "6ca4d11aaa9e020a050ec663ebd0cd4a0359e9a4",
      "parents": [
        "3bc37e9cf7fb8349247d2b28673c8ada23538391"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Sep 13 16:19:33 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Sep 14 10:24:20 2016 +0100"
      },
      "message": "app_main: failure to PR_SET_NO_NEW_PRIVS is always fatal.\n\nDon\u0027t make allowances for older kernels. Kernels must handle this\nproperly since it is now a CTS requirement.\n\nAlso remove some unreachable return statements.\n\nChange-Id: I280c4ed5e461d37672236747b5dbb7d1e97ecfec\n"
    },
    {
      "commit": "4b1a8f46d6ec55796bf77fd8921a5a242a219278",
      "tree": "2e5d284425776e70d293cc5d6e386eeff2e58ee4",
      "parents": [
        "1bb0616c5675bcd699b99a65ff566b2fac3ec0f7",
        "bf76ee74c77da42b2d5f9dc18ab3c4588d298d3e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 13 20:57:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 13 20:57:11 2016 +0000"
      },
      "message": "Merge \"fix NullPointerException in RegisteredServicesCache\""
    },
    {
      "commit": "0b3b2a5f3b2b924c05c2240e69c1750d60a056a7",
      "tree": "64edf35c715e9b6f9d4cb89351c03f2f717ab6fa",
      "parents": [
        "1bb0616c5675bcd699b99a65ff566b2fac3ec0f7"
      ],
      "author": {
        "name": "Cuihtlauac ALVARADO",
        "email": "cuihtlauac.alvarado@orange.com",
        "time": "Tue Sep 13 14:49:41 2016 +0200"
      },
      "committer": {
        "name": "Cuihtlauac ALVARADO",
        "email": "cuihtlauac.alvarado@orange.com",
        "time": "Tue Sep 13 14:49:41 2016 +0200"
      },
      "message": "Fix parameter description\n\nCorrect parameter description text according to method name.\n\nChange-Id: If6bd8254386a84efd338b58797c2c338ccb513b7\n"
    },
    {
      "commit": "1bb0616c5675bcd699b99a65ff566b2fac3ec0f7",
      "tree": "6b1aabe2cd3536b6537e2fe8b09bffc04d64f718",
      "parents": [
        "c7b84e6d0df07d9f09d55f786a8a4a6f03390e34",
        "ecbdb8834d82f0647a7c711bb95b065c8effa6c0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 12 21:07:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 12 21:07:40 2016 +0000"
      },
      "message": "Merge \"DO NOT MERGE. Listen to ACTION_UID_REMOVED only.\""
    },
    {
      "commit": "c7b84e6d0df07d9f09d55f786a8a4a6f03390e34",
      "tree": "b44b78fa3eb988ed9d66f8079bee69be634a982e",
      "parents": [
        "191ddb0c276eb37f1e136e3aff7e4bf401b8c3bb",
        "9bc78e8a25b3fa036103ce1d803ac09ce1bdb6d1"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Sep 12 20:38:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 12 20:38:20 2016 +0000"
      },
      "message": "Merge \"Add a flag to indicate if a ScanData is for a scan for all channels\""
    },
    {
      "commit": "191ddb0c276eb37f1e136e3aff7e4bf401b8c3bb",
      "tree": "d23b2cfba925a55c6b719f3c4aec0e333ad099b8",
      "parents": [
        "a4739b86b59504e7ad15d44f6bbac40ef3b0ff0a",
        "96b49848e7784bc4b40ffd01e2524461e1efcab7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 12 19:42:01 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 12 19:42:02 2016 +0000"
      },
      "message": "Merge changes I104e6133,I54f04c03\n\n* changes:\n  Split the zygote logic out of android.os.Process into a new ZygoteProcess class.\n  Refactor ZygoteInit to support a WebView-specific zygote.\n"
    },
    {
      "commit": "9bc78e8a25b3fa036103ce1d803ac09ce1bdb6d1",
      "tree": "0fbc7c6b05ba24cbe6dcdafdc2e7c8b7cb3641ca",
      "parents": [
        "a4739b86b59504e7ad15d44f6bbac40ef3b0ff0a"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Tue Sep 06 15:08:36 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Sep 12 11:28:55 2016 -0700"
      },
      "message": "Add a flag to indicate if a ScanData is for a scan for all channels\n\nBUG\u003d30897947\n\nChange-Id: I919d7fa9c3bf196371e506d23e393a9d609a5b4b\n(cherry picked from commit 4bfb391c91b3539d2ec20ffd7e01056dafa0984d)\n"
    },
    {
      "commit": "a4739b86b59504e7ad15d44f6bbac40ef3b0ff0a",
      "tree": "5fbd8f720b78010b9f64eafe3316d1af73c89102",
      "parents": [
        "5e91082b3c78c657047cd6ff53e60e2928b2c093",
        "93bb56ef1525314707dafe5c849916b1d44d15ea"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 12 16:50:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 12 16:50:18 2016 +0000"
      },
      "message": "Merge \"Move frameworks/base to std::unique_ptr.\""
    },
    {
      "commit": "93bb56ef1525314707dafe5c849916b1d44d15ea",
      "tree": "d6452068eb659e82b71ae8e0372712ae5c996faa",
      "parents": [
        "c4856bd73c5a2c4519dc788e7a9df9796c74819a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 11 14:50:12 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 11 14:50:12 2016 -0700"
      },
      "message": "Move frameworks/base to std::unique_ptr.\n\nBug: http://b/22403888\nChange-Id: Iae2c68b00be7cd9dd215a75cf80b16d7403f6328\n"
    },
    {
      "commit": "5e91082b3c78c657047cd6ff53e60e2928b2c093",
      "tree": "0d905eb67958fb513d39e27f00df968ed2bd3be7",
      "parents": [
        "5379f47d85105df971701dc92b6f69e348c85c49",
        "bd42349f7e97f172d5496ecaf2273994ced43b0d"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Sat Sep 10 17:07:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Sep 10 17:07:53 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in media utils.\""
    },
    {
      "commit": "5379f47d85105df971701dc92b6f69e348c85c49",
      "tree": "e90c56496f7e8a0be0f926f6721abe0c91f81968",
      "parents": [
        "077678590f5e5569fb1bfc1514a7ee5b28996e3e",
        "b647984f04a8cff6f98ee9654336854ddf872278"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 09 21:46:04 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 09 21:46:04 2016 +0000"
      },
      "message": "Merge \"Fix issue that Overview key doesn\u0027t work at secondary user\""
    },
    {
      "commit": "3477efce30b1d7f6f8bd07e31d9f1befadda2a34",
      "tree": "3cfb969c869456f60cffc5ba383153466656a838",
      "parents": [
        "efb7bec56ae01bc5f751859757714eb385a9bf25"
      ],
      "author": {
        "name": "Tianjie Xu",
        "email": "xunchang@google.com",
        "time": "Fri Sep 09 11:27:32 2016 -0700"
      },
      "committer": {
        "name": "Tianjie Xu",
        "email": "xunchang@google.com",
        "time": "Fri Sep 09 11:35:15 2016 -0700"
      },
      "message": "Collect status on uncrypt time cost\n\nRead and report time cost of uncrypt (in seconds) from last_install.\n\nBug: 31383361\n\nChange-Id: I283970c33b2a0324f2f51cde328e3e527eff7c58\n"
    },
    {
      "commit": "96b49848e7784bc4b40ffd01e2524461e1efcab7",
      "tree": "091cd1071de89ffe64bd1dae930f4ef2e402fe49",
      "parents": [
        "b9679dc1fad508a001e30a941148e1bdc3fe953f"
      ],
      "author": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Fri Mar 18 16:52:57 2016 -0400"
      },
      "committer": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Fri Sep 09 12:42:52 2016 -0400"
      },
      "message": "Split the zygote logic out of android.os.Process into a new ZygoteProcess class.\n\nThere is no functional change. This is to support adding new types of zygotes\nthat all operate using the same protocol.\n\nBug: 21643067\n(cherry picked from commit 94e824bc1b5f83024b7c9a228a8f2d0cd1347d11)\n\nMerged-In: Ie673ee816cae34ac20ffb8c774ec3e6461c3fd0a\nChange-Id: I104e6133a90dc93a9854836b5e92d3cd542163a3\n"
    },
    {
      "commit": "b9679dc1fad508a001e30a941148e1bdc3fe953f",
      "tree": "843c4ff3654fe9805634d6cec71c45ce2c1004f8",
      "parents": [
        "63a07e80d6c60c86bbcd81660f9693236de5ed80"
      ],
      "author": {
        "name": "Tobias Sargeant",
        "email": "tobiasjs@google.com",
        "time": "Tue Jan 19 16:34:54 2016 +0000"
      },
      "committer": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Fri Sep 09 12:42:43 2016 -0400"
      },
      "message": "Refactor ZygoteInit to support a WebView-specific zygote.\n\nThis is a non-functional change that separates out functionality\nthat should be shared between the system zygote and the WebView\nzygote from that which is system zygote specific.\n\n* Move MethodAndArgsCaller to Zygote.\n* Split out server socket functions into ZygoteServer.\n* Add a new (stub, for now) WebViewZygoteInit class.\n\nBug: 22084679\nBug: 21643067\n(cherry picked from commit ba816e0c9efd8cd2aeef618a819a2ad46b742f87)\n\nMerged-In: I4c508a42af7ab7b53d10570ad53b846df7782cc4\nChange-Id: I54f04c03443d10dabe6426697d1ff8a0cc66b985\n"
    },
    {
      "commit": "077678590f5e5569fb1bfc1514a7ee5b28996e3e",
      "tree": "17da392413e4994418fb315e7ae397f9d686e196",
      "parents": [
        "63a07e80d6c60c86bbcd81660f9693236de5ed80",
        "c84c5568a84cad72bf1aebcda2afd81e7feb71ef"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 09 15:47:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 09 15:47:44 2016 +0000"
      },
      "message": "Merge \"char16 strings returned by JNIEnv::GetStringCritical are not \u0027\\0\u0027 terminated.\""
    },
    {
      "commit": "ecbdb8834d82f0647a7c711bb95b065c8effa6c0",
      "tree": "725e24846182e95bb40e4938b1a1d7cecb89fb7e",
      "parents": [
        "63a07e80d6c60c86bbcd81660f9693236de5ed80"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Sep 08 17:09:08 2016 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Sep 08 18:15:23 2016 -0700"
      },
      "message": "DO NOT MERGE. Listen to ACTION_UID_REMOVED only.\n\nNMPS was listening to both ACTION_UID_REMOVED and\nACTION_PACKAGE_REMOVED, which not only was redundant but would also\ncause problems when a package with shared UIDs was removed.\n\nBUG: 31375684\n\nChange-Id: I78da95ef168321a837ed85ce2787a66a16830a78\n"
    },
    {
      "commit": "c84c5568a84cad72bf1aebcda2afd81e7feb71ef",
      "tree": "17da392413e4994418fb315e7ae397f9d686e196",
      "parents": [
        "63a07e80d6c60c86bbcd81660f9693236de5ed80"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 13:52:36 2016 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Sep 08 13:52:36 2016 -0700"
      },
      "message": "char16 strings returned by JNIEnv::GetStringCritical are not \u0027\\0\u0027 terminated.\n\nProperly construct String16s from both pointer and length instead.\n\nBug: 31373735\nChange-Id: Ia89df7840a48c4fce06e08fc3ae373e0fadfb44e\n"
    },
    {
      "commit": "63a07e80d6c60c86bbcd81660f9693236de5ed80",
      "tree": "2a03e76455b771fce5ace282c815784499fd2fef",
      "parents": [
        "84457029201e2a7711e9e41dcd3ce494b6c9a11d",
        "d20952e238eb250b46e5801be2e0c5c4842ed4ba"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Sep 08 13:10:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 08 13:10:15 2016 +0000"
      },
      "message": "Merge \"Add Base64 from OpenJDK 8u60\""
    },
    {
      "commit": "84457029201e2a7711e9e41dcd3ce494b6c9a11d",
      "tree": "cabf1e55c416b32c73407685e2deccd57c6bc23c",
      "parents": [
        "0bd7c547457e06cffe989eb508b4b2e89187fdb0",
        "94adef75afd07441610f12c20b507bfab5b50ea7"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Sep 08 12:18:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 08 12:18:43 2016 +0000"
      },
      "message": "Merge \"java.security.Provider: port to jdk8u60 (second part)\""
    },
    {
      "commit": "0bd7c547457e06cffe989eb508b4b2e89187fdb0",
      "tree": "f7a9a266b4736608b51c21f1b973484c1e779319",
      "parents": [
        "3bc37e9cf7fb8349247d2b28673c8ada23538391",
        "e09ac05b35490356ad4fe362dc18b1723fdc378b"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Sep 08 12:17:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 08 12:17:05 2016 +0000"
      },
      "message": "Merge \"Fix SuppressWarnings typo.\""
    },
    {
      "commit": "e09ac05b35490356ad4fe362dc18b1723fdc378b",
      "tree": "4642c840cee8e447a052648bf9e93597e5f301cd",
      "parents": [
        "efb7bec56ae01bc5f751859757714eb385a9bf25"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 27 14:31:19 2016 -0700"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Sep 08 13:11:37 2016 +0100"
      },
      "message": "Fix SuppressWarnings typo.\n\nAs Error Prone states:\nSuppressing \"deprecated\" is probably a typo for \"deprecation\"\nBug: 27723540\n\n(cherry picked from commit a7f834f1ce5ec52acdde5a8619d91a18f3376598)\n\nChange-Id: I0c6a9fc0a160769955cccf97ec7decb1f2b9b8fb\n"
    },
    {
      "commit": "3bc37e9cf7fb8349247d2b28673c8ada23538391",
      "tree": "57b72692c97b72cc79be14ce050881ebcb6d133e",
      "parents": [
        "efb7bec56ae01bc5f751859757714eb385a9bf25",
        "a4cc9028bfb4f15eee82bbcb5cd3283e852b9dd1"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Sep 08 09:59:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 08 09:59:54 2016 +0000"
      },
      "message": "Merge \"Track libcore change 76fa41aa4ac891670446592243b654fac7deb53f\""
    },
    {
      "commit": "bf76ee74c77da42b2d5f9dc18ab3c4588d298d3e",
      "tree": "48493f9e79dd119affdee6ce2741e5a1b141f8a4",
      "parents": [
        "efb7bec56ae01bc5f751859757714eb385a9bf25"
      ],
      "author": {
        "name": "liulvping",
        "email": "liulvping@xiaomi.com",
        "time": "Thu Sep 08 09:16:48 2016 +0800"
      },
      "committer": {
        "name": "lvping liu",
        "email": "liulvping@xiaomi.com",
        "time": "Thu Sep 08 01:20:34 2016 +0000"
      },
      "message": "fix NullPointerException in RegisteredServicesCache\n\nhttps://code.google.com/p/android/issues/detail?id\u003d221932\n\nChange-Id: I67c0b799d10f4b9c8fa0779069d23cc49916b395\nSigned-off-by: liulvping \u003cliulvping@xiaomi.com\u003e\n"
    },
    {
      "commit": "efb7bec56ae01bc5f751859757714eb385a9bf25",
      "tree": "29ed81b48d8467470efeb83419ecce4ec63d1a9b",
      "parents": [
        "c4856bd73c5a2c4519dc788e7a9df9796c74819a",
        "6cfe668c8088c6ec072750449787817081a05c31"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 07 21:43:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 07 21:43:20 2016 +0000"
      },
      "message": "Merge \"WifiManager: Remove unused methods\""
    },
    {
      "commit": "a4cc9028bfb4f15eee82bbcb5cd3283e852b9dd1",
      "tree": "40393998e868fd4b5f58fe0407cba0d75db081a4",
      "parents": [
        "c4856bd73c5a2c4519dc788e7a9df9796c74819a"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Aug 29 16:47:00 2016 +0100"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Sep 07 16:17:55 2016 +0000"
      },
      "message": "Track libcore change 76fa41aa4ac891670446592243b654fac7deb53f\n\nBug: 30992227\nChange-Id: I33c25562468f5803e211910f50116b501b66fe56\n"
    },
    {
      "commit": "b647984f04a8cff6f98ee9654336854ddf872278",
      "tree": "8102ca3bbae75137fc78dbbcc8ca1202aef9e1ec",
      "parents": [
        "c4856bd73c5a2c4519dc788e7a9df9796c74819a"
      ],
      "author": {
        "name": "dooyoung.hwang",
        "email": "dooyoung.hwang@lge.com",
        "time": "Wed Aug 31 14:15:22 2016 +0900"
      },
      "committer": {
        "name": "Dooyoung Hwang",
        "email": "dooyoung.hwang@lge.com",
        "time": "Wed Sep 07 16:03:17 2016 +0000"
      },
      "message": "Fix issue that Overview key doesn\u0027t work at secondary user\n\nIf user captures screenshot, screenshot process is started. Screenshot\nprocess also starts services that is defined SERVICES_PER_USER.\nAs a result Recents class\u0027s object is unexpectedly constucted from\nscreenshot process, and cause to connect with system-user\u0027s SystemUI\nwith mUserToSystemServiceConnection. So, binder proxy from system-user\u0027s\nSystemUI to secondary-user\u0027s SystemUI is replaced with proxy to\nscreenshot process. In this case Overview key doesn\u0027t work at all\nuntil reboot.\n\nBug:30340532\nChange-Id: I84b8b4a02ac3ff781e06d57be19cff56efa76521\n"
    },
    {
      "commit": "c4856bd73c5a2c4519dc788e7a9df9796c74819a",
      "tree": "a4ede1cbc4b9801cc53692f61fd07c873fb4f80d",
      "parents": [
        "12d3d4bbba3f03d531d52440aeffae7761aaba5c",
        "c8cd577c862efb1578348517028673f06e70e48a"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Wed Sep 07 15:47:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 07 15:47:40 2016 +0000"
      },
      "message": "Merge \"WifiEnterpriseConfig: Refactor set/get field values\""
    },
    {
      "commit": "313177dccacaf5fefd2954d90c065e35e5b03253",
      "tree": "9b52b0ef7c89264dbcad977adeead2efa3f11812",
      "parents": [
        "9484bff017a5a919f31e3ee945430b86cc8c6609"
      ],
      "author": {
        "name": "Tobias Lindskog",
        "email": "tobias.lindskog@sonymobile.com",
        "time": "Tue Feb 03 11:45:58 2015 +0100"
      },
      "committer": {
        "name": "Edward Savage-Jones",
        "email": "edward.savage-jones@sonymobile.com",
        "time": "Wed Sep 07 14:36:46 2016 +0200"
      },
      "message": "Skip ANR for processes that have been killed\n\nIf a controller is attached and decides to kill a process after an ANR,\nother ANR reports for that app that are queued up won\u0027t be handled until\nafter the app has died.  This can create a report without the relevant\ncallstacks because the app is dead by the time the traces are dumped.\nSince the trace file is global, the traces recorded for the first ANR\nare overwritten, leaving us with no clue as to what happened.\n\nAfter the app has been killedByAm, it is not interesting to handle ANRs\nfor that app until it is started again, so killedByAm can be used to\nfilter out these spurious reports.\n\nChange-Id: I34ba790f6d29d563c819dc2f6ac71a3c8955bb76\n"
    },
    {
      "commit": "12d3d4bbba3f03d531d52440aeffae7761aaba5c",
      "tree": "c0e30d2049c4e786620d7e62c6f38cfea34bd30b",
      "parents": [
        "6767fd28b1d4ebb0d823284d1b433e4745fd74d1",
        "53f16c8db75188be12ebdc7142f6f940d53c169a"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Sep 07 12:08:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 07 12:08:27 2016 +0000"
      },
      "message": "Merge \"java.security.cert.X509CRL: add new method verify(PublicKey, Provider)\""
    },
    {
      "commit": "6767fd28b1d4ebb0d823284d1b433e4745fd74d1",
      "tree": "ecd775064d288a4fe1368aca6c186bd72f5c3010",
      "parents": [
        "4c2df18a4d806d5d35afd19fe6a9fefff1c15b9e",
        "2cab523ef222d00124e3ce88e8fb581e1c3828ff"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Sep 07 12:07:13 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 07 12:07:13 2016 +0000"
      },
      "message": "Merge \"java.security.PKCS12Attribute: port class from jdk8u60\""
    },
    {
      "commit": "4c2df18a4d806d5d35afd19fe6a9fefff1c15b9e",
      "tree": "889abe96a51917942b9857b933fd8ffa06948d40",
      "parents": [
        "59c0fcf0c8a45351c006f04ac5a79e67ed9327a7",
        "23d2e403345bd079de090707ef33604961c611df"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Sep 07 12:05:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 07 12:05:35 2016 +0000"
      },
      "message": "Merge \"java.security.SecureRandom: add getInstanceStrong() method\""
    },
    {
      "commit": "59c0fcf0c8a45351c006f04ac5a79e67ed9327a7",
      "tree": "9ffa71e4fe2af6396d06a4a74811bf589dbd12b5",
      "parents": [
        "15c6078f4d09dba108d2d0e9b08453626ab9866c",
        "0d342700c89def22690c311e7ba010188fb694ad"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Sep 07 12:04:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 07 12:04:21 2016 +0000"
      },
      "message": "Merge \"java.security: port DomainLoadStoreParameter from jdk8u60\""
    },
    {
      "commit": "15c6078f4d09dba108d2d0e9b08453626ab9866c",
      "tree": "04ebda3cae38d4b56e2b4c45e5aabbb4517aabee",
      "parents": [
        "62419a013889609a6dbd3468404bcd071fa05c61",
        "5cd1569eb97de02c4fc2fbda39869f6d926397d1"
      ],
      "author": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Wed Sep 07 09:52:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 07 09:52:50 2016 +0000"
      },
      "message": "Merge \"Add a test app for suppressed exceptions\""
    },
    {
      "commit": "62419a013889609a6dbd3468404bcd071fa05c61",
      "tree": "65a8be1a209cf91e0995e84045d07d337813a69f",
      "parents": [
        "9221c96ae0561e2d517c4ac9478cec764a309422",
        "4171cdf303c24704c2412653fd0eccb21a487e8e"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Sep 07 04:19:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 07 04:19:52 2016 +0000"
      },
      "message": "Merge changes from topic \u0027enable_nan\u0027\n\n* changes:\n  Give WakeupMessage the ability to transport an object as well. [DO NOT MERGE]\n  [NAN] Add transport type for NAN. [DO NOT MERGE]\n"
    },
    {
      "commit": "4171cdf303c24704c2412653fd0eccb21a487e8e",
      "tree": "d0362ccf50862a0f779ecb3a6d56de8b23a65727",
      "parents": [
        "bd9fdbe02275f51c1e24a451aecd40038c4a20e1"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jun 07 16:27:10 2016 +0900"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Sep 06 15:54:16 2016 -0700"
      },
      "message": "Give WakeupMessage the ability to transport an object as well. [DO NOT MERGE]\n\n(cherry-pick of commit eab17da5882e59caff25c73aa6bcd0587aca9dd4)\n\nBug: 23113288\nChange-Id: Ic98e3bcb3ea8b0b28a309bd647fb4178311c46a3\n"
    },
    {
      "commit": "bd9fdbe02275f51c1e24a451aecd40038c4a20e1",
      "tree": "da8914b9be89aa9289ee16edc4e3de7a3fbb7cd2",
      "parents": [
        "1cd624801265e4af0d3d91cd87b9a81e10e49dcc"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Jun 20 09:27:12 2016 -0700"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Sep 06 15:54:10 2016 -0700"
      },
      "message": "[NAN] Add transport type for NAN. [DO NOT MERGE]\n\nAdd TRANSPORT_WIFI_NAN - specifies a peer-to-peer Wi-Fi NAN data\nconnectivity request.\n\nWhile NAN uses Wi-Fi L1 PHY and part of the MAC - it is a different\nprotocol and constitutes a different transport.\n\n(cherry-pick of commit 7b84987a6acf2f0a950c334a17a6ee085db3ba4f)\n\nBug: 26564277\nChange-Id: I975ebc72d8f97a592d18038b3d6465b7a40efa75\n"
    },
    {
      "commit": "9221c96ae0561e2d517c4ac9478cec764a309422",
      "tree": "fff21af0ff3a2b2a783a4c15ef5613cff1351f9f",
      "parents": [
        "a817838e8be4902c2906d3d4abada8fd22461af4",
        "29ce1dab5a97a8ec266d8314f552c2ecdf9bd99f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 06 22:51:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 06 22:51:43 2016 +0000"
      },
      "message": "Merge \"WifiConfiguration: Fix isEnterprise\""
    },
    {
      "commit": "a817838e8be4902c2906d3d4abada8fd22461af4",
      "tree": "e87c6d188a5d6947bc589e962a75ab6f82ce3825",
      "parents": [
        "1cd624801265e4af0d3d91cd87b9a81e10e49dcc",
        "41e4a376f1fa700ba5ad18ce0f9efb45478c5454"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 06 22:19:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 06 22:19:03 2016 +0000"
      },
      "message": "Merge \"Avoid profile guided compilation for vmSafeMode\""
    },
    {
      "commit": "1cd624801265e4af0d3d91cd87b9a81e10e49dcc",
      "tree": "da3db258daf3b37c0fe846448f9cafc3df2724f4",
      "parents": [
        "421c74f8e74c67c4ce41300880b8e52a6d1a4a41",
        "efd1f1242b7010adbad19ccee2e3d3c2786bf374"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 06 21:09:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 06 21:09:06 2016 +0000"
      },
      "message": "Merge \"fixes mStartedUsers shoule be locked by mLock, not mVolumes\""
    },
    {
      "commit": "421c74f8e74c67c4ce41300880b8e52a6d1a4a41",
      "tree": "96cd1fb62f5d20034c3d8f54e7a25518ad080954",
      "parents": [
        "f7c508ae09ad9dce600af23572d3d618c9ff8475",
        "94f9be2ee2a40b390cc4de1f24a33d0b662a2d79"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 06 21:02:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 06 21:02:55 2016 +0000"
      },
      "message": "Merge changes from topic \u0027cherry_pms_installd\u0027\n\n* changes:\n  Release mPackages lock earlier\n  OtaDexopt: Special-case system app classpaths\n  OtaDexoptService: Run dexopt on all apps\n  Frameworks/base: Add compiler stats to Package Manager\n  [RFC] Special case system apps for profile optimizations\n  Compile core-apps according to their own \"reason\" for A/B\n  Frameworks/base: Add new flow to OtaDexoptService\n  Otadexopt: Expose progress percentage\n  cp preopted files from B partition during PM init.\n"
    },
    {
      "commit": "6cfe668c8088c6ec072750449787817081a05c31",
      "tree": "44b3b4c886e9d7206f12349acc7ed4fa54aa7819",
      "parents": [
        "c8cd577c862efb1578348517028673f06e70e48a"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Sep 06 13:38:31 2016 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Sep 06 13:38:31 2016 -0700"
      },
      "message": "WifiManager: Remove unused methods\n\nRemove the unused hidden methods from WifiManager.\n\nBUG: 29449615\nTEST: Compiles, boots up.\nChange-Id: Ie7e6f438b23a368e44d35390267d5505e12bb75e\n"
    },
    {
      "commit": "94f9be2ee2a40b390cc4de1f24a33d0b662a2d79",
      "tree": "96cd1fb62f5d20034c3d8f54e7a25518ad080954",
      "parents": [
        "3f95d0bb6af6a155291cff3f6b61b2b25348127f"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Aug 18 11:22:52 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 06 10:46:18 2016 -0700"
      },
      "message": "Release mPackages lock earlier\n\nWe cannot hold mPackages when calling into generatePackageDexopts().\nThis method takes Package Manager\u0027s mInstallLock. By holding mPackages,\nwe have lock inversion and hilarity ensues.\n\nChange-Id: Ia11a158677051e3511702f38cde6780e75b256fb\nFixes: 30927731\n(cherry picked from commit a8d4f489974f3ea8f73990cbabbce205343fb926)\n"
    },
    {
      "commit": "3f95d0bb6af6a155291cff3f6b61b2b25348127f",
      "tree": "98b6aee4346e160c5bc344fcdfba4f5dd60b3e83",
      "parents": [
        "14186731f98d326239922d093371d1e63b8c22a5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 01 22:08:26 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 06 10:45:06 2016 -0700"
      },
      "message": "OtaDexopt: Special-case system app classpaths\n\nSpecialize system apps\u0027 shared libraries so that classpath checks\nare elided.\n\nBug: 30568568\nChange-Id: Id1f2555ef43984b616e01f8596701ccba77895b3\n(cherry picked from commit c7e02c1d2a53e0f738d2a8383e03658b39d91ce6)\n"
    },
    {
      "commit": "14186731f98d326239922d093371d1e63b8c22a5",
      "tree": "5fb535d4b45d3548bd6dc3539205b533ae58838f",
      "parents": [
        "7e619a912cf6a53ede7d7eea67f8bc8ed1158e24"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 28 16:54:41 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 06 10:44:00 2016 -0700"
      },
      "message": "OtaDexoptService: Run dexopt on all apps\n\nTo avoid work after reboot, dexopt all apps. However, unimportant\napps are optimized with the first-boot reason (which is usually\ninterpret-only) for space reasons.\n\nBug: 30468718\nChange-Id: Ia05d879957388967c69f9380e50d8a9834afe07d\n(cherry picked from commit 115514b236ebe7cb3c90892891954b8c7ba69335)\n"
    },
    {
      "commit": "7e619a912cf6a53ede7d7eea67f8bc8ed1158e24",
      "tree": "71dcc0280b1a4f122889c75cea629832bd486ff4",
      "parents": [
        "08313b0d952b6d5fa6e7ed7e3a5e4a7154a7d2c9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 12 22:42:41 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 06 10:41:59 2016 -0700"
      },
      "message": "Frameworks/base: Add compiler stats to Package Manager\n\nAdd a simple class for storing compiler statistics. Capture compile\ntimes for code paths from a package.\n\nBug: 29223204\nChange-Id: I1b066de6a83a739470a42480eee0bfef88423eea\n(cherry picked from commit 37e5fdc6b4963f3533caecdd92b129f79da69dd8)\n"
    },
    {
      "commit": "08313b0d952b6d5fa6e7ed7e3a5e4a7154a7d2c9",
      "tree": "767f3203d62ea3e7e9ecd3cbca36d132e88c4ce0",
      "parents": [
        "9438528d99a404ce10e567bbbb5f0cc9519fb5da"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jul 12 15:56:41 2016 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 06 10:41:04 2016 -0700"
      },
      "message": "[RFC] Special case system apps for profile optimizations\n\nIf the OTA updates a system app which was previously preopted to a non-\npreopted state the app might end up being verified at runtime. That\u0027s\nbecause by default the apps are verify-profile but for preopted apps\nthere\u0027s no profile.\n\nDo a hacky check to ensure that if we have no profiles (a reasonable\nindication that before the OTA the app was preopted) system apps get\ncompiled with a non-profile filter (by default interpret-only).\n\nBug: 30032273\nTest: Andreas \"has verified that Calin\u0027s change to A/B works as expected\nand promotes things like SystemUI to speed. From my side, that\u0027s\nready to be merged\"\n\nChange-Id: I7a052a8ea76cab7f649dc993237ea05534d6c4b9\n(cherry picked from commit 0bd776207999ccba17e5adb163710bd7b16ac907)\n"
    },
    {
      "commit": "9438528d99a404ce10e567bbbb5f0cc9519fb5da",
      "tree": "5d59af8778cda998e10efcdb1245ac5773f653f2",
      "parents": [
        "d15300cf38ae3840309dc6cb6c093b17713fc277"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jul 12 13:56:34 2016 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 06 10:40:18 2016 -0700"
      },
      "message": "Compile core-apps according to their own \"reason\" for A/B\n\nIf the core apps are not preopted in the B OTA, and REASON_AB_OTA is not\nspeed (by default is speed-profile) they will be interepreted/JITed.\nThis in itself is not a problem as we will end up doing profile guided\ncompilation. However, some core apps may be loaded by system server\nwhich doesn\u0027t JIT and we need to make sure we don\u0027t interpret-only.\n\nBug: 30032273\nChange-Id: Idb11b1c01c4c4ceba043feb3a9ccc6958035d3b7\n(cherry picked from commit 565621328dd4fc2e179a34494d0f8b8dc1b1eae9)\n"
    },
    {
      "commit": "d15300cf38ae3840309dc6cb6c093b17713fc277",
      "tree": "f986de4877b64b212f4fd08b325c4e35dd8db379",
      "parents": [
        "ff8ab4c9fade0dd95bac6df6506e1ce14dbd8e42"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 23 20:27:12 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 06 10:39:56 2016 -0700"
      },
      "message": "Frameworks/base: Add new flow to OtaDexoptService\n\nAdd functionality to capture/intercept installd communication, and\nuse this to return the full communication for dexopt. These parameters\ncan be used to drive otapreopt_chroot directly.\n\nKeep the old direct invocation alive until devices have transitioned\nto a service that exposes this API.\n\nIn preparation for renaming of A/B OTA artifacts to include target\nslot names.\n\nBug: 25612095\nBug: 28069686\nChange-Id: I14728ee1266f3882cada8f08dd21891ed5f7a0cb\n(cherry picked from commit cc241a580cb9b753d0dde0cea578feb74ad517e7)\n"
    },
    {
      "commit": "ff8ab4c9fade0dd95bac6df6506e1ce14dbd8e42",
      "tree": "6743c00ae591e2e7e8fcf08461146d31bc219f56",
      "parents": [
        "2b6fc4c92deac1572b68f3cfc326da0a230055a7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 10 15:21:39 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 06 10:39:20 2016 -0700"
      },
      "message": "Otadexopt: Expose progress percentage\n\nTo be able to report progress of an A/B OTA dexopt, expose a\nprogress function that the script can query.\n\nBug: 25612095\nBug: 29223204\nChange-Id: Ie8162946d18f6fa78649a40ad5d3949d31a181cd\n(cherry picked from commit bf06232f4d440ced8230662a77ca0e8ece6383ca)\n"
    },
    {
      "commit": "29ce1dab5a97a8ec266d8314f552c2ecdf9bd99f",
      "tree": "53e2015b1a521311c587a8bb614025e36ab6a993",
      "parents": [
        "f7c508ae09ad9dce600af23572d3d618c9ff8475"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Sep 06 10:13:40 2016 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Sep 06 10:13:40 2016 -0700"
      },
      "message": "WifiConfiguration: Fix isEnterprise\n\nAdd a check for the eap method in Enterpriseconfig associated with the\nWifiConfiguration.\n\nBUG: 31275240\nChange-Id: I21aabb09bdd21e29a80d4b9c6ea0e2b1f0d7e2df\n"
    },
    {
      "commit": "c8cd577c862efb1578348517028673f06e70e48a",
      "tree": "151e403162f9c9ff647c0a882ec70332ebade069",
      "parents": [
        "f7c508ae09ad9dce600af23572d3d618c9ff8475"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Sep 02 11:05:17 2016 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Sep 06 10:05:02 2016 -0700"
      },
      "message": "WifiEnterpriseConfig: Refactor set/get field values\n\nWifiEnterpriseConfig has a few keys which are generated internally\nhave unquoted values. However, the public setFieldValue() always quotes\nthe value when set.  So, this causes a problem when restoring\nthese field values from config store. Since this is an internal\ndisctinction that only WifiEnterpriseConfig understands, add a list to\ncheck if a particular field value needs to be quoted or not. Also,\nremove any direct \"mFields.put\" invocations with |setFieldValue|.\n\nWhile there,\nRefactor the existing |setFieldValue| \u0026 |getFieldValue| methods.\n\nBUG: 31246524\nTEST: Unit tests\nTEST: Integrated with config store and verified that a previous TLS EAP\nconnection failure is no longer seen.\n\nChange-Id: Ib85f3bce378720a6a6c2ae1439837a8e866a088d\n"
    },
    {
      "commit": "2b6fc4c92deac1572b68f3cfc326da0a230055a7",
      "tree": "2ce406d4a1c356dd71c6da70820919ea3d47ebab",
      "parents": [
        "f7c508ae09ad9dce600af23572d3d618c9ff8475"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 22 17:56:37 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 06 08:53:00 2016 -0700"
      },
      "message": "cp preopted files from B partition during PM init.\n\nThis allows us to save space on the system partition while still\nhaving access to the preopted files.\n\nWe do this on first boot when the \"ro.cp_system_other_odex\" property\nis set to 1. We do this during package manager initialization before\nscanning the system to see which apks need to be optimized again.\n\nNote that a separate script, run by init, is actually responsible for\nfinding and copying the files. We simply request that it runs.\n\nBug: 29278988\n\nChange-Id: I8d7c790ad35b32a0ce1d87939f043419bae4d88a\n(cherry picked from commit 3dafee6c1820bf0946bab04b290c5a757112d3e7)\n"
    },
    {
      "commit": "53f16c8db75188be12ebdc7142f6f940d53c169a",
      "tree": "68c70a353c38ae30f3affbec6998a928d2a204d2",
      "parents": [
        "47784a790bca4cb9744cfcb9df0da5e38f5cbbf1"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Sep 06 14:09:41 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Sep 06 14:13:57 2016 +0100"
      },
      "message": "java.security.cert.X509CRL: add new method verify(PublicKey, Provider)\n\nNew method introduced in Java 8. This method has a \"default\" implementation\nin order to avoid breaking providers who construct concrete subclasses.\n\nUnfortunately this implementation always results in an infinite loop, and\nhas thus been changed by an UnsupportedMethodOperation, with a TODO note\nas to improve the situation if possible.\n\njava/security/cert/X509CRL: add \"default\" method\nsun/security/x509/X509CRLImpl: add declaration for that particular\nimplementation\n\nAlso, cosmetic changes like:\n- use of @code tags instead of \u003ccode\u003e\n- use of static fields using the class name instead of instance name\n\nThis completes the port of this package to jdk8u60.\n\nBug: 29631070\nBug: 31294527\nTest: make droid docs; old-cts run cts --class libcore.java.security.cert.X509CRLTest\nChange-Id: Iccdfa3625a9ff2e7b808c22bce59ff75ae903e8a\n"
    },
    {
      "commit": "d20952e238eb250b46e5801be2e0c5c4842ed4ba",
      "tree": "dc2286d1798ac292bb4319967683d588f5354658",
      "parents": [
        "f7c508ae09ad9dce600af23572d3d618c9ff8475"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Sep 01 12:47:34 2016 +0100"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Mon Sep 05 22:01:40 2016 +0100"
      },
      "message": "Add Base64 from OpenJDK 8u60\n\nTest: make update-api\nBug: 29935305\n\nChange-Id: Idc1cfadd78553dd05a7cb1f9ebd02858a3675e51\n"
    },
    {
      "commit": "efd1f1242b7010adbad19ccee2e3d3c2786bf374",
      "tree": "46d33db1db52b77772e2a53e2ef53688649a7473",
      "parents": [
        "f7c508ae09ad9dce600af23572d3d618c9ff8475"
      ],
      "author": {
        "name": "yuanhuihui",
        "email": "yuanhuihui@xiaomi.com",
        "time": "Wed Jul 13 21:21:03 2016 +0800"
      },
      "committer": {
        "name": "yuanhuihui",
        "email": "yuanhuihui@xiaomi.com",
        "time": "Mon Sep 05 13:54:00 2016 +0800"
      },
      "message": "fixes mStartedUsers shoule be locked by mLock, not mVolumes\n\nwhen create/delete multiple user, plug/unplug externel storage(such as sdcard) at the same time.\nmultiple threads run concurrency , the newly created user can not get state of externel storage.\n\nhttps://code.google.com/p/android/issues/detail?id\u003d215901\n\nChange-Id: I097f5291108af89a430e12045376065d71d48175\nSigned-off-by: yuanhuihui \u003cyuanhuihui@xiaomi.com\u003e\n"
    },
    {
      "commit": "f7c508ae09ad9dce600af23572d3d618c9ff8475",
      "tree": "724d7898193050d7f09cf71b66cf9cb252804235",
      "parents": [
        "13886253be4632a90f2f15202b03cf54fe0c032a",
        "60617373a5cd3da68df2d03955adf2ea2e846509"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Sep 03 06:22:38 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Sep 03 06:22:38 2016 +0000"
      },
      "message": "Merge \"Updated user document for Single-Source RenderScript\""
    },
    {
      "commit": "41e4a376f1fa700ba5ad18ce0f9efb45478c5454",
      "tree": "2be05f12477297a28220318bd660e9c0f94afdf9",
      "parents": [
        "47784a790bca4cb9744cfcb9df0da5e38f5cbbf1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 02 16:36:42 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 02 18:15:45 2016 -0700"
      },
      "message": "Avoid profile guided compilation for vmSafeMode\n\nBug: 30688277\nBug: 30733908\n\nTest: adb shell cmd package compile -m speed-profile comb.BBClient\n\nChange-Id: I6783c80566b6b3b67025a3d258ebbdede0c7ca2d\n"
    },
    {
      "commit": "60617373a5cd3da68df2d03955adf2ea2e846509",
      "tree": "32fd0cd03cd3701016135fade63254f504468939",
      "parents": [
        "e71ecb2c4df15f727f51a0e1b65459f071853e35"
      ],
      "author": {
        "name": "Yang Ni",
        "email": "yangni@google.com",
        "time": "Wed Jun 29 12:44:06 2016 -0700"
      },
      "committer": {
        "name": "Yang Ni",
        "email": "yangni@google.com",
        "time": "Fri Sep 02 17:25:49 2016 -0700"
      },
      "message": "Updated user document for Single-Source RenderScript\n\nBug: 29875503\nBug: 29879448\n\nAdded a section introducing the new single-source feature.\n\nLocal staging:\nhttp://yangni.mtv.corp.google.com/guide/topics/renderscript/compute.html\n\nThis updates\nhttps://developer.android.com/guide/topics/renderscript/compute.html\n\nChange-Id: I62dda3ab60b1678a9580fd2873f64f33d9696e13\n(cherry picked from commit c069ed7f8c3d307c9fed2c8d1a81e28152190b5a)\n"
    },
    {
      "commit": "13886253be4632a90f2f15202b03cf54fe0c032a",
      "tree": "6aef485921945ea22face7873342d11917937b62",
      "parents": [
        "6902285a448ab15e0044dfb23a79836ba35089e9",
        "9709b8b3723dfe7cfd56c8c9fecebc6b727656e6"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Sep 02 21:10:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 02 21:10:10 2016 +0000"
      },
      "message": "Merge \"WifiEnterpriseConfig: Fix copy constructor\""
    },
    {
      "commit": "9709b8b3723dfe7cfd56c8c9fecebc6b727656e6",
      "tree": "6aef485921945ea22face7873342d11917937b62",
      "parents": [
        "6902285a448ab15e0044dfb23a79836ba35089e9"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Thu Sep 01 13:46:40 2016 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Sep 02 14:08:50 2016 -0700"
      },
      "message": "WifiEnterpriseConfig: Fix copy constructor\n\nAdd missing elements from WifiEnterpriseConfig copy\nconstructor.\n\nBUG: 31245222\nTEST: Ran ACTS WifiEnterpriseTest suite.\nChange-Id: Ia6f95fca4131ad9a1facca8f9c4c856dff868058\n"
    },
    {
      "commit": "6902285a448ab15e0044dfb23a79836ba35089e9",
      "tree": "595771bc412ece10532dc76f9b3493bc5db6ecdc",
      "parents": [
        "3f3ed243fdb97c837a88bfeb45335a6991de898c",
        "aa2c32f92b199cb40b808554ced67af1edaffef5"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Sep 02 20:09:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 02 20:09:26 2016 +0000"
      },
      "message": "Merge changes from topic \u0027java_hidl_support\u0027\n\n* changes:\n  Move Status to libhidl (DO NOT MERGE)\n  Adds framework support for hidl-gen Java backend. (to support structs) (DO NOT MERGE)\n  Add Bool* APIs to HwParcel (DO NOT MERGE)\n  Link against libhidl for HidlSupport/svcmgr (DO NOT MERGE)\n  Support one-way methods in java support for hardware binder (DO NOT MERGE)\n  Initial commit of Java support for hardware binder (DO NOT MERGE)\n"
    },
    {
      "commit": "aa2c32f92b199cb40b808554ced67af1edaffef5",
      "tree": "595771bc412ece10532dc76f9b3493bc5db6ecdc",
      "parents": [
        "9266f9928d5b3431982cd04f4d6946b70f40766a"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Sep 01 01:37:05 2016 +0200"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Sep 02 06:28:14 2016 -0700"
      },
      "message": "Move Status to libhidl (DO NOT MERGE)\n\nBug: 31226252\n\nChange-Id: Ieb0adcf1fa71d6859324c2d83841685d1e1a22f8\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "9266f9928d5b3431982cd04f4d6946b70f40766a",
      "tree": "2ef19e7e263c682cd917fc70457a82ba13fb7fec",
      "parents": [
        "86635bb45ee1ddeb3059a8a925659964c7858cc3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 25 11:21:21 2016 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Sep 02 06:28:14 2016 -0700"
      },
      "message": "Adds framework support for hidl-gen Java backend. (to support structs) (DO NOT MERGE)\n\nBug: 30575790\nChange-Id: Ida30d8fe7a1b210e98f1a0ea5d429a0112f9ef3f\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "86635bb45ee1ddeb3059a8a925659964c7858cc3",
      "tree": "2696bac56132922c2f4ab36deeeb0332fa2789af",
      "parents": [
        "242030ddad46c24c90222a334090391fa4044f64"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 24 16:19:03 2016 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Sep 02 06:28:14 2016 -0700"
      },
      "message": "Add Bool* APIs to HwParcel (DO NOT MERGE)\n\nBug: 31045584\nChange-Id: I202c4aa7caf92a4cd7e3a45ef6784638e41facc8\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "242030ddad46c24c90222a334090391fa4044f64",
      "tree": "a8535156b6c22cfc55831afee629a897abe59a03",
      "parents": [
        "90349b3e11ec6f148211a9e29cb80644bc35d382"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Aug 19 14:23:42 2016 +0200"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Sep 02 06:28:14 2016 -0700"
      },
      "message": "Link against libhidl for HidlSupport/svcmgr (DO NOT MERGE)\n\nBug: 30839546\nChange-Id: I52609576aa7f10da608725ef4ea78b778f127eef\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "90349b3e11ec6f148211a9e29cb80644bc35d382",
      "tree": "b8a90ee4a08da502a2df946307decbe3c9a5b65b",
      "parents": [
        "dab5fc65b92b37ee623b10f86a6ccf1709ba17d4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 18 14:29:40 2016 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Sep 02 06:28:14 2016 -0700"
      },
      "message": "Support one-way methods in java support for hardware binder (DO NOT MERGE)\n\nBug: 30922538\nChange-Id: I5ff93126a29f6bff42dee3f9868fa794ca7c077f\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "dab5fc65b92b37ee623b10f86a6ccf1709ba17d4",
      "tree": "177454a72e2fd4d77388b14b66f91d875da563c5",
      "parents": [
        "3f3ed243fdb97c837a88bfeb45335a6991de898c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 15 09:25:02 2016 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Sep 02 06:28:14 2016 -0700"
      },
      "message": "Initial commit of Java support for hardware binder (DO NOT MERGE)\n\nChange-Id: If1098ab921a11bae8eca2a70a3c3070e4daa0ea2\n"
    },
    {
      "commit": "3f3ed243fdb97c837a88bfeb45335a6991de898c",
      "tree": "1930aedaf0a5a42071375206553f9d5aea9b0087",
      "parents": [
        "a6b6252d8bb79faf013c378f719244b0e06a6ff8",
        "d2d667275d4565e6c56a324b17f72fb4f5448ad5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 02 05:14:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 02 05:14:41 2016 +0000"
      },
      "message": "Merge \"NetworkSelectionStatus: Fix copy constructor\""
    },
    {
      "commit": "d2d667275d4565e6c56a324b17f72fb4f5448ad5",
      "tree": "d4d002f7baed17fff5aff689a5600c2bfe1df71e",
      "parents": [
        "5f87c4539adecd3716d5c9e46b30302a32880261"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Aug 30 09:48:47 2016 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Thu Sep 01 15:08:44 2016 -0700"
      },
      "message": "NetworkSelectionStatus: Fix copy constructor\n\nAdd one more missing element from NetworkSelectionStatus copy constructor.\n\nBUG: 31102798\nChange-Id: Iae18f944e7ef722b280b20a51f128f90b2ff45c7\n"
    },
    {
      "commit": "a6b6252d8bb79faf013c378f719244b0e06a6ff8",
      "tree": "48401a4f4db15f2b8c2f5da50bc7d8852e50598c",
      "parents": [
        "47784a790bca4cb9744cfcb9df0da5e38f5cbbf1",
        "6d09d547b06b86b337e8e16c2585b3882a5bb1dc"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Sep 01 17:33:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 01 17:33:42 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings.\""
    },
    {
      "commit": "23d2e403345bd079de090707ef33604961c611df",
      "tree": "60a6f82bd69095f458e6bb91d3cf340fc8b7ff68",
      "parents": [
        "43ec5716aa16bf0441a0c8eff9200adca13297ae"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Aug 30 16:53:53 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Sep 01 17:24:40 2016 +0000"
      },
      "message": "java.security.SecureRandom: add getInstanceStrong() method\n\nPort SecureRandom to jdk8u60.\n\nThe method getInstanceStrong returns a strong random number\ngenerator. In Android this is assumed to be the one from\nOpenSSLProvider.\n\nThis commit also contains cosmetic JavaDoc changes like\n- Use of @code in place of \u003ccode\u003e tags and use of a package-info.java in\nplace of a package.html file.\n- Added comments.\n- Uses of java.security.util.Debug (commented-out as that\ndebugging mechanism is not available in Android).\n- Added braces in control flow blocks.\n\nTest: make droid docs, vogar SecureRandomTest\nBug: 29631070\nChange-Id: I9080fbd5e9292d7cb3eaa234f7c5849411336fac\n"
    },
    {
      "commit": "94adef75afd07441610f12c20b507bfab5b50ea7",
      "tree": "467dca38c85f42d2ed820ccb95284417a2a7a71b",
      "parents": [
        "47784a790bca4cb9744cfcb9df0da5e38f5cbbf1"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Sep 01 18:03:15 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Sep 01 18:19:50 2016 +0100"
      },
      "message": "java.security.Provider: port to jdk8u60 (second part)\n\n- Add overridings for HashMap operations\n\nProvider is a subclass of HashMap. When operations are on\nStrings, they must be processed as part of the\nalgorithm-\u003eimplementation mapping of the provider, and\nso these methods must be overriden accordingly.\n\nNewly overridden Methods added are:\n\ncompute, computeIfAbsent, computeIfPresent, getOrDefault,\nmerge, putIfAbsent, replace, replaceAll.\n\n- Check that classes and constructors are public when\ncreating instances of services.\n\n- Cosmetic changes like use of {@code} instead of \u003ccode\u003e\n\nBug: 29631070\nTest: make droid docs; vogar ProviderTest\nChange-Id: I0238f4a48f31ddc50a3f18c27515023940d9ba02\n"
    },
    {
      "commit": "47784a790bca4cb9744cfcb9df0da5e38f5cbbf1",
      "tree": "5980628a768d4497cda62f4c37d03c975b3eadeb",
      "parents": [
        "227a176508e02b2596aaf5f27825dcbb71bce2a2",
        "671d9ce289857ac650dfc496ea3137810534a460"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Sep 01 13:15:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 01 13:15:52 2016 +0000"
      },
      "message": "Merge \"Track exposure of new j.l.reflect methods\""
    },
    {
      "commit": "2cab523ef222d00124e3ce88e8fb581e1c3828ff",
      "tree": "e83ee1da2c6d7532879229d46978d87bfb7e80c9",
      "parents": [
        "d53ae2c2850f79d2721243781a0e527786157fe0"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Aug 31 20:00:41 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Sep 01 12:49:07 2016 +0000"
      },
      "message": "java.security.PKCS12Attribute: port class from jdk8u60\n\nThis class provides facilities to deal with attributes in entries for\nPKCS12 keystores.\n\nTest: check-ojluni-files, make droid docs, vogar PKCS12AttributeTest\nBug: 29631070\nChange-Id: I8d40fe126f189d503d6df7bfa45c4763bb7cb0d1\n"
    },
    {
      "commit": "227a176508e02b2596aaf5f27825dcbb71bce2a2",
      "tree": "89b163b739ee275412ea5af511313fea65460eeb",
      "parents": [
        "5f87c4539adecd3716d5c9e46b30302a32880261",
        "c558dd9597fa6dba90bbb2838b65472e15ed20ee"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 01 05:32:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 01 05:32:48 2016 +0000"
      },
      "message": "Merge \"Fix missing dependency on R.java\""
    }
  ],
  "next": "c558dd9597fa6dba90bbb2838b65472e15ed20ee"
}
