)]}'
{
  "log": [
    {
      "commit": "8d729e8c149e68023b5c076bd668ee9eff4a6c6d",
      "tree": "239f44ef2105a71fb70031bf12c93a6ed4aacc2d",
      "parents": [
        "4f302baba3ea2146f4b42d6b1f092898056a4e20",
        "e8cece9f2010388e02d8f4b3150f25168f8b7d76"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Sat Jan 07 16:18:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 07 16:18:38 2017 +0000"
      },
      "message": "Merge \"Initial API shape for storage statistics.\""
    },
    {
      "commit": "e8cece9f2010388e02d8f4b3150f25168f8b7d76",
      "tree": "d71c47bdfd720ca9c7d2bf35a24c82c2c2de9ba0",
      "parents": [
        "c9facc0a1f6f3facb7d67ddae9b8a04af78dad0c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jan 04 11:33:33 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jan 05 15:39:16 2017 -0700"
      },
      "message": "Initial API shape for storage statistics.\n\nThis API is designed to provide both UID-level stats and overall\nsummary data for a given storage device, as identified by UUID.\n\nThe use of UID-level granularity might appear a bit clunky, but it\nmatches other usage statistics (such as network and battery), and it\nallows us to implement it using an extremely fast quota kernel\nfeature.\n\nA future CL will wire up the implementation to installd.\n\nTest: builds, boots\nBug: 32206268\nChange-Id: I7b51877682d0370c2402c19346f57809f0e7ac53\n"
    },
    {
      "commit": "7039cbc6f3a596aee6851014019849490f358f13",
      "tree": "bbfe6e5bdeaf6b056be85795de01d1f0c20ebe6f",
      "parents": [
        "c9facc0a1f6f3facb7d67ddae9b8a04af78dad0c"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Wed Jan 04 10:15:31 2017 -0800"
      },
      "committer": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Thu Jan 05 09:57:40 2017 -0800"
      },
      "message": "Add content description and tooltip to menu item\n\nBug: 34076597\nTest: manual\nChange-Id: Ide32463252457721286c929ab2f8f7bae241835d\n"
    },
    {
      "commit": "c587433dd178b634f4f7a0453d192bb8b47b37da",
      "tree": "4581fa74febed0b17ba66880c7ddf71b185dfa88",
      "parents": [
        "467085866ff85739b4edce5b634489dee7f7ad55",
        "8957f2ddda08e891475e64552ffa225ca2fccedb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 20:43:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 04 20:43:44 2017 +0000"
      },
      "message": "Merge \"Introducing teleportation between sections.\""
    },
    {
      "commit": "64593c699337e6ff742b437b5635f3842ebebf3d",
      "tree": "61e88e5ea0cd1f6f5fb24e423e910a6bff944ded",
      "parents": [
        "a9d0cfbcc90c3f9567d081cfe7a11ad30b382e40",
        "7231d44467e895af4249e9bffe82cb1c249a2a7a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 19:51:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 04 19:51:50 2017 +0000"
      },
      "message": "Merge \"Defining a new REQUEST_NETWORK_SCORES permission.\""
    },
    {
      "commit": "a532c3ff8c2101de42281cb71cc411ab1dff64f0",
      "tree": "c68f3f28fcd49f62df05e3d305b042edc2c5386d",
      "parents": [
        "45b2070637b9a95b366eee486c6483954f84a767",
        "87a563e0707bb7e2be034c195e9827dfe3451cfd"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Wed Jan 04 18:21:34 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 04 18:21:38 2017 +0000"
      },
      "message": "Merge \"AppWidgetManager: direct add widget support.\""
    },
    {
      "commit": "2bb0099b0a0703dc70f1e3a22d4b85a6f2efdf11",
      "tree": "f3559ef651d9f6e91295edf54314e8f75842a0ca",
      "parents": [
        "3eca29e119cf3b1a3c2f214e27478137f97befe8",
        "c53fae1001035a042aaae00d337f730a09de4566"
      ],
      "author": {
        "name": "Tao Bai",
        "email": "michaelbai@google.com",
        "time": "Wed Jan 04 18:08:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 04 18:08:28 2017 +0000"
      },
      "message": "Merge \"WebView: Add the definition of crash API.\""
    },
    {
      "commit": "3eca29e119cf3b1a3c2f214e27478137f97befe8",
      "tree": "0c1f1befc279a2407190731a3a297c3059ddb518",
      "parents": [
        "e5fb79bb2def5a17d158193c2e668224dc5ad5c1",
        "25b4602cdc9e3944bffefe3af59f810cfac40897"
      ],
      "author": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Wed Jan 04 17:50:05 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 04 17:50:08 2017 +0000"
      },
      "message": "Merge \"Expose RecommendationRequest.Builder as SystemApi.\""
    },
    {
      "commit": "d4cbb981c137c6144b9aab91b5ae731a63a2ba9c",
      "tree": "b1b4ab71a84ed48c09a435b0efaa73eb798c249a",
      "parents": [
        "7f6136ae03517221966fea43a6e14790fa6b6b7a",
        "a2bbfbcf8920ecec5700c1824b0436118cada5be"
      ],
      "author": {
        "name": "Wyatt Riley",
        "email": "wyattriley@google.com",
        "time": "Wed Jan 04 14:10:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 04 14:10:14 2017 +0000"
      },
      "message": "Merge \"Removing @removed methods and constants\""
    },
    {
      "commit": "25b4602cdc9e3944bffefe3af59f810cfac40897",
      "tree": "1d2ab0621f95c2db1abc62672c778d6cf3cf45c8",
      "parents": [
        "f8ced7790a6815ec6a57ba53ece409df26573439"
      ],
      "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 00:44:25 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\n"
    },
    {
      "commit": "8957f2ddda08e891475e64552ffa225ca2fccedb",
      "tree": "59edda77f107f6f992bcdd1f02c30d8ff8425696",
      "parents": [
        "196bbe7a4b0640a62bd0595ce8b89b95817e8106"
      ],
      "author": {
        "name": "Vadim Tryshev",
        "email": "vadimt@google.com",
        "time": "Wed Dec 21 19:22:26 2016 -0800"
      },
      "committer": {
        "name": "Vadim Tryshev",
        "email": "vadimt@google.com",
        "time": "Tue Jan 03 18:18:36 2017 -0800"
      },
      "message": "Introducing teleportation between sections.\n\nThe key combos differ from the ones in the spec because key combos\nincluding Meta key don’t get delivered to apps. To fix this, I’ll\nimplement necessary plumbing after the feature freeze. Meanwhile,\ntemporary combos are used.\n\nGiven that the section and cluster teleportation have a lot in common,\nI’m not introducing new methods, but adding a param to the cluster\nteleportation ones. I should have also changed the names to something\nlike findNextKeyboardNavigationCluster \u003d\u003e findNextFocusGroup, where\n“FocusGroup” is a generalized name for clusters and sections.\nHowever, that name depends on b/33708251, so I’m not doing it now. I\ndon’t rename existing identifiers, and using “focusGroup” for new\nones. Admittedly, this creates mess that will be resolved based on\nthe outcome of the mentioned bug.\n\nBug: 32151632\nTest: Manual checks; CTS are coming after feature freeze\nChange-Id: I01b5d6e5a9689b8f643fa4af695d2ce61265f374\n"
    },
    {
      "commit": "7429c4feded929d508e4f27b8b64bc3c011bb546",
      "tree": "638e5ee32290d405d5540dcba14edfbe3c30a246",
      "parents": [
        "c71f5b34ce5e006f078d6e66a17b2a7508776f63",
        "6c929621536664d6c014b177e7e6983f1fbd67ac"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 03 22:39:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 03 22:39:06 2017 +0000"
      },
      "message": "Merge \"Create ScoredNetwork Badging API changes.\""
    },
    {
      "commit": "87a563e0707bb7e2be034c195e9827dfe3451cfd",
      "tree": "f2767172e5276c264363127615a09effe7c0a1c4",
      "parents": [
        "564e802a7ce1c429c11ad1f557c1abb40e87c396"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Sun Jan 01 19:42:45 2017 -0800"
      },
      "committer": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Tue Jan 03 13:28:56 2017 -0800"
      },
      "message": "AppWidgetManager: direct add widget support.\n\nTest: Manual test and all the unit tests:\nadb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests\n... to test9\nadb shell am instrument -e class com.android.server.appwidget.AppWidgetServiceImplTest -w com.android.frameworks.servicestests\n\nBug 32404406\nChange-Id: Icd6d4cbd25d9cdf4508da725d95d6401cc3a46a7\n"
    },
    {
      "commit": "6c929621536664d6c014b177e7e6983f1fbd67ac",
      "tree": "9d1dde790f48ef210a0e26f10054a6ab27ba1197",
      "parents": [
        "2c80a03823d114f968039fb5d09948d76352e03c"
      ],
      "author": {
        "name": "Sundeep Ghuman",
        "email": "sghuman@google.com",
        "time": "Fri Dec 16 13:30:45 2016 -0800"
      },
      "committer": {
        "name": "Sundeep Ghuman",
        "email": "sghuman@google.com",
        "time": "Thu Dec 29 12:47:45 2016 -0800"
      },
      "message": "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\nBug: 33457699\nTest: Unit tests\nChange-Id: If9e8a60c4670b51c395fb501f55ddece8a72981e\n"
    },
    {
      "commit": "0c8855d0f27ae2b88626d70e64075cce290ff638",
      "tree": "b0ab14e8ab63e3f66fe5467bac8b8d3b433cd534",
      "parents": [
        "17f739d924667cc56b2ecb38f93bb38eccdfcf38"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Dec 29 10:33:29 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Dec 29 12:09:15 2016 -0800"
      },
      "message": "New AudioAttributes usage for \"assistant\" use case\n\nDefine USAGE_ASSISTANT for new use cases involving audio help,\n  query responses and more.\n\nTest: make offline-sdk-docs\nBug: 30947943\n\nChange-Id: Idf93ce4c0f014dbc9b491244cbad9e643cc03413\n"
    },
    {
      "commit": "72f5e08ce2efe5d6e9135e31059849bd8be7a659",
      "tree": "3f21e05f894dc4f943b09c793d535dca44dd981a",
      "parents": [
        "6e8f439eb9b627e77012cfc3cdb90e6619225994"
      ],
      "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": "Wed Dec 28 12:31:30 2016 -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: I4f163fb965be6a25201bc3ba5e0032e7652c8f20\n"
    },
    {
      "commit": "7231d44467e895af4249e9bffe82cb1c249a2a7a",
      "tree": "285d2edd85312a84125b63bf2ae5e07dfe5446da",
      "parents": [
        "21635d67f954a5e39c359627fa78ff54d8791132"
      ],
      "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 Dec 28 10:26:59 2016 -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: I12bdba9694fdf2a2e39990736265919edafd865e\n"
    },
    {
      "commit": "ca9eed431525a98e781e3ba99abce6612ae972db",
      "tree": "7103c898a62593b5ca0b8aa7f7d99faa01297be8",
      "parents": [
        "f963b74e12744d6ef3e7276446bd719ace93169c",
        "485d6dec93579d2186a3ecd57c2b5af4ce8e622b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 28 00:33:12 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 28 00:33:17 2016 +0000"
      },
      "message": "Merge \"Add VisualVoicemailService\""
    },
    {
      "commit": "807313917f269be8d2ed0ba6942775c3b85ba3a9",
      "tree": "16db4de86ed7ab03972cabd1dd309add96b52847",
      "parents": [
        "2c80a03823d114f968039fb5d09948d76352e03c"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Dec 26 15:20:21 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Dec 26 16:03:22 2016 -0800"
      },
      "message": "New player type values for Open SL ES\n\nDefine new player types to describe the two types of AudioPlayer\n  in OpenSL ES: those with a buffer queue source, those that\n  play from a given URI or FD.\nAdd a warning in the interface description of AudioService\n  that changes should be reflected in the native interface too.\n\nTest: make, NDK tests to follow\nBug: 30955183\nChange-Id: I7b530ea6e3b13f238f662ce8b9612e7df574a9c5\n"
    },
    {
      "commit": "a2bbfbcf8920ecec5700c1824b0436118cada5be",
      "tree": "d1634fd6ff7935ded8eb5b7dc46d5c818114ebbb",
      "parents": [
        "5721e75a0a2b18a0a6b139360afaf5247b93827d"
      ],
      "author": {
        "name": "Wyatt Riley",
        "email": "wyattriley@google.com",
        "time": "Mon Dec 19 18:53:09 2016 -0800"
      },
      "committer": {
        "name": "Wyatt Riley",
        "email": "wyattriley@google.com",
        "time": "Fri Dec 23 13:18:16 2016 -0800"
      },
      "message": "Removing @removed methods and constants\n\nSeveral methods, plus a few hashmaps,\nhelper classes, and some constants\nexisted for an early builds\nof NYC, and were marked @removed, and are\nhere finally removed.\n\nBug: 28208055\nChange-Id: If650d83c0dc573e922342d09360ecf9a5bb0c98a\nFixes: 28208055\nTest: GMaps, AndroiTS GPS Test, GnssLogger \u0026 CtsVerifier\n      All run fine on a Pixel\n"
    },
    {
      "commit": "c0a0c2bdd1bd390a6fd71b7ee2c2731b59d47e0a",
      "tree": "91c38b23f1d26d58aeff1306f8623e15d7696840",
      "parents": [
        "0464e07159e0fa1e673b85b14faa0cf7b9f70152",
        "292a6a4e9934a94eea97b018befde3baed895f7d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Dec 22 22:08:17 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 22 22:08:21 2016 +0000"
      },
      "message": "Merge \"Notification of playback activity\""
    },
    {
      "commit": "6318e36a5254554c892499bc3fab7f54dd09ef25",
      "tree": "e18e74f4259191b1c542ea6fd0a606f2065eeb9d",
      "parents": [
        "42bf224ed429d2cda1aa0368bf909b19228e804b",
        "01d8c49e040b223d2c4961eb65b5e00f1a967ecf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 22 21:11:35 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 22 21:11:38 2016 +0000"
      },
      "message": "Merge \"Restoring last focused view when teleporting to a cluster.\""
    },
    {
      "commit": "4bd76266a4ef35914982be3f8330739f67496289",
      "tree": "449d35e1d347d80972621506071873a3ff8536dd",
      "parents": [
        "dfd504924642c23ac105c2f75a1531eaceda22bc",
        "6e4d2890de20b3ea13f0e48fffa5f926f7e5553f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 22 20:01:56 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 22 20:01:57 2016 +0000"
      },
      "message": "Merge \"Add simplified_network_settings_bool to CarrierConfig.\""
    },
    {
      "commit": "96ca2c5f02d1b45e6cf6b3f62ea686a179ce4d56",
      "tree": "b9c85ec586406dff11f4c15b6e0bcf91695cabfa",
      "parents": [
        "62d80aa09ff8ba58e4ba513ec21614d501602be1",
        "3b496a28a0054dcd9153a3a50838535bdcf6f7b0"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Dec 22 18:25:19 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 22 18:25:22 2016 +0000"
      },
      "message": "Merge \"Add attribute, theme values for error text color\""
    },
    {
      "commit": "37d37f0fa9f033d74b3c8d01bd0a0538359e2071",
      "tree": "da7af7a9c561fe7708a3506081c1fa421df6ce92",
      "parents": [
        "c745b488857529e7c2cd7c8a32c2e963a53cc96b",
        "e080da9ee027fcd030aa92ea26fd0ed9f031674f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 22 09:19:09 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 22 09:19:13 2016 +0000"
      },
      "message": "Merge \"Settings recovery support\""
    },
    {
      "commit": "6e4d2890de20b3ea13f0e48fffa5f926f7e5553f",
      "tree": "58bcaad7ed49e1fc288b18ab54a4164cb2e83c9a",
      "parents": [
        "7fcd3fe24bd5370904e99a4eb6b0af5402117184"
      ],
      "author": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Wed Dec 21 20:17:08 2016 -0800"
      },
      "committer": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Wed Dec 21 20:17:45 2016 -0800"
      },
      "message": "Add simplified_network_settings_bool to CarrierConfig.\n\nSome carriers want to further simplify network settings based on a\nvariety of wifi or cellular related bundles. Expose a config a\ncarrier might set to allow SysUi, Settings and platform to adjust.\n\nBUG: 33111931\nTest: runtest carrierconfig-unit\nChange-Id: I35a7ef15bbba23cf9e0380432fc001804c7e1804\n"
    },
    {
      "commit": "01d8c49e040b223d2c4961eb65b5e00f1a967ecf",
      "tree": "1eeb7f7bdb1753acb209ccb10597dc36aa9bf9af",
      "parents": [
        "e298756bf819cea685bf843189800b6a5fda2466"
      ],
      "author": {
        "name": "Vadim Tryshev",
        "email": "vadimt@google.com",
        "time": "Thu Dec 15 11:33:15 2016 -0800"
      },
      "committer": {
        "name": "Vadim Tryshev",
        "email": "vadimt@google.com",
        "time": "Wed Dec 21 17:41:33 2016 -0800"
      },
      "message": "Restoring last focused view when teleporting to a cluster.\n\nThe UX spec requires each cluster to remember which view was last\nfocused in it, and focus on it upon the teleportation to this\ncluster.\n\nThis CL implements saving and restoring the focus.\nIt also introduces a public API so that an app could switch to a\ncluster as if it was teleported to.\n\nBug: 32151632\nTest: Manual checks; CTS are coming after feature freeze.\nChange-Id: I0dc816776386015a7f1235f93e3dd9c03dfffcd6\n"
    },
    {
      "commit": "e080da9ee027fcd030aa92ea26fd0ed9f031674f",
      "tree": "5a8def89ed43b5425c0c7a80f8fd338566d32c54",
      "parents": [
        "331b8156c7a788dab6fdd9c97f1b3bf6f5298005"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Dec 21 17:10:35 2016 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Dec 22 01:14:28 2016 +0000"
      },
      "message": "Settings recovery support\n\nThis change allows the system to perform iterative reset\nof changes to settings in order to recover from bad a\nstate such as a reboot loop.\n\nTo enable this we add the notion of a default value. The\ndefault can be set by any package but if the package that\nset it is a part of the system, i.e. trusted, then other\npackages that are not a part of the system, i.e. untrusted,\ncannot change the default. The settings setter APIs that\ndo not take a default effectively clear the default. Putting\na setting from a system component always makes it the\ndefault and if the package in not trusted then value is\nnot made the default. The rationale is that the system is\ntested and its values are safe but third-party components\nare not trusted and their values are not safe.\n\nThe reset modes from the least intrusive are: untrusted\ndefaults - reset only settings set by untrusted components\nto their defaults or clear them otherwise; untrusted clear\n- clear settings set by untrusted components (or snap to\ndefault if provided by the system); trusted defaults - reset\nall settings to defaults set by the system or clear them\notherwise.\n\nAlso a package can reset to defaults changes it made to\nthe global and secure settings. It is also possible to\nassociate a setting with an optional token which can then\nbe used to reset settings set by this package and\nassociated with the token allowing parallel experiments\nover disjoint settings subsets.\n\nThe default values are also useful for experiment (or\nmore precisely iterative tuning of devices\u0027 behavior in\nproduction) as the stable configuration can be set to\nthe \"graduated\" safe defaults and set the values to the\nexperimental ones to measure impact.\n\nTest: tests pass\n\nChange-Id: I838955ea3bb28337f416ee244dff2fb1199b6943\n"
    },
    {
      "commit": "9d2b2dbce73f9686ac53de51c38eefdcf1aba3c2",
      "tree": "2314e40811ab765aba9dd51ffaa7952c9d58749c",
      "parents": [
        "e0bf3393f0712a56c25e270589bece2912e70666",
        "836f9249b7b34fa1655a3e0720bff32480a7dc03"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 22 00:24:19 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 22 00:24:22 2016 +0000"
      },
      "message": "Merge \"Unihiding REFRESH_SUPPORTED and ContentProviderClient#refresh.\""
    },
    {
      "commit": "3b496a28a0054dcd9153a3a50838535bdcf6f7b0",
      "tree": "b03ca1ab4ee7b872ab76a3173f2d8ef6c2f1e8cb",
      "parents": [
        "d0abcbeb3b96a09a1e8962504c0b9f4a47aa0d7c"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Dec 21 17:27:28 2016 -0500"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Dec 21 17:27:28 2016 -0500"
      },
      "message": "Add attribute, theme values for error text color\n\nThere are currently no clients of this attribute, but that\u0027s coming in\na later CL.\n\nBug: 31440308\nTest: n/a theme only\nChange-Id: I18a06776d648750638f83ad10566d318d8ef7dd0\n"
    },
    {
      "commit": "292a6a4e9934a94eea97b018befde3baed895f7d",
      "tree": "ccef5b540cc0d4fcdde69ef86047a71462ee7681",
      "parents": [
        "fe9a2a799f0f388c7c531454b8ec964ed8497499"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Dec 01 08:32:15 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Dec 21 13:58:08 2016 -0800"
      },
      "message": "Notification of playback activity\n\nAudioService keeps track of status of implementations of PlayerBase.\nAudioService\u0027s PlaybackActivityMonitor maintains a list of\n  playback configurations for each PlayerBase, and a list\n  of clients that want to receive updates about the playback.\nPlayback activity clients can query the playback configuration\n  of the system through AudioManager, or register a callback\n  for updates. For clients with MODIFY_AUDIO_ROUTING permission\n  (system), the playback configurations contain more information\n  about each player (player type, uid, pid, state), and can see\n  all players, not just the \"active\" ones. The act of stripping\n  off data about the players that is not supposed to be seen\n  by non-system clients, is referred to as \"anonymization\". It\n  is implemented in system server, so no system data is ever\n  sent to playback activity clients without system permission.\nMore information about the AudioPlaybackConfiguration is\n  available in the SystemApi (uid, pid, player type, player state).\n\nTest: run cts -m CtsMediaTestCases -t android.media.cts.AudioPlaybackConfigurationTest\nBug: 30955183\n\nChange-Id: I85997594c0378216419f5f0fdaa0714996fd3573\n"
    },
    {
      "commit": "7f41c150c32ac3199a81b3a63116e8dd6f69fa18",
      "tree": "163cd7d78f2f999686c4aeaeae491083fe29e320",
      "parents": [
        "13d0a6bfbbaf231c2c01aa02048009b6b3cfb529",
        "baff400fa5a93d157934818982fcf534327f9830"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Dec 21 21:15:39 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 21 21:15:45 2016 +0000"
      },
      "message": "Merge \"Add badging support for channels.\""
    },
    {
      "commit": "baff400fa5a93d157934818982fcf534327f9830",
      "tree": "a723390fca22583b8baee1fa9e288ba8736fbc61",
      "parents": [
        "059a60b83dcd0293ce762c11e6bb12893d303045"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Dec 15 11:34:26 2016 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Dec 21 21:12:23 2016 +0000"
      },
      "message": "Add badging support for channels.\n\nIn this iteration badges are a user opt in feature.\nKnown issue: all listeners will receive \u0027badge only\u0027 notifications.\n\nTest: runtest systemui-notification\n\nChange-Id: Ic7450bf4de5351cfdc72bd96ec946fe6e035035c\n"
    },
    {
      "commit": "836f9249b7b34fa1655a3e0720bff32480a7dc03",
      "tree": "7efac6d9d923e7fc31949a98746ee806e0082d9c",
      "parents": [
        "75e7b8c9ee3112fabfc2bd84636c111305a1291f"
      ],
      "author": {
        "name": "Ben Lin",
        "email": "linben@google.com",
        "time": "Wed Dec 21 11:45:03 2016 -0800"
      },
      "committer": {
        "name": "Ben Lin",
        "email": "linben@google.com",
        "time": "Wed Dec 21 11:45:33 2016 -0800"
      },
      "message": "Unihiding REFRESH_SUPPORTED and ContentProviderClient#refresh.\n\nTest: Only unhiding previously hidden methods.\nChange-Id: Id1731b64b86760d3249855d685d8cb83721596fc\n"
    },
    {
      "commit": "75e7b8c9ee3112fabfc2bd84636c111305a1291f",
      "tree": "a8dde8fbc35def2a0c871ca3f89f2a6d7e88d4d8",
      "parents": [
        "7fcd3fe24bd5370904e99a4eb6b0af5402117184",
        "f361f2fc89d1724be854a9e0ea2fb5d3930e9a8d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Wed Dec 21 19:28:01 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 21 19:28:05 2016 +0000"
      },
      "message": "Merge \"Finish up API for missing content:// flags.\""
    },
    {
      "commit": "f8efc667734b027165f755604b3430dec783777f",
      "tree": "31370bd94437e79df5da9d2bcedf86818b2d67ed",
      "parents": [
        "4f596dc2fe3847430efff6f7c57421414c8334e0",
        "6a34e5678089f9870ea0f0ced9c17c684a5d0a33"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Wed Dec 21 18:49:26 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 21 18:49:30 2016 +0000"
      },
      "message": "Merge \"Relax protected broadcast checks for shell.\""
    },
    {
      "commit": "1bf4a521443543779afbf540709244eb1c736bea",
      "tree": "4cd617b956ef69122e401a68b7c167994884fce8",
      "parents": [
        "faf27d2036f670c1ca913f2411aae6b2cdf2068c",
        "457608986ca2e44cbe1677523d1892f1d8c8f985"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Dec 21 18:45:44 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 21 18:45:48 2016 +0000"
      },
      "message": "Merge \"Revert \"Settings recovery support\"\""
    },
    {
      "commit": "e7b416e4ed3338e19a4096b32130ad12b0cdc328",
      "tree": "61268eeae7c5d067cca8678a5c4e1be27c72bbc4",
      "parents": [
        "f41d429ce7c8a4ba2118ca5e64d459935539b8df",
        "bd036d827d6b8948d77908c75a1bdb1c8970ee90"
      ],
      "author": {
        "name": "Ben Lin",
        "email": "linben@google.com",
        "time": "Wed Dec 21 18:39:46 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 21 18:39:51 2016 +0000"
      },
      "message": "Merge \"Add DocumentsContract#ACTION_DOCUMENT_SETTINGS and Documents#FLAG_SUPPORTS_SETTINGS.\""
    },
    {
      "commit": "457608986ca2e44cbe1677523d1892f1d8c8f985",
      "tree": "d034d135400f0ab526245d3428a6fc859da6332a",
      "parents": [
        "aa31697424064f823019c068d66fac704e5a2fc1"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Dec 21 17:54:31 2016 +0000"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Dec 21 18:26:21 2016 +0000"
      },
      "message": "Revert \"Settings recovery support\"\n\nThis reverts commit aa31697424064f823019c068d66fac704e5a2fc1.\n\nFixes: 33799277\nChange-Id: I438e97c6a81512c673f20f6a01d3b9715c2dbf8a\n"
    },
    {
      "commit": "f361f2fc89d1724be854a9e0ea2fb5d3930e9a8d",
      "tree": "08420ff5e4cf120609432126ce9b92d92730b3be",
      "parents": [
        "6a34e5678089f9870ea0f0ced9c17c684a5d0a33"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 21 10:48:42 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 21 10:48:47 2016 -0700"
      },
      "message": "Finish up API for missing content:// flags.\n\nFeature is already built under the hood, but it needs it\u0027s own public\nStrictMode API so it can be independently enabled.\n\nTest: builds, boots\nBug: 32447617\nChange-Id: I3c0c6d62dd36aaf25f30e0ef8e0e7b40cf32c6d2\n"
    },
    {
      "commit": "6a34e5678089f9870ea0f0ced9c17c684a5d0a33",
      "tree": "31f0c8f1413277777c13197e5ed37c515c5dd108",
      "parents": [
        "d0abcbeb3b96a09a1e8962504c0b9f4a47aa0d7c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 21 09:56:00 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 21 10:13:53 2016 -0700"
      },
      "message": "Relax protected broadcast checks for shell.\n\nOn userdebug/eng devices, the shell can run as non-shell UIDs, so\ndefine a flag to identify broadcasts coming from the shell, and\ndon\u0027t yell if they\u0027re non-protected.\n\nTest: builds, boots, root shell can send broadcasts\nBug: 32369665\nChange-Id: I5f55930ee434cb8318c86aaf05eba3c59a326694\n"
    },
    {
      "commit": "c8ae220ea574be60c98e40650fa245c31c04d21c",
      "tree": "b596af0e6e51cc0171401f35f92ed03af10a7da4",
      "parents": [
        "c4946d4a0007e35866de1ae850423c43d7e37995",
        "e886405dbee28726eca4d4fcb5dd73a6aaa68c12"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Dec 21 16:17:18 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 21 16:17:20 2016 +0000"
      },
      "message": "Merge \"Expose hidden constant.\""
    },
    {
      "commit": "0e4b9cd97d3794b0e1cb7da41d5955ab97907520",
      "tree": "c668f24bf417d3d9060b36920170fa55c5b236ea",
      "parents": [
        "c88a1919b3c38ddf09cbcdc0204005a537f73652",
        "f9d47b79b2a307da1a16a8e0c16b3f9847ff5414"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 20 22:30:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 20 22:30:35 2016 +0000"
      },
      "message": "Merge \"Expose ScanResult#untrusted as a @SystemApi.\""
    },
    {
      "commit": "c88a1919b3c38ddf09cbcdc0204005a537f73652",
      "tree": "1db1a16e1a5f77d27a79c56ff085a0626f4968b7",
      "parents": [
        "8ab67096fe2e6ea86cec4098bfeece928cf9c063",
        "aa31697424064f823019c068d66fac704e5a2fc1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 20 22:28:47 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 20 22:28:49 2016 +0000"
      },
      "message": "Merge \"Settings recovery support\""
    },
    {
      "commit": "e886405dbee28726eca4d4fcb5dd73a6aaa68c12",
      "tree": "6a846d055f84fe891a4dcbf4cae5a34ed7fe2aa8",
      "parents": [
        "5548196fe5d85d46227d50391472c8e183d4a754"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Dec 20 16:13:10 2016 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Dec 20 22:07:41 2016 +0000"
      },
      "message": "Expose hidden constant.\n\nChange-Id: If86f23ada967047dc63256d9c2675e1c2b229e48\nFixes: 29103412\nTest: n/a\n"
    },
    {
      "commit": "917d048ddead3734e3705ce716e53a877569d1d7",
      "tree": "e2bf277202b90013179f602301368906994b1d10",
      "parents": [
        "7a2d07f082300628f64d6d77caf7f92528a5f467",
        "9ab43212ca836f8d90e8c84c15563320aef6a624"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Dec 20 21:31:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 20 21:31:36 2016 +0000"
      },
      "message": "Merge \"Adds custom call forwarding block while roaming carrier config key\""
    },
    {
      "commit": "aa31697424064f823019c068d66fac704e5a2fc1",
      "tree": "f8541cf3b9891a9ec2eb62dc25b342b2ffc534d8",
      "parents": [
        "331b8156c7a788dab6fdd9c97f1b3bf6f5298005"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Nov 07 12:24:06 2016 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Dec 20 13:05:09 2016 -0800"
      },
      "message": "Settings recovery support\n\nThis change allows the system to perform iterative reset\nof changes to settings in order to recover from bad a\nstate such as a reboot loop.\n\nTo enable this we add the notion of a default value. The\ndefault can be set by any package but if the package that\nset it is a part of the system, i.e. trusted, then other\npackages that are not a part of the system, i.e. untrusted,\ncannot change the default. The settings setter APIs that\ndo not take a default effectively clear the default. Putting\na setting from a system component always makes it the\ndefault and if the package in not trusted then value is\nnot made the default. The rationale is that the system is\ntested and its values are safe but third-party components\nare not trusted and their values are not safe.\n\nThe reset modes from the least intrusive are: untrusted\ndefaults - reset only settings set by untrusted components\nto their defaults or clear them otherwise; untrusted clear\n- clear settings set by untrusted components (or snap to\ndefault if provided by the system); trusted defaults - reset\nall settings to defaults set by the system or clear them\notherwise.\n\nAlso a package can reset to defaults changes it made to\nthe global and secure settings. It is also possible to\nassociate a setting with an optional token which can then\nbe used to reset settings set by this package and\nassociated with the token allowing parallel experiments\nover disjoint settings subsets.\n\nThe default values are also useful for experiment (or\nmore precisely iterative tuning of devices\u0027 behavior in\nproduction) as the stable configuration can be set to\nthe \"graduated\" safe defaults and set the values to the\nexperimental ones to measure impact.\n\nTest: tests pass\n\nChange-Id: I8c23b145d4f8ee0de2f29dedaa4641ac59343d6a\n"
    },
    {
      "commit": "52d6b6a041bcc2f17de00ff132e5dbcff979e466",
      "tree": "3de2be74ca5b0fd163e5ccf592a52c22cc9bc2cd",
      "parents": [
        "c6fca353cf76a41237837024f22cd8ba1feeade4",
        "14965357b7e5b1c6ac8334dc83a06e603c0e2740"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 20 20:39:55 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 20 20:39:58 2016 +0000"
      },
      "message": "Merge \"Make WifiConfiguration#meteredHint a @SystemApi\""
    },
    {
      "commit": "f9d47b79b2a307da1a16a8e0c16b3f9847ff5414",
      "tree": "06362a1b01f09cbccb8311d765de5a9b06e7ecce",
      "parents": [
        "6fc806b56ce7542c7fb223f5ac8784f3cf6c59b1"
      ],
      "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": "Tue Dec 20 12:22:08 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\n"
    },
    {
      "commit": "9ab43212ca836f8d90e8c84c15563320aef6a624",
      "tree": "637a52cdee602ead5dd5433f616e5135659ae829",
      "parents": [
        "a001abb670b45174621b54e84af58052b137235c"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Mon Dec 12 14:57:37 2016 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Dec 20 19:14:01 2016 +0000"
      },
      "message": "Adds custom call forwarding block while roaming carrier config key\n\nAdds support for supplying custom call forwarding prefixes in the carrier\nconfig. When a prefix supplied in the carrier config is matched to the number\nbeing dialed, we do not complete the call and instead show an error message\non the dialer UI.\n\nTest: Manual\nBug: 30458052\nChange-Id: I3149a565b0fd631d69ab0c0f27be509237b80177\n"
    },
    {
      "commit": "c63d5b0c74ad7330d9893640cdfce0e03f91c0f1",
      "tree": "6bca3895de0ee46780b9fedc4bb1c5a243a912b0",
      "parents": [
        "e9ff480804b82ca8768ebca6d07c52c95a622e67"
      ],
      "author": {
        "name": "Sundeep Ghuman",
        "email": "sghuman@google.com",
        "time": "Wed Dec 07 13:32:33 2016 -0800"
      },
      "committer": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Tue Dec 20 11:02:29 2016 -0800"
      },
      "message": "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\nBug: 33049302\nTest: Unit tests\nChange-Id: Ia3fea2197d7c211a2313fced8713d79d8d5f4f6e\nTopic: ScoredNetworkRankingScore\n"
    },
    {
      "commit": "14965357b7e5b1c6ac8334dc83a06e603c0e2740",
      "tree": "2ade985f3eac5b2812a1712289526a3ca6ca18d7",
      "parents": [
        "b5670252ae4be2cfbc08edcdb02abdcc2ef6cfa8"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Tue Dec 20 11:00:34 2016 -0800"
      },
      "committer": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Tue Dec 20 11:00:34 2016 -0800"
      },
      "message": "Make WifiConfiguration#meteredHint a @SystemApi\n\nThis allows NetworkRecommendationProviders to set this field on\nreturned WifiConfigurations.\n\nTest: make\nBug: 33760009\nChange-Id: I4d34272a1fb8d88bcc56cf4f00d8beadd06ac603\n"
    },
    {
      "commit": "cc7a7e2c41160591704d8d1b812c91bfeafa6bc2",
      "tree": "59fc99e297092fc2dd8777ede16024c244cb7481",
      "parents": [
        "86cdcd33dfb0d143e11a03d545661afd9e69b412",
        "facdb6fa76858c61b374934c505c5d0c59b30a0e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 19 20:59:38 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 19 20:59:40 2016 +0000"
      },
      "message": "Merge \"Remove \"final\" from ResultCallback.\""
    },
    {
      "commit": "4e46959c575f12211540d8b1c31673cf0159a7ad",
      "tree": "35ec185b81c3589838077b21b2d41fca41f82cbb",
      "parents": [
        "045d4786a1623a2b1e88182481bbb668b711b103",
        "f7e79d6eb3729b0555d1c88054f80467fc6c5303"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sat Dec 17 01:50:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 17 01:50:52 2016 +0000"
      },
      "message": "Merge \"Remove RGBX_FP16 format\""
    },
    {
      "commit": "485d6dec93579d2186a3ecd57c2b5af4ce8e622b",
      "tree": "1123513730990cda486f19523329e773e86f1787",
      "parents": [
        "aac3cba5311622061d648e92bf385da2087ce18e"
      ],
      "author": {
        "name": "Ta-wei Yen",
        "email": "twyen@google.com",
        "time": "Fri Dec 16 12:17:30 2016 -0800"
      },
      "committer": {
        "name": "Ta-wei Yen",
        "email": "twyen@google.com",
        "time": "Fri Dec 16 12:17:30 2016 -0800"
      },
      "message": "Add VisualVoicemailService\n\nVisualVoicemailService can be implemennted by the default dialer to\nprovide a visual voicemail client similar to the OMTP visual voicemail\nspec.\n\nOther APIs such as the SMS filter and hidden text SMS sending are made\npublic and consolidated into the service interface.\n\nTest: make. CTS tests in a follow up CL\nChange-Id: Ib5e9aa15fc098f4c13b15e5dbecf9ab646e0e400\n"
    },
    {
      "commit": "bd036d827d6b8948d77908c75a1bdb1c8970ee90",
      "tree": "855494904b2542054b0b2ddc7968bcc1018a34a2",
      "parents": [
        "5fb5881dbd08f6a14a5b8caa482d4a61776f9bcb"
      ],
      "author": {
        "name": "Ben Lin",
        "email": "linben@google.com",
        "time": "Thu Dec 15 15:41:08 2016 -0800"
      },
      "committer": {
        "name": "Ben Lin",
        "email": "linben@google.com",
        "time": "Fri Dec 16 11:41:16 2016 -0800"
      },
      "message": "Add DocumentsContract#ACTION_DOCUMENT_SETTINGS and Documents#FLAG_SUPPORTS_SETTINGS.\n\nTest: Constants introduction only, no new methods.\n\nBug: 33668998\nChange-Id: Ie322acb931d9267306ec67c99f013f4118e92cd0\n"
    },
    {
      "commit": "cf4d807481255116e23442ce5226d2ced3361943",
      "tree": "7260e22049f5c9071796b12856345c9ef0a5f346",
      "parents": [
        "6a435500d40f89849639cab2b9a55ae57e96837e",
        "9505a6552764461c22ce48f1ac13d025d23e1579"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 16 19:02:03 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 19:02:06 2016 +0000"
      },
      "message": "Merge \"Add new RGBA_F16 bitmap config\""
    },
    {
      "commit": "c53fae1001035a042aaae00d337f730a09de4566",
      "tree": "98d6706d41b850c4206d2b1d1c91f79220d3398b",
      "parents": [
        "03c403d273e1c265b141504a44da22bae48a4493"
      ],
      "author": {
        "name": "Tao Bai",
        "email": "michaelbai@google.com",
        "time": "Wed Nov 16 15:21:40 2016 -0800"
      },
      "committer": {
        "name": "Tao Bai",
        "email": "michaelbai@google.com",
        "time": "Fri Dec 16 10:33:37 2016 -0800"
      },
      "message": "WebView: Add the definition of crash API.\n\nBug: 30824898\nTest: There is no test yet, this patch just add the defintion of API,\n and make it easy to work on chromium side.\n\nChange-Id: I7fdaf894f18cc8bad8e84465e4a0390b22f8bba8\n"
    },
    {
      "commit": "f7e79d6eb3729b0555d1c88054f80467fc6c5303",
      "tree": "b20b133446d694a28cc23e00fa2a981a21b18eb6",
      "parents": [
        "9505a6552764461c22ce48f1ac13d025d23e1579"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Dec 16 10:23:21 2016 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Dec 16 10:23:21 2016 -0800"
      },
      "message": "Remove RGBX_FP16 format\n\nBug: 32984164\nTest: compile\nChange-Id: I22ffe0991d3c4add68317a0554dcac6a7ac56d12\n"
    },
    {
      "commit": "10e237e5c8a827d62f8aa21925abe6b3b86f5ab6",
      "tree": "094f8fbd71347eafc2c30f78828af9c06d4d12c6",
      "parents": [
        "e298756bf819cea685bf843189800b6a5fda2466",
        "1754d744a7a34731ffc07af1bc3dbfcb06864ab0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Fri Dec 16 18:19:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 18:19:50 2016 +0000"
      },
      "message": "Merge changes from topic \u0027incident_1\u0027\n\n* changes:\n  First checkin of incident reporting.\n  Add a native class to interact with DropBoxManager.\n"
    },
    {
      "commit": "9505a6552764461c22ce48f1ac13d025d23e1579",
      "tree": "8cd7b889674ada52f773a26fc6c5acaf20cb3649",
      "parents": [
        "de315b99dcaf7202898d6334570753ffee43c1f1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Dec 14 09:43:50 2016 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Dec 16 09:15:07 2016 -0800"
      },
      "message": "Add new RGBA_F16 bitmap config\n\nThis configuration uses 64 bits per pixel. Heach component is stored as a\nhalf precision float value (16 bits). Half floats can be decoded/encoded\nusing android.util.Half.\n\nRGBA_F16 bitmaps are used to decode wide-gamut images stored in 16 bit\nformats (PNG 16 bit for instance). aapt is currently not aware of PNG\n16 bits so such files must be placed in raw/ resource directories.\n\nThis first pass provides only partial drawing support with hardware\nacceleration. RGBA_F16 bitmaps are stored in linear space and need\nto be encoded to gamma space with the appropriate OETF to be rendered\nproperly on Android\u0027s current surfaces. They are however suitable for\nlinear blending. Full rendering support will be provided in a future\nCL (BitmapShaders might be a bit tricky to handle properly during\nshader generation).\n\nBug: 32984164\nTest: bit CtsGraphicsTestCases:android.graphics.cts.BitmapRGBAF16Test\n\nChange-Id: I328e6b567441a1b9d152a3e7be944a2cf63193bd\n"
    },
    {
      "commit": "bcdc5d748ed029ba14bd1be51f4a7983db9f6214",
      "tree": "901f82dd0bd74d215f939c1396124e865d4f0171",
      "parents": [
        "a38f3310f967acb41866823255e7b4deb0de08b5",
        "f5088c0d77b3c79ed06f77ec453810d112f0321a"
      ],
      "author": {
        "name": "Polina Bondarenko",
        "email": "pbond@google.com",
        "time": "Fri Dec 16 11:02:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 16 11:02:19 2016 +0000"
      },
      "message": "Merge \"Make TelephonyManager APIs public:\" am: 441bfc6718 am: 104a5c7a34 am: bab9a7e66e\nam: f5088c0d77\n\nChange-Id: Ic6db847259207210f000a3463928e97dbae1b4f8\n"
    },
    {
      "commit": "104a5c7a34dee108ff5c18a3619423971a10b7e0",
      "tree": "c6b69194323f4a432d765ea1bb093d6adab25f59",
      "parents": [
        "29d7284285196c8ea24daa8ab345f82a1bc2a333",
        "441bfc6718a5f8afdc26f5f13666e0b297c54d7b"
      ],
      "author": {
        "name": "Polina Bondarenko",
        "email": "pbond@google.com",
        "time": "Fri Dec 16 10:37:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 16 10:37:21 2016 +0000"
      },
      "message": "Merge \"Make TelephonyManager APIs public:\"\nam: 441bfc6718\n\nChange-Id: I968c8232c746027123beac6481161019e1dc64a5\n"
    },
    {
      "commit": "441bfc6718a5f8afdc26f5f13666e0b297c54d7b",
      "tree": "043d38765b54a36827e31b9e2f583c4d3784e1ee",
      "parents": [
        "541845908cc788b85025010438bae19dedcbad90",
        "a6dba0ab3546e07e2de9070a402faf4e01bf8d7a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 16 10:29:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 16 10:29:04 2016 +0000"
      },
      "message": "Merge \"Make TelephonyManager APIs public:\""
    },
    {
      "commit": "facdb6fa76858c61b374934c505c5d0c59b30a0e",
      "tree": "3222eaecb0fee5a6aa0928289af1c1656fc5349a",
      "parents": [
        "5fb5881dbd08f6a14a5b8caa482d4a61776f9bcb"
      ],
      "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": "Thu Dec 15 16:47:20 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\n"
    },
    {
      "commit": "23e0fd6cddcf425be32b216d9e5ca2b60379fa5f",
      "tree": "a4975d5af35dc39164f185aa8220d7191f49d6f9",
      "parents": [
        "984c73ba738824927b9261d5d128abe6d9b9cd9a",
        "17acc15ca4cbe9fa064bb3a665ec006805538e3d"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Fri Dec 16 00:07:54 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 00:07:58 2016 +0000"
      },
      "message": "Merge \"Add UI prompt for MMI code failure on 3gpp\""
    },
    {
      "commit": "5fb5881dbd08f6a14a5b8caa482d4a61776f9bcb",
      "tree": "7f55e53011deedd0432bece6b970e32680494ce9",
      "parents": [
        "0a5aeecf4eb3e37770a8d4462e26192e91179179",
        "a29eb98d9fba99528f0809c448daf2ddae37de7e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 15 22:52:27 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 15 22:52:30 2016 +0000"
      },
      "message": "Merge \"Adding support for PIP actions.\""
    },
    {
      "commit": "8102d91377367b9cd63d221da8354436815e7679",
      "tree": "74e3d8de9e375e1f068c9c05c0a5037149ee0c5e",
      "parents": [
        "ccc90afbbc3007884153b02e6b0a954acb80bac0",
        "01b0c9ed4e173f0c140a6575049e2964ae1a919f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 15 21:40:09 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 15 21:40:12 2016 +0000"
      },
      "message": "Merge \"Teleportation between clusters.\""
    },
    {
      "commit": "ab102379001b462cdbd60d2a19e34f76c43879aa",
      "tree": "dac51fa956021e466c42c43ed668622acaa5183a",
      "parents": [
        "9f8cc0aaeed8400c226e68892c7b9fd1d893f7c2",
        "c10f6693fc747025bd069a8471106503fc629d20"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Thu Dec 15 20:34:29 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 15 20:34:31 2016 +0000"
      },
      "message": "Merge \"Add EXTRA_PROVISIONING_DISCLAIMERS\""
    },
    {
      "commit": "01b0c9ed4e173f0c140a6575049e2964ae1a919f",
      "tree": "9c2e781c94e98b99672007ef9777baab2ddf8a3e",
      "parents": [
        "15589c36d7ca999b0870aba2ffec11f8651d1ee0"
      ],
      "author": {
        "name": "Vadim Tryshev",
        "email": "vadimt@google.com",
        "time": "Mon Nov 21 15:25:01 2016 -0800"
      },
      "committer": {
        "name": "Vadim Tryshev",
        "email": "vadimt@google.com",
        "time": "Thu Dec 15 11:51:27 2016 -0800"
      },
      "message": "Teleportation between clusters.\n\nPer the UX spec, key combos for quickly jumping between clusters are\nMeta+Right and Meta+Left. However, these events don’t get delivered\nto the app, and I’ll have to implement this plumbing after the\nfeature freeze. For now, the temporary combos are Ctrl-Shift-”-”\nand Ctrl-Shift-”+”.\n\nIn addition to the key combo processing, the CL adds public APIs for\nteleportation; they are similar to the API for moving the focus.\n\nBug: 32151632\nTest: Manually checking that teleportation works. CTS test will be\nadded after the feature freeze.\n\nChange-Id: I622156b9e4cc7c44e61623081d6d079bbe04fd02\n"
    },
    {
      "commit": "1754d744a7a34731ffc07af1bc3dbfcb06864ab0",
      "tree": "8596241d2c9ccfb1b1748e3a5a37f2befa155a87",
      "parents": [
        "de5b027d2cbd430ef5007911cd73084c081afaab"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Nov 21 17:51:35 2016 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Dec 15 11:23:05 2016 -0800"
      },
      "message": "First checkin of incident reporting.\n\nThere are a few major pieces here:\n\nincidentd\n---------\nThis daemon (started by init) runs and accepts incoming requests to take\nincident reports.  When prompted, it calls into various system services\nand fills in an IncidentProto data structure, and then writes the report\ninto dropbox.\n\nThe next steps for incidentd:\n    - Security review of SELinux policies. These will be a subset of\n      the dumpstate permissions.  Until this is done, incidentd is\n      not started at boot time.\n\nincident\n--------\nThis shell command calls into incidentd, and can initiate an incident\nreport and either capture the output or leave for dropbox.\n\nincident_report\n---------------\nThis host side tool can call adb shell with the correct parameters\nand also format the incident report as text.  This formatting code\nwas left of the device on purpose.  Right now it\u0027s pretty small, but\nas the number of fields increases, the metadata and code to do the\nformatting will start to grow.\n\nThe incident_report command also contains a workaround to let it\nwork before incidentd is turned on by default.  Right now, it is\nimplemented to call adb shell dumpsys \u003cservice\u003e --proto directly,\nwhereas in the future it will go through the full incidentd flow.\n\nincident_section_gen\n--------------------\nA build-time tool that generates a stripped down set of information\nabout the fields that are available.\n\nlibincident\n-----------\nThis library contains the code to connect to incidentd, and the\nmeta proto definitions that are used by the framework protos.\nThe basics are here now, but they are not fully fleshed out yet.\nThe privacy.proto file contains annotations that can go in the\nproto file that we will later use to filter which fields are\nuploaded, and which are used by local sources.  For example, a\ndevice in a test lab is safe to upload much much more information\nthan a real user.  These will share the same mechanism, but the\nuser\u0027s output will be filtered according to these annotations.\n\nframeworks/core/proto\n---------------------\nThese .proto files contain the definitions of the system\u0027s\noutput.  There is one master android.os.IncidentProto file that\nis the top level of an incident report, but some other services\n(notification, fingerprint, batterystats, etc) will have others\nthat are used directly by the logging mechanism.\n\nOther files which are shared by several of the services also go\nhere, such as ComponentName, Locale, Configuration, etc.  There\nwill be many more.\n\nThere is also a first iplementation of a dump method handling\n--proto in the fingerprint service.\n\nIncidentManager\n---------------\nThe java API to trigger an incident report.\n\nTest: Not written yet\nChange-Id: I59568b115ac7fcf73af70c946c95752bf33ae67f\n"
    },
    {
      "commit": "ab99c11c55c82e39a601a0b6f59005011f9fa109",
      "tree": "94f09bcaefeb06033dc86eca3ab51ea9bfa202a1",
      "parents": [
        "9cf894cd4ebf5cc6a07c7c7b9a2f9cd9298c1b11",
        "2d895c3efd625e09e9f2cc4d0c7131b34f52f154"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Dec 15 17:59:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 15 17:59:39 2016 +0000"
      },
      "message": "Merge \"ShortcutManager: direct pin shortcut support.\""
    },
    {
      "commit": "8732a47a9d94dd591212751ad256786d04d594ea",
      "tree": "4735bc5993af44718887be64581cf04c40dcab00",
      "parents": [
        "d1c0bfd58e8a1873583d2d0d5958d6c023e22e26",
        "4a02afbf04ccf7068cd9279d3e828834850c387d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 15 16:05:58 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 15 16:06:00 2016 +0000"
      },
      "message": "Merge \"Change notification shade ordering.\""
    },
    {
      "commit": "2cefcb3c560286bdf6b65a5921f03e3479668675",
      "tree": "50ff5374c4977285ac9b40a3eb4030493a231366",
      "parents": [
        "b775737e950014931d47234475ea2b204b4d5fe2",
        "73aeea2da24bf0d4eae0dc803df18d1266f85136"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 15 14:11:56 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 15 14:11:59 2016 +0000"
      },
      "message": "Merge \"Make master clear constants system APIs.\""
    },
    {
      "commit": "73aeea2da24bf0d4eae0dc803df18d1266f85136",
      "tree": "4673e1cedede11ad261157e4e61e023d96a974d0",
      "parents": [
        "860239ed4ab2ad613513608ff10c928c60b0562c"
      ],
      "author": {
        "name": "Lenka Trochtova",
        "email": "ltrochtova@google.com",
        "time": "Fri Nov 18 17:34:34 2016 +0100"
      },
      "committer": {
        "name": "Lenka Trochtova",
        "email": "ltrochtova@google.com",
        "time": "Thu Dec 15 13:25:09 2016 +0100"
      },
      "message": "Make master clear constants system APIs.\n\nThis is needed for unbundling of the OobConfig apk.\n\nTest: gts-tradefed run gts -m GtsGmscoreHostTestCases --test com.google.android.gts.devicepolicy.DeviceOwnerUserRestrictionTest#testFactoryReset_disallowFactoryReset\n\nBug: 32974361\n\nChange-Id: I71e7270bb4c3234ec0516382b18a2ca35aab4c81\n"
    },
    {
      "commit": "b07ff47024f7bc4b1d522c89ad1703ba012e68a6",
      "tree": "c464418ed0907d4df06deb00130802f23649585e",
      "parents": [
        "860239ed4ab2ad613513608ff10c928c60b0562c",
        "be12d9bfd3fedf01750444709fa57fa3bca8986e"
      ],
      "author": {
        "name": "Joachim Sauer",
        "email": "jsauer@google.com",
        "time": "Thu Dec 15 12:09:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 15 12:09:26 2016 +0000"
      },
      "message": "Merge \"API updated for ICU4J 58.1\" am: 9e3b160fc3 am: d20aebb443 am: c066d73c32\nam: be12d9bfd3\n\nChange-Id: I54236850068cd458725df9440b69a23fc8562c83\n"
    },
    {
      "commit": "d20aebb443d7dd9721b16513832430fcef09c57a",
      "tree": "904eac395ff6aa449fa8a68de2ed0a501121b5fe",
      "parents": [
        "43796396064b97f2746fcabb947be171bcd15a67",
        "9e3b160fc32486dfe2797095c2bcdba0441c003c"
      ],
      "author": {
        "name": "Joachim Sauer",
        "email": "jsauer@google.com",
        "time": "Thu Dec 15 11:24:52 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 15 11:24:52 2016 +0000"
      },
      "message": "Merge \"API updated for ICU4J 58.1\"\nam: 9e3b160fc3\n\nChange-Id: If8d8b9708217442bf23f092ef2e1bfd235926aff\n"
    },
    {
      "commit": "9e3b160fc32486dfe2797095c2bcdba0441c003c",
      "tree": "d1b971f1da4105045e449f1381cdfcdf98fa90ec",
      "parents": [
        "c2f9ae35e69a24b6f7170becfa273bb215a4340e",
        "c7bc38c5e53b37b345a4563cb88e8416fbd08220"
      ],
      "author": {
        "name": "Joachim Sauer",
        "email": "jsauer@google.com",
        "time": "Thu Dec 15 11:16:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 15 11:16:41 2016 +0000"
      },
      "message": "Merge \"API updated for ICU4J 58.1\""
    },
    {
      "commit": "48d25dc7bde9e4a4b3a45f73c26fa8649a7908dd",
      "tree": "22627f73d2f5e5a06587a3d7947372fb9744048c",
      "parents": [
        "1065734635cd87fe7fac60242c7634c30c3296a4",
        "8fb6addcbee93c57a2fc4e7073c13d502856aad5"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Dec 15 06:39:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 15 06:40:03 2016 +0000"
      },
      "message": "Merge \"MediaBrowser: Introduce the search API\""
    },
    {
      "commit": "04b2be42c38a26b84209103a2ef090500b410459",
      "tree": "2627ecebf86b9ac43618ff888588504be63ee4a5",
      "parents": [
        "0b2a66c72ea8f2ae252047e62d407c5c366dc1a9",
        "9559c20a3903f7cbaa6132be78c2f57d34ea262f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 14 22:20:54 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 22:20:58 2016 +0000"
      },
      "message": "Merge \"Deprecate android.text.AndroidCharacter\""
    },
    {
      "commit": "db10a2094c7e12ea0f30972a91ed892e085c836f",
      "tree": "e723dc58f5458bb0b75a90b49e55f933d87d41cd",
      "parents": [
        "7198ca863e57a04319efd376770a912b508d3e4a",
        "05c68d3940d5e8794744c10063b6e8d219321f07"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 14 20:15:24 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 20:15:27 2016 +0000"
      },
      "message": "Merge \"Remove accidentally exposed Geofencing classes.\""
    },
    {
      "commit": "a29eb98d9fba99528f0809c448daf2ddae37de7e",
      "tree": "07a42f846e9a8b86beadd68c017598b776cfdc80",
      "parents": [
        "7198ca863e57a04319efd376770a912b508d3e4a"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Dec 14 12:01:27 2016 -0800"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Dec 14 12:15:07 2016 -0800"
      },
      "message": "Adding support for PIP actions.\n\n- Introduced generic RemoteAction to represents an action\n  that can be made across processes with an icon and text\n  description based on a Notification action.\n- Modified PinnedStackController to ensure that it notifies\n  the listeners from the source of truth, this ensures that\n  SysUI is in the right state if killed and re-registers\n  itself.\n\nTest: Enable menu \u0026 minimize in SystemUI tuner.\nTest: android.server.cts.ActivityManagerPinnedStackTests\nTest: #testNumPipActions\n\nChange-Id: I5b5d0cf9de3f06b5687337d59cfb91e17355bdb1\nSigned-off-by: Winson Chung \u003cwinsonc@google.com\u003e\n"
    },
    {
      "commit": "724b26c902712eafbb23b210ee8c591ab22d56a3",
      "tree": "1b0169616f5c18302c59f15e45bcc5ecd1714805",
      "parents": [
        "7a2518ee6e46aa7aad6d8de3309e99f0dc1bdcba",
        "e89ed4a001272fb9e802b3765b32e815003398c0"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Wed Dec 14 20:02:45 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 14 20:02:45 2016 +0000"
      },
      "message": "Merge \"Add an IPC for requesting network scores.\"\nam: e89ed4a001\n\nChange-Id: I23bee3f29d3b3f71da6103e23afafc2df128ab75\n"
    },
    {
      "commit": "06fd71abdf4c76d5f4ec357146f61280fb5580fa",
      "tree": "fbc6227fc687055ec7157ffbfe35a18ed9da81b0",
      "parents": [
        "e80dd223fed288c725ca124dfb7e5de1ab51ab24",
        "6c9116a6430ca5cd55b1b926213a5e8de77e4fc6"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Wed Dec 14 19:16:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 19:16:26 2016 +0000"
      },
      "message": "Merge \"Create DISALLOW_{ADD,REMOVE}_MANAGED_PROFILE user restrictions\""
    },
    {
      "commit": "4a02afbf04ccf7068cd9279d3e828834850c387d",
      "tree": "774168dc9e86bdf877643fbf1b6605112fc286b9",
      "parents": [
        "9ed3a080e866c087af725e0b6abda026c83a9aa8"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Dec 13 13:39:52 2016 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Dec 14 17:58:11 2016 +0000"
      },
      "message": "Change notification shade ordering.\n\nCertain ongoing and people centric notifications can now\n(mostly) trump importance-based ordering.\n\nBug: 30374279\nTest: runtest systemui-notification\nChange-Id: Ieab6015174f9595c08057dc408233202035aae3e\n"
    },
    {
      "commit": "82f8f3e04eca0bd56cfdaae5250ba9576ef199f5",
      "tree": "df917446a3ab614af85b0b7d6a45887e858791da",
      "parents": [
        "d194a782ba1278d23c663929564c5e3eaea355ac",
        "9fbb0b5ab321d86efbc7fa8774052bfb34de9557"
      ],
      "author": {
        "name": "Sergei Vasilinetc",
        "email": "sergeyv@google.com",
        "time": "Wed Dec 14 17:40:45 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 17:40:49 2016 +0000"
      },
      "message": "Merge \"Prohibit Config.HARDWARE in factory methods, that create mutable bitmaps\""
    },
    {
      "commit": "9112c16e16eb5c74a6a3004c68bab9bef90d35e4",
      "tree": "2e3b4c3e526763b1e36705d6ae3c1f8b78aca36d",
      "parents": [
        "713d153146eb77fc7019b22506d4f7c0d7d11b03",
        "ce3264dac7818d1e97149953705c6a123e74cd3e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 14 17:17:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 17:17:35 2016 +0000"
      },
      "message": "Merge \"Adding public API for marking nodes as clusters and sections.\""
    },
    {
      "commit": "3eda170b770a22b6da177307988fca0705f197dc",
      "tree": "94b7eea3da4d0544b90924937f7184b358581eaa",
      "parents": [
        "58eea91f9d4b2362462681def4ed27e3bad5233e",
        "dcc3630100b406e4e6cb18f00d39059690153292"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Dec 14 17:16:01 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 17:16:04 2016 +0000"
      },
      "message": "Merge \"Remove Rasterizer and its subclasses from the public API.\""
    },
    {
      "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"
    },
    {
      "commit": "9559c20a3903f7cbaa6132be78c2f57d34ea262f",
      "tree": "03deeec1da9041140469239e9e31ceebea479536",
      "parents": [
        "e70c9095b02ec46111c3e3677b43dab1a78e6188"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Tue Dec 13 10:59:50 2016 -0800"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Wed Dec 14 17:08:56 2016 +0000"
      },
      "message": "Deprecate android.text.AndroidCharacter\n\nAndroidCharacter was added to compensate for limitations in\njava.lang.Character, but it has been outdated and its functionality\nis provided with a much better API by android.icu.lang.UCharacter.\n\nBug: 32551718\nTest: cts-tradefed run cts-dev --module CtsTextTestCases --test android.text.cts.AndroidCharacterTest\nChange-Id: Iec1969dc5787a4ebb0e68cdc213d3d0cdc3b2d0d\n"
    },
    {
      "commit": "c10f6693fc747025bd069a8471106503fc629d20",
      "tree": "d8642abcb493ca38d09b0d201987803034a36dae",
      "parents": [
        "7f5b5de5ae1ac214e0aa96b13d9a6a4d8fc56db7"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Fri Dec 09 15:24:00 2016 +0000"
      },
      "committer": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Wed Dec 14 16:41:21 2016 +0000"
      },
      "message": "Add EXTRA_PROVISIONING_DISCLAIMERS\n\n- It\u0027s Bundle[]\n- Each Bundle has EXTRA_PROVISIONING_DISCLAIMER_HEADER\nand EXTRA_PROVISIONING_DISCLAIMER_CONTENT for header and content\n- the disclaimer header is a localized String\n\nBug: 32760305\nTest: built successfully\nChange-Id: Ibc4ed25027f5949a0faa92ebf1f5ea1d518368eb\n"
    },
    {
      "commit": "3c9c96d8dcd37046adf15fd0e2772cdf6f83a7f1",
      "tree": "3a8d2b2caae6a56f400b583ae757f52747a799c2",
      "parents": [
        "86c2f957c3527bc9e9ae0f04a55c47afaf2f3fe2",
        "5291ee732d952fa987526e4c906f7ca884a758fa"
      ],
      "author": {
        "name": "Lenka Trochtova",
        "email": "ltrochtova@google.com",
        "time": "Wed Dec 14 09:21:58 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 09:22:02 2016 +0000"
      },
      "message": "Merge \"DevicePolicyManager: make 3 hidden provisioning methods system API.\""
    },
    {
      "commit": "17acc15ca4cbe9fa064bb3a665ec006805538e3d",
      "tree": "65fd39def91fc12ef8d3f5d8193b5245648e0556",
      "parents": [
        "ffe1c112a0d7ad3f56d899eaecc28c7823835da9"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Fri Dec 09 13:18:30 2016 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Dec 13 17:16:00 2016 -0800"
      },
      "message": "Add UI prompt for MMI code failure on 3gpp\n\nSome carriers do not support call forwarding MMI codes while roaming\non 3gpp networks. A new message has been added that clarifies this\nto the user.\n\nTest: Manual\nBug: 30106345\nChange-Id: Id8d3434b02346eaad4f52d514a3269b5750ca1c3\n"
    },
    {
      "commit": "b2087a159bad795b7d6575788800fcad3319700a",
      "tree": "45a6a67f84d457372a6b13830165962898a97fea",
      "parents": [
        "ffe1c112a0d7ad3f56d899eaecc28c7823835da9"
      ],
      "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": "Tue Dec 13 17:06:56 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: I951f6186aa11ddbe5a94e374173a1fd40b2a4cce\n"
    },
    {
      "commit": "a6dba0ab3546e07e2de9070a402faf4e01bf8d7a",
      "tree": "f7c0c8305dd0dffbd3b60109a7b09446dd8c7f90",
      "parents": [
        "d7b144a5e9dc1d4eead6ee3b66afd63b4bec8c67"
      ],
      "author": {
        "name": "Polina Bondarenko",
        "email": "pbond@google.com",
        "time": "Tue Dec 13 18:56:41 2016 +0100"
      },
      "committer": {
        "name": "Polina Bondarenko",
        "email": "pbond@google.com",
        "time": "Tue Dec 13 21:37:01 2016 +0100"
      },
      "message": "Make TelephonyManager APIs public:\n\nTelephonyManager.getSimState(slotIdx) and\nTelephonyManager.SIM_STATE_CARD_RESTRICTED.\n\nIt is needed for OobConfig app unbundling.\n\nBug: 33479833\nTest: run cts -m CtsTelephonyTestCases\nChange-Id: I375f436bc4e1dcedc0656866a0838c7bf5948422\n"
    },
    {
      "commit": "ce3264dac7818d1e97149953705c6a123e74cd3e",
      "tree": "d5dd3aa9462035fa6cedd2bef91910699b9082e2",
      "parents": [
        "235117ac2123cf46438132a8fa67ac886e38b7ce"
      ],
      "author": {
        "name": "Vadim Tryshev",
        "email": "vadimt@google.com",
        "time": "Tue Nov 29 11:03:34 2016 -0800"
      },
      "committer": {
        "name": "Vadim Tryshev",
        "email": "vadimt@google.com",
        "time": "Tue Dec 13 11:10:51 2016 -0800"
      },
      "message": "Adding public API for marking nodes as clusters and sections.\n\nClusters:\nWe need clusters to limit the size of the “tab loop” by\nwidgets related to the current context: working in the\napp’s client area, choosing a command in the action bar\netc.\n\nClusters are a generalization of the current action bar’s\nbehavior.\nAn activity can have several clusters.\nA cluster is a view or a view group group marked as such.\nPressing Tab loops inside the cluster, but you can exit it via\narrows.\nYou can teleport between clusters via special key combos.\n\nSections:\nSections live inside clusters.\nThey are needed for simplifying navigation in complex\nhierarchies: instead of tabbing or arrowing, you can simply\nteleport to the the next/previous section by pressing a\nspecial key combo.\nExample: think about panes in GMail app or dir/files\npanels in a file manager.\n\nOtherwise, sections are normal view groups: for example,\nthey don’t limit keyboard navigation in any way.\n\nBug: 32151632\nTest: Checking for syntax errors and that Android starts.\nChange-Id: Ic78495d0749db65d5177017553d37f870354c6bc\n"
    },
    {
      "commit": "6c9116a6430ca5cd55b1b926213a5e8de77e4fc6",
      "tree": "c9c5eeb72f35623029df4edaee79cd923b937271",
      "parents": [
        "00f9a1a4735f8ba6b40cee5294a034bd60b28df4"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Thu Nov 24 16:12:44 2016 +0000"
      },
      "committer": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Tue Dec 13 18:14:19 2016 +0000"
      },
      "message": "Create DISALLOW_{ADD,REMOVE}_MANAGED_PROFILE user restrictions\n\nBug: 31952368\n\nTest: runtest -c com.android.server.devicepolicy.DevicePolicyManagerTest    frameworks-services\nTest: runtest -c com.android.server.pm.UserManagerTest frameworks-services\nTest: cts-tradefed run cts --module DevicePolicyManager --test com.android.cts.devicepolicy.UserRestrictionsTest\n\nChange-Id: I240ab99c2409bbabffbc574bef202f2457026905\n"
    },
    {
      "commit": "2d895c3efd625e09e9f2cc4d0c7131b34f52f154",
      "tree": "800554eac2ef7e92319221afa71eb68d1c143ecc",
      "parents": [
        "54365465897a0fbb2d61c3fb2460698384328ad4"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Dec 02 15:48:40 2016 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Dec 13 09:56:03 2016 -0800"
      },
      "message": "ShortcutManager: direct pin shortcut support.\n\nTest: Manual test and all the unit tests:\nadb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests\n... to test8\n\nBug 32908854\n\nChange-Id: I11b81656959cccfb4efa83f08380b915e6eb84a6\n"
    },
    {
      "commit": "a6c6bc333d2d98bc6091250100f582c24ad8b5fa",
      "tree": "fffe070919cdb91afbb9fe977a04c2e00e7ee9c0",
      "parents": [
        "7de23e292f541a093b44224e98dda3edb905d2c3",
        "fbeacb02c0fe331242dd1815a28e2b2f1d5a42c6"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Tue Dec 13 16:13:44 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 13 16:13:44 2016 +0000"
      },
      "message": "Merge \"Make the onRequestRecommendation() method async.\"\nam: fbeacb02c0\n\nChange-Id: I9b98480499c2366eee06de163b561c4583e475d2\n"
    },
    {
      "commit": "fbeacb02c0fe331242dd1815a28e2b2f1d5a42c6",
      "tree": "0fba410a98585fd24abec0ae7e85efe1268b946a",
      "parents": [
        "c35137ce36211f9c2ef2d90e59cbd63a7c571b8e",
        "280f82c3127a331d9f8b6f61726176a380892f66"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 13 16:04:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 16:04:36 2016 +0000"
      },
      "message": "Merge \"Make the onRequestRecommendation() method async.\""
    }
  ],
  "next": "5291ee732d952fa987526e4c906f7ca884a758fa"
}
