)]}'
{
  "log": [
    {
      "commit": "60d10ea0f4cfcb7fcd3c6b188751368c3eeed591",
      "tree": "48b0a375c510528f5a4cf95dc5aa543e3641e379",
      "parents": [
        "b1e3c8aaf42ee3d5910d1f7b93644bf1d05b2eee",
        "2c02197bdd12378c7b2f8ee4bcaa625b2c564ede"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 11 01:06:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 11 01:06:57 2017 +0000"
      },
      "message": "Merge changes I559eb049,I52425b84\n\n* changes:\n  DO NOT MERGE Captive portals: login activity probes like NetworkMonitor\n  DO NOT MERGE Logging improvements in CaptivePortalLoginActivity\n"
    },
    {
      "commit": "b1e3c8aaf42ee3d5910d1f7b93644bf1d05b2eee",
      "tree": "22994e3047620d296b00bd0e389a589275b4644f",
      "parents": [
        "95ef9ec5b11d7e00281e35af94461ad9eb5fcab6",
        "b32417a7722250aa5de6599a4c1bed6c4942864a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 11 01:02:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 11 01:02:05 2017 +0000"
      },
      "message": "Merge changes I1eaab5ea,I42928da8\n\n* changes:\n  DO NOT MERGE Captive portal systel log improvements\n  DO NOT MERGE Fix flaky IpPrefixTest.\n"
    },
    {
      "commit": "98d86fe2b7042534f1cbbfc76515a68bd5250b5f",
      "tree": "7d79ab8db8cade56afa7c3bdedcf4d8effd8021a",
      "parents": [
        "8e9fd295c8bc6d73ce691ea83a07ed065c7d24f6",
        "54e387ddbe6a0462bc8e9e15c7c7b3463adfcb24"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 10 22:21:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 10 22:21:01 2017 +0000"
      },
      "message": "Merge changes Ia1f2535c,I9ca93f31,If5b53f6f,I119e0bfc\n\n* changes:\n  Dynamically add the webview_zygote\u0027s preloaded APK to the zygote FD whitelist.\n  Split core/jni/fd_utils-inl.h into a .h/.cpp pair.\n  Zygote: Additional whitelisting for legacy devices.\n  Zygote: Additional whitelists for runtime overlay / other static resources.\n"
    },
    {
      "commit": "f3b1881bb233f1d8335a30e5b75d51237f099072",
      "tree": "920edea5aed004adf4042acea74ba08ac92c10e1",
      "parents": [
        "6a9ad14172619b7d61a5119d7f95e613d890f603",
        "e68b7ca20c276c45b3a8713cdc4daa5238d13644"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 10 21:15:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 10 21:15:02 2017 +0000"
      },
      "message": "Merge \"Remove unused variable.\""
    },
    {
      "commit": "54e387ddbe6a0462bc8e9e15c7c7b3463adfcb24",
      "tree": "9c2e6a5f4bb8f2bb6b6de700f4ab63866881824c",
      "parents": [
        "8225b7c95185dfbfe67da105df4402430784393c"
      ],
      "author": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Fri Dec 02 17:27:50 2016 -0500"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 10 11:44:56 2017 -0800"
      },
      "message": "Dynamically add the webview_zygote\u0027s preloaded APK to the zygote FD whitelist.\n\nThis refactors the whitelist to be a class, rather than just a static C array.\nThe whitelist can then be augmented dynamically when the package path is known\nin the webview_zygote.\n\nTest: m\nTest: sailfish boots\nTest: Enable Multi-process WebView in developer options, perform a search in GSA.\n\nBug: 21643067\nChange-Id: Ia1f2535c7275b42b309631b4fe7859c30cbf7309\n(cherry picked from commit 061ee3088a79ab0e07d37d1c0897d51422f29c4e)\n"
    },
    {
      "commit": "8225b7c95185dfbfe67da105df4402430784393c",
      "tree": "5d61b2a82c457ad534070b697fb6ad5c622dff14",
      "parents": [
        "f701ba36b343fd6df51fbf5945932612bc3108c1"
      ],
      "author": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Fri Dec 16 14:02:31 2016 -0500"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 10 11:41:01 2017 -0800"
      },
      "message": "Split core/jni/fd_utils-inl.h into a .h/.cpp pair.\n\n(cherry picked from commit 44afe8be8f654192dc436a9c4238a925c22b14bf)\n\nTest: m\nTest: sailfish boots\n\nChange-Id: I9ca93f31f6c20b702b2207333a9d56f6592630b0\n"
    },
    {
      "commit": "f701ba36b343fd6df51fbf5945932612bc3108c1",
      "tree": "41f5390e280e61b10f04ee5ab02ebe2de9676256",
      "parents": [
        "0ff7ef60f504410cd9b704da31bcff80400a0019"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Nov 07 19:59:29 2016 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 10 11:27:52 2017 -0800"
      },
      "message": "Zygote: Additional whitelisting for legacy devices.\n\nOn M and below, we provide a blanket whitelist for all files under\n\"/vendor/zygote_whitelist\". This path is whitelisted purely to allow\nthis patch to be applied easily on legacy devices and configurations.\n\nNote that this does not amount to a loosening of our security policy\nbecause whitelisted files are reopened anyway.\n\n(cherry picked from commit 5e2f7c6229d7191183888d685b57a7d0a2835fce)\n\nBug: 32691930\nTest: manual\nChange-Id: If5b53f6f0a707f8d36603c09bfd3f72dbfbbbb99\n"
    },
    {
      "commit": "e68b7ca20c276c45b3a8713cdc4daa5238d13644",
      "tree": "478c4fa5f8f70c4f0d549ecbaff85cc6e3d9c7c4",
      "parents": [
        "866658261f4613e17ed6f39a74975ad0c9f40767"
      ],
      "author": {
        "name": "Tao Wu",
        "email": "lepton@google.com",
        "time": "Fri Nov 11 10:42:02 2016 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jan 10 19:20:18 2017 +0000"
      },
      "message": "Remove unused variable.\n\nCode search show nobody referenced it and aosp image still compiles after\nremove it.\n\nTest: make -j18 systemimage userdataimage ramdisk\n\nChange-Id: I3e37ea590610091b938296c999dceb3caf919906\nMerged-In: I3e37ea590610091b938296c999dceb3caf919906\nSigned-off-by: Tao Wu \u003clepton@google.com\u003e\n"
    },
    {
      "commit": "0ff7ef60f504410cd9b704da31bcff80400a0019",
      "tree": "9c7e8ac4cdbe57389e175556798df5edaa58eefe",
      "parents": [
        "6a9ad14172619b7d61a5119d7f95e613d890f603"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Sep 23 09:07:11 2016 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 10 11:16:31 2017 -0800"
      },
      "message": "Zygote: Additional whitelists for runtime overlay / other static resources.\n\nPartially cherry picked from commit 1c15c635785c64a.\n\nThese files are safe to reopen for the same reason that files in\n/system/framework are. They\u0027re regular files and will not change after\nthe first zygote fork.\n\n(cherry picked from commit 25cd01cc69fcad34756b00e52a79c0c54178f2e6)\n\nBug: 32618130\nTest: m\nChange-Id: I119e0bfcbf397cb331064adf148d92a5cd3ea92f\n"
    },
    {
      "commit": "e34e47d645ad8e34ee19d813373bfdd3f1e97573",
      "tree": "1fd7669fc635a23af8cea5992d55400ea883e6ad",
      "parents": [
        "1ea4180c3afa3a660654af502569cbe868d7d127",
        "8bc096c09d5013c61e8e23a810e70f392b6b25b1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 09 23:39:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 09 23:39:48 2017 +0000"
      },
      "message": "Merge \"Cherrypick: Create ScoredNetwork Badging API changes.\""
    },
    {
      "commit": "ccda81e58f8456a19b02573d6787f11729904a7b",
      "tree": "27053a35dc1851df49ca52b639728c11ec3628a1",
      "parents": [
        "1f89f3d1da58f3fae8ad36d7b16945754cfe67b5",
        "5d14d99e434af815ed7fff224d178d3d72c164eb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 09 22:02:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 09 22:02:37 2017 +0000"
      },
      "message": "Merge \"Moved implicit intents into explicit intents\""
    },
    {
      "commit": "8bc096c09d5013c61e8e23a810e70f392b6b25b1",
      "tree": "348666ce3b5545597766df0207757cb2cb36a054",
      "parents": [
        "cf3a4a68bddd5dbca05595a29e0ba3b13d809cb4"
      ],
      "author": {
        "name": "Sundeep Ghuman",
        "email": "sghuman@google.com",
        "time": "Fri Dec 16 13:30:45 2016 -0800"
      },
      "committer": {
        "name": "Stephen Chen",
        "email": "stewchen@google.com",
        "time": "Mon Jan 09 12:57:02 2017 -0800"
      },
      "message": "Cherrypick: Create ScoredNetwork Badging API changes.\n\nDefines an attribute bundles key to hold the badging curve, the\nenums for badge values, and an API to retrieve a badge for a\nspecific RSSI.\n\nOCL: ag/1727147\nBug: 33457699\nTest: Unit tests\nChange-Id: If9e8a60c4670b51c395fb501f55ddece8a72981e\nMerged-In: If9e8a60c4670b51c395fb501f55ddece8a72981e\n"
    },
    {
      "commit": "1f89f3d1da58f3fae8ad36d7b16945754cfe67b5",
      "tree": "1159eccabd19a6caa21642e9f83685a33133dad4",
      "parents": [
        "4c456d7ddf206c07bb4d0768df1d3ac123e53028",
        "85fcf96e997216fa710f00b4a03ae3b5d8c01089"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 09 20:51:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 09 20:51:34 2017 +0000"
      },
      "message": "Merge \"Make REQUEST_NETWORK_SCORES signature only.\""
    },
    {
      "commit": "85fcf96e997216fa710f00b4a03ae3b5d8c01089",
      "tree": "60d4f01eb73dd5a06d0bb9037fc9f0be75624aa3",
      "parents": [
        "cf3a4a68bddd5dbca05595a29e0ba3b13d809cb4"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Fri Jan 06 14:38:57 2017 -0800"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Mon Jan 09 11:31:21 2017 -0800"
      },
      "message": "Make REQUEST_NETWORK_SCORES signature only.\n\nThere are no use cases where it\u0027s needed by a privileged app today.\n\nTest: Built and ran\nBUG: 33752149\nChange-Id: Ia63a86eca1f60644d25f037d395a08c541a06a08\nMerged-In: Iae689e878fdb60b506536c918079a4fcff527a71\n"
    },
    {
      "commit": "186f3339ab1e7542061ee263bdd2ebbd9813a489",
      "tree": "95c06ccd8c4201f16a169a5702e61dde50e3449d",
      "parents": [
        "cf3a4a68bddd5dbca05595a29e0ba3b13d809cb4"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Fri Jan 06 14:36:54 2017 -0800"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Mon Jan 09 11:03:21 2017 -0800"
      },
      "message": "Check for REQUEST_NETWORK_SCORES instead of BROADCAST_NETWORK_PRIVILEGED.\n\nTest: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest\nBUG: 33752149\nChange-Id: I3dd352c98bbc34b128ab9c2a28f81e1261ae2669\nMerged-In: I7d91fa9a4f6ef4f9170c6af98567ce443c805e74\n"
    },
    {
      "commit": "19d9c2d03c478c755eddbe7ac55d0dc778f332fd",
      "tree": "848487c77e443729c207f49c07db7e2bd4479234",
      "parents": [
        "f6f36d7d9a12fa6affd22bdadcb70ba940ac3812"
      ],
      "author": {
        "name": "Alex Naidis",
        "email": "alex.naidis@linux.com",
        "time": "Wed Jan 04 18:52:36 2017 +0100"
      },
      "committer": {
        "name": "Alex Naidis",
        "email": "alex.naidis@linux.com",
        "time": "Mon Jan 09 16:27:52 2017 +0000"
      },
      "message": "StorageManager: Improve exception handling\n\nWhen \"getPrimaryStorageSize\" provides a path\nto \"readLong\", the option that the path\ndoesn\u0027t exist is expected, since it tries\nall paths from \"INTERNAL_STORAGE_SIZE_PATHS\"\nuntil there is success.\n\nThis patch makes us catch the \"FileNotFoundException\"\nand \"NumberFormatException\" seperately.\n\nFor the above reason a \"FileNotFoundException\"\nis now treated as an information only.\nThe \"NumberFormatException\" and other exceptions\nare now treated as error since those are not\nexpected to happen.\n\nChange-Id: I5316f9c3108e36c31b27dc5df8bf8ac4d4257629\nSigned-off-by: Alex Naidis \u003calex.naidis@linux.com\u003e\n"
    },
    {
      "commit": "c0d3f0ed524bad773f6d61082a07f062d53b27a0",
      "tree": "d642ab1c472a3392762539e1c7562824f922d70b",
      "parents": [
        "bbbe5e6ccdf1e8777286facd0484001dcca45a02"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Oct 10 17:12:20 2016 -0700"
      },
      "committer": {
        "name": "Alex Naidis",
        "email": "alex.naidis@linux.com",
        "time": "Sun Jan 08 03:51:37 2017 +0100"
      },
      "message": "Dumps total size of primary storage.\n\nBUG: 32069168\nTest: manual verification\n\n(cherry picked from commit 281389ac5475e483d10a2e8aa31195b9e9875246)\n\nChange-Id: If5dee52a99c03a00dada22736c09d953dc0b66d1\n"
    },
    {
      "commit": "5d14d99e434af815ed7fff224d178d3d72c164eb",
      "tree": "0aaeb9675bae89dfbc2bae7fef8411985b61d756",
      "parents": [
        "43c98c74fe4b651810304e0862059234759437c6"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Jan 05 15:19:31 2017 -0800"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Fri Jan 06 22:03:41 2017 -0800"
      },
      "message": "Moved implicit intents into explicit intents\n\nMoved two intents SMS_EMERGENCY_CB_RECEIVED_ACTION and\nSMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION are\nnow sent to the default cell broadcast receiver only.\n\nThe default cell broadcast receiver can be changed through\nthe resource overlay. Otherwise it is default to\ncom.android.cellbroadcastreceiver\n\nbug: 33783447\nTest: manual\nChange-Id: I64db3b05400513bacf278ff9f93236495860803e\nMerged-In: I64db3b05400513bacf278ff9f93236495860803e\n"
    },
    {
      "commit": "104e0b43995bc30c30aad1d76e12fe5e58b81e53",
      "tree": "2ec3f4bdc34171ff26b08b2cc57b4f46e568c7f0",
      "parents": [
        "43c98c74fe4b651810304e0862059234759437c6"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Thu Dec 29 13:31:43 2016 -0800"
      },
      "committer": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Fri Jan 06 18:48:51 2017 +0000"
      },
      "message": "nfc: Adds NFC_PAYMENT_DEFAULT_COMPONENT to the backed up settings.\n\nBug: 32881476\nTest: Manual; backup, change settings, restore\n\nChange-Id: Ibc31b23f632c50a2c7120734fc96e7d855df062e\nSigned-off-by: Ruchi Kandoi \u003ckandoiruchi@google.com\u003e\n"
    },
    {
      "commit": "43c98c74fe4b651810304e0862059234759437c6",
      "tree": "0c733f5660af07e59333803d7e786634714764e3",
      "parents": [
        "616910fd531069bde40baeaf69600b875152c0b9",
        "b1453a95ca52a8058cc3bc4d427428b855bff1c7"
      ],
      "author": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Fri Jan 06 09:29:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 06 09:29:26 2017 +0000"
      },
      "message": "Merge \"Fix LOCAL_SDK_VERSION of 3 multidex apks\""
    },
    {
      "commit": "616910fd531069bde40baeaf69600b875152c0b9",
      "tree": "07a7f904d190aa434ed7b5154993192b6b473c87",
      "parents": [
        "9ec4fec5cac7161cb61733cee4a48215a21f8a6d",
        "7a8c36aa4e6a1b5e48f0ee5a787f10bcfece7587"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 06 01:29:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 06 01:29:47 2017 +0000"
      },
      "message": "Merge \"Prevent LocalSocket from creating an fd if fd is already there\""
    },
    {
      "commit": "9ec4fec5cac7161cb61733cee4a48215a21f8a6d",
      "tree": "660080dd412f189cd9e587836011773302220079",
      "parents": [
        "1d8995aa9c64b459aa4007f3104a7a7f3d277377",
        "c0631d0bb72781b81dabd66064ee5a5dda2d6103"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 06 00:58:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 06 00:58:17 2017 +0000"
      },
      "message": "Merge \"HwBinder: get/register checked exceptions.\""
    },
    {
      "commit": "1d8995aa9c64b459aa4007f3104a7a7f3d277377",
      "tree": "aa6f262b570a87e4be62619e81327ec76a91a9df",
      "parents": [
        "48eecdcbc41d576f831e3302a751b122b548ead3",
        "ab622718f3e2e9f06b324afe5b25b867109cc720"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 06 00:17:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 06 00:17:00 2017 +0000"
      },
      "message": "Merge \"Fix stack-buffer-overflow detected by AddressSanitizer.\""
    },
    {
      "commit": "48eecdcbc41d576f831e3302a751b122b548ead3",
      "tree": "98bece75743b123eb69cfaa29d9167df9f653f09",
      "parents": [
        "1fe99a819cba0437a520b0786625cff32702265f",
        "2cd918a63ec87dd4e13bd803626f2742a0f35fab"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 05 23:57:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 05 23:57:54 2017 +0000"
      },
      "message": "Merge \"Fix NetworkScorerAppManager#isCallerActiveScorer.\""
    },
    {
      "commit": "7a8c36aa4e6a1b5e48f0ee5a787f10bcfece7587",
      "tree": "6e2ab820e4882f7ff3ec209b107d58e3c13f369f",
      "parents": [
        "1fe99a819cba0437a520b0786625cff32702265f"
      ],
      "author": {
        "name": "Ajay Panicker",
        "email": "apanicke@google.com",
        "time": "Thu Jan 05 15:38:52 2017 -0800"
      },
      "committer": {
        "name": "Ajay Panicker",
        "email": "apanicke@google.com",
        "time": "Thu Jan 05 23:52:30 2017 +0000"
      },
      "message": "Prevent LocalSocket from creating an fd if fd is already there\n\nAny LocalSocket created with a FileDescriptor will throw IOExceptions\nwhen performing most opperations due to the fact that the LocalSocket\ntries to create an implementation but fails since there is a FileDescriptor\nalready set.\n\nBug: 34095140\nTest: Setup using tap\u0026go\nChange-Id: Ie8f50def6156c16617697d939d6c0ab570281642\n"
    },
    {
      "commit": "2cd918a63ec87dd4e13bd803626f2742a0f35fab",
      "tree": "d93c4930c54c97e84876443967467c229a4b38bd",
      "parents": [
        "a54d76a81f2d16c3e9d35fa87abc6f6d725d8bd2"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Thu Jan 05 14:28:47 2017 -0800"
      },
      "committer": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Thu Jan 05 14:28:47 2017 -0800"
      },
      "message": "Fix NetworkScorerAppManager#isCallerActiveScorer.\n\nThe current implementation checks whether the caller\u0027s uid has the\nSCORE_NETWORKS permission instead of checking the passed in callingUid. I\nremoved this check entirely because the getActiveScorer method already checks\nwhether the scorer\u0027s package has the SCORE_NETWORKS permission. There is no way\ncallingUid can equal the active scoring package\u0027s uid without also having the\nSCORE_NETWORKS permission.\n\nBug: 34107721\nTest: runtest --path core/tests/coretests/src/android/net/NetworkScorerAppManagerTest.java\nChange-Id: Ifd427792169837c84a10a76b208c76137db06ae9\n"
    },
    {
      "commit": "ab622718f3e2e9f06b324afe5b25b867109cc720",
      "tree": "65ce293a9385257640d804d049b80a1b50919367",
      "parents": [
        "c7c899bbe25bdac33dbe42aaefc37d39f28cf714"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Mon Oct 03 14:44:35 2016 -0700"
      },
      "committer": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Thu Jan 05 13:03:07 2017 -0800"
      },
      "message": "Fix stack-buffer-overflow detected by AddressSanitizer.\n\nBug: 31855186\nTest: boot SANITIZE_TARGET\u003daddress build\nChange-Id: I5c2c64564ccea28e416d66b27af9d86506d622ce\n"
    },
    {
      "commit": "c0631d0bb72781b81dabd66064ee5a5dda2d6103",
      "tree": "5db6a3f132122f5f2d7289eaff1456654179a459",
      "parents": [
        "33bd8a97b35bf841cf09be58e6446dd31b64a361"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jan 04 10:37:59 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jan 05 09:20:44 2017 -0800"
      },
      "message": "HwBinder: get/register checked exceptions.\n\nBug: 33673120\nTest: hidl_test_java\nChange-Id: Id19b61b252e756a032ae11f7b59bd8eed82edbe9\n"
    },
    {
      "commit": "33bd8a97b35bf841cf09be58e6446dd31b64a361",
      "tree": "6f4029097e3279c039468cf2d028369cf3fcd872",
      "parents": [
        "fd6f631de584448310ec1eb83dea9dfa3d532b52",
        "52280c38e293ca520180dda316f561b12e64a024"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Jan 05 09:40:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 05 09:40:57 2017 +0000"
      },
      "message": "Merge \"Callback elision for HIDL interfaces.\""
    },
    {
      "commit": "fd6f631de584448310ec1eb83dea9dfa3d532b52",
      "tree": "686714740566961619d15f154dadb4c5df6b6b15",
      "parents": [
        "3c050268f0e3a5fd31ef16b61ce7291546ca865f",
        "89cc5205b3b54b85c584583760d07af7049e6e28"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 05 09:20:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 05 09:21:00 2017 +0000"
      },
      "message": "Merge \"Synchronize access to WebViewZygote.\""
    },
    {
      "commit": "52280c38e293ca520180dda316f561b12e64a024",
      "tree": "be4e7278b68d8502bdd5a752a22cebe5df2d3d87",
      "parents": [
        "3c050268f0e3a5fd31ef16b61ce7291546ca865f"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Mon Jan 02 15:16:24 2017 +0100"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Jan 05 08:48:15 2017 +0100"
      },
      "message": "Callback elision for HIDL interfaces.\n\nTest: mma, hidl_test_java\nBug: 31380743\nChange-Id: I9a5c8ef0cc6ac3150395a867690ca82ec2bc419f\n"
    },
    {
      "commit": "2c02197bdd12378c7b2f8ee4bcaa625b2c564ede",
      "tree": "9af728759413f5417bce4080c45f609fb7b3faf5",
      "parents": [
        "7f086e162b9000fd471f3450ae53fe1261f58993"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Dec 14 08:23:40 2016 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Jan 05 12:12:50 2017 +0900"
      },
      "message": "DO NOT MERGE Captive portals: login activity probes like NetworkMonitor\n\nThis patch changes CaptivePortalLoginActivity captive portal test to be\nconsistent with NetworkMonitor by:\n - using Network.java to open the http connection.\n - adding a UserAgent property to the request header.\n\nTest: manually tested.\nBug: 32369183\n\n(cherry picked from commit cdf3ba48ccef0f9c6ca8724c1c106df0dd725ad0)\n\nChange-Id: I559eb0497475daad758ba3b3395225dcd0a27a57\n"
    },
    {
      "commit": "f6b180ff1a2bc64ca62910a24adf4b15feb932f0",
      "tree": "b0ccc3b91b821f5f467b6641fc344cb6db1daa40",
      "parents": [
        "425af45d0224e880380539882b1de425c5afe72c"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Nov 10 22:45:56 2016 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Jan 05 12:07:38 2017 +0900"
      },
      "message": "DO NOT MERGE Fix flaky IpPrefixTest.\n\nTest: IpPrefixTest passes\nBug: 32561414\n\n(cherry picked from commit 32c687040301cb3601fd110281a742159a963aa9)\n\nChange-Id: I42928da87f7f336900b3a95ebbf28563864da8d4\n"
    },
    {
      "commit": "fad8b730d24a49d8e9e972b3a24ac64cbb97a7f3",
      "tree": "eeaf065aaecccefbe6b90ffc5a3bdf95383a8abf",
      "parents": [
        "5242acbd0bb1d3a56016b45455a06bdfa4b03675"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 04 16:47:02 2017 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 04 18:07:29 2017 -0800"
      },
      "message": "Integration of the LDAC codec for A2DP source\n\nThe codec can be used if the encoding shared library is installed\non the device:\n libldacBT_enc.so\n\nTest: A2DP streaming to LDAC headsets\nBug: 30958229\n\nChange-Id: I524805fd308b5181427515617eda05625a7c4ae5\n"
    },
    {
      "commit": "feeb9b245c7aa04ba8f729048bac78efabf9e801",
      "tree": "1e4af4947e96a07b233e749ee0ef5a5369d7ecb1",
      "parents": [
        "a54d76a81f2d16c3e9d35fa87abc6f6d725d8bd2"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 04 16:10:09 2017 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 04 16:30:35 2017 -0800"
      },
      "message": "Integration of the aptX and aptX-HD codecs for A2DP source\n\nEach of the codecs can be used if the corresponding encoding\nshared library is installed on the device:\n - aptX: libaptX.so\n - aptX-HD: libaptXHD.so\n\nTest: A2DP streaming to aptX and aptX-HD headsets\nBug: 30958229\nChange-Id: I24faddc8cd88ae3e1370922c633f30e13124a867\n"
    },
    {
      "commit": "a54d76a81f2d16c3e9d35fa87abc6f6d725d8bd2",
      "tree": "ba094767667724a3275092383ab039624f1d12e3",
      "parents": [
        "5b4aec1dc6b9a6275a1617c97dbac3f11b3cbeb9",
        "97e711139dfc4429e8fb67e746c7bf885e41bb42"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 23:04:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 23:04:47 2017 +0000"
      },
      "message": "Merge \"Defining a new REQUEST_NETWORK_SCORES permission.\""
    },
    {
      "commit": "34d46ca94ce65815f577ef73cdc56e0f0142235a",
      "tree": "ef4d8d00ab63fa64c4c5e52f7f5c0906a9e0898b",
      "parents": [
        "944b017031ebd9226667b14722115ee1c56c0488",
        "c02fd4ea78684e96028e089afb9a4549fc47aee7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 21:35:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 21:35:04 2017 +0000"
      },
      "message": "Merge \"Use the new BIND_NETWORK_RECOMMENDATION_SERVICE.\""
    },
    {
      "commit": "97e711139dfc4429e8fb67e746c7bf885e41bb42",
      "tree": "fd877f58847c616cef582291f985642caef263c9",
      "parents": [
        "944b017031ebd9226667b14722115ee1c56c0488"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Wed Dec 21 14:16:19 2016 -0800"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Wed Jan 04 13:30:07 2017 -0800"
      },
      "message": "Defining a new REQUEST_NETWORK_SCORES permission.\n\nThis is intended to be a drop-in replacement for the existing\nBROADCAST_NETWORK_PRIVILEGED with a more appropriate name.\n\nTest: Built, ran.\nBUG: 33752149\nChange-Id: Iebe9d1c12f159bd91953ef094d9866eba9ff925a\nMerged-In: I12bdba9694fdf2a2e39990736265919edafd865e\n"
    },
    {
      "commit": "c02fd4ea78684e96028e089afb9a4549fc47aee7",
      "tree": "9c90247995774b31be45cb0ef6d3d9a1b0d14afa",
      "parents": [
        "c77074300b023b845e0683a88d3c2dad5092dc84"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Thu Dec 29 10:18:48 2016 -0800"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Wed Jan 04 11:46:06 2017 -0800"
      },
      "message": "Use the new BIND_NETWORK_RECOMMENDATION_SERVICE.\n\nDeclare that the system uses the new\nBIND_NETWORK_RECOMMENDATION_SERVICE permission.\n\nTest: Built \u0026 ran\nBUG: 33897544\nChange-Id: I43424642a631f58da3a065f8221e351180f4f221\nMerged-In: I41c7550adf0d1f81ed9a12068ba569e6a57f3b42\n"
    },
    {
      "commit": "944b017031ebd9226667b14722115ee1c56c0488",
      "tree": "c2268c6b55cbf13ef611162d5cdf184070cd24e8",
      "parents": [
        "c77074300b023b845e0683a88d3c2dad5092dc84",
        "010e8b0dc84d4ff92912f29f3877a5b09b022caf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 19:42:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 19:42:17 2017 +0000"
      },
      "message": "Merge \"Expose RecommendationRequest.Builder as SystemApi.\""
    },
    {
      "commit": "010e8b0dc84d4ff92912f29f3877a5b09b022caf",
      "tree": "31d8819c8a123efa410de1ab24b762d96676596a",
      "parents": [
        "f8720b95bedeef8dd7397d3926f19ce7b9eaa7f2"
      ],
      "author": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Wed Jan 04 00:44:22 2017 -0800"
      },
      "committer": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Wed Jan 04 10:15:52 2017 -0800"
      },
      "message": "Expose RecommendationRequest.Builder as SystemApi.\n\nIn order to test our recommender, we need to be able to create\nnetwork recommendation requests.\n\nTest: make update-api\nChange-Id: I68df0d3e684bcdb90709a34478d2aa669ee23547\nMerged-In: I68df0d3e684bcdb90709a34478d2aa669ee23547\n"
    },
    {
      "commit": "871beedc6d51db60e8d3f73752651ad5da98d0b4",
      "tree": "4af288eae8b175a0c787b12bea64ca7e872e17e3",
      "parents": [
        "75ba827a4ee54f9900f47f586d1ee6ecb8a811a4",
        "b9a61979cc92e0c976802195f021b444ce994e4c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 15:24:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 15:24:30 2017 +0000"
      },
      "message": "Merge \"New permission - BIND_NETWORK_RECOMMENDATION_SERVICE.\""
    },
    {
      "commit": "75ba827a4ee54f9900f47f586d1ee6ecb8a811a4",
      "tree": "1fe19d23af831ed56e99f75cb33cb8d94d704a06",
      "parents": [
        "f33a71d017cbefb18408cd77ec8688121639151a",
        "b08c7bc0bdc48ae95be2697ca27ea89a9dd92c3e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 12:26:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 12:26:49 2017 +0000"
      },
      "message": "Merge \"Set isConnected, isBound, implCreated on server-side LocalSockets\""
    },
    {
      "commit": "b08c7bc0bdc48ae95be2697ca27ea89a9dd92c3e",
      "tree": "150b279b43f2d8e4c3731face92e5cfd48874ddb",
      "parents": [
        "80ff5ecd4a4076e992c4fca93648b48f16f6cd03"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jan 04 10:07:25 2017 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jan 04 10:33:18 2017 +0000"
      },
      "message": "Set isConnected, isBound, implCreated on server-side LocalSockets\n\nPreviously LocalServerSocket.accept() would return a LocalSocket\ninstance with isConnected, isBound and implCreated set to false.\n[implCreated determines whether impl.create() needs to called].\n\nA socket created via accept() in this way is implicitly bound\nand connected. impl.create() does not need to be called because\nimpl.accept(LocalSocketImpl s) is called instead and has the same\neffect (s.fd and s.mFdCreatedInternally set correctly).\n\nThis change modifies the behavior so that the flags are now all\nset to true in this case and isBound() and isConnected() will\nnow return the correct answer.\n\nAttempts to call bind() and connect() will still throw\nIOException as before, but with a different exception message.\n\nCorrectly setting implCreated in LocalSocket means that\nLocalSocketImpl.create() will no longer be called for accept()\ncreated sockets and no longer needs to treat the \"fd !\u003d null\"\ncase as a no-op: we can now assert that there must be no fd set\nwhen create() is called as we will no longer call it with sockets\ncreated using accept().\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d35942\nTest: Device boot\nTest: vogar --mode app_process cts/tests/tests/net/src/android/net/cts/LocalServerSocketTest.java\nTest: vogar --mode app_process cts/tests/tests/net/src/android/net/cts/LocalSocketTest.java\nChange-Id: I3ac55439412e84501ae7c5ae6c9976e03b2d6fc5\n"
    },
    {
      "commit": "f33a71d017cbefb18408cd77ec8688121639151a",
      "tree": "87a89432c91653d6b8b7f328401cc91bd9c73581",
      "parents": [
        "6c5cc261f804fb6bf549b6ef65d53cfef60b6244",
        "dd87cd3bb611b7449edfa17d59d9b962784750ee"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Wed Jan 04 10:32:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 10:32:41 2017 +0000"
      },
      "message": "Merge \"HID Device role API fixes\""
    },
    {
      "commit": "6c5cc261f804fb6bf549b6ef65d53cfef60b6244",
      "tree": "b165cfa3df00aaa757ce4049010031f3cb2d2d37",
      "parents": [
        "63270f2b96e1d7347d8e25cbfe954f801f30f360",
        "e62b1f32f3ab72508daeda63c9be49743e8f8b7e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 04:58:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 04:58:38 2017 +0000"
      },
      "message": "Merge \"Add checked exceptions to HwBinder transact.\""
    },
    {
      "commit": "44a4ef0aa93ebb2912f36d65af42ffbb1bcdbc0f",
      "tree": "2283988818629000f51e24f76189c12868cff37e",
      "parents": [
        "f8720b95bedeef8dd7397d3926f19ce7b9eaa7f2"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Dec 21 12:05:51 2016 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Tue Jan 03 17:52:52 2017 -0800"
      },
      "message": "Add a mechanism for configuring the A2DP Source codecs\n\n* Added a new class BluetoothCodecConfig that contains codec-related\n  configuration or capabilities: codec type, priority, sample rate,\n  bits per sample, channel mode, and codec specific fields.\n\n* Extended the Bluetooth A2DP AIDL interface to get/set the current\n  codec configuration\n\n* Added new call handleBluetoothA2dpDeviceConfigChange() to the Media\n  Framework that is called when there are changes in the\n  Bluetooth A2DP device configuration - e.g., the A2DP codec is changed.\n\nTest: A2DP streaming to headsets, TestPlans/71390\nBug: 30958229\nChange-Id: I9a82716cbc2a5efbe77352a031ac80c88f6a2459\n"
    },
    {
      "commit": "e62b1f32f3ab72508daeda63c9be49743e8f8b7e",
      "tree": "921778fbb15d223e12945839d133d14974298be5",
      "parents": [
        "f8720b95bedeef8dd7397d3926f19ce7b9eaa7f2"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Dec 20 15:55:48 2016 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jan 04 01:13:16 2017 +0000"
      },
      "message": "Add checked exceptions to HwBinder transact.\n\nBug: 33673120\nTest: hidl_test_java\nMerged-In: I7b62eb6b066fc24c44ef7e46aaa2a3208c053d11\n\nChange-Id: I7b62eb6b066fc24c44ef7e46aaa2a3208c053d11\n"
    },
    {
      "commit": "89cc5205b3b54b85c584583760d07af7049e6e28",
      "tree": "668f5415a9d10a444bf6a4806c1ef5919880af23",
      "parents": [
        "5fdc86fb27d67b0b0b79a299378de70c1bb95d1e"
      ],
      "author": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Fri Dec 16 12:06:44 2016 -0500"
      },
      "committer": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Tue Jan 03 19:31:44 2017 -0500"
      },
      "message": "Synchronize access to WebViewZygote.\n\nThe onWebViewProviderChanged callback can be entered from a binder thread,\nrather than the system_server main thread. This could lead to races when\nmanaging the webview_zygote.\n\nTest: m\nTest: Turn on Multiprocess WebView, install a new WebView provider, then\n      instantiate a new WebView. The new WebView should load (note that\n      this is racy so may require multiple attempts to test).\n\nBug: 21643067\nChange-Id: I28512906c38e073d4e3d39a2f2b30dcbb50c85ff\n"
    },
    {
      "commit": "dd87cd3bb611b7449edfa17d59d9b962784750ee",
      "tree": "299b397a5873e9c20560b5718583bdd534751d62",
      "parents": [
        "f8720b95bedeef8dd7397d3926f19ce7b9eaa7f2"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Fri Dec 30 14:43:29 2016 +0000"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Tue Jan 03 22:36:30 2017 +0000"
      },
      "message": "HID Device role API fixes\n\nThis change makes HIDD API more like the other ones, i.e.\nsupporting multiple devices, and implements missing methods.\n\nWhile the underlying implementation may still only support a\nsingle device at a time, the \"device\" parameter can still be\nuseful for checking if the application is trying to send the\ndata to a correct device.\n\nTest: make\nChange-Id: I55fe04c0762a96fcddd6c6678e790361d648111a\n"
    },
    {
      "commit": "b9a61979cc92e0c976802195f021b444ce994e4c",
      "tree": "93161271ba881dc664a672293b77494e0bd8d87b",
      "parents": [
        "f8720b95bedeef8dd7397d3926f19ce7b9eaa7f2"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Wed Dec 28 10:32:46 2016 -0800"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Tue Jan 03 14:19:51 2017 -0800"
      },
      "message": "New permission - BIND_NETWORK_RECOMMENDATION_SERVICE.\n\nUsed to protect exported network recommendation services.\n\nTest: Built \u0026 ran\nBUG:33897544\nChange-Id: Icfc566275a8d832449f6358e576784199ab0f7b2\nMerged-In: I4f163fb965be6a25201bc3ba5e0032e7652c8f20\n"
    },
    {
      "commit": "5eb3eb58acf18dd624c477d5b11b45a23aea6261",
      "tree": "c0f0a57a6a9235d41815f0983d1b7896065294b0",
      "parents": [
        "fce04dc0be8a391d1bd906d9066db7e7ea9bfb22"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Dec 13 08:44:51 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 03 10:22:39 2017 -0700"
      },
      "message": "Offer to measure disk stats using quotas.\n\nNow we\u0027re getting somewhere!  This CL starts measuring disk usage\nusing quotactl(), which is almost instant and has much lower impact\non flash memory lifetime.\n\nWe now grant the per-app cache GID to every launched app, and the\nContextImpl logic that creates cache directories matches the logic\ndown in installd.\n\nTest: builds, boots, quota stats match manual stats\nBug: 27948817\nChange-Id: Ie269a2958ce0e1c17cb74dbfecc791a5c12922cf\n"
    },
    {
      "commit": "b1453a95ca52a8058cc3bc4d427428b855bff1c7",
      "tree": "8a37d9bf3686be8610672b6e562ca806fe9df00b",
      "parents": [
        "9156ccdbb481a09becab4157a2eb5e7535f62cc0"
      ],
      "author": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Mon Jan 02 21:53:04 2017 +0100"
      },
      "committer": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Mon Jan 02 21:53:04 2017 +0100"
      },
      "message": "Fix LOCAL_SDK_VERSION of 3 multidex apks\n\nTest: Install the apks on KitKat device\nChange-Id: I2e7d7cd4406cdc59bc81cff280c96bb616af012c\n"
    },
    {
      "commit": "9156ccdbb481a09becab4157a2eb5e7535f62cc0",
      "tree": "67f6b0538143bd786000dc8f2466024b667651cd",
      "parents": [
        "9cc7ebe7d90c8da1340c8115023bd38451e58f7e",
        "b0e5079b5dc37641741c3ea370376261aa06667f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jan 01 22:28:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Jan 01 22:28:37 2017 +0000"
      },
      "message": "Merge \"LocalSocketImpl.cpp: Set O_CLOEXEC on received FDs\""
    },
    {
      "commit": "9cc7ebe7d90c8da1340c8115023bd38451e58f7e",
      "tree": "db7dd93162728872fd057ba8e993451fdfb71e6a",
      "parents": [
        "8a74d0440cb9ad8b0f34312a340fd93e0be5915e",
        "5980456040217f330289e3fa59df4efaafb1c6c5"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Dec 29 19:32:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 29 19:32:36 2016 +0000"
      },
      "message": "Merge \"Bluetooth: track enabling in dumpsys\""
    },
    {
      "commit": "5980456040217f330289e3fa59df4efaafb1c6c5",
      "tree": "dbfb24509f2042e3f81310e255a46aebe793288e",
      "parents": [
        "895e2d7a405e9224515b6564ab4700aad3b0abf1"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Wed Dec 28 14:13:21 2016 -0800"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Thu Dec 29 19:22:14 2016 +0000"
      },
      "message": "Bluetooth: track enabling in dumpsys\n\nMove basic state dumpsys to here from AdapterService.\n\nTrack which apps are enabling and disabling Bluetooth, including BLE\napps, and show the apps in the dumpsys logs.\n\nTest: start phone and enable/disable, take bug report\nBug: 33692282\nChange-Id: I6ea62ebdcfd7873d0be1bb5c5c520bbce3737a40\n"
    },
    {
      "commit": "0afe190af52d83c5e52fa994e53c48e33e8e3bf4",
      "tree": "9160d8c5818a628916337193a9cc377506be9227",
      "parents": [
        "e88fd4b5940a855e961cffa36e93f844a44cd2d4"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Fri Dec 23 11:52:21 2016 +0000"
      },
      "committer": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Thu Dec 29 14:30:40 2016 +0000"
      },
      "message": "Rename the Bluetooth profile classes for HID Device role.\n\nWe already have BluetoothInputDevice class, so adding something\ncalled BluetoothHidDevice seems confusing. On the other hand,\nthe new class is designed to connect to HID Host devices, so\nnaming it BluetoothInputHost makes sense and goes in line with\nthe existing BluetoothInputDevice.\n\nThe same goes for the new constant HID_DEVICE that is just as\nconfusing to have together with the INPUT_DEVICE one.\n\nThis CL also renames the \"connection state changed\" broadcast\n(for the same reasons), declares it as an SDK constant, and also\nadds some javadoc to it.\n\nNote that BluetoothHidDeviceApp* classes remained unchanged, as\nthose correspond to the app that implements the Device (and\nconnects to the Host).\n\nTest: make\nChange-Id: I5075ca5b97db3c1dd403c2e9660eecc7380cffe2\n"
    },
    {
      "commit": "e88fd4b5940a855e961cffa36e93f844a44cd2d4",
      "tree": "dd494f6a65e8a1edd003041ffde2ec6301ea5426",
      "parents": [
        "895e2d7a405e9224515b6564ab4700aad3b0abf1"
      ],
      "author": {
        "name": "Hemant Gupta",
        "email": "hemantg@codeaurora.org",
        "time": "Fri Apr 18 11:22:45 2014 +0530"
      },
      "committer": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Thu Dec 29 14:29:53 2016 +0000"
      },
      "message": "Bluetooth: Add support for HID Device Role\n\nThis patch adds the HID Device Role support in Bluetooth framework.\nAlso AIDL and callback related files for HID Device role are added\nto provide interface for third party applications to communicate with\nHID Device Service.\n\nChange-Id: Id03a362b7bcfa2e76056fa0197eaac12ce49b5a2\n"
    },
    {
      "commit": "727f7bf84f28765608548a6afe8f54c43a4ccf64",
      "tree": "29aa8f28bcc12c26e359103f974a71d7df60e223",
      "parents": [
        "fba752e64c3dc4882789042e7fa3aec1893fce95"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Tue Dec 27 14:33:09 2016 +0100"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Dec 29 04:22:30 2016 +0000"
      },
      "message": "Add (un)linkToDeath support to HwBinder.\n\nThis is mostly copied over from binder\u0027s existing\ndeath recipient support. The implementation keeps\na list of registered recipients, both for being\nable to map a native recipient back to the corresponding\nJava recipient, as well as being able to unregister\nrecipients correctly.\n\nTest: mma, hidl_test_java\nBug: 31632518\nChange-Id: Id313fd248be6925056c4ade8298fe5fb04e007cc\n"
    },
    {
      "commit": "835da289fad97002fbc419082b8ac927394d9c30",
      "tree": "225bd3e48bf932d336cbc40788a915b79ed53e18",
      "parents": [
        "4ce798f45fa0d3cd35a420cd5c94f1f28f646283"
      ],
      "author": {
        "name": "Ashutosh Joshi",
        "email": "ashutoshj@google.com",
        "time": "Tue Dec 27 09:32:49 2016 -0800"
      },
      "committer": {
        "name": "Ashutosh Joshi",
        "email": "ashutoshj@google.com",
        "time": "Wed Dec 28 13:57:27 2016 -0800"
      },
      "message": "Change the name of the contexthub service.\n\nChange the name used by the contexthub service. Specifically, this\nchange switches from using the \"ContexthubService.CONTEXTHUB_SERVICE\"\nconstant to using the \"Context.CONTEXTHUB_SERVICE\" constant- which is in\nline with the other Android services.\n\nMerged-In: I18ae73ed0fda2f938e3233670dc52b5692d321ae\nTest: GTS tests pass.\n\nChange-Id: I18ae73ed0fda2f938e3233670dc52b5692d321ae\n"
    },
    {
      "commit": "380697ca7999ba22996282674ab180d16cc1b409",
      "tree": "c0fe5bb1e6633b5b12994fd17b5cf778be4d551e",
      "parents": [
        "933ea68aca684719f482721f301b014df2a14714",
        "520d12c53cb456f8722a2e8e3bc6d6485f5647e1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 22 20:41:01 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 22 20:41:01 2016 +0000"
      },
      "message": "Merge \"HwBinder: fail gracefully for device w/o hwbinder\""
    },
    {
      "commit": "425af45d0224e880380539882b1de425c5afe72c",
      "tree": "5d04c2c0ca758de8da3b35339ecbee8bc6a34082",
      "parents": [
        "4a04c07df403376f325f168bbc1031307193a325",
        "0d79bdef27c75d06797856d3289194a5327f90e8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 22 00:03:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 22 00:03:57 2016 +0000"
      },
      "message": "Merge \"Cherrypick: Define the calculateRankingScore method and Key.\""
    },
    {
      "commit": "0d79bdef27c75d06797856d3289194a5327f90e8",
      "tree": "ac687531296f2cba4cab52f5c9503dec2ea76e30",
      "parents": [
        "f23ea2ca62e2e652004f538e55282c140c3813a4"
      ],
      "author": {
        "name": "Sundeep Ghuman",
        "email": "sghuman@google.com",
        "time": "Wed Dec 07 13:32:33 2016 -0800"
      },
      "committer": {
        "name": "Sundeep Ghuman",
        "email": "sghuman@google.com",
        "time": "Wed Dec 21 13:57:24 2016 -0800"
      },
      "message": "Cherrypick: Define the calculateRankingScore method and Key.\n\nDefine the key to be used to store the rankingScoreOffset inside the\nScoredNetwork bundle. Implement a platform API method to calculate the\nranking score for a given rssi.\n\nOCL: ag/1688711\n\nBug: 33049302\nTest: Unit tests\nChange-Id: Ia3fea2197d7c211a2313fced8713d79d8d5f4f6e\nMerged-In: Ia3fea2197d7c211a2313fced8713d79d8d5f4f6e\nTopic: ScoredNetworkRankingScore\n"
    },
    {
      "commit": "febd982cdd61ecad34c4d463fb63d2a4836d26ea",
      "tree": "3427ae288020ea79fd842582b3dc0e404dac3108",
      "parents": [
        "a93e57f1acbb4bb15a2516018973457bfff8d8d5",
        "d18ffd8223282285ab5e6a576976c115e50bd509"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 21 21:11:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 21 21:11:20 2016 +0000"
      },
      "message": "Merge \"Avoid Calendar\u0027s unexpect change in snapToCycleDay()\""
    },
    {
      "commit": "3d18c621cbff73fb6fe4bf68ae55c17c8545d3e9",
      "tree": "759cf48d47792165b416b8bf8de3183d2433144f",
      "parents": [
        "48d5d6cda821282a77926795237ce895cc1dfde7"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Fri Dec 09 17:11:50 2016 -0800"
      },
      "committer": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Wed Dec 21 11:46:22 2016 -0800"
      },
      "message": "Expose ScanResult#untrusted as a @SystemApi.\n\n- Expose ScanResult#untrusted to inform NetworkRecommendationProviders\n  that a ScanResult does not correspond to a saved network.\n- Add static construction methods and assertions to RecommendationResult\n\nTest: runtest frameworks-services\n\nBug: 33490132\nChange-Id: If7006040f63843c1c468c9d95c5c017383c5c5dd\nMerged-In: If7006040f63843c1c468c9d95c5c017383c5c5dd\n"
    },
    {
      "commit": "d18ffd8223282285ab5e6a576976c115e50bd509",
      "tree": "d08c411006d1499db7464d62cdd6062728ebb8ea",
      "parents": [
        "f23ea2ca62e2e652004f538e55282c140c3813a4"
      ],
      "author": {
        "name": "Shunta Sato",
        "email": "Shunta.Sato@sonymobile.com",
        "time": "Tue Oct 25 17:42:58 2016 +0900"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 21 12:44:30 2016 -0700"
      },
      "message": "Avoid Calendar\u0027s unexpect change in snapToCycleDay()\n\nSymptom:\nCalendar object\u0027s certain field is unexpectedly changed after\nusing Calendar.add() method.\n\nDetail and sample:\nFollowing patch causes this issue.\n- Switch network cycle calculation to use Calendar.\n  https://android.googlesource.com/platform/frameworks/base/+/f2bead5\n\nCall of Calendar.add() method might make a smaller field value\ninvariant. The smaller field means such a field of\nCalendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND and so on\nif Calendar.MONTH field is focused.\nAccording to above, sometimes correct Calendar value won\u0027t be\nacquired by original code.\nTo avoid unexpected change, it requires initialization toward\neach smaller field after Calendar.add() call.\n\nSolutions:\nCalendar.DAY_OF_MONTH, Calendar.HOUR_OF_DAY, Calendar.MINUTE,\nand Calendar.SECOND fields is set to 0 after added value to\nCalendar.MONTH field.\n\nBug: 32724903\nAuthor: Shigeki Yokomichi \u003cshigeki.x.yokomichi@sonymobile.com\u003e\nChange-Id: I7af6391653be21786b662b2f8eaad10c413733c1\n"
    },
    {
      "commit": "520d12c53cb456f8722a2e8e3bc6d6485f5647e1",
      "tree": "6fe4c7c242df832ffa3ce3190685e7b55ff1e468",
      "parents": [
        "48d5d6cda821282a77926795237ce895cc1dfde7"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Dec 15 15:50:17 2016 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Dec 21 11:02:49 2016 -0800"
      },
      "message": "HwBinder: fail gracefully for device w/o hwbinder\n\nTest: compiles\nChange-Id: I03ffd0d7480c5771634977e30ccf02b39f69f8ba\n"
    },
    {
      "commit": "f23ea2ca62e2e652004f538e55282c140c3813a4",
      "tree": "8b7fa8a3e15777230f1612e4eacdf5947fa31145",
      "parents": [
        "d9ce420d9a52a4a6517eae31028dfd4e85255e9b",
        "9abb501075b1309ff6d238e42fc8cc87ce5c3bdf"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Dec 21 09:57:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 21 09:57:41 2016 +0000"
      },
      "message": "Merge \"Report non-primary dex files loads to PM\""
    },
    {
      "commit": "d9ce420d9a52a4a6517eae31028dfd4e85255e9b",
      "tree": "92a9a46a521d8c164711b9ba45b673dde2cbfa03",
      "parents": [
        "c1940ef392bb7dff1180abc25cfe1356b236cbb5",
        "20375fe124b4bc54a2380396fd798f93fcdb3135"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 21 01:47:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 21 01:47:56 2016 +0000"
      },
      "message": "Merge \"Fix incorrect FIFO cgroup assignment.\""
    },
    {
      "commit": "70b1c6ab40a986a638118c76105ff6ae8009a641",
      "tree": "8a2f7e93ac73c2c7f10270b7eda6ffaf384248b3",
      "parents": [
        "f456ddf3fd38868c58638fd70060c48f9ab66879"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Tue Dec 20 15:28:34 2016 -0800"
      },
      "committer": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Tue Dec 20 15:28:34 2016 -0800"
      },
      "message": "Change fillColor for Wi-Fi badges to #FFFFFF.\n\nBug: 33778046\nTest: make\nChange-Id: I0cfc2c6d682a2f13e665563fc1c54fa19324af53\n"
    },
    {
      "commit": "20375fe124b4bc54a2380396fd798f93fcdb3135",
      "tree": "1ae136a4be116a60d3dcfae4bc6823c1c95ea9cd",
      "parents": [
        "edb8982c31aa19d7c15a23962784b3fa0ca92e46"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Tue Dec 20 11:47:24 2016 -0800"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Tue Dec 20 14:04:44 2016 -0800"
      },
      "message": "Fix incorrect FIFO cgroup assignment.\n\nbug 33745094\nTest: builds\n\nChange-Id: I46eefc8ea6f17ca3795f4743692ddfea36d5db0f\n"
    },
    {
      "commit": "edb8982c31aa19d7c15a23962784b3fa0ca92e46",
      "tree": "3effe0559c2f9d655652120fc74cc3e0d4f9442b",
      "parents": [
        "f420b91e26e8508947a1895c06c002225525c334",
        "e2e395e146fe1610aad2c3335a34b79d12a7f03c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 20 20:13:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 20 20:13:59 2016 +0000"
      },
      "message": "Merge \"Add Wi-Fi quality badge icons.\""
    },
    {
      "commit": "e2e395e146fe1610aad2c3335a34b79d12a7f03c",
      "tree": "454e68410a1cab1c0333b6085f11118b5ee1d8ec",
      "parents": [
        "9ab94e15c756d88fa9e771896e1d5fd55f24e206"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Fri Dec 16 20:37:48 2016 -0800"
      },
      "committer": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Tue Dec 20 10:42:25 2016 -0800"
      },
      "message": "Add Wi-Fi quality badge icons.\n\nTest: make\nBug: 33705924\nChange-Id: I6ae9fab369151e6c2d3769d7ba4a20103368f0a0\n"
    },
    {
      "commit": "f420b91e26e8508947a1895c06c002225525c334",
      "tree": "543b062021f910a8974f6bae299d0fcb14ec3e61",
      "parents": [
        "1e814b3928ed834f3a6790f15d5bf4c5b4d096b0",
        "9694657967c7fb62a74c187d01e1aaed1f2db7ac"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Tue Dec 20 18:33:28 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 20 18:33:29 2016 +0000"
      },
      "message": "Merge \"Permit 65535 byte ZIP comments and empty Central Directory\""
    },
    {
      "commit": "b0e5079b5dc37641741c3ea370376261aa06667f",
      "tree": "a23145d6d9ee622d17e7b4664cf9efdc4a6328ca",
      "parents": [
        "1e814b3928ed834f3a6790f15d5bf4c5b4d096b0"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Dec 20 07:13:25 2016 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Dec 20 07:14:49 2016 -0800"
      },
      "message": "LocalSocketImpl.cpp: Set O_CLOEXEC on received FDs\n\nSet O_CLOEXEC on received file descriptors. This prevents FD leakage\nacross an exec boundary. Please see the description of O_CLOEXEC in \"man\n2 open\" for the reasons why this is useful.\n\nTest: Device boots and no observed errors.\nChange-Id: Id0d9c9d71efb25dacb26d5d98d93fc3b72c1b6ae\n"
    },
    {
      "commit": "36d4c48496cc35c5d4f07e1793cedf4249d85826",
      "tree": "49ac9f252922912940754647181b08f7ff78390c",
      "parents": [
        "b8418ac89aa9d8e904b848d92c1729b7c7d90a16"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Fri Dec 09 13:11:51 2016 -0800"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Mon Dec 19 17:53:47 2016 -0800"
      },
      "message": "Implement the request and recommend calls.\n\nImplemented requestRecommendation() and requestScores() to call\nthrough to the bound network recommendation provider if available.\n\nBUG: 33593157\nBUG: 33668692\nTest: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest\nChange-Id: I055251fa94d93d4ea4e5001c4ec6c1dfb626d1b2\nMerged-In: I8e2ed73dc6876deb1a8bd47bcaeaca8db68f3a44\n"
    },
    {
      "commit": "b8418ac89aa9d8e904b848d92c1729b7c7d90a16",
      "tree": "4a76a283c9280a250b8a8c215a59ed6fa28d069e",
      "parents": [
        "5fdc86fb27d67b0b0b79a299378de70c1bb95d1e"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Tue Dec 06 07:42:38 2016 -0800"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Mon Dec 19 17:53:47 2016 -0800"
      },
      "message": "Implement the discovery of a network recommendation provider.\n\nUpdated the NetworkScorerAppManager to examine the list of configured\nnetwork recommendation providers and to select the first valid\nprovider.\n\nAs part of this update the old logic of looking for a valid network\nscorer has been removed. Scorers/recommendation providers are only\nselected from the configured list now. The setActiveScorer() method\nhas been deprecated as a result.\n\nThe NetworkScoreService has been updated to monitor the list of\npotential recommendation providers and to reevaluate the binding\nwhenever they change. It also monitors the new setting for\nNETWORK_RECOMMENDATIONS_ENABLED to connect or disconnect from the\nprovider as needed.\n\nTest: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest\nBUG: 33158362\nChange-Id: I450981261aa5355c1c91ec2e3a0a3b58cc65316b\nMerged-In: I42aeb5223da794f71f7e58cb1bdf18817200cbf2\n"
    },
    {
      "commit": "5fdc86fb27d67b0b0b79a299378de70c1bb95d1e",
      "tree": "0b081b53d64bee0108b467894af72a37ffa381a6",
      "parents": [
        "b60d7b334c04fc66ca0405759252d9607c650558",
        "ab60cb6a6d94db74f7ba2bd3d86ec565a2f98b95"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 19 21:57:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 19 21:57:05 2016 +0000"
      },
      "message": "Merge \"Fix ScanResult array parceling.\""
    },
    {
      "commit": "9694657967c7fb62a74c187d01e1aaed1f2db7ac",
      "tree": "6d21d3c1d279fb008086274f49265c50743c9220",
      "parents": [
        "9ab94e15c756d88fa9e771896e1d5fd55f24e206"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Mon Dec 19 10:52:52 2016 -0800"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Mon Dec 19 12:53:32 2016 -0800"
      },
      "message": "Permit 65535 byte ZIP comments and empty Central Directory\n\nThis fixes two cosmetic issues in APK Signature Scheme v2 signature\nverifier in Android Package Manager:\n* Accept APKs with ZIP End of Central Directory comment of length\n  65535. Previously, only comments of length 65534 were accepted due\n  to a off by one bug.\n* Accept APKs with empty ZIP Central Directory.\n\nThese issues should not affect actual APKs because they cannot have an\nempty ZIP Central Directory (they must contain at least the\nAndroidManifest.xml entry) and shouldn\u0027t contain any comments in ZIP\nEnd of Central Directory.\n\nTest: cts-tradefed run singleCommand cts --skip-device-info --skip-preconditions --skip-connectivity-check --abi arm64-v8a --module CtsAppSecurityHostTestCases -t android.appsecurity.cts.PkgInstallSignatureVerificationTest\nChange-Id: I461c43472fa97c04e7579d129a6053e44233adb7\n"
    },
    {
      "commit": "68685240f555103c981e039e18347fb158a27267",
      "tree": "b3cfc4db136df57f3cc26521244ac7416f766a95",
      "parents": [
        "9ab94e15c756d88fa9e771896e1d5fd55f24e206"
      ],
      "author": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Thu Dec 15 14:46:52 2016 -0800"
      },
      "committer": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Mon Dec 19 11:25:45 2016 -0800"
      },
      "message": "Remove \"final\" from ResultCallback.\n\nRemoving final makes providers easier to test using mocks.\n\nTest: Build system image.\n\nChange-Id: Iaaa30f73226e1d0cb0e9e68faa349e86986be72d\nMerged-In: Iaaa30f73226e1d0cb0e9e68faa349e86986be72d\n"
    },
    {
      "commit": "ab60cb6a6d94db74f7ba2bd3d86ec565a2f98b95",
      "tree": "f24cc4ea548a2b6ffa14612b57757cfbc0d1ce77",
      "parents": [
        "9ab94e15c756d88fa9e771896e1d5fd55f24e206"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Fri Dec 16 17:48:13 2016 -0800"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Mon Dec 19 09:43:34 2016 -0800"
      },
      "message": "Fix ScanResult array parceling.\n\nreadParcelableArray() wasn\u0027t working as expected so I just parceled\nthe array myself.\n\nTest: adb shell am instrument -e class android.net.RecommendationRequestTest  -w com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\nChange-Id: I83939d17769930b707b8bc579542c74a05e31d19\nMerged-In: I47bc31adbedea817feaa5953cb6ee48506f9c6d6\n"
    },
    {
      "commit": "9abb501075b1309ff6d238e42fc8cc87ce5c3bdf",
      "tree": "2ca809c9711a503ba7bc6044f2e5c328e22e6b2d",
      "parents": [
        "9ab94e15c756d88fa9e771896e1d5fd55f24e206"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 23 19:50:58 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Dec 19 17:28:46 2016 +0000"
      },
      "message": "Report non-primary dex files loads to PM\n\nScaffold for the reporting of non-primary dex files loads to the package\nmanager.\n\nThis will enable:\n1) monitoring and compilation of secondary dex file\n2) better way to track foreign dex file usage (used to determined the\ncompilation filter of apks).\n\nTest: device boots\nBug: 32871170\n\n(cherry picked from commit 8d2a51f1b8fc35a1d4fda6b6cdfdf2754f1e1211)\n\nChange-Id: I61e65aee471798fbc7a18938647051274c3a058a\n"
    },
    {
      "commit": "d995c94426061ee5af7c90d58af8f600dfab4dd9",
      "tree": "9a6451cc1c082105dd9ea82db0eb2c6436d1924a",
      "parents": [
        "f8882ae8345b5c21b6be0347496d0d6bc7251853",
        "1e52ce48a6f2d98485d18585eb3452cab050ffb7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 16 22:20:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 16 22:20:25 2016 +0000"
      },
      "message": "Merge changes Ic85892b4,I627e47c6\n\n* changes:\n  Make sure Zygote is running at process priority 0 after VM has started.\n  Revert \"Add boost to increase the load on newly-forked zygote processes.\"\n"
    },
    {
      "commit": "f8882ae8345b5c21b6be0347496d0d6bc7251853",
      "tree": "f48f48f19fd19939196172ff232f12a5635e4d58",
      "parents": [
        "0b4df21aacf5ae24ae75ca547f5d35d139baf53e",
        "898fd69451cfaf3ffcafa999497019c90283c39e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 16 21:25:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 16 21:25:35 2016 +0000"
      },
      "message": "Merge \"Add the webview zygote socket to the zygote whitelist.\""
    },
    {
      "commit": "0b4df21aacf5ae24ae75ca547f5d35d139baf53e",
      "tree": "974c6091620f12e75d1cc536c2779e69bb151a3a",
      "parents": [
        "733d007279018036b36ddd1df66d5db0dd10b24c",
        "56346808a192a3e9000e94c4b5436ab7078d1fd2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 16 20:23:47 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 16 20:23:48 2016 +0000"
      },
      "message": "Merge \"Set com.android.networkrecommendation as the default network recommendation service.\""
    },
    {
      "commit": "898fd69451cfaf3ffcafa999497019c90283c39e",
      "tree": "fd9d16d02bd13cb2944ac1a9a4f61dbd5b38ee6a",
      "parents": [
        "c1536f0d105b2526f4cc083fa14154e934f7c4dc"
      ],
      "author": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Fri Sep 23 16:41:42 2016 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 16 10:53:35 2016 -0800"
      },
      "message": "Add the webview zygote socket to the zygote whitelist.\n\nAllow the webview zygote socket to be open at time of fork, so that\nwebview renderers can be forked successfully.\n\n(cherry picked from commit a7fcb2bc2a65da3743914727adb0df89a4eb0b66)\n\nTest: WebView functions correctly with multiprocess dev setting enabled\nBug: 21643067\nChange-Id: I312846433a43a8e4548cb2f98b96b56acf9f5333\n"
    },
    {
      "commit": "56346808a192a3e9000e94c4b5436ab7078d1fd2",
      "tree": "cc1a76a016f629ddb1142285bfe4080879099bfe",
      "parents": [
        "69e7f9683d2c76c0be891e05727a649f2c03a866"
      ],
      "author": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Wed Dec 07 16:32:51 2016 -0800"
      },
      "committer": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Fri Dec 16 10:42:23 2016 -0800"
      },
      "message": "Set com.android.networkrecommendation as the default network recommendation service.\n\nBUG: 33224286\nTest: Build image and verified the config value was set.\n\nChange-Id: Id657c28753eaa6050bb2d82e45f70f694ce7e7dd\nMerged-In: Id657c28753eaa6050bb2d82e45f70f694ce7e7dd\n"
    },
    {
      "commit": "1e52ce48a6f2d98485d18585eb3452cab050ffb7",
      "tree": "cecc95066a04a4fa7542e8120bbe5fdee087661e",
      "parents": [
        "8175f0955aed5bd7a3aa80ac6348bdecb46db915"
      ],
      "author": {
        "name": "Vitalii Tomkiv",
        "email": "vitalit@google.com",
        "time": "Wed May 18 17:43:02 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 16 09:06:28 2016 -0800"
      },
      "message": "Make sure Zygote is running at process priority 0 after VM has started.\n\nBoosting up zygote priority before VM startup, saves ~450ms of boot time\nfor N9, 180ms for Nexus 5X.\n\n(cherry picked from commit 5d551a5ac3d13706f62a86842ff6851e1d25213b)\n\nBug: 28866384\nTest: m\nTest: Device boots\nChange-Id: Ic85892b408e15bbc1de7ce706f113f23974fe478\n"
    },
    {
      "commit": "8175f0955aed5bd7a3aa80ac6348bdecb46db915",
      "tree": "a3e625b701740c7dfba4bb2cf450a4d26ee9c6a9",
      "parents": [
        "441bfc6718a5f8afdc26f5f13666e0b297c54d7b"
      ],
      "author": {
        "name": "Todd Kjos",
        "email": "tkjos@google.com",
        "time": "Tue Sep 06 18:25:46 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 16 09:05:50 2016 -0800"
      },
      "message": "Revert \"Add boost to increase the load on newly-forked zygote processes.\"\n\nThis reverts commit 6d43a861d01ef48f37c69f96346a13d23164a585.\n\n(cherry picked from commit 0f2ded62ae3d88ddb732df182c3bfee3e2729018)\n\nTest: m\nTest: Device boots\nChange-Id: I627e47c6ead4ce2d2bffa923a32a56d06c022df7\n"
    },
    {
      "commit": "0ca16fa58454b1685afcf8cf49c4b67b59221349",
      "tree": "da9db38dcbc4d88668adc416b587566d2f1058c9",
      "parents": [
        "b8f7c351b97da590a4bd8da3dddbab166f9f789d"
      ],
      "author": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Fri Nov 11 16:08:26 2016 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 16 09:03:06 2016 -0800"
      },
      "message": "Enable logwrapper functionality on user builds\n\nWhen an app is debuggable, check whether a script called \"wrap.sh\" exists\nin the app\u0027s native library directory. If so, start the app using the\ninvoke-with functionality over the script. Weaken the invoke-with check\non the zygote side to allow the functionality for debuggable apps.\n\nThe goal of the functionality is to make malloc debug, strace and other\nsimilar tools available for NDK based application developers.\n\nBug: 33668201\nTest: manual - debug malloc can be enabled using the new feature\nChange-Id: Ia4bec0854cf4dc08446f1671494200f54ef366ee\n"
    },
    {
      "commit": "b8f7c351b97da590a4bd8da3dddbab166f9f789d",
      "tree": "81232bc781ccfdccaad2cbc3bddb7e92ef077438",
      "parents": [
        "c012ae38153dd2fe22243c7c5bc81d6f81568ae1"
      ],
      "author": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Fri Nov 11 16:08:26 2016 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 16 09:03:01 2016 -0800"
      },
      "message": "Zygote: Add invoke-with to zygote protocol\n\nAdd \"--invoke-with\" to the zygote connection protocol. It was\nalready understood as an argument by the zygote.\n\nBug: 33668201\nTest: m\nChange-Id: I59095f2ac542aadff78a7ff1dded86cf5f192707\n"
    },
    {
      "commit": "c012ae38153dd2fe22243c7c5bc81d6f81568ae1",
      "tree": "e963d6ce6df569b85860aa08c203e79cd5c90bcb",
      "parents": [
        "441bfc6718a5f8afdc26f5f13666e0b297c54d7b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 15 16:12:39 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 16 08:23:55 2016 -0800"
      },
      "message": "NativeLibraryHelper: Minor fixes\n\nSkip over directories when iterating library files. Ensure correct\ntemp file naming.\n\nBug: 33668201\nTest: m\nTest: Device boots\nTest: Manual: Install debuggable and non-debuggable apps\nChange-Id: I2f0547e965d9a0c478e333a13b2db02f4eedac2c\n"
    },
    {
      "commit": "541845908cc788b85025010438bae19dedcbad90",
      "tree": "bfb846e36176ea1fbfcf6cac99ff7bcaf225da54",
      "parents": [
        "c0cc7c646ca5892f15d87a99b8fac47e7beb5fc6",
        "71044fe7e5594f329f19b1a5e7f1ce2da6562082"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 16 08:46:58 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 16 08:46:59 2016 +0000"
      },
      "message": "Merge \"Move libandroid_runtime headers into frameworks/base/core/jni\""
    },
    {
      "commit": "c0cc7c646ca5892f15d87a99b8fac47e7beb5fc6",
      "tree": "c8bffb4556acf6a24c546983d5da238f06bf5869",
      "parents": [
        "1e41bb4887f6e2f84a11b0632f23c8e1dcdf44ad",
        "d6dd6b8a613c9c91eeebde713f12f18e6cc43c1f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 16 00:35:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 16 00:35:55 2016 +0000"
      },
      "message": "Merge \"Install all files from the lib directory for debuggable apps\""
    },
    {
      "commit": "11ec22ab2a036fee76f508daa0f116bb160fec58",
      "tree": "ac4a266e2f72e20c1e077442eb6c16e08a5e507b",
      "parents": [
        "a1c9c860a90c98f4423b48838117761c3a91646e",
        "129871167444cbcd2aaca1131ec4355222d29e40"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Dec 15 20:28:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 15 20:28:49 2016 +0000"
      },
      "message": "Merge \"HwBinder: Remove use of IHw class.\""
    },
    {
      "commit": "ade3a8ccb0acc1ba1ee29e5668b5e78670f26002",
      "tree": "3936ff106bd4fcd824c19689ec37624cd6c54ad9",
      "parents": [
        "618d4215a20c6da8853a78142b31f36234212e0a"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Oct 19 17:42:01 2016 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Dec 15 19:09:49 2016 +0900"
      },
      "message": "Have IpManager track L2-L4 signaling traffic required for IP connectivity.\n\nTest: as follows\n    - built and flashed\n    - observed logcat\n    - observed \"dumpsys wifi ipmanager\"\n    - runtest BlockingSocketReaderTest passes\n    - runtest ConnectivityPacketSummaryTest passes\nBug: 21859053\nBug: 26101306\nBug: 31742572\nBug: 31707128\nBug: 33531488\n\nChange-Id: Ibecaf809dcc1813924b25749e8ba8eb2d4bdf114\n"
    },
    {
      "commit": "71044fe7e5594f329f19b1a5e7f1ce2da6562082",
      "tree": "03bd96627b44a64cc0c73e8970203334ab987b61",
      "parents": [
        "19def9943abae2455ad6fa508f176fb5e1c4c1fd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Dec 14 13:29:28 2016 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Dec 14 13:35:40 2016 -0800"
      },
      "message": "Move libandroid_runtime headers into frameworks/base/core/jni\n\nMove libandroid_runtime\u0027s headers into its source directory, and export\nthem to modules that link against libandroid_runtime.  Also fixes\none unused-paramter warning that was hidden by the use of -isystem to\ninclude frameworks/base/include.\n\nBug: 33630870\nTest: m -j native\nChange-Id: Id6c2561d6c7d82a7ca2d183f11b1d3d3dcb42843\n"
    },
    {
      "commit": "e89ed4a001272fb9e802b3765b32e815003398c0",
      "tree": "e2b54e51b8d78624184ca4935aa397b33d9da904",
      "parents": [
        "f34bdf7676c2e4b33d2376c52a700d1446e21f09",
        "e7f273d5086ca464bcf6b1aa3ae3af5387bb034e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 14 19:47:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 14 19:47:48 2016 +0000"
      },
      "message": "Merge \"Add an IPC for requesting network scores.\""
    },
    {
      "commit": "cb21ad71ed805968c43d3f5911107632a20fcf53",
      "tree": "32bf9154dc8a6b393fbf9b9bf71b4b4264dd5f32",
      "parents": [
        "e2d85815297c999e6dc36d050d04df459330824a"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Tue Dec 13 10:51:02 2016 -0800"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Wed Dec 14 09:51:30 2016 -0800"
      },
      "message": "Bluetooth: log message improvements\n\nSome log improvements:\n - Reduce logspam\n - Use names for states in logs instead of numbers\n - Be more consistent with messages\n\nAlso remove some commented out dead code.\n\nTest: run on phone, observe more useful logs\nChange-Id: I32163278e148be144c03d4e8aaf0eb761226c94c\n"
    },
    {
      "commit": "e7f273d5086ca464bcf6b1aa3ae3af5387bb034e",
      "tree": "c7e3243de07cbc3250334a2b7257be09c9133fac",
      "parents": [
        "e2d85815297c999e6dc36d050d04df459330824a"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Tue Dec 13 16:11:51 2016 -0800"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Wed Dec 14 09:11:29 2016 -0800"
      },
      "message": "Add an IPC for requesting network scores.\n\nMigrating the NetworkScoreManager.requestScores() method to use an\nIPC rather than a broadcast.\n\nDefined the new IPC in the AIDL files for NetworkScoreService and\nNetworkRecommendationProvider. Added a no-op implementation in\nNetworkScoreService and a full implementation in\nNetworkRecommendationProvider (plus tests).\n\nTest: adb shell am instrument -e class android.net.NetworkRecommendationProviderTest -w com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\nBUG: 33593157\nChange-Id: Iacf7b6d424ec3c57e8b89e5abc6bc3e8414097b9\nMerged-In: I951f6186aa11ddbe5a94e374173a1fd40b2a4cce\n"
    }
  ],
  "next": "280f82c3127a331d9f8b6f61726176a380892f66"
}
