)]}'
{
  "log": [
    {
      "commit": "824b073fbeee57154316c1e60d211e8e9ab54ac6",
      "tree": "ce303b613ccd9db6544f33b29920c35f6267d753",
      "parents": [
        "760623a499683d3e9015d997729627b786ffb9d0",
        "aab7a4146ccd14f94ac87f4c52895f1bb5d37645"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Thu Feb 16 01:36:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 01:36:46 2017 +0000"
      },
      "message": "Merge \"Add escrow token API in DevicePolicyManager.\""
    },
    {
      "commit": "18d58d81b4b382488b17e34c6b84009fe1412090",
      "tree": "e4c47fd96e2bf3e51a0bf54c17fa23188e094957",
      "parents": [
        "c788f3e15ce6cf149e57537b5d16eef7d5d03f8d",
        "a6c969c036f22f7907eb45b48805bc5ca3cae801"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Feb 15 23:02:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 15 23:03:02 2017 +0000"
      },
      "message": "Merge \"New setDataSource API for accepting cookies\""
    },
    {
      "commit": "aab7a4146ccd14f94ac87f4c52895f1bb5d37645",
      "tree": "20441e2e37b04f5daec493da6a3659245b0cae57",
      "parents": [
        "f095f8366bac52ac1eeb2b3eb1a403294ceeb541"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Fri Dec 30 21:13:29 2016 +0000"
      },
      "committer": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Wed Feb 15 19:54:31 2017 +0000"
      },
      "message": "Add escrow token API in DevicePolicyManager.\n\nTake advantage of the new authentication flow in LockSettingsService\nand allow PO or DO to provision escrow tokens on the device. The\nescrow token grants them the ability to change device lockscreen\n(if used by DO) or work profile challenge (if used by PO). The\nnew password reset mechanism is even usable before user unlocks,\nand it preserves authentication-bound keys in keystore.\n\nTest: runtest frameworks-services -c com.android.server.SyntheticPasswordTests\nTest: runtest frameworks-services -c com.android.server.devicepolicy.DevicePolicyManagerTest\nTest: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedDeviceOwnerTest#testResetPasswordWithToken\nBug: 33126620\nChange-Id: Iaa684c51946f726cbd909e9ac70ad3e9ca3de1ac\n"
    },
    {
      "commit": "2e94d3e9fc2082f463821082a6fdbea276ab3299",
      "tree": "69ff192487587cf05425d79821f6407594db1f6c",
      "parents": [
        "9138948df9717eb8f8cf16fec867c5786deef4bd",
        "e87a7d9e95699d329685e76fa7953880f8e6d256"
      ],
      "author": {
        "name": "Conrad Chen",
        "email": "conradchen@google.com",
        "time": "Wed Feb 15 19:15:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 15 19:15:22 2017 +0000"
      },
      "message": "Merge \"TIF: Add browsable field to programs\""
    },
    {
      "commit": "a6c969c036f22f7907eb45b48805bc5ca3cae801",
      "tree": "8aae3c4c52776d582805c11b5be15f3d01a9308e",
      "parents": [
        "1ea19d3463c048dceaf2d70cdea9e82575453c69"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Feb 15 09:06:48 2017 -0800"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Feb 15 10:02:01 2017 -0800"
      },
      "message": "New setDataSource API for accepting cookies\n\nBug:    34736056\nTest:   Manual through the test app\nChange-Id: Ibd48d5e292dda490d9e4e4528589b2b7ba97a4b4\n"
    },
    {
      "commit": "e0ac9dabc79254565ba3a8491fb43fc303d7fc50",
      "tree": "aba20b03df0beb0a1569b7b06d8e6f99bf2005b6",
      "parents": [
        "1534b978fd011123bf371c5532d3592a9e004d0e",
        "c117bea6dcc1fc8a414a50ad6dfc3c24d4be4beb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 15 02:13:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 15 02:13:22 2017 +0000"
      },
      "message": "Merge \"audio: deprecate AudioManager.isBluetoothA2dpOn()\""
    },
    {
      "commit": "9106c64bf3ca60d0b867fa1f2d78d3b19c9e4178",
      "tree": "cc366888fa7579b5d9d7d55095af9844fa198ba2",
      "parents": [
        "710a285110c9fbe4296a7afc9b2923d66f00806b"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Feb 08 14:16:53 2017 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Feb 14 12:44:50 2017 -0800"
      },
      "message": "Add API to track package changes\n\nAfter any package install, removal or update, save the changed\npackage and update a global sequence number. At any point, apps\ncan query for the packages changed since a particular sequence\nnumber.\n\nIf a package is changed multiple times, it is only included once\nin the change list.\n\nBug: 33865505\nTest: Create sample app to query for changes and see which packages are changed after performing certain operations\nChange-Id: Ia4646035362b16a97110e05f3f909ce385b48428\n"
    },
    {
      "commit": "710a285110c9fbe4296a7afc9b2923d66f00806b",
      "tree": "a3fcdf3b49962bf0e2dfb132511094b20a74340a",
      "parents": [
        "7776844d77c8a932930f0dee9e95d7cba10baef8",
        "6432bf7a4f6c8276a42008a557fc7c0377911342"
      ],
      "author": {
        "name": "Nick Vaccaro",
        "email": "nvaccaro@google.com",
        "time": "Tue Feb 14 19:21:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 19:21:37 2017 +0000"
      },
      "message": "Merge \"Sensors: Add LOW_LATENCY_OFFBODY_DETECT sensor API\""
    },
    {
      "commit": "8a9670d6620b8b86d70f5245b2e987d0d89efcab",
      "tree": "1b66ad6fbead346b6e9a41937c66588286828fc3",
      "parents": [
        "ca170752d8850bd5b8d2710ebf7abdd3671f7f84",
        "2e5e232fa72a3ebd1f87db6c75a8d84c4298d450"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Feb 14 18:23:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 18:23:50 2017 +0000"
      },
      "message": "Merge \"Import CallSite classes and BootstrapMethodError class from ojdk8u60\" am: 3023906b1b am: 49e0cad3e1 am: 4105747ec3\nam: 2e5e232fa7\n\nChange-Id: Iba45ebd3e189249f445c37beebf8190ac981de4d\n"
    },
    {
      "commit": "3023906b1b9b0da75a9a05ac7b655124f6270f79",
      "tree": "5815f4cc8a123fc4a6361bf74cc128551eaa9904",
      "parents": [
        "d530d1bf181f16cd4c17716c39fe8e2b922df4e0",
        "4a4c67615e81629ffdba659b27e5903d735d69e7"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Feb 14 16:02:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 14 16:02:33 2017 +0000"
      },
      "message": "Merge \"Import CallSite classes and BootstrapMethodError class from ojdk8u60\""
    },
    {
      "commit": "02761acc674ae9b13d5bbda493ac794ecc4c1c6e",
      "tree": "70dc19d465abb10d5414fe76f456721839f6a1cf",
      "parents": [
        "a10b057bb869ca7c99938053ca5fe60029555b3b",
        "4b5a4d221f377686a730182a3bffb8c6f190e313"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 14 15:39:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 15:39:04 2017 +0000"
      },
      "message": "Merge \"Declarative downloadable fonts\""
    },
    {
      "commit": "4b5a4d221f377686a730182a3bffb8c6f190e313",
      "tree": "e681c202c0231976720d4ff64b9fcfb78e6a559c",
      "parents": [
        "0bb700914cb84b53a93252e5904826c104b8d65b"
      ],
      "author": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Fri Jan 27 20:15:45 2017 +0000"
      },
      "committer": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Tue Feb 14 13:32:41 2017 +0000"
      },
      "message": "Declarative downloadable fonts\n\nImplement support for downloadable font requests in xml. Given the\nxml fonts feature in O, this adds support to not only declare\nlocal font files as font resources, but also Downloadable fonts\nfrom a fonts provider.\n\nA provider returns a font family (of one or more files) given a\nquery, so the new attributes are added to the font-family tag.\n\nAdditionally, add support to pre-declare downloadable font resources\nin the Android Manifest. These will then be fetched at app startup\ntime so they are available to use from the Typeface cache asap.\n\nWhen retrieving downloadable fonts via resources, the cache is\nchecked to see if the font is already there and is used, otherwise\na request is sent to the provider and the default font is returned\nas we need a result synchronously.\n\nTo do this, the developer declares an additional fonts xml resource\nfile with the list of fonts to preload and links it in the manifest\nwith a meta-data tag.\n\nE.g.:\n\nres/font/mydownloadedfont.xml\n\n\u003cfont-family xmlns:android\u003d\"http://schemas.android.com/apk/res/android\"\n        android:fontProviderAuthority\u003d\"com.example.test.fontprovider\"\n        android:fontProviderQuery\u003d\"myrequestedfont\"\u003e\n\u003c/font-family\u003e\n\nres/font/preloaded_fonts.xml\n\n\u003c?xml version\u003d\"1.0\" encoding\u003d\"utf-8\"?\u003e\n\u003cfont-family xmlns:android\u003d\"http://schemas.android.com/apk/res/android\"\u003e\n    \u003cfont android:font\u003d\"@font/mydownloadedfont\" /\u003e\n\u003c/font-family\u003e\n\nand in the AndroidManifest.xml\n\n\u003cmeta-data android:name\u003d\"preloaded_fonts\"\n    android:resource\u003d\"@font/preloaded_fonts\" /\u003e\n\nBug: 34660500, 34658116\nTest: WIP, need to add more\nChange-Id: I1d92555e115e241bf23b59e6f5c6cca6c7361de7\n"
    },
    {
      "commit": "7183b6908b0af807491e90f37e9e05794bd0c3f1",
      "tree": "926cf693b36572e61a935381bf43f8b72d0da486",
      "parents": [
        "23a96af5234a2f3a9553b9efeeab0ca99d368827",
        "b8201195dfb2bae05faaf91b9b3d065e2f199929"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Feb 14 13:31:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 13:31:21 2017 +0000"
      },
      "message": "Merge \"Deprecate Canvas save/saveLayer flags.\""
    },
    {
      "commit": "4dba3cdf89c43d5c7f72eb57100d2f5b405bdad3",
      "tree": "d8338cf231057b1345b341a497afa9b77ccf2e83",
      "parents": [
        "027d72ebe65750828c547a1a2a39130d506064af",
        "782043caf81055aa1c331e9cc15b24a10e1bf17a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 14 09:37:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 09:37:53 2017 +0000"
      },
      "message": "Merge \"Refactor auto-fill\""
    },
    {
      "commit": "782043caf81055aa1c331e9cc15b24a10e1bf17a",
      "tree": "3f0991e7170aef7cd87b13e2bc7135b91d582783",
      "parents": [
        "9b6611290644d5fd3c96d532f1fa7513848d0f33"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Feb 11 00:52:02 2017 +0000"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Feb 13 21:31:37 2017 -0800"
      },
      "message": "Refactor auto-fill\n\n* Fix a layering issue where auto-fill manager which is in view\n  depended on activity which is in app\n\n* Moved auto-fill classes to view or service based on their\n  purpose and removed dependecy on the classes in view to the\n  classes in service\n\n* Push state to local auto-fill manager whether auto-fill is\n  enabled to avoid making IPC for every focus transition if\n  the user did not enable the feature\n\n* Remove unnecessary offload to messages when handling calls\n  to auto-fill manager service as these are made over a oneway\n  interface and in general they do almost no work and typically\n  we do these on the binder thread\n\n* Removed id from data set and fill response as the provider\n  can embed everything it needs to id them in the auth pending\n  intent\n\n* Enforce the auth UI to be only an activity as this will work\n  with multi-window, recents, and back and also does not require\n  draw on top of other app special permission\n\n* Authentication also no longer requires passing a remotable\n  callback to the auth activity but the activity handles the\n  request as if called for a result\n\n* Handling stopping of a user to clean up in-memory state as\n  well as handling when a user gets unlocked as a provider may\n  be non-direct boot aware\n\n* User the correct context when creating an auto-fill manager\n\n* Move the receiver that listens for requests to hide system\n  windows to the manager service as the UI is a singleton and\n  no need every per-user state to register its own\n\n* Removed extras from dataset as the only case a provider needs\n  to associate state with a dataset is for auth and the provider\n  can embed this data in the auth pending intent\n\nTest: manual and CTS\n\nChange-Id: I4bc54c13cf779d7f6fdb3ab894637f9fac73f603\n"
    },
    {
      "commit": "4d20ee8c4632a97171396c9089b79d014cc12c0e",
      "tree": "2d01537f863ac54bb5b5626c3a62f9708cb2afc3",
      "parents": [
        "817c2097e782f9f64856af0743e08a2a48006e58",
        "9ee90a42dcd5057eab0b0fdc106de617e0a55133"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Mon Feb 13 23:36:13 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 23:36:15 2017 +0000"
      },
      "message": "Merge \"Icon class should support Maskable bitmap type\""
    },
    {
      "commit": "12cb6628dbfc2f50a04502f37386d453956a02e3",
      "tree": "4c908a5e9d05a15858b8dc68f241d8c4b29dc9ab",
      "parents": [
        "2698d1d1e8311a260e25308182ff33e9f4407667",
        "8347163dbb64fb61012c0393163283106a0a351e"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Feb 13 20:39:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 20:39:52 2017 +0000"
      },
      "message": "Merge \"Create a new stack for the assistant activity.\""
    },
    {
      "commit": "427acd7c77bdfc3f7140853587a5f06b3eb033a6",
      "tree": "44b6a71831dc0284a50b19074c3e1e089d560133",
      "parents": [
        "df475d8c57421e21393cf8ea6b77691302d5c5c2",
        "8c5759624c71ef701cba6751a030328481b4a83c"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Feb 13 20:16:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 20:16:26 2017 +0000"
      },
      "message": "Merge \"Deprecate Canvas clipping for arbitrary Region.Ops.\""
    },
    {
      "commit": "d3146f3c3c89eeab040cf4955743d8d2a579bab4",
      "tree": "390ea24e218a29b2ea6a98c6f83c3302e68b05a1",
      "parents": [
        "89e6bf0532d6b8288dea51b6af8bb0856dc3642b",
        "701a4b55c92817c84a77df84234946dbaac71dba"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 13 19:49:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 13 19:49:51 2017 +0000"
      },
      "message": "Merge \"hotspot2: fix typo in the getter functions\""
    },
    {
      "commit": "e87a7d9e95699d329685e76fa7953880f8e6d256",
      "tree": "7b50ea66490f845ddb86a37c44630c869d1e26e8",
      "parents": [
        "f106167447656954fd29dd0353e77253543ddd61"
      ],
      "author": {
        "name": "Conrad Chen",
        "email": "conradchen@google.com",
        "time": "Wed Feb 01 12:08:59 2017 -0800"
      },
      "committer": {
        "name": "Conrad Chen",
        "email": "conradchen@google.com",
        "time": "Mon Feb 13 11:42:38 2017 -0800"
      },
      "message": "TIF: Add browsable field to programs\n\nTest: build\nBug: 34720053\nChange-Id: I8cf43bda833fdb93c898b07d9fdec9ebefa4227b\n"
    },
    {
      "commit": "60bcd2485d5807c10ea644bee7475c78e4cd9a4a",
      "tree": "1c6144d924d3d11dc612413bc3777ef585c7bb89",
      "parents": [
        "d432860074620524d8c1fc47e2502b9edd66a19a",
        "3484ba8fdc8f5c91937af23e6d59025081c02367"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 13 18:41:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 18:41:58 2017 +0000"
      },
      "message": "Merge \"Internationalize subclasses of NumberKeyListener\""
    },
    {
      "commit": "9ee90a42dcd5057eab0b0fdc106de617e0a55133",
      "tree": "23ccfdc7aa30be920bd5f8cf5fe01cb4b8ffae86",
      "parents": [
        "620f72841fb3284e43878789ef7029d316d7b54e"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Fri Feb 03 15:53:26 2017 -0800"
      },
      "committer": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Mon Feb 13 09:56:05 2017 -0800"
      },
      "message": "Icon class should support Maskable bitmap type\n\nTest: Unit test on IconTest\n$ runtest --path\u003dframeworks/base/graphics/tests/graphicstests/src/android/graphics/drawable/IconTest.java\n\nb/34196580\n\nChange-Id: I321c4b02f17ad9426c053216c4c88616a605aacf\n"
    },
    {
      "commit": "bbc21401b36300d7bcfb618986df7b18e24dd59d",
      "tree": "195c1d41ad3d6336fb0304e5b5e5d006ae9e0a1d",
      "parents": [
        "f49f3482de64b44c9c6d3132521c5ed54b64a2f1",
        "9b4c82a83cc3c1aafac2325d7a601ba3e090b90b"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Mon Feb 13 17:35:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 17:35:18 2017 +0000"
      },
      "message": "Merge \"TextClassifierImpl: Handle urls.\""
    },
    {
      "commit": "9b4c82a83cc3c1aafac2325d7a601ba3e090b90b",
      "tree": "ebf7fdbe06f8983567e174226d7aa37205a02686",
      "parents": [
        "7b79b6313b6687083e723458d97ad50ca750fceb"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Mon Feb 06 20:29:36 2017 +0000"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Mon Feb 13 15:00:32 2017 +0000"
      },
      "message": "TextClassifierImpl: Handle urls.\n\nThis cl also updates label strings, renames an internal method,\nand fixes some bugs in TextClassifierImpl caught by tests.\n\nTest: See: I31ee94177e58c986e61e9b24c6c5816fa4b022e1\nBug: 34778263\nBug: 34922928\nChange-Id: Ibf60d345d462dfc8a13dead6f01053f1ae50f35a\n"
    },
    {
      "commit": "69f42ecbb66752acbf05e0083a15d9db25ff6213",
      "tree": "38435229cf95dd400dda9b19b0e0e07d582f2212",
      "parents": [
        "349a8aeff997c603852681a3af58d6841c6940c0",
        "b6e73c96705c83db1f45686f2cd735d06ceb468e"
      ],
      "author": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Mon Feb 13 13:45:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 13:46:00 2017 +0000"
      },
      "message": "Merge \"BackupAgent#getBackupQuota() API\""
    },
    {
      "commit": "8347163dbb64fb61012c0393163283106a0a351e",
      "tree": "088a29ae6db849cb907bb913b60bf59bf9c11438",
      "parents": [
        "5b12734fb0d1c189ed9ab699bdb1a4d26c6ed8b8"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Dec 13 11:02:12 2016 -0800"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Sun Feb 12 14:52:15 2017 -0800"
      },
      "message": "Create a new stack for the assistant activity.\n\n- Add a new stack that is not resized with multiwindow, and\n  appears above the fullscreen and docked stacks, but below\n  the pinned stack\n- Add a method on VoiceInteractionSession to allow the assistant\n  to launch activities into this new fullscreen stack.\n- Also prevent any activities in the assist stack from the\n  fetching of the on screen assist data.\n\nBug: 30999386\nTest: android.server.cts.ActivityManagerAssistantStackTests\n\nChange-Id: I22ab7629b5f758cf1e66d7d1c26648af6bc887c9\n"
    },
    {
      "commit": "f700fb1f23459ba0b4cfad12d0ef7291139c31b9",
      "tree": "79c55d68b728af240ac0788580791a9e952923ea",
      "parents": [
        "389505fdb913ed66c19b85344e5ba2d27211099d",
        "500ce9ea58a6c3465703257eab03f9bad76b1e0a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Feb 12 13:17:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Feb 12 13:17:31 2017 +0000"
      },
      "message": "Merge \"Explicit API for allocating disk space.\""
    },
    {
      "commit": "500ce9ea58a6c3465703257eab03f9bad76b1e0a",
      "tree": "80b9a2a5436e0d430607348e4e3ba8886b14a0db",
      "parents": [
        "aab4e11c0ac5a73cd5ab7f6e6fb6b9de8c9ffd84"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Feb 12 02:39:24 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Feb 12 04:02:28 2017 -0700"
      },
      "message": "Explicit API for allocating disk space.\n\nNow that we\u0027re giving apps better guidance around how much cached\ndisk space they can use, we also need to provide a way to help clear\nsome of those cached files.  The final logic is coming in a future\nCL, but it will be designed to prevent abuse.\n\nTest: newly added CTS tests\nBug: 34690590\nChange-Id: I1e46ade0cdabbc33162fc7bfa76abec711992f92\n"
    },
    {
      "commit": "72ec44830708f8bc6607be20f47ddc26291c2e44",
      "tree": "9f983921649e4c9a1efcd7033c44e8cdeae55d66",
      "parents": [
        "aab4e11c0ac5a73cd5ab7f6e6fb6b9de8c9ffd84"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Feb 12 03:21:25 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Feb 12 03:21:39 2017 -0700"
      },
      "message": "Switch RecoverableSE over to using RemoteAction.\n\nNow that RemoteAction supports PendingIntent, we should be using it\ninstead of rolling our own fields.  Continue offering legacy\nconstructor for some existing unit tests.\n\nCreate a notification channel for each remote app that throws at a\nclient app.  All apps targeting O must now use channels, which give\nthe user better control over notifications.\n\nMention in docs that strings should be localized.\n\nTest: builds\nBug: 33749182, 35012253, 34676491\nChange-Id: Ic57e32025bc6caf784d3746d9f97f6595b0edb69\n"
    },
    {
      "commit": "69ca150144a664cb2b022fc97d36012698cab686",
      "tree": "12c2af8f1acfb180cdf2fefb944b80f16566c530",
      "parents": [
        "b5a44d6d780dc52e9cd6d67ad744be1fee7b237e",
        "dd65ab04071fd80007155e8cb4b205370acf759b"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Sat Feb 11 01:41:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 11 01:41:50 2017 +0000"
      },
      "message": "Merge changes from topic \u0027API_AnimatorSet_getCurrentPlayTime\u0027\n\n* changes:\n  Add getter for current play time\n  Fix reverse with start delay\n"
    },
    {
      "commit": "e613fccb561c35577520bd518bbc3bc69429c0f4",
      "tree": "c136a51dc43572fdc5e5019ec8bdcf463e83368a",
      "parents": [
        "c6c11723cb8f9b554b1ecb1da48f4cafb958ae21"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@google.com",
        "time": "Wed Jan 25 14:12:14 2017 -0800"
      },
      "committer": {
        "name": "Paul Stewart",
        "email": "pstew@google.com",
        "time": "Fri Feb 10 16:15:52 2017 -0800"
      },
      "message": "Allow EAP-SIM authentication methods under PEAP\n\nExtend the PEAP outer method to contain EAP-SIM innner methods\nso these transactions can be encrypted.\n\nCherry-pick of 68c63024c2ace87921c1e84a99d18dae6001c74c\n\nBug: 34835771\nTest: Unit tests\n\nChange-Id: I4931ed43e396c93bad0bfce1750291982f8cd146\n"
    },
    {
      "commit": "dd65ab04071fd80007155e8cb4b205370acf759b",
      "tree": "5477509297383f5cd05dac503eb5748c78e2d10c",
      "parents": [
        "6d4520920526cc44063ff2e665adb08e9a3c8a64"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Feb 08 14:51:54 2017 -0800"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Fri Feb 10 16:06:42 2017 -0800"
      },
      "message": "Add getter for current play time\n\nBUG: 30993532\nTest: cts tests in the same topic branch\nChange-Id: I45ee9c61f53051fcac3399eebc378aa2c0ce056d\n"
    },
    {
      "commit": "3b75a823066d2606af5e90583285f024594f509f",
      "tree": "0744fbe1bedd7ff3ca246766e1b94ade1b89c5cf",
      "parents": [
        "962230dd82e360916e848d7a27b208b24a1c66e1",
        "e8d2ebb5c29efb996179f9a4b62c78e4d3037e14"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 10 21:52:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 10 21:52:30 2017 +0000"
      },
      "message": "Merge \"Report bitmap config when decoding only metadata\""
    },
    {
      "commit": "e8d2ebb5c29efb996179f9a4b62c78e4d3037e14",
      "tree": "55bc22afe48f7bea29354a776a823c5f9eadb9d7",
      "parents": [
        "54afd007141076273e5536c967428ca23648d3d6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 09 18:38:47 2017 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 10 11:37:54 2017 -0800"
      },
      "message": "Report bitmap config when decoding only metadata\n\nWith the introduction of support for 16 bit images, bitmaps returned\nby BitmapFactory may be using the RGBA_F16 configuration. Some apps\nand libraries assume the returned configuration is always ARGB_8888\nand make assumptions based on that to compute cache sizes, etc.\n\nThis changes extract the output config when BitmapFactory is invoked\nwith the inJustDecodeBounds option. Despite its name, this option\nis already used (and documented!) to decode more than bounds as it\nalso decodes the MIME type.\n\nBug: 35108998\nTest: CtsGraphicsTestCases\nChange-Id: If71959751458816678e42b21ab26c889aba5dea0\n"
    },
    {
      "commit": "b6e73c96705c83db1f45686f2cd735d06ceb468e",
      "tree": "a19971e8725d924a92146f60ec89e17620fd8731",
      "parents": [
        "0a54d4bbed189357c82598918d819d3bf111d104"
      ],
      "author": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Tue Jan 31 20:13:43 2017 +0000"
      },
      "committer": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Fri Feb 10 18:11:40 2017 +0000"
      },
      "message": "BackupAgent#getBackupQuota() API\n\nThis cl adds a getBackupQuota() method\nto the BackupAgent abstract class. This\ncan be used by the agent to determine\nhow much data it can back up.\n\nRef: https://docs.google.com/document/d/18MnfwkDfKNtXQBPRmL8vpVgfLgSWJsDja1Nm1QV5hOw/edit#heading\u003dh.unncio2r7de2\n\nBug: 33750400\n\nTest: GTS test at ag/1850525\n\nChange-Id: I2eb5c0066c99732ec84cae9211f3a1edaad2baf1\n"
    },
    {
      "commit": "71b60b86e30e29d344747acf75f6098a99814343",
      "tree": "976016596dfa5f07c200d23e71f4615df9e40136",
      "parents": [
        "fd9d0ee9f82e2e224e14b05b6c8485670e46bd97",
        "2619b5e6633bce05422a40205811bdc55a7abb2c"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Feb 10 16:05:07 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 10 16:05:10 2017 +0000"
      },
      "message": "Merge \"Let apps link to noti settings and vice versa.\""
    },
    {
      "commit": "02d3a61690a7378ed4cfdc2848d8856c67d8c714",
      "tree": "d78c80ac5fd1406d11ba6c53b0bcbdf08e18e448",
      "parents": [
        "7a1c94cc895d356c0866011012c111d8a7c859f9",
        "fbfead24c2474bffde98c2c6acc5c42691dbb106"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 10 13:38:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 10 13:38:25 2017 +0000"
      },
      "message": "Merge \"AutoSize TextView (part 9) - sanitize APIs naming\""
    },
    {
      "commit": "3484ba8fdc8f5c91937af23e6d59025081c02367",
      "tree": "8f2b5475322ca79b123a567181a0e0330d5a5c11",
      "parents": [
        "b0ac86b7f6112ad06bcb3a3ca6845f086123c8ae"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Thu Jan 19 14:05:51 2017 -0800"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Thu Feb 09 19:26:53 2017 -0800"
      },
      "message": "Internationalize subclasses of NumberKeyListener\n\nThe previous implementation assumed ASCII digits, and a fixed set of\nseparators and signs.\n\nThe following classes have been internationalized: DigitsKeyListener,\nDateKeyListener, TimeKeyListener, and DateTimeKeyListener.\nDialerKeyListener is not modified yet, due to concerns about the\nhandling of non-ASCII digits by dialing-related parts of Android.\n\nEven with this CL, characters outside BMP and multi-character signs\nand decimal separators are still not supported, due to limitations in\nandroid.view.KeyEvent and android.view.KeyCharacterMap.\n\nTest: cts-tradefed run cts-dev --module CtsTextTestCases --test android.text.method.cts.*KeyListenerTest\nBug: https://code.google.com/p/android/issues/detail?id\u003d2626\nBug: https://code.google.com/p/android/issues/detail?id\u003d82993\nBug: 8319249\nBug: 33276673\nBug: 33643035\nBug: 34394455\nChange-Id: I1cf87d0d9d1b383f5265c07ecd63b5767f9a68ca\n"
    },
    {
      "commit": "b09ac24c3c7097c85609b430aee1b6fe6e8db321",
      "tree": "cf4f33633b33fcea7cc5bc1c74f5389da4d770e3",
      "parents": [
        "bc1d0ff0420a287a72fde53d959bd49612b19f2b",
        "97b383f5a57ed7d384de60c699ca072e6d1d5e95"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Thu Feb 09 21:33:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 09 21:33:19 2017 +0000"
      },
      "message": "Merge \"Add permission for instant apps creating foreground services\""
    },
    {
      "commit": "8c5759624c71ef701cba6751a030328481b4a83c",
      "tree": "2dd2d07b1afd894419a8d05a589d52b607712305",
      "parents": [
        "3eacb58a494f5ed65e83ac8e15a60c579c0c3805"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 09 14:17:55 2017 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 09 14:17:55 2017 -0500"
      },
      "message": "Deprecate Canvas clipping for arbitrary Region.Ops.\n\nOperations that can expand the clip are difficult to support and\ndon\u0027t fit the parent child model that is used by the view system.\n\nTest: compile\nBug: 14650725\nChange-Id: I67e99d3e1a1eb0b231910ee5d277a38e8a953dc4\n"
    },
    {
      "commit": "b8201195dfb2bae05faaf91b9b3d065e2f199929",
      "tree": "be71be024a4ab03a432116336bbe2684292eda5d",
      "parents": [
        "3eacb58a494f5ed65e83ac8e15a60c579c0c3805"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Jan 09 16:11:59 2017 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 09 13:18:25 2017 -0500"
      },
      "message": "Deprecate Canvas save/saveLayer flags.\n\nTest: compile\nBug: 14650725\nChange-Id: I6424ac46bae0a7a87c4b7743e81319945dfdd087\n"
    },
    {
      "commit": "fbfead24c2474bffde98c2c6acc5c42691dbb106",
      "tree": "a72d32c9b3bd2e9cf42b0061bce3b83d52bfd718",
      "parents": [
        "570661486882ab2690b62176e83c23a4b2d6a796"
      ],
      "author": {
        "name": "Andrei Stingaceanu",
        "email": "stg@google.com",
        "time": "Thu Feb 09 15:12:45 2017 +0000"
      },
      "committer": {
        "name": "Andrei Stingaceanu",
        "email": "stg@google.com",
        "time": "Thu Feb 09 15:30:02 2017 +0000"
      },
      "message": "AutoSize TextView (part 9) - sanitize APIs naming\n\nThis CL is no-op (cosmetics only)\n* renames autoSizeText type \"xy\" to \"uniform\"\n* renames attribute \"autoSizeStepSizeSet\" to \"autoSizePresetSizes\"\n* renames \"AUTO_SIZE_TEXT_TYPE_XY\" to \"AUTO_SIZE_TEXT_TYPE_UNIFORM\"\n* renames public TextView#getAutoSizeTextPresetSizes() to public\n  TextView#getAutoSizeTextAvailableSizes() because this method can\n  return either preset sizes or computed sizes (via min/max/step)\n\nBug: 34923754\nBug: 32221168\nTest: associated test renames in the same topic\nChange-Id: Ifacccf21ca014b6c0a07322fa02b7859ee53e387\n"
    },
    {
      "commit": "2619b5e6633bce05422a40205811bdc55a7abb2c",
      "tree": "0d77a716e0aa4899dd690d28e825b1d14979054e",
      "parents": [
        "570661486882ab2690b62176e83c23a4b2d6a796"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Feb 09 09:58:15 2017 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Feb 09 10:09:24 2017 -0500"
      },
      "message": "Let apps link to noti settings and vice versa.\n\nTest: manual\nChange-Id: I3536099fdea1c7a8ddbe38b223fc99b9fef9197a\n"
    },
    {
      "commit": "651ea36f5aaf5751b16bc98899c31fe2ef3cd5c3",
      "tree": "ba58b56257916dbcb385906f0aa97c23ccc2b3dc",
      "parents": [
        "849a31075c7804c82cfa339ba90ee68f82917d3d",
        "e631e32a1a771a36267af3f8af8b64e9365bc19e"
      ],
      "author": {
        "name": "Peeyush Agarwal",
        "email": "apeeyush@google.com",
        "time": "Thu Feb 09 11:17:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 09 11:17:25 2017 +0000"
      },
      "message": "Merge \"Extend MenuItem to allow modifier keys for shortcut\""
    },
    {
      "commit": "0e09fddcd0d89520a9e99cbd1dd7970a7f93c86d",
      "tree": "77a441c6d284f704d150b065f5dc89831b171656",
      "parents": [
        "2d2d671229b956c40e61755e9227dfce0f383e28",
        "59da805846034a4939b014f469d7383285c75aab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 09 00:10:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 09 00:11:01 2017 +0000"
      },
      "message": "Merge \"Add new VoiceInteractionSession.setUiEnabled method\""
    },
    {
      "commit": "f10db8e444b4ce70e2324429ad342c4e6f0674e0",
      "tree": "cac6a753cc8c2a20a5b4e02e809e663d6c5e1528",
      "parents": [
        "c1c1c23b17677662b0f128de5cce57ecfb91976e",
        "53fcf11cf5a308ef68fc852f971f12e3afcf04d9"
      ],
      "author": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Wed Feb 08 22:27:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 22:27:53 2017 +0000"
      },
      "message": "Merge \"Separate cluster-focus and default-focus.\""
    },
    {
      "commit": "59da805846034a4939b014f469d7383285c75aab",
      "tree": "bb287efa2b69314fe4f86bf674a97979a7c20ab8",
      "parents": [
        "bf99f78a3827af8cbcb394c7dd42d83915c2b551"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 06 17:42:41 2017 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 08 14:00:31 2017 -0800"
      },
      "message": "Add new VoiceInteractionSession.setUiEnabled method\n\nThis allows the session to turn off all of its UI.  Use it\nin onCreate() to prevent the session from ever creating any\nof its UI.  Switched the window creation and initialization to\nhappen lazily to support this.\n\nTest: New test added to android.assist.cts.LifecycleTest\nBug: 30999386\n\nChange-Id: I8eacb3697c8ac9908c50b9577abea2d20597b016\n"
    },
    {
      "commit": "701a4b55c92817c84a77df84234946dbaac71dba",
      "tree": "96209ff9cbc3af0b136b394e59aac2cc559d3bcc",
      "parents": [
        "fd77a331eb46ad106331d644e53d5f7945031e30"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Feb 08 10:39:21 2017 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Feb 08 20:59:02 2017 +0000"
      },
      "message": "hotspot2: fix typo in the getter functions\n\nBug: 34862444\nTest: frameworks/base/wifi/tests/runtests.sh\nTest: frameworks/opt/net/wifi/tests/wifitests/runtests.sh\nChange-Id: If833fb06cead7df9d631b3b12d66d05b8422d46c\nMerged-In: If833fb06cead7df9d631b3b12d66d05b8422d46c\n"
    },
    {
      "commit": "6305ebd6dd18244c186b4ff97044c815a37c3ca8",
      "tree": "19541f99e0c3a94832ab453c3275232c409e969d",
      "parents": [
        "bf99f78a3827af8cbcb394c7dd42d83915c2b551",
        "8dee619860d7d0e9caf2ed9f200daea73aa78824"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 08 20:52:36 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 20:52:39 2017 +0000"
      },
      "message": "Merge \"hotspot2: fix typo in the getter functions\""
    },
    {
      "commit": "8dee619860d7d0e9caf2ed9f200daea73aa78824",
      "tree": "502f1fb45f38194f9a2aad84bc76e8ef8952ea3a",
      "parents": [
        "899d76bc19573f11d51a8b4b5d6b8d93ebea2ba1"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Feb 08 10:39:21 2017 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Feb 08 11:01:43 2017 -0800"
      },
      "message": "hotspot2: fix typo in the getter functions\n\nBug: 34862444\nTest: frameworks/base/wifi/tests/runtests.sh\nTest: frameworks/opt/net/wifi/tests/wifitests/runtests.sh\nChange-Id: If833fb06cead7df9d631b3b12d66d05b8422d46c\n"
    },
    {
      "commit": "242ca740944bbb1af4e946d1bc5014137211e52a",
      "tree": "a40b49def6770f258de837798e8107e926e15715",
      "parents": [
        "d5015bec2361dfd70005b55ba5c9cff1e5bbe975",
        "ba5ce2c0f8c8b7349225d7367a422cf505ff419e"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Feb 08 18:58:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 18:58:23 2017 +0000"
      },
      "message": "Merge \"API android.media.MediaExtractor.getMetrics()\""
    },
    {
      "commit": "697221e84dd9963085dff30e231525bc0d52aff9",
      "tree": "0529112b287eb063ed3581c19758f35815ec8e44",
      "parents": [
        "42c401adbdd69044b08b2b73d563b6e42606cf43",
        "0221887e6ad0d2aed29297995986577005421264"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 08 16:54:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 16:55:01 2017 +0000"
      },
      "message": "Merge changes Ia7670aa6,I602b421b\n\n* changes:\n  Get rid of VirtualViewDelegate.\n  Set autofill id on virtual structures.\n"
    },
    {
      "commit": "fb441f50093bcc3476a33a2b63abf61d355f2eaa",
      "tree": "0bdd096b80fffef45c271fce4c947f5f691d0f80",
      "parents": [
        "45491113ed51518d459a715de95345199b286aa8"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Feb 03 12:51:40 2017 -0800"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Wed Feb 08 08:51:26 2017 -0800"
      },
      "message": "WifiManager: API upates for O\n\nDeprecate the following API\u0027s:\n1. pingSupplicant() - We don\u0027t want apps trying to figure out if\nwpa_supplicant is running or not. It should not be something that\napps need to know.\n2. saveConfiguration() - No longer needed, we automatically persist data\nwhen needed.\n\nOther changes:\n1. Reworded the docstrings to remove direct reference to wpa_supplicant\nfor network configuration related API\u0027s.\n2. We no longer allow apps to modfiy network configuration of other\napps. Added a docstring explaining that in the 3 modify API\u0027s.\n3. Changed the wording of enableNetwork\u0027s |disableOthers| flag.\n\nBug: 31146757\nTest: make update-api\nChange-Id: If970d85146de3532072191cb2b7ecb0d5adb2774\n"
    },
    {
      "commit": "45491113ed51518d459a715de95345199b286aa8",
      "tree": "06b9de70f246ca986282412f6925ecb6f7a38d44",
      "parents": [
        "da6d683caa7d285d14cdf2f6c176bf39fade080c"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Jan 24 14:58:34 2017 -0800"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Wed Feb 08 08:50:29 2017 -0800"
      },
      "message": "WifiConfiguration: Remove priority field\n\nThis field is no longer used anywhere within wifi framework and hence\nremoving this from public API.\n\nBug: 28341078\nTest: make update-api\nChange-Id: I5bd115742ca610735b00c20f2ffab7590c5f3256\n"
    },
    {
      "commit": "4f2eba2a10f4e1a18de4d3f3527a5580761d65e8",
      "tree": "49b3406e9ad124ddd1b2a189f2e11c9a3901ae2e",
      "parents": [
        "2ec94fde4feb564c9903142ebe37cebde0b201b4",
        "9ef9bfdaff6a147733dee18d1333cf844446b653"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Wed Feb 08 16:40:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 16:40:39 2017 +0000"
      },
      "message": "Merge changes If970d851,I5bd11574\n\n* changes:\n  WifiManager: API upates for O\n  WifiConfiguration: Remove priority field\n"
    },
    {
      "commit": "2ec94fde4feb564c9903142ebe37cebde0b201b4",
      "tree": "a820a0e4f13c27513bf0d1a81d437c6f7d574e8a",
      "parents": [
        "b94a914c9e2446f791cf165a38dd6683c4251f0a",
        "0f552f4d50c40c60b5de315d6f3dc480ebd97888"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Feb 08 16:21:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 16:21:06 2017 +0000"
      },
      "message": "Merge \"Provide old behavior for View#hasFocusable to old apps\""
    },
    {
      "commit": "c71d1c28809085c507340a9497b40646b2008996",
      "tree": "a3ab178994017175227a7447ca6f1619bb87a97c",
      "parents": [
        "f9a55d42d2e2adbf5895d04e4790debb145508ed",
        "68c63024c2ace87921c1e84a99d18dae6001c74c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 08 15:35:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 15:35:28 2017 +0000"
      },
      "message": "Merge \"Allow EAP-SIM authentication methods under PEAP\""
    },
    {
      "commit": "f9a55d42d2e2adbf5895d04e4790debb145508ed",
      "tree": "64de1d1f015b9afc1b9f4017750e22f502d86314",
      "parents": [
        "24843fdf3b24c0cd0d7c8f7b0921072f115a66f1",
        "9fe208fe6b0c0aef797a2d3757f50b88ecd86a0c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 08 14:57:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 14:57:43 2017 +0000"
      },
      "message": "Merge \"AutoSize TextView (part 8) - APIs for predefined sizes\""
    },
    {
      "commit": "0ebe2d1b0dca82cadbce2fad5eff32c7d498d1f6",
      "tree": "7e5303e429898b914a573d6c9e3c5446752fdae2",
      "parents": [
        "8bc078d73413bbfe1a0c790ca62aec12a815080f",
        "c9842c16274cbfaf60ad116b0f8bee913b82de7c"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Feb 08 13:34:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 13:34:28 2017 +0000"
      },
      "message": "Merge changes from topics \u0027proto\u0027, \u0027lights\u0027\n\n* changes:\n  Dump notification records to proto\n  Highlight selected channel on launching settings.\n  Let developers choose a light color for channels\n"
    },
    {
      "commit": "9fe208fe6b0c0aef797a2d3757f50b88ecd86a0c",
      "tree": "bb9e5f807e2d2ed49a1c3f977c92cc9941208338",
      "parents": [
        "155c3a88ac6e6b690fb3324054abfcc8095e9cc3"
      ],
      "author": {
        "name": "Andrei Stingaceanu",
        "email": "stg@google.com",
        "time": "Fri Jan 27 15:31:19 2017 +0000"
      },
      "committer": {
        "name": "Andrei Stingaceanu",
        "email": "stg@google.com",
        "time": "Wed Feb 08 12:48:21 2017 +0000"
      },
      "message": "AutoSize TextView (part 8) - APIs for predefined sizes\n\n* getter/setter for predefined sizes\n* reads and configures from XML at construction time\n* fix for an ugly bug where the sizes were missing an\n  entry in certain cases, e.g: min \u003d 10; max \u003d 20;\n  step \u003d 2 would have produced [10, 12, 14, 16, 18]\n  instead of [10, 12, 14, 16, 18, 20]\n* fix using getHeight()/getWidth() instead of\n  untrusted getMeasuredHeight()/getMeasuredWidth()\n  and move the auto-sizing triggering to\n  onLayout() instead of onMeasure() (while manually\n  testing discovered missing or extra pixels and\n  sometimes resizing being skipped - it\u0027s all fixed\n  now)\n* fix using deceiving getTotalPaddingBottom()/...Top()\n  and replaced with getExtendedPaddingBottom()/..Top()\n  (getTotal... was removing the whitespace height but\n  auto-size needs to know about it so it can fill the\n  space)\n\nBug: 32221168\nTest: attached in the same topic\n      run cts-dev -m CtsWidgetTestCases -t \\\n      android.widget.cts.TextViewTest\n\nChange-Id: Id5a31d0d32b2b4082af45b4bd65af8cb85bdc92e\n"
    },
    {
      "commit": "5a6a99d2f5282454d34e398078f29419e7a2db60",
      "tree": "04fb86c30890e061841ed19e311ab8095d0cee4b",
      "parents": [
        "80f42edfc7333d8a2a3d8fa529b85ed6763f8cc0",
        "b89cf026cf731108daa293f076ffcb32bbd2c8d7"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Wed Feb 08 12:19:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 12:19:27 2017 +0000"
      },
      "message": "Merge \"TextClassificationManager: Avoid exposing lock.\""
    },
    {
      "commit": "1dd026d98131d67f93e22ae89bbf683192aae56e",
      "tree": "83a2e2404fdca4aa6c801f7b255002a3caa53e92",
      "parents": [
        "74b16a1e6b87a4295598fa835e6577211e02fb0f",
        "c6eb54ce43ba25ff053f4fee81456a1018196ed0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 08 09:51:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 09:51:52 2017 +0000"
      },
      "message": "Merge \"TIF: add BaseProgramColumns in TvContract\""
    },
    {
      "commit": "61294f4c8be6afdb8f607d5fac06fd1b08ee340c",
      "tree": "0fb2e163530cfe53521ac5ea7fc171c0269ea78e",
      "parents": [
        "df6438325f53ab1f57098912f93083d0b03ea3e0",
        "7f60d35d941335feefe7ae557c07738a1fa45290"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 08 09:37:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 09:37:22 2017 +0000"
      },
      "message": "Merge \"Removed value from AutoFillManager.virtualFocusChanged().\""
    },
    {
      "commit": "084f004ad494b116d9bcbc673645468e645867de",
      "tree": "9f7c27235fb08d0badd5000feb5ef2958fd16cc4",
      "parents": [
        "3bcef52d7c04b4fd8cfcf4d88782068719003a28",
        "edf0a3715da497784d810d0b07e4827d54a887ac"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 08 09:11:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 09:11:15 2017 +0000"
      },
      "message": "Merge \"BatteryManager: Add battery status to getProperty\""
    },
    {
      "commit": "0221887e6ad0d2aed29297995986577005421264",
      "tree": "b6637fbcf7ecc8dcb2422813fa21c122db2a3448",
      "parents": [
        "1bdf3f070b9058058296fe4a36252cec877d88fa"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Feb 07 15:32:14 2017 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Feb 07 20:05:51 2017 -0800"
      },
      "message": "Get rid of VirtualViewDelegate.\n\nVirtualViewDelegate was used by views providing virtual children to:\n- auto-fill the chidren\n- notify system about children changes\n\nSince the notification logic moved to the AutoFillManager class, it\u0027s\nkind of an overkill to provide a delegate just for autoFill(); instead,\nit\u0027s simpler to add a new autoFillVirtual(virtualId, value) method on\nView.\n\nBUG: 31001899\n\nTest: manual verification\nTest: CtsAutoFillServiceTestCases passes\n\nChange-Id: Ia7670aa665918496a009017a11c3de72c4ed3fa2\n"
    },
    {
      "commit": "7f60d35d941335feefe7ae557c07738a1fa45290",
      "tree": "b08337f5873ce826e63ddc1294064b567400da90",
      "parents": [
        "fb0f360222289eea4c27ff7ac39bce5578b7f648"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Feb 07 17:14:52 2017 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Feb 07 17:23:56 2017 -0800"
      },
      "message": "Removed value from AutoFillManager.virtualFocusChanged().\n\nBUG: 31001899\n\nTest: manual verification\nTest: CtsAutoFillServiceTestCases passes\n\nChange-Id: I71c9f9b4b02b210121a1d15860c3c7172d26a62d\n"
    },
    {
      "commit": "ba5ce2c0f8c8b7349225d7367a422cf505ff419e",
      "tree": "62278bd2a7ef4e9ef5bee7e2547545689d13bc3c",
      "parents": [
        "3f7bf2e96c4d7a5350e258d392d063de7705356f"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Feb 07 09:50:47 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Feb 07 15:35:39 2017 -0800"
      },
      "message": "API android.media.MediaExtractor.getMetrics()\n\nadds the API getMetrics() to android.media.MediaExtractor\nincludes plumbing through JNI to the underlying mediaextractor\ncode in frameworks/av.\n\nTested with some CTS modifications; a more formal set of CTS\nupdates will be along later.\n\nBug: 35094936\nTest: modified CTS to invoke new API and output results\nChange-Id: Id8d56c9c3273b86bbd11e248bdf5004be90b91ef\n"
    },
    {
      "commit": "97b383f5a57ed7d384de60c699ca072e6d1d5e95",
      "tree": "a16b5b4900ef57e3afa0f6f94e1e5ac9b1de1ecd",
      "parents": [
        "1e2758256a391be23c537725f0a7785e4fb5b7d0"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Thu Feb 02 15:04:35 2017 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Tue Feb 07 15:35:20 2017 -0800"
      },
      "message": "Add permission for instant apps creating foreground services\n\nForeground services could potentially be abused to get around the\nlifecycle requirements of Instant Apps, so limit that behavior with a\nperission that will need to be granted by the installer.\n\nTest: Manually verified\nChange-Id: Ia162077971e914960ebdb8293a33faa8038ed850\n"
    },
    {
      "commit": "93d66c83cf0180e92ecc57978caece9e0c6b39f1",
      "tree": "f00b6b3e6873f47004670ef90e0a6ed370c9080e",
      "parents": [
        "10e7aed13f8a690b02e2f6c38f095379fdaeb383",
        "bffe405e1fea19df85474b2253d35038a53f59dd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 07 23:25:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 07 23:25:04 2017 +0000"
      },
      "message": "Merge changes from topic \u0027Passpoint API Rename\u0027\n\n* changes:\n  hotspot2: expose Passpoint APIs as public\n  hotspot2: fix class/function/variable names to comply with API guideline\n  hotspot2: rename classes to comply with API guideline\n"
    },
    {
      "commit": "95e76d7e3db28eb44f76779e379b0b8a157a633f",
      "tree": "b301636c919e7427b4ed87824ee59bfc4166534b",
      "parents": [
        "38d07a18bb64b56628ea621b5860380e3fde62b7",
        "246b4144f1f800adb0eaa168bb722c43747b5042"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 07 22:10:38 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 22:10:42 2017 +0000"
      },
      "message": "Merge \"Add android.permission.RESTRICTED_VR_ACCESS for privileged VR APIs.\""
    },
    {
      "commit": "edf0a3715da497784d810d0b07e4827d54a887ac",
      "tree": "5d9bce250e14d6e26a3d2d3bbb9c6b292e85d46c",
      "parents": [
        "38d07a18bb64b56628ea621b5860380e3fde62b7"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Fri Feb 03 11:08:37 2017 -0800"
      },
      "committer": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Tue Feb 07 21:41:39 2017 +0000"
      },
      "message": "BatteryManager: Add battery status to getProperty\n\nBug: 34198239\nChange-Id: I65cef6864b1074445342e18f49c7cecd0706b938\n"
    },
    {
      "commit": "bffe405e1fea19df85474b2253d35038a53f59dd",
      "tree": "2b855635757559dcb98c522524d826e7a96db08e",
      "parents": [
        "da8a67e8a606ebd49a724a18d3581b62121b532c"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Jan 31 20:08:38 2017 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Feb 07 13:34:47 2017 -0800"
      },
      "message": "hotspot2: expose Passpoint APIs as public\n\nBug: 34862444\nTest: frameworks/base/wifi/tests/runtests.sh\nTest: frameworks/opt/net/wifi/tests/wifitests/runtests.sh\n\nChange-Id: I8bf5c715b9088c673e59a73a78e18f6e6b64d1d1\n"
    },
    {
      "commit": "cd161864a32873d67e304af7898df69dfb9d5f9d",
      "tree": "ea885a0a46fd4458664640fc2828ae4dc5f24685",
      "parents": [
        "d9b6cf1fe9419a022945cf6afc93463826c74f38",
        "2a82fe587b850061ace024d2025047554987c10d"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Feb 07 21:18:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 21:18:15 2017 +0000"
      },
      "message": "Merge changes I3ef361bd,I89a5184c\n\n* changes:\n  Refactor PiP logic in preparation for expanded state.\n  Modifying RemoteAction callback to PendingIntent.\n"
    },
    {
      "commit": "529e3329e68963eff0dd1cf40d938a9953cd5060",
      "tree": "a7cfa57f9eb40f6680c324d2f443383e8ed3f528",
      "parents": [
        "155c3a88ac6e6b690fb3324054abfcc8095e9cc3"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Feb 06 08:33:01 2017 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Feb 07 15:46:09 2017 -0500"
      },
      "message": "Let developers choose a light color for channels\n\nTest: runtest systemui-notification \u0026 cts\nChange-Id: Ibfab57924d0a9093af23191ebdd68ce1c0da6eca\n"
    },
    {
      "commit": "b89cf026cf731108daa293f076ffcb32bbd2c8d7",
      "tree": "c210b420217ff58e456a96f0ce430b934474742e",
      "parents": [
        "d9b6cf1fe9419a022945cf6afc93463826c74f38"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Mon Feb 06 19:53:22 2017 +0000"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Tue Feb 07 20:41:44 2017 +0000"
      },
      "message": "TextClassificationManager: Avoid exposing lock.\n\nTest: CtsViewTestCases passes\nBug: 35040457\nChange-Id: Ia27730816f8aa4832a16aa9ebcafac68acb79e27\n"
    },
    {
      "commit": "c117bea6dcc1fc8a414a50ad6dfc3c24d4be4beb",
      "tree": "5ffba86f2f2b6f1c101a1c313b85d3d8a0991fbf",
      "parents": [
        "4c28b93caa3ce7a2d19ba40150d589d777b9c926"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 07 11:04:18 2017 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 07 11:14:19 2017 -0800"
      },
      "message": "audio: deprecate AudioManager.isBluetoothA2dpOn()\n\nThis method name is misleading and the functionality is now\nreplaced by the more generic AudioManager.getDevices() method.\n\nBug: 35076621\nTest: make, make update-api\nChange-Id: Idc2e55f85722d3197fc8fab115af33f5da889d57\n"
    },
    {
      "commit": "1e2758256a391be23c537725f0a7785e4fb5b7d0",
      "tree": "15b2bcec000b3967272a5c43e49292d17cbf3b33",
      "parents": [
        "d8df1b083dc691b7f50c480649436906c1bb249c",
        "c2e28932d22faece6e7179c78d4e7656dc63052c"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Tue Feb 07 19:14:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 19:14:09 2017 +0000"
      },
      "message": "Merge \"Provide text locations to accessibility services.\""
    },
    {
      "commit": "0f552f4d50c40c60b5de315d6f3dc480ebd97888",
      "tree": "63ca6b7b4842374cd758dbb81b583c0a83943d48",
      "parents": [
        "40eb0ba4277823ea794fb54096a621934e6f5dd1"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Feb 03 11:50:42 2017 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Feb 07 10:44:37 2017 -0800"
      },
      "message": "Provide old behavior for View#hasFocusable to old apps\n\nExisting apps have copies of ListView behavior that expects the old\nhasFocusable behavior of only reporting explicitly focusable views.\nUse targetSdkVersion to give the old behavior to existing apps.\nAdd hasExplicitFocusable method to View to offer the old behavior\nto apps that need it. ViewCompat method required in support library\nto shim through to hasFocusable pre-O.\n\nBug: 34946284\nTest: CTS\nChange-Id: I65503fa2c5fe4cb8b635efa464e653bbf5e7f821\n"
    },
    {
      "commit": "fb0f360222289eea4c27ff7ac39bce5578b7f648",
      "tree": "107a2d9d408aa3acb40dc4842d4d9193c554e1cf",
      "parents": [
        "7f01089aae3b0d4e4bd71a0c898fc7d3eb79a4d4",
        "bab851c7c9dfe6f3d063a1009c4d57cfa2ff005c"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Feb 07 17:50:26 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 17:50:29 2017 +0000"
      },
      "message": "Merge \"Refined session management so Save can be automatically called.\""
    },
    {
      "commit": "e631e32a1a771a36267af3f8af8b64e9365bc19e",
      "tree": "86a587c27ac36893f84027beb70bedd8313d2eae",
      "parents": [
        "155c3a88ac6e6b690fb3324054abfcc8095e9cc3"
      ],
      "author": {
        "name": "Peeyush Agarwal",
        "email": "apeeyush@google.com",
        "time": "Wed Oct 19 11:41:42 2016 +0100"
      },
      "committer": {
        "name": "Peeyush Agarwal",
        "email": "apeeyush@google.com",
        "time": "Tue Feb 07 17:01:26 2017 +0000"
      },
      "message": "Extend MenuItem to allow modifier keys for shortcut\n\nBefore this, CTRL was the default modifier for MenuItem shortcuts.\nNow, It\u0027s possible to specify the modifier in XML or via MenuItem\nmethods.\nThe modifier list includes META, CTRL, ALT, SHIFT, SYM and FUNCTION.\n\nWIP on support library implementation\n\nBug: 32165848\nTest: Run the tests using following commands:\n\u003e cts-tradefed run cts-dev -m CtsViewTestCases -t\n\u003e   android.view.cts.MenuTest#testPerformShortcut\n\u003e cts-tradefed run cts-dev -m CtsViewTestCases -t\n\u003e   android.view.cts.MenuInflaterTest#testInflateShortcutModifiersFromXml\n\nChange-Id: I7db4607d4657451934761914efe4c250de109653\n"
    },
    {
      "commit": "9c2a6867578142b3e51fa8787a39d350c147b4fa",
      "tree": "0dc3f75d68fb697e867af44da4792d270ca6cd33",
      "parents": [
        "f90087168b61d8144b1bf79a5305b91e408173ff"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Feb 03 12:11:00 2017 -0800"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Feb 07 08:26:24 2017 -0800"
      },
      "message": "Modifying RemoteAction callback to PendingIntent.\n\nTest: android.server.cts.ActivityManagerPinnedStackTests\nBug: 34864798\nChange-Id: I89a5184c2f067722cb1f5f962bbb8cbb91529092\n"
    },
    {
      "commit": "84e706fb9b1cd6e3c7e6a4cd97bee6f22732b288",
      "tree": "be905735ceab0ca8855eeffefb96d36129de88c4",
      "parents": [
        "8874d6efdac61fcebcc20d27a3a1fecb3771c886",
        "bfb666da53c6ca65ab4c469fc6e2c0631aeaffc0"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Tue Feb 07 15:04:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 15:04:48 2017 +0000"
      },
      "message": "Merge \"Unhide getLockTaskPackages\""
    },
    {
      "commit": "4a4c67615e81629ffdba659b27e5903d735d69e7",
      "tree": "b45a68e0c0db684356a49fc041196c38fb70118d",
      "parents": [
        "e724f82b3d74d41a334106a780ab3917c958eb9c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Sun Feb 05 15:18:06 2017 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Feb 07 14:37:15 2017 +0000"
      },
      "message": "Import CallSite classes and BootstrapMethodError class from ojdk8u60\n\nMinor changes to CallSite.java, with other imported unmodified.\n\nBug: 33191717, 30550796\nTest: make docs\nChange-Id: I15e6f05d49d0fcdea8d10d128a957e0d13ca2df2\n"
    },
    {
      "commit": "bfb666da53c6ca65ab4c469fc6e2c0631aeaffc0",
      "tree": "acdc0f3aa79ccaa851a2e2a591b52a93aaa97516",
      "parents": [
        "6c149326d8d1ef0f8bf6dad702ffca399364d0d3"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Fri Feb 03 12:53:11 2017 +0000"
      },
      "committer": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Tue Feb 07 12:01:20 2017 +0000"
      },
      "message": "Unhide getLockTaskPackages\n\ngetLockTaskPackages is currently hidden, and can only be\ncalled by a device or profile owner, which doesn\u0027t make\nmuch sense. Unhidding it to be consistent with the rest\nof the DevicePolicyManager APIs that have a getter for\neach setter.\n\nBug: 34614754\nTest: cts-tradefed run cts-dev --module DevicePolicyManager --test com.android.cts.devicepolicy.DeviceOwnerTest#testLockTask_affiliatedSecondaryUser\nTest: cts-tradefed run cts-dev --module DevicePolicyManager --test com.android.cts.devicepolicy.DeviceOwnerTest#testLockTask_unaffiliatedUser\nTest: Test:  cts-tradefed run cts-dev --module DevicePolicyManager --test com.android.cts.devicepolicy.DeviceOwnerTest#testLockTask_deviceOwnerUser\nChange-Id: I6e03c2f47c0f9e7a635e798a1bf7f131a8e37c65\n"
    },
    {
      "commit": "bab851c7c9dfe6f3d063a1009c4d57cfa2ff005c",
      "tree": "9ab3a013bb3ef7bac219e221770de5aeef04d381",
      "parents": [
        "040ba81cd3732a1e968f911ae58d78b703c8095f"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Feb 03 18:45:08 2017 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Feb 06 18:22:03 2017 -0800"
      },
      "message": "Refined session management so Save can be automatically called.\n\nThis is yet another big refactoring:\n\n- AutoFillManager keeps track of its current AutoFillSession.\n- Views call AFM.startSession(View) when they can trigger autofill.\n  (virtual views can call it as well). At this point, the manager\n  sets an AutoFillSession, gets the activity token, and passes it to\n  the service.\n- Subsequent calls to AFM.start() will be ignored since the session\n  is set.\n- When the Activity is gone, it calls AFM.finishSession().\n- Simlilarly, virtual views could call it as well.\n- Added getAutoFillValue() to View.\n- Removed AFM.updateAutoFillInput(childId): virtual views should now\n  call startSession(childId) to start a session, and use the\n  VirtualViewListener callbacks for updates.\n- Change AutoFillValue to use String (which is immutable) instead of\n  CharSequence for text values.\n- Check if view is enabled before auto-filling.\n- Removed \u0027cmd autofill fill\u0027 since it would require the appCallback\n- Automatically dismiss the snack bar after 30s\n- Moved the \"don\u0027t change autofill value when autofilling\" Inception\n  logic into the service side.\n- Etc...\n\nBUG: 34819567\nBUG: 33269702\nBUG: 31001899\n\nTest: manual verification\nTest: CtsAutoFillServiceTestCases passes\n\nChange-Id: I5fad928d4d666701302049d142026a1efa7291cd\n"
    },
    {
      "commit": "c6eb54ce43ba25ff053f4fee81456a1018196ed0",
      "tree": "cf9f3ef253a5e65be2a5e1e7ab7370d71a2efa02",
      "parents": [
        "40eb0ba4277823ea794fb54096a621934e6f5dd1"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Feb 03 17:46:16 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 06 16:59:29 2017 -0800"
      },
      "message": "TIF: add BaseProgramColumns in TvContract\n\nPrograms and RecordedPrograms have a lot in common. This change\nintroduces BaseProgramColumns which removes the duplicates.\nThis will be also helpful for the further clean-up.\n\nTest: build \u0026 passes CtsTvTestCases without modification\nBug: 34853064\nChange-Id: I4ad352a9a904e7fef57c56acec5583df92b4226c\n"
    },
    {
      "commit": "edb54686c28951a4069f99ac5dcd1ae7101f89c5",
      "tree": "27fd14c051a6c33fdf893dfe66862c866582f2e9",
      "parents": [
        "e7f68ac3800286a02b4ae918f807dedc334de017",
        "048c2bc19af4cfcb5e959f1bc07fbfa03a72e330"
      ],
      "author": {
        "name": "Casey Burkhardt",
        "email": "caseyburkhardt@google.com",
        "time": "Tue Feb 07 00:14:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 00:14:49 2017 +0000"
      },
      "message": "Merge \"Initial implementation of Nav Bar Accessibility Button\""
    },
    {
      "commit": "bf9c6fdb43413929787ee3abeb76e5aabd1551d8",
      "tree": "f0d48d87d495158bed81ca22c9b43eca58c4e63b",
      "parents": [
        "ed839943e08c956ddd3fb74941e45bbb59343c8c"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Wed Nov 09 10:19:23 2016 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Mon Feb 06 14:49:03 2017 -0800"
      },
      "message": "Perform camera permission and app ops check when setting camera for VT.\n\nWhen a calling InCallService attempts to use the setCamera API on the\nVideoCall, Telecom will perform a permission check to ensure that the\ncaller has the correct camera permission and passes the app-ops camera\ncheck.  A failure to set the camera will result in a callback via the\ncall session event API.\n\nThis got a little messy as the app ops package name needs to come from the\nInCallService, and handler usage in the VideoProvider API means we had to\npass around the uid/pid of the caller, obtained before we trampoline onto\nthe handler.\n\nTest: Unit tests added, manual testing performed.\nBug: 32747443\nChange-Id: I555a04f9c3fb45e60bb811f64ba855ccf2e3b0e2\n"
    },
    {
      "commit": "444eb97c0c430b626eef8fd57cbe6ff15f1a5474",
      "tree": "81873e32c1252fd17d4919330b002f8692cade20",
      "parents": [
        "af4c6ac32fd9c7182abff97b18b9763d636732c1",
        "6ed45d8cd33c297e608aba94fc1f61dace7a7cca"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Mon Feb 06 22:19:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 06 22:19:54 2017 +0000"
      },
      "message": "Merge \"CompanionDeviceManager\""
    },
    {
      "commit": "fbffd434dfa3bcbd23062b35e94244a52a2c3ddd",
      "tree": "8c76ff18d75aa76f64447dac0ddf629bdf462140",
      "parents": [
        "95205712442a626e99ba463855cd832809d00339",
        "ab14d825c3eb2a337de02af93333e8302c08c732"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 06 21:35:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 06 21:35:26 2017 +0000"
      },
      "message": "Merge \"Adding text input mode to TimePicker.\""
    },
    {
      "commit": "c2e28932d22faece6e7179c78d4e7656dc63052c",
      "tree": "780652a8effbc8e5a4d501ba85593116864fe755",
      "parents": [
        "0fcdf4399e86ea3fb905b1298915afec46fb3be6"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Thu Dec 08 12:29:25 2016 -0800"
      },
      "committer": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Mon Feb 06 12:57:17 2017 -0800"
      },
      "message": "Provide text locations to accessibility services.\n\nBug: 30170631\nTest: New CTS tests on linked CL.\nChange-Id: I723e3777189c8df71c59dada00abdf339ebc983d\n"
    },
    {
      "commit": "048c2bc19af4cfcb5e959f1bc07fbfa03a72e330",
      "tree": "ec93be8b373fe206b0fc010f402868e9b995c865",
      "parents": [
        "cec9d8cee73aca31d255d44a50bcf0409cb43cc2"
      ],
      "author": {
        "name": "Casey Burkhardt",
        "email": "caseyburkhardt@google.com",
        "time": "Thu Dec 08 16:09:20 2016 -0800"
      },
      "committer": {
        "name": "Casey Burkhardt",
        "email": "caseyburkhardt@google.com",
        "time": "Mon Feb 06 12:56:08 2017 -0800"
      },
      "message": "Initial implementation of Nav Bar Accessibility Button\n\nThis allows an AccessibilityService to set a flag in its\nAccessibilityServiceInfo that triggers the navigation bar to show an\nAccessibility Button and observe callbacks when the button is clicked\nor there are changes in the visibility of the navigation bar.\n\nTest: Manual (Created a sample AccessibilityService) + CTS\nBug:29231271\nChange-Id: I03d653d85bc37df28ed71d8bba94b7c75fe56e43\n"
    },
    {
      "commit": "6ed45d8cd33c297e608aba94fc1f61dace7a7cca",
      "tree": "7d62835183a39a490ad2b518b27cdf6c1c232cdf",
      "parents": [
        "556897f7018e1b231d6200e21dd45657f180a63c"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Sun Jan 22 13:52:51 2017 -0800"
      },
      "committer": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Mon Feb 06 12:50:55 2017 -0800"
      },
      "message": "CompanionDeviceManager\n\nThis introduces an API for apps that support companion devices to provide a\nmore streamlined flow for pairing and setting up the device\n\nBug: 30932767\nTest: Using a toy app, invoke the newly introduced API (CompanionDeviceManager),\n and go through the flow. Ensure filtering works, and device is returned to\n the calling app. Ensure the calling app can pair to the selected device.\nChange-Id: I0aeb653afd65e4adead13ea9c7248ec20971b04a\n"
    },
    {
      "commit": "ab14d825c3eb2a337de02af93333e8302c08c732",
      "tree": "8499cdefe72e41d587c3fad152093f662e43dbe8",
      "parents": [
        "40eb0ba4277823ea794fb54096a621934e6f5dd1"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Jan 24 17:46:10 2017 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Mon Feb 06 11:29:38 2017 -0800"
      },
      "message": "Adding text input mode to TimePicker.\n\nTest: Tests will have a follow up CL.\nBug:30044800\n\nChange-Id: I71a0fba97026da76251768016edf1b159617abb9\n"
    },
    {
      "commit": "49e57a2d9f1333edb74c80f2ccf6b59ca5ab353a",
      "tree": "c5b69c4cf8f9965cfa61651183a169cc247d7adb",
      "parents": [
        "ad2409a26c8356b6cda7c726b715c3a69578444b",
        "a690473348c6182fa2f0ef1ef1ba75fec7d7d688"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 06 18:54:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 06 18:54:35 2017 +0000"
      },
      "message": "Merge \"API for app to know what to set in Activity.setVolumeControlStream()\""
    },
    {
      "commit": "ad2409a26c8356b6cda7c726b715c3a69578444b",
      "tree": "4a1ce459364404d1e5ef6598cd97ca053cd6b239",
      "parents": [
        "b0a820fbf062994d208022ef51d4f4512879d8cc",
        "1cd7e93195815b5260a90228b4fca4ec9eb1e8ab"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 06 18:47:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 06 18:47:38 2017 +0000"
      },
      "message": "Merge \"Add Vulkan compute level system feature\""
    },
    {
      "commit": "53fcf11cf5a308ef68fc852f971f12e3afcf04d9",
      "tree": "741b72fa9b64ef49d8a2908c396e9492f95fcc0b",
      "parents": [
        "ddb80216b9d536be0f2af287f44a41872aa1d809"
      ],
      "author": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Thu Jan 26 14:37:55 2017 -0800"
      },
      "committer": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Mon Feb 06 10:33:04 2017 -0800"
      },
      "message": "Separate cluster-focus and default-focus.\n\nNow properly cleans-up cluster-focus and default-focus chains\non view-removal (was only cleaning 1 level previously).\nSeparated cluster-focus and default-focus concepts.\nMade default-focus robust to changes in default-focusable\nviews (previously un-marking a default focus wouldn\u0027t reassign\ndefault focus to still-existing default focusables).\nCluster-focus falls back on default-focus when no saved\ncluster-focus exists.\n\nBug: 34394367\nTest: Associated CTS tests.\nChange-Id: I903c22ded5643d0d4ca3bc5427b38833742aa354\n"
    },
    {
      "commit": "0e51ca472e066d139b7fe357a5fcfd1dbcb3a7f1",
      "tree": "f10e7c106b42b36dcd7687e936c61c2ee957821f",
      "parents": [
        "40eb0ba4277823ea794fb54096a621934e6f5dd1",
        "99c1f9f453b3b589b3f8f2c32ea4f947e309c089"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 06 17:57:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 06 17:57:42 2017 +0000"
      },
      "message": "Merge \"MediaSession: Add methods for queue managements\""
    },
    {
      "commit": "40eb0ba4277823ea794fb54096a621934e6f5dd1",
      "tree": "2143332cb65481e62eccf2984c33dad6c40e637c",
      "parents": [
        "3d6f51d18b82b5880bb1da65843863b105b0f41e",
        "177f37367e271964d5faf70cf19384f23ea8df0b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 06 17:37:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 06 17:37:49 2017 +0000"
      },
      "message": "Merge \"Revert \"Implicitly cast views obtained via View.findView methods\"\""
    },
    {
      "commit": "1cd7e93195815b5260a90228b4fca4ec9eb1e8ab",
      "tree": "771a5ff9bb20b2536ae6bff622c37151fca6dbfd",
      "parents": [
        "e3ed795fae65cd9d3bad935fe3555878c8b8b560"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Sun Feb 05 19:58:15 2017 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Feb 06 08:57:42 2017 -0800"
      },
      "message": "Add Vulkan compute level system feature\n\nThe names of specific Vulkan API features can\u0027t be documented yet,\nbecause they won\u0027t be ratified by Khronos before the documentation\nbecomes public in a developer preview.\n\nBug: 34745152\nTest: android.graphics.cts.VulkanFeaturesTest\nChange-Id: I9af673bcb5b0c74bde72ab7a579573894170a55d\n"
    }
  ],
  "next": "3d6f51d18b82b5880bb1da65843863b105b0f41e"
}
