)]}'
{
  "log": [
    {
      "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": "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": "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": "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\""
    },
    {
      "commit": "c558dd9597fa6dba90bbb2838b65472e15ed20ee",
      "tree": "89b163b739ee275412ea5af511313fea65460eeb",
      "parents": [
        "5f87c4539adecd3716d5c9e46b30302a32880261"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Aug 31 18:01:06 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Aug 31 18:01:06 2016 -0700"
      },
      "message": "Fix missing dependency on R.java\n\nCompiling frameworks source is missing a dependency on the R.stamp file\ngenerated by the frameworks-res aapt rule, likely caused by the switch\nto jack.  Use LOCAL_ADDITONAL_DEPENDENCIES to insert the dependency\ninstead of directly using build system internals.\n\nChange-Id: Ifb830da18b3607f87ae283cea04f7d276d4bfde9\n"
    },
    {
      "commit": "5f87c4539adecd3716d5c9e46b30302a32880261",
      "tree": "18bc1a5fcd4088928750bf2d27697b144da0cc60",
      "parents": [
        "7207562ff7e490d0cc4554f46fd9b9ce7a89c20a",
        "a480f7fe28ef059b82491f52dcc69934322ee5e2"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Aug 31 18:05:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 18:05:27 2016 +0000"
      },
      "message": "Merge \"Separate advertiser from GATT client (1/4)\""
    },
    {
      "commit": "7207562ff7e490d0cc4554f46fd9b9ce7a89c20a",
      "tree": "843055cfb8a6528380d6fba2a03b10a52630fcdd",
      "parents": [
        "2cace65f71914723f6c874404f3f36af1e22946b",
        "a619ec70cf765d9166f0862e74653711b87307b3"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 31 17:18:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 17:18:56 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in libs/hwui.\""
    },
    {
      "commit": "2cace65f71914723f6c874404f3f36af1e22946b",
      "tree": "5f892f5d0b8c35e07cdd9480011efea3735fa4eb",
      "parents": [
        "7a9c0cd854405cd99fd359a70a63f1ba1ac2f223",
        "bd6b663b470e9b2687ebec7dc5142ee78ac28268"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 31 17:18:29 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 17:18:29 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in media/mca.\""
    },
    {
      "commit": "7a9c0cd854405cd99fd359a70a63f1ba1ac2f223",
      "tree": "125e8b2614f3a86f1d941777b5aa69d77507e5db",
      "parents": [
        "0c8c4a5d981adf700e21553cc471c734699e84b4",
        "a8280a5d349a65d1323cffd540485498f276fd1e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Aug 31 16:28:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 16:28:17 2016 +0000"
      },
      "message": "Merge \"Fix receive timeout on LocalSocket\""
    },
    {
      "commit": "0c8c4a5d981adf700e21553cc471c734699e84b4",
      "tree": "e44bca38332a5d9866f71e3230c754d6b439db67",
      "parents": [
        "c7bd0d0adcec731e61ffbef47747803f7ca089b7",
        "6f285fa91efeb5e65d6218d3cb5b52ec17ad9752"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Aug 31 13:51:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 13:51:37 2016 +0000"
      },
      "message": "Merge \"java.security.Principal: add default method Principal#implies\""
    },
    {
      "commit": "c7bd0d0adcec731e61ffbef47747803f7ca089b7",
      "tree": "aab400477b78f6fedba1eda296c50fad422b1e71",
      "parents": [
        "d53ae2c2850f79d2721243781a0e527786157fe0",
        "7cdfa7499aeca0fceb17ff871d85d0f8435131f4"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Aug 31 13:50:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 13:50:23 2016 +0000"
      },
      "message": "Merge \"java.security.SecretKey: now extends from Destroyable\""
    },
    {
      "commit": "d53ae2c2850f79d2721243781a0e527786157fe0",
      "tree": "bf8dc2739ff29ffd812f6f6c569f806524591da9",
      "parents": [
        "9484bff017a5a919f31e3ee945430b86cc8c6609",
        "71b95041d6c7a6dd85ab75a2bba5143dfc5278aa"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Aug 31 12:24:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 12:24:48 2016 +0000"
      },
      "message": "Merge \"java.security: update java.security.KeyStore to jdk8u60\""
    },
    {
      "commit": "a480f7fe28ef059b82491f52dcc69934322ee5e2",
      "tree": "c06e2335a75c6a77350c7dccfa6a4b2927dd1e7f",
      "parents": [
        "9484bff017a5a919f31e3ee945430b86cc8c6609"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Fri Aug 05 06:40:31 2016 -0700"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Aug 31 03:36:53 2016 -0700"
      },
      "message": "Separate advertiser from GATT client (1/4)\n\nBug: 30622771\nChange-Id: I08c0498f8a1ea04423d3e864e9a60c7c78f1dbad\n"
    },
    {
      "commit": "a8280a5d349a65d1323cffd540485498f276fd1e",
      "tree": "bbaf6dad3a1912fbd48bb06d8f97dc2db65c2007",
      "parents": [
        "cff3f7001c80b2ce54053f0e933a3d3cf5bd225e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Aug 31 11:32:17 2016 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Aug 31 11:32:17 2016 +0100"
      },
      "message": "Fix receive timeout on LocalSocket\n\nThe receive timeout stopped being set incorrect due to commit\nc80af6d8. There is an associated CTS regression test in cts/.\n\nTest: Ran CTS test android.net.cts.LocalSocketTest\nBug: 31205169\nChange-Id: I99808478946f8eae502c49d2cb83465648b9c904\n"
    },
    {
      "commit": "9484bff017a5a919f31e3ee945430b86cc8c6609",
      "tree": "c7308ba1b940c5af31e329c684016ce58e3912bd",
      "parents": [
        "17f1fc6c76045e6fb8404150e63b4e6bd7368c71",
        "5a2297190a8fc617a7aa99aaf101961ccae62bde"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Aug 31 08:18:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 08:18:57 2016 +0000"
      },
      "message": "Merge \"java.security.cert: update classes in java.security.cert (part 2)\""
    },
    {
      "commit": "17f1fc6c76045e6fb8404150e63b4e6bd7368c71",
      "tree": "568b88647f97799f7fc5ae7230732a9c39dcecae",
      "parents": [
        "ed4b31f9e11dd59521b806235046c5c6acdd1168",
        "feee33ce2c8d966e65f7094b836eca374b026b10"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 30 22:29:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 30 22:29:05 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in soundpool.\"\nam: feee33ce2c\n\nChange-Id: Id3cf418900b7eb3ac2e3d94f674f4ed6f624ba27\n"
    },
    {
      "commit": "feee33ce2c8d966e65f7094b836eca374b026b10",
      "tree": "e4c9f651feef9d0d45f44c6bf48c8999a0b209c4",
      "parents": [
        "cfc9f5d03d47c11fa29846822706a8bbd9d76503",
        "ae1aadc04f9cee280c3c328a533e2ceeb4b71d47"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 30 22:21:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 30 22:21:34 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in soundpool.\""
    },
    {
      "commit": "ed4b31f9e11dd59521b806235046c5c6acdd1168",
      "tree": "c64dfb09a3a353d93af556a0c003a3a3e804d8a5",
      "parents": [
        "033101bb99669de6bad4c3dd2f3b605301aed338",
        "cfc9f5d03d47c11fa29846822706a8bbd9d76503"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 30 20:37:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 30 20:37:41 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in core/jni.\"\nam: cfc9f5d03d\n\nChange-Id: Ia0378869ca5896734d5dfbdddf937b2b6dc25dbf\n"
    },
    {
      "commit": "cfc9f5d03d47c11fa29846822706a8bbd9d76503",
      "tree": "6ab136d1e0fa7fe85e5c2ef6fddf024ce8d2f096",
      "parents": [
        "cff3f7001c80b2ce54053f0e933a3d3cf5bd225e",
        "a6543289f56a939fd2e3c6a471f25f3459074277"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 30 20:30:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 30 20:30:46 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in core/jni.\""
    },
    {
      "commit": "71b95041d6c7a6dd85ab75a2bba5143dfc5278aa",
      "tree": "b3b548403a993f83a5120e170da5308b0126c8ee",
      "parents": [
        "e71ecb2c4df15f727f51a0e1b65459f071853e35"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Aug 25 15:06:25 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Aug 30 19:57:43 2016 +0000"
      },
      "message": "java.security: update java.security.KeyStore to jdk8u60\n\nPulling upstream changes from OpenJDK version jdk8u60 for\njava.security.KeyStore.\n\n- New method getAttributes in KeyStore.Entry\n- New interface Attribute in KeyStore.Entry\n- New constructor specifying protection algorithm and protection parameters in\nKeyStore.PasswordProtection.\n- New getters for protection algorithm and protection parameters in\nKeyStore.PasswordProtection\n- In PrivateKeyEntry, SecretKeyEntry and TrustedCertificateEntry, new\nconstructor allowing to specify attributes, and corresponding getter\ngetAttributes.\n\nThis commit also contains cosmetic JavaDoc changes like\n- Use of @code in place of \u003ccode\u003e tags.\n- Tidied up casts/generics.\n\nThis completes the port to jdk8u60 for this class.\n\nChange-Id: Ifec9d07b8f6c367a6fa2672fd5c43747057336ad\nTest: make droid docs, vogar KS*{Entry,Password}*.java\nBug: 29631070\n"
    },
    {
      "commit": "6f285fa91efeb5e65d6218d3cb5b52ec17ad9752",
      "tree": "5b5ffc22e6087202c3268ddeb3abf3a2a038cdc9",
      "parents": [
        "43ec5716aa16bf0441a0c8eff9200adca13297ae"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Aug 30 19:26:17 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Aug 30 19:26:17 2016 +0100"
      },
      "message": "java.security.Principal: add default method Principal#implies\n\nGiven a Subject, Principal#implies returns true iff the principal\nis one of the subject\u0027s principals.\n\nBug: 29631070\nTest: make droid docs, vogar PrincipalTest.java\nChange-Id: Ic24ca4bc26e29abdb67481af8255b8b1683a6f3a\n"
    },
    {
      "commit": "7cdfa7499aeca0fceb17ff871d85d0f8435131f4",
      "tree": "73297710ed1273f2d77752bce6af31ac5c693922",
      "parents": [
        "43ec5716aa16bf0441a0c8eff9200adca13297ae"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Aug 30 18:44:11 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Aug 30 18:44:11 2016 +0100"
      },
      "message": "java.security.SecretKey: now extends from Destroyable\n\nAlso:\n- added comments\n- replace \u003ccode\u003e by @code tags\n\nThis completes the port of SecretKey to jdk8u60.\n\nBug: 29631070\nTest: make droid docs\nChange-Id: Id3604c1e62855d9fa9bf02a704c79c6d2131b006\n"
    },
    {
      "commit": "671d9ce289857ac650dfc496ea3137810534a460",
      "tree": "99e8c6c1deb5b724bf6f6e11cd7f757918fb7efa",
      "parents": [
        "cff3f7001c80b2ce54053f0e933a3d3cf5bd225e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 23 17:06:12 2016 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 30 15:51:07 2016 +0100"
      },
      "message": "Track exposure of new j.l.reflect methods\n\nModifier.parameterModifiers() and Class.toGenericString().\n\nBug: 28666126\nChange-Id: Idd230540e15aa5c298739a7ba72ed3e47159d037\n"
    },
    {
      "commit": "033101bb99669de6bad4c3dd2f3b605301aed338",
      "tree": "ae8778d0c4b8b02e7123efccc2023bc19624394c",
      "parents": [
        "6a80a4b05acacd3fd07583a3bb6185e9770215eb",
        "cff3f7001c80b2ce54053f0e933a3d3cf5bd225e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 30 14:33:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 30 14:33:29 2016 +0000"
      },
      "message": "Merge \"Track libcore java.lang.reflect API changes\"\nam: cff3f7001c\n\nChange-Id: Ie68db07c1211f161d7757186ff5ffadd506deef6\n"
    },
    {
      "commit": "cff3f7001c80b2ce54053f0e933a3d3cf5bd225e",
      "tree": "2da2633f754d8c7ff747b8f48d8f33b73a797c91",
      "parents": [
        "21e0701f76678d69ccbae325ba353bb1297072db",
        "2cc1eed17442ea0a7c8ec29ca038b9b4687e40d4"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 30 14:26:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 30 14:26:34 2016 +0000"
      },
      "message": "Merge \"Track libcore java.lang.reflect API changes\""
    },
    {
      "commit": "2cc1eed17442ea0a7c8ec29ca038b9b4687e40d4",
      "tree": "2da2633f754d8c7ff747b8f48d8f33b73a797c91",
      "parents": [
        "21e0701f76678d69ccbae325ba353bb1297072db"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Aug 22 18:41:52 2016 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 30 12:08:10 2016 +0100"
      },
      "message": "Track libcore java.lang.reflect API changes\n\nThe modifications to Class / Field affect the .txt file\nfor no good reason: the use of a different generic\nvariable name results in changes because the tools think\nmethods have been added / removed when they haven\u0027t.\n\nThe only interface change from upstream included is adding\n\"extends AnnotatedElement\" to GenericDeclaration. All (platform)\nsubclasses already did implement this interface. App classes may\nbe affected but only if they do not currently implement those\nmethods and they are somehow called.\n\nBug: 28666126\nTest: cts ran for libcore (libcore, harmony_java_lang, org)\nChange-Id: Ice5afb80834d7f7a4d23dade21a1590c6b323ed8\n"
    },
    {
      "commit": "6a80a4b05acacd3fd07583a3bb6185e9770215eb",
      "tree": "6f959744ffbaf4bd85ce2b3a6b32e728d819e8be",
      "parents": [
        "8efb84e3e0b66696c45adb1faa0fe1e6f75f22c3"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 20:02:50 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 20:15:59 2016 -0700"
      },
      "message": "DO NOT MERGE Revert \"Add Bluetooth toggle prompts - framework\"\n\nThis reverts commit 6bc2a92a5983e971ab9a04301fe4070e5b1f9179.\n\nChange-Id: Ib576085fe190942891480524eb367a94a387a11c\n"
    },
    {
      "commit": "8efb84e3e0b66696c45adb1faa0fe1e6f75f22c3",
      "tree": "53ef4ac0901027ffca5abdffc616d52b61d08ddd",
      "parents": [
        "b0b6afc248307f0d2eec0e003e47a051a25da093"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 20:02:26 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 20:15:48 2016 -0700"
      },
      "message": "DO NOT MERGE Revert \"Add WiFi toggle prompts - framework\"\n\nThis reverts commit 40f8b9251831c5f009fd476b1a3d216e126d3ef0.\n\nChange-Id: I23e8b6ac97d8853c271429fc13fbfa313717a95a\n"
    },
    {
      "commit": "a619ec70cf765d9166f0862e74653711b87307b3",
      "tree": "4ba6f1bcb2df2627fac64cc8ea269d32c04909ca",
      "parents": [
        "c4c4a1e76e4de30a43c3396d3e0b55209666346d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:52:43 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:56:58 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in libs/hwui.\n\n* Add explicit keyword to conversion constructors,\n  or add NOLINT for implicit converters.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: Id8ca42433a4fc3652e4cb13787c4cb169f20d9a9\n"
    },
    {
      "commit": "ae1aadc04f9cee280c3c328a533e2ceeb4b71d47",
      "tree": "215eb3fc70800d22dba2e516479abb770fe753e8",
      "parents": [
        "c4c4a1e76e4de30a43c3396d3e0b55209666346d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:53:50 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:53:50 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in soundpool.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: Id1183b2929242cdf1fd0a1558d0e70194a1de9bb\n"
    },
    {
      "commit": "6d09d547b06b86b337e8e16c2585b3882a5bb1dc",
      "tree": "0c81514e6726b36c90433e9d25eeb861702615f9",
      "parents": [
        "c4c4a1e76e4de30a43c3396d3e0b55209666346d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:51:31 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:51:31 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: Ic550902559b0800bdcfc0b1d301313a909434eed\n"
    },
    {
      "commit": "bd6b663b470e9b2687ebec7dc5142ee78ac28268",
      "tree": "f6bf73b782b7ff0251aec3ad6e77b2d5f0d77af7",
      "parents": [
        "c4c4a1e76e4de30a43c3396d3e0b55209666346d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:47:52 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:47:52 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in media/mca.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: Ia820e0a82df4bf74e5846917f6148849aed6ddc0\n"
    },
    {
      "commit": "a6543289f56a939fd2e3c6a471f25f3459074277",
      "tree": "ffda701baecad2c47de61a1a24b51b4876525213",
      "parents": [
        "c4c4a1e76e4de30a43c3396d3e0b55209666346d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:46:35 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:46:35 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in core/jni.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I6125b7b761cb26831d42aabf10870ed68f0bf092\n"
    },
    {
      "commit": "b0b6afc248307f0d2eec0e003e47a051a25da093",
      "tree": "b5304fc9040cfb72bdfc8f393866d53ae2fd70aa",
      "parents": [
        "bb205d5e3e2a8878295ed18c656ec55e90dd288b",
        "521c66e73cbd48b11c2fe4b28ffcf4279acb045c"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 20:02:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 20:03:22 2016 +0000"
      },
      "message": "Merge changes from topic \u0027wifi-aosp-master\u0027 into stage-aosp-master\n\n* changes:\n  NetworkSelectionStatus: Fix copy constructor\n  Deprecate QNS network disable reason BAD_LINK\n  [NAN] API changes/fixes addressing apilint issues\n  [NAN] Add method to ConfigRequest to determine if non-default\n  [NAN] Simplify publish/subscribe configuration - merge match filters\n  [NAN] Udpate NAN API documentation, clean-up visibility\n  [NAN] Do not expose WifiManager.isNanSupported as new API\n  [NAN] Update finalize to check and warn user if resources not freed\n  [NAN] Fix bad merge use rethrowFromSystemServer\n  Add Log.wtf when transitionTo is used improperly\n  Ensure BSSIDs are correctly aged out in settings view\n  [NAN] Provide calling package name to service\n  Add WiFi toggle prompts - framework\n  Reenable the unit tests for StateMachine\n  Remove WiFi related methods from NetworkManagementService\n  Don\u0027t pull in external/junit through mockito\n  WifiConfiguration: Expose NetworkSelectionStatus strings\n  Add Bluetooth toggle prompts - framework\n  [NAN] Add LV utilities (TLV with T size of 0).\n  [NAN] Fix TlvElement member names - reflect public access.\n  TetherUtil: Use ConnectivityManager for tethering\n  [NAN] TLV utilities iterator - throw correct exception\n  [NAN] Modify arguments from \"array, length\" to \"array\"\n  [NAN] NAN System Api: RTT\n  Properly disable WiFi tethering\n  [NAN] Provide inteface MAC address to app.\n  [NAN] Add (T)LV validation testing\n  Add IPv6 tethering coordinator\n  Stop listening for WiFi interface status changes\n  [NAN] Add validity checks for service name\n  [NAN] Fix assumption about Strings containing single-byte characters.\n  [NAN] NAN data-path API: network specifier\n  DO NOT MERGE StateMachine: remove final from SendMessage\n  wifi: allow config of default+verbose ring buffers\n  Don\u0027t save the anonymous identity for EAP-SIM/AKA/AKA-Prime\n  Add a WifiScanner API to listener for ongoing scans\n  Fix invitation request from persistent GC\n  SettingsBackupAgent: Remove redundant size parameter\n  WifiConfiguration: Make NetworkSelectionStatus public\n  Use WifiManager for wifi backup/restore\n  Fix race conditions between Tethering and TetherInterfaceStateMachine\n  WifiManager: Add new API to restore old backup data\n  Tethering: Own WiFi tethering state and lifetime\n  IpConfigStore: Changes for parsing old wifi backup\n  WifiManager: Add new API\u0027s for backup/restore\n  XmlUtils: Add missing readThisByteArrayXml method\n  Use an ArrayMap instead of HashMap to track tether interfaces\n  Consolidate cleanup logic in TetherInterfaceSM.TetheredState\n  Annotate TetherInterfaceStateMachineTest for APCT\n  Rely on Tethering mutex for TetherInterfaceSM\n  Rename TetherInterfaceSM to TetherInterfaceStateMachine\n  [NAN] Add retry count for transmitting L2 NAN messages\n  Remove dead code from TetherInterfaceSM\n  Remove transient StartingState from TetherInterfaceSM\n  Expand test coverage of TetherInterfaceSM\n  Add demonstration unittest for TetherInterfaceSM\n  Extract TetherInterfaceSM to its own class.\n  Make Tethering.TetherInterfaceSM more self contained\n  WifiManager: add WIFI_MODE_NO_LOCKS_HELD\n  Create frameworks-base-testutils lib\n  Clean up class members in Tethering.TetherInterfaceSM\n  Move android.net.util.IpUtilsTest into a util/ directory\n  Fix trivial warnings in Tethering.java\n  Fix some trivial warnings in WifiP2pDevice.java\n  [NAN] Add support for NAN RTT.\n  [NAN] Remove OnNanDown notification from API\n  Remove unused method from NetworkManagementService\n  WifiConfiguration: Add new selection disable reasons\n  [NAN] Add type and nullability annotations. Update hide annotation.\n  [NAN] Add master switch to enable/disable usage of NAN APIs.\n  [NAN] Re-factor connect/config flow\n  [NAN] Refactor session lifecycle to clarify API \u0026 eliminate race conditions\n  [NAN] Removed NAN event registration - dispatch all callbacks.\n  [NAN] Consolidate publish/subscribe callback sets into single set\n  [NAN] Replace session callback configuration control\n  [NAN] Expose match style configuration as public API.\n  [NAN] API cleanup - rename FLAGS.\n  [NAN] Renamed listeners to callback per API guidelines\n  [NAN]: API update - consolidate Puslish|Subscribe Data+Subscribe -\u003e Config\n  NAN: Support multiple instantiation per UID - introduce a client ID.\n"
    },
    {
      "commit": "bb205d5e3e2a8878295ed18c656ec55e90dd288b",
      "tree": "f8305f70e70c75b7c1220c5442976dbdeae8407e",
      "parents": [
        "f897e1c3b644803059711d0e14b97c1952713fc0",
        "21e0701f76678d69ccbae325ba353bb1297072db"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Aug 29 18:44:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 29 18:44:28 2016 +0000"
      },
      "message": "Merge \"Fixed statuses on Battery Saver column.\"\nam: 21e0701f76\n\nChange-Id: I4125ff3ad049ef2717fe12ba7ca62d99bf9bd3c5\n"
    },
    {
      "commit": "21e0701f76678d69ccbae325ba353bb1297072db",
      "tree": "abea8c7552b78f3deb1785808b653da296eb0b4c",
      "parents": [
        "c4c4a1e76e4de30a43c3396d3e0b55209666346d",
        "bd1a93a721e8a5242470d8981b4ea42855e0f179"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Aug 29 18:32:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 29 18:32:27 2016 +0000"
      },
      "message": "Merge \"Fixed statuses on Battery Saver column.\""
    },
    {
      "commit": "bd1a93a721e8a5242470d8981b4ea42855e0f179",
      "tree": "163b57a6ca18baa0bc23813d882b080678b4d2af",
      "parents": [
        "e71ecb2c4df15f727f51a0e1b65459f071853e35"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Jul 14 11:04:49 2016 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Aug 29 11:27:16 2016 -0700"
      },
      "message": "Fixed statuses on Battery Saver column.\n\nBUG: 30139400\n\nChange-Id: I1798607af13c9be5e1f21212fd7078f7152562bd\n(cherry picked from commit 9e325706f42a1dc48abe80a24323fae4579ab033)\n"
    },
    {
      "commit": "521c66e73cbd48b11c2fe4b28ffcf4279acb045c",
      "tree": "7f5c516ecd5eab3db2228911f3b74c167ed915e5",
      "parents": [
        "22de5aaca9b3d976d3f3cdf8b0a02f3b3ccb6d99"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Thu Aug 25 19:47:06 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:57 2016 -0700"
      },
      "message": "NetworkSelectionStatus: Fix copy constructor\n\nAdd couple of missing elements in the NetworkSelectionStatus copy constructor.\n\nBUG: 31102798\nChange-Id: Ie5f3719b94acf021d4ae2756afd635388640168c\n(cherry picked from commit 699680b6b4fb923e4129d678013e3fbbc0421eaa)\n"
    },
    {
      "commit": "22de5aaca9b3d976d3f3cdf8b0a02f3b3ccb6d99",
      "tree": "d5f806bfaf0d0cff423e11a48223d3bc36f11941",
      "parents": [
        "b81c35f54b2d4ab7f8d971f5c3718b1fed3a12c0"
      ],
      "author": {
        "name": "Randy Pan",
        "email": "zpan@google.com",
        "time": "Wed Jul 27 13:20:51 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:57 2016 -0700"
      },
      "message": "Deprecate QNS network disable reason BAD_LINK\n\nWifiNetworkAgent#unwanted no longer disables the network.\n\nBug: 28558417\nChange-Id: I2e7ed99ae4cb952f124c673376d967eeee2b4ece\n(cherry picked from commit 4156d615707a7aa27ecaf55c889824fd025a75b5)\n"
    },
    {
      "commit": "b81c35f54b2d4ab7f8d971f5c3718b1fed3a12c0",
      "tree": "72d52fac7346bd8c0976dd111e34f505f82026be",
      "parents": [
        "30a472e6b3bbb71537d75dcc906e8e7c8105ac1d"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Aug 22 11:27:57 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:56 2016 -0700"
      },
      "message": "[NAN] API changes/fixes addressing apilint issues\n\nBug: 30983968\nChange-Id: I2189442755380ad5d04f80bcb5978ca0c28e6420\n(cherry picked from commit 9825309424cab3a3efabac0bde79b3c1419f9be9)\n"
    },
    {
      "commit": "30a472e6b3bbb71537d75dcc906e8e7c8105ac1d",
      "tree": "ca3db15ca8bf95fe078c8c7b705caaade5e5589a",
      "parents": [
        "b6701faaf0a742d91e12eb5658c355225d263afc"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Aug 18 16:51:50 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:56 2016 -0700"
      },
      "message": "[NAN] Add method to ConfigRequest to determine if non-default\n\nTo be used in permission check.\n\nBug: 27696149\nChange-Id: I5be5aed93c556cf24b596bd2a7c5672502f84d74\n(cherry picked from commit 8266b3f876e6b96ac0f18216b2011b03a0504a23)\n"
    },
    {
      "commit": "b6701faaf0a742d91e12eb5658c355225d263afc",
      "tree": "2e3948bfccef67ad70614f2f51a83f117ab30bee",
      "parents": [
        "b0214c4cd56e26a26c2bec61c287fc008ed3e551"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Aug 18 15:38:29 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:55 2016 -0700"
      },
      "message": "[NAN] Simplify publish/subscribe configuration - merge match filters\n\nMerge Tx/Rx match filters into single Match filter configuration. Only\na single filter can be used at a time (either Tx or Rx).\n\nBug: 30948496\nChange-Id: I32a9a0306dfd08295bc63145bccfe3739862f17d\n(cherry picked from commit 6007681b19510d2a739ab45c1754d869f8f15e72)\n"
    },
    {
      "commit": "b0214c4cd56e26a26c2bec61c287fc008ed3e551",
      "tree": "b6e918dc896aaec26ea5d2afa501defddb407b4c",
      "parents": [
        "28035d98f0c57867709c2304b6f1a13b4d634bab"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Aug 18 09:55:31 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:55 2016 -0700"
      },
      "message": "[NAN] Udpate NAN API documentation, clean-up visibility\n\nChange-Id: I951340eebab35c10efe98dab86b58fe8efada169\n(cherry picked from commit 2e37b06dde2dff019b9143fc6b61021dab79bda3)\n"
    },
    {
      "commit": "28035d98f0c57867709c2304b6f1a13b4d634bab",
      "tree": "af736629aa83464f77a993a07566aa17ccc8a287",
      "parents": [
        "fd11ec15760354cbe92d0650c1551d8783a52679"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Apr 19 10:55:56 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:54 2016 -0700"
      },
      "message": "[NAN] Do not expose WifiManager.isNanSupported as new API\n\nThe WifiManager.isXxxSupported() only functions if HAL is enabled\nand seems to be a duplicate of:\n\nPackageManager.hasSystemFeature(PackageManager.FEATURE_WIFI_NAN)\n\nBug: 28251988\nChange-Id: I8f410def6f0bd3d3fc0926072ab66acce52a0e14\n(cherry picked from commit a3264c4e3d08d38b08ab0c1c92341cb9cc8f29f8)\n"
    },
    {
      "commit": "fd11ec15760354cbe92d0650c1551d8783a52679",
      "tree": "6d892af7548b9d0bce4b3a83340cde718fdebaa0",
      "parents": [
        "fc3c0a0582da7253c22016bc7a8e71434b061677"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Aug 11 14:23:23 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:54 2016 -0700"
      },
      "message": "[NAN] Update finalize to check and warn user if resources not freed\n\nUse CloseGuard to check that disconnect() is called to free the resources\nallocated by connect(). finalize() will still call disconnect() but now\nalso print out errors (if StrictMode enabled for feature).\n\nBug: 28068773\nChange-Id: I5f5847c0261ef9f79a21fdb935509a85761591cc\n(cherry picked from commit 9d55649613f6ea9926c6e6222965178e91cb501b)\n"
    },
    {
      "commit": "fc3c0a0582da7253c22016bc7a8e71434b061677",
      "tree": "a93666a67a1abe9ffaa4ef7adc08002252443e75",
      "parents": [
        "07e317c3cd9fe38954813b75ac582dd64f0c41f1"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Aug 16 11:54:49 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:53 2016 -0700"
      },
      "message": "[NAN] Fix bad merge use rethrowFromSystemServer\n\nAdded \u0027throw\u0027 to the \u0027e.rethrowXXX()\u0027. Not needed but seems\nto be the accepted style.\n\nChange-Id: I75e42d68ee6092699a55e26ee05151373139606d\n(cherry picked from commit cb34ec8f3a8dd40f7c49181b008de7314735ca66)\n"
    },
    {
      "commit": "07e317c3cd9fe38954813b75ac582dd64f0c41f1",
      "tree": "2fa854ae3f9190c8464ebbc65e7a994290251c9f",
      "parents": [
        "18af49395c18ce58f76cb137ec6981bd615d5719"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Thu Aug 11 11:05:03 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:53 2016 -0700"
      },
      "message": "Add Log.wtf when transitionTo is used improperly\n\nUsing transitionTo in exit/enter (except in the terminal state) is\ndocumented as undefined behavior and may cause unexpected results.\nThe current implementation appears to finish the current transition and\nthen transition to the new target state.\n\nTEST\u003dflash and play with the phone, no sign of immediate WTFs\n\nChange-Id: I38a34b85c43d53c51514339587fc1269a069a454\n(cherry picked from commit 8d3ed21583a8d83047cee1735cf669e131809e73)\n"
    },
    {
      "commit": "18af49395c18ce58f76cb137ec6981bd615d5719",
      "tree": "c6fccdae56b4508383b1c39702cef875f2378f6b",
      "parents": [
        "4503dc6fbaafab5341b91116f552f666d2f9b532"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Wed Aug 10 13:49:21 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:52 2016 -0700"
      },
      "message": "Ensure BSSIDs are correctly aged out in settings view\n\nWhen verbose logging is on, recent BSSIDs are displayed under the\nnetwork. This ensures that the BSSIDs are aged out after a period of\ntime instead of based on a fixed size LRU cache. This prevents BSSIDs\nthat are no longer present from appearing in the results.\n\nFIXED\u003d30711015\nTEST\u003dsetup two APs, observe both BSSIDs in settings, turn off one,\n     observe it disappearing after a short period of time.\n\nChange-Id: Id2b2ccd0899eae8d4e2e1c2b3ae9409136a8c948\n(cherry picked from commit b744d6e865e4141cd19cdf279f75f30c3d6590af)\n"
    },
    {
      "commit": "4503dc6fbaafab5341b91116f552f666d2f9b532",
      "tree": "907771a189d137dc2d39188a39d43431a733fbc5",
      "parents": [
        "40f8b9251831c5f009fd476b1a3d216e126d3ef0"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Aug 11 09:31:21 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:52 2016 -0700"
      },
      "message": "[NAN] Provide calling package name to service\n\nUseful for permission checks.\n\nBug: 30000323\nChange-Id: I8c7f06cff346437aa24ca5da9822cbd7b20c59c4\n(cherry picked from commit 7531a28e2611039a8120305c14a96b8c61fff563)\n"
    }
  ],
  "next": "40f8b9251831c5f009fd476b1a3d216e126d3ef0"
}
