)]}'
{
  "log": [
    {
      "commit": "7c95a682ba064c611a13cc94fa1ccea397d776a9",
      "tree": "7e63665be73e8c1e0beec827b2127ed3095ebb04",
      "parents": [
        "ad6c1ed8bcec41cfb16f33ed6436b9e94b2288fb",
        "bc02b774632e0dfbe71ccb26535e04e485f611e6"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Thu Dec 07 21:32:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 07 21:32:29 2017 +0000"
      },
      "message": "Merge \"New supported QuickViewConstant feature to delete a file.\""
    },
    {
      "commit": "c7efe16191836ebd376306d1aa093cfd29ebb3fd",
      "tree": "782a9ded1bb93846e82377900ef3ac536e7d4111",
      "parents": [
        "a232b53975cce6ed3f74864070076dc389967577",
        "e44609b15866d080e0f8813b99d04b51a6f32929"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Dec 07 19:01:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 07 19:01:29 2017 +0000"
      },
      "message": "Merge \"Moved data connection response into system api.\""
    },
    {
      "commit": "b2795710f33ce03f4106b4bbd3b41faec0c31bad",
      "tree": "020ae2fc5a5d7770f6868df4947dbd9036bffc72",
      "parents": [
        "f20ed0321032d70d715eb1ccdde338689a30c7f1",
        "852c8f121f2e502e1e8503bfc230dccb81b681d4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 07 18:20:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 07 18:20:45 2017 +0000"
      },
      "message": "Merge \"DevicePolicyManager: Add key generation functionality.\""
    },
    {
      "commit": "734afbe61e3a7180649aebe4a89fb9e21dd668ae",
      "tree": "902857bb32749c27151992aeadc1453ba02bbd42",
      "parents": [
        "6cca6d503a41dfe92e030c99e7027cf0f8f60654",
        "329d04097e1db9b6f801972d94f56c5b56c09e8a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 07 17:35:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 07 17:35:23 2017 +0000"
      },
      "message": "Merge \"Moar changes for Autofill Field Classification mechanism:\""
    },
    {
      "commit": "852c8f121f2e502e1e8503bfc230dccb81b681d4",
      "tree": "27c90a754791b77990afbcb369cac3fad401a3bf",
      "parents": [
        "d52efa56adaca0bc70fb72082c7c663adcb669cc"
      ],
      "author": {
        "name": "Eran Messeri",
        "email": "eranm@google.com",
        "time": "Wed Nov 15 05:55:52 2017 +0000"
      },
      "committer": {
        "name": "Eran Messeri",
        "email": "eranm@google.com",
        "time": "Thu Dec 07 15:12:30 2017 +0000"
      },
      "message": "DevicePolicyManager: Add key generation functionality.\n\nThis is the crux of the Verified Access feature implementation:\nAdding the ability to generate KeyChain keys directly by the\nsecure hardware, rather than installing software-generated keys\ninto KeyChain.\n\nAdd generateKeyPair to the DevicePolicyManager, which delegates key\ngeneration (via the DevicePolicyManagerService) to the KeyChainService.\n\nDesign highlights:\n* The key generation is delegated via the DevicePolicyManagerService to\n  check that only authorized callers request key generation in KeyChain.\n* KeyChainService performs the actual key generation so it owns the key\n  in Keystore outright.\n* DevicePolicyManagerService then grants the calling app access to the\n  Keystore key, so it can actually be used.\n* Loading the public/private key pair, as well as attestation\n  certificate chain, is done in the client code (DevicePolicyManager)\n  to save parceling / unparceling those objects across process\n  boundaries twice (for no good reason).\n\nNOTE: The key attestation functionality (that includes Device ID) is\nmissing/untested. Will be added in a follow-up CL as this one is quite\nbig already.\n\nHIGHLIGHT FOR REVIEWERS:\n* API: New API in DevicePolicyManager.\n\nBug: 63388672\nTest: cts-tradefed run commandAndExit cts-dev -a armeabi-v7a -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.DeviceOwnerTest#testKeyManagement -l DEBUG; adb shell am instrument \u0027android.security.tests/android.support.test.runner.AndroidJUnitRunner\u0027 (After building the KeystoreTests target and installing the apk)\nChange-Id: I73762c9123f32a94d454ba4f8b533883b55c44cc\n"
    },
    {
      "commit": "e44609b15866d080e0f8813b99d04b51a6f32929",
      "tree": "0f3dbc4c20f1ef7401c1cd376e375abcd92a0b3e",
      "parents": [
        "57bd0a9186dcd99c8b6d335c7cbc37568d19cbd0"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Nov 30 14:03:58 2017 -0800"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Dec 07 00:27:17 2017 -0800"
      },
      "message": "Moved data connection response into system api.\n\nThis is a preliminary step for IWLAN refactoring, where data response\nwill be one of the parameter in data service callback.\n\nTest: Telephony sanity tests\nbug: 64132030\nChange-Id: I7eb5318cd75ca3b7a29d5bf0da18d6b29a228ee1\n"
    },
    {
      "commit": "a8b9e2a5454ca35c43ee8ece0d5e10ad8017714e",
      "tree": "dab5b8144a5e9dae1d6fee691d9ef5355255b245",
      "parents": [
        "081be42c272018d32af05808f176d455785ab64c",
        "5672defaa6885bf1ac974fc48fde448ed2d047f1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 06 23:03:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 06 23:03:17 2017 +0000"
      },
      "message": "Merge changes from topics \"moar_fields\", \"fc_refactor_score\"\n\n* changes:\n  Implemented autofill field classification on multiple fields and user data.\n  Refactored the FieldsClassification score mechanism.\n"
    },
    {
      "commit": "081be42c272018d32af05808f176d455785ab64c",
      "tree": "db4e871ee337c284e082ca575e3f023196dcc517",
      "parents": [
        "6842a8c66f4458d2da92c75da056287fa3931637",
        "8246513dfc5556a76e7db8732d2213919cd27748"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 06 22:56:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 06 22:56:17 2017 +0000"
      },
      "message": "Merge \"Introduce getProfileSwitchingIcon/Label In CrossProfileApps\""
    },
    {
      "commit": "dac644cd4ab97987ace0d3f5f3d1a8da7a8dd01a",
      "tree": "deebfc65a21d0ab123fcc21b6bd42df1e1f1cb79",
      "parents": [
        "787a43b293026e688d5d0580cb0fb54831269f47",
        "5f13cf0586c6edd7eaa5aa676a19df150870a81e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 06 22:27:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 06 22:27:51 2017 +0000"
      },
      "message": "Merge \"Deprecate inKeyguardRestrictedInputMode\""
    },
    {
      "commit": "329d04097e1db9b6f801972d94f56c5b56c09e8a",
      "tree": "d674ac7e7f1c1b240b8d9ca92c9f1929223c3208",
      "parents": [
        "5672defaa6885bf1ac974fc48fde448ed2d047f1"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Dec 06 09:22:43 2017 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Dec 06 13:14:15 2017 -0800"
      },
      "message": "Moar changes for Autofill Field Classification mechanism:\n\n- Changed max score to float (range 0.0 - 1.0).\n- Replaced getTopMatch() to getMatches().\n- Created a Scorer interface with a default edit-distance implementation.\n- Added a isFieldClassificationEnabled() method.\n\nTest: atest CtsAutoFillServiceTestCases:FieldsClassificationTest\nTest: atest CtsAutoFillServiceTestCases:EditDistanceScorerTest\nTest: atest CtsAutoFillServiceTestCases:UserDataTest\nTest: atest FrameworksCoreTests:SettingsBackupTest\n\nBug: 68045531\n\nChange-Id: Ice6cbf548053b86b47980d9664a3a21219c0ff08\n"
    },
    {
      "commit": "bb6bfea6801cff5b50c990bdcfbd2df93ddf9023",
      "tree": "7ac959bd6d2a4d336a6348f56a17694586fa4788",
      "parents": [
        "a044c1d27e9380d649b6b9dadfb582136be5fa79"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Dec 04 11:22:25 2017 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Dec 06 11:20:10 2017 -0800"
      },
      "message": "Refactored the FieldsClassification score mechanism.\n\nBefore, FillEvent.getFieldsClassification() returned a map of remote ids and\nscores. Now, it returns a Map of FieldClassication by AutofillId, which allows\nmultiple fields and scores for multiple user datas (although the initial\nimplementation supports only the top match for a field).\n\nThis is mostly a refactoring CL, as the implementation is still saving just one\nuser data entry and one field. But full support is coming next...\n\nTest: atest CtsAutoFillServiceTestCases:FieldsClassificationTest\nTest: atest CtsAutoFillServiceTestCases:UserDataTest\nTest: atest CtsAutoFillServiceTestCases:FieldsClassificationScorerTest\n\nBug: 68045531\n\nChange-Id: I08b29f24efbd527216f9bce2343e1bcd4b4554c0\n"
    },
    {
      "commit": "a044c1d27e9380d649b6b9dadfb582136be5fa79",
      "tree": "c33b4f6fdc1e716f892f0137a61cc37b1f79677d",
      "parents": [
        "0e86a24986b7fd386add526ea29d7d8fec6207c7",
        "af9bb8d99ed48a4070827060c9208e7bbbc54b3f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 06 19:10:34 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 06 19:10:34 2017 +0000"
      },
      "message": "Merge \"Introduce more user management APIs\""
    },
    {
      "commit": "7f16a8d17ddd5bfc40d1b76ac9427f8eb8df2557",
      "tree": "9126aaf01ed2b33c3cf31b974463e2fff6d5447f",
      "parents": [
        "f10f83d5071ae74f38d4dec19500b53ac177e8bf",
        "731c1a38c07cbd7d0a1de0e7afdd4463ba5ba77e"
      ],
      "author": {
        "name": "Pengquan Meng",
        "email": "mpq@google.com",
        "time": "Wed Dec 06 18:53:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 06 18:53:10 2017 +0000"
      },
      "message": "Merge \"Add connection serivce focus api interface\""
    },
    {
      "commit": "f10f83d5071ae74f38d4dec19500b53ac177e8bf",
      "tree": "9af20ad5e3c38dcdca7c2e374714c58ae73cac65",
      "parents": [
        "f77f4f135b978a54ee93d3192f03d28bef736cea",
        "5d73b6d7a9e07d876ce35484c1b82f96407cf77a"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Wed Dec 06 18:47:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 06 18:47:17 2017 +0000"
      },
      "message": "Merge \"Introduce ServiceConnection#onNullBinding()\""
    },
    {
      "commit": "839edb1781264eb268711075add1e4e31a18caed",
      "tree": "ef7b351e2c292d5f4232281710578f124a8965be",
      "parents": [
        "6798bc300e311c633c90ff67ccff09f7bb679c21",
        "f5e0fd78fd0165e7bf69dff32fec5467b001ea7c"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Wed Dec 06 18:25:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 06 18:25:32 2017 +0000"
      },
      "message": "Merge \"Adding widgetFeatures so that a provider can indicate a set of supported features\""
    },
    {
      "commit": "9e33289902f160fd91d2952632f5407f3e33284a",
      "tree": "9ee02c644bc819bc3f323c8cd196ffd6c9eb5977",
      "parents": [
        "347a6f8862901fa93a543eab77dd9d743c9eed07",
        "709ee1551db935adb2026fae9dd799e60f784499"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 06 18:05:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 06 18:05:32 2017 +0000"
      },
      "message": "Merge \"Adds metadata to InstantAppResolveInfo\""
    },
    {
      "commit": "bc02b774632e0dfbe71ccb26535e04e485f611e6",
      "tree": "ef397886b673405afa9c20000f03308cb9b72599",
      "parents": [
        "2e24967956fcedc2d25eb4069c89fa7629d4b35f"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Dec 06 11:24:15 2017 -0500"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Dec 06 12:48:29 2017 -0500"
      },
      "message": "New supported QuickViewConstant feature to delete a file.\n\nBug: 65368139\nTest: compiles\nChange-Id: I45e31f9ee063a9bd1330b3031bc770f7f0bf312e\n"
    },
    {
      "commit": "57a69f683c2ba455336c3cc2df9097a675f473b4",
      "tree": "a5280520deeedda82ce02826a22055c283cb7696",
      "parents": [
        "a084819342ceb696bfbef3387e565744dae31c2a",
        "d4128ec0df2d40d46b4fa0ff6edae393f3bf67b9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 06 16:48:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 06 16:48:16 2017 +0000"
      },
      "message": "Merge \"Revert \"Don\u0027t generate irrelevant a11y events - framework\"\""
    },
    {
      "commit": "709ee1551db935adb2026fae9dd799e60f784499",
      "tree": "ef1c9ee8a30d07335de78e085dfd47d9cc98170f",
      "parents": [
        "1523386d85517ce655ff5c4ffb30c70c27bc3fc6"
      ],
      "author": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Mon Dec 04 16:12:52 2017 -0800"
      },
      "committer": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Wed Dec 06 15:38:59 2017 +0000"
      },
      "message": "Adds metadata to InstantAppResolveInfo\n\nThis change introduces a metadata Bundle to the InstantAppResolveInfo\ntype to be passed along to the Instant App installer in the case of\nresolution. This can be used by the resolver and installer to improve\nlaunch by avoiding IPC to fetch needed data that lives in the resolver.\n\nChange-Id: I0b9c168dd8803f5398d222384ebd436c787e1a48\nFixes: 68223794\nTest: manual - modified resolver to populate data, verified in installer\n"
    },
    {
      "commit": "af9bb8d99ed48a4070827060c9208e7bbbc54b3f",
      "tree": "68c184a0b0fd0fdcc5a3b9e5da6c0ada1f65d4b3",
      "parents": [
        "7742160e39096d5f94c22992d404170931f72854"
      ],
      "author": {
        "name": "Alex Chau",
        "email": "alexchau@google.com",
        "time": "Wed Dec 06 14:38:25 2017 +0000"
      },
      "committer": {
        "name": "Alex Chau",
        "email": "alexchau@google.com",
        "time": "Wed Dec 06 14:38:25 2017 +0000"
      },
      "message": "Introduce more user management APIs\n\n- boolean stopUser(ComponentName admin, UserHandle userHandle)\n- boolean logoutUser(ComponentName admin)\n- List\u003cUserHandle\u003e getManageableUsers(ComponentName admin)\n- Introduced Injector.binderWithCleanCallingIdentity\n\nBug: 67580550\nTest: manually try each added API with a DPC on both primary and non-prijmray user.\nTest: CTS tracked in b/67581357\nChange-Id: I9789b9b29978d47bc22be6ecad6c5577e0f8eb5b\n"
    },
    {
      "commit": "f5e0fd78fd0165e7bf69dff32fec5467b001ea7c",
      "tree": "70f05885715e5d66aa438f0a28f8d0a2a6204a26",
      "parents": [
        "fc9696e489b03f3ab91a01b89d0cd106bc84dd8f"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Fri Oct 20 15:07:07 2017 -0700"
      },
      "committer": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Tue Dec 05 16:23:46 2017 -0800"
      },
      "message": "Adding widgetFeatures so that a provider can indicate a set of\nsupported features\n\nBug: 63931362\nBug: 36537581\nTest: Added CTS for new APIs\nChange-Id: I2bd3278bfdf40d88fc8e6f72bfbc7505c64accff\n"
    },
    {
      "commit": "fc9696e489b03f3ab91a01b89d0cd106bc84dd8f",
      "tree": "5b0c72b3914062db63275f571a94b776ad51f064",
      "parents": [
        "c3e9e8ae133d996ce44df6f53ff4e79772efe647",
        "12981ff2d8a554a1d5b6a1d80d5ebe2797344bd5"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Dec 05 23:58:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 23:58:32 2017 +0000"
      },
      "message": "Merge \"Expose the MacAddress class in the api\""
    },
    {
      "commit": "c3e9e8ae133d996ce44df6f53ff4e79772efe647",
      "tree": "d53f982b3a6db1d6135cf3a6bd6519571ec05a7d",
      "parents": [
        "15e7c31f9b32bf3f0b8c4f38bf9febb883a43039",
        "b360b995c91c2abdac7426ba37b154d15b235113"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 05 23:51:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 23:51:48 2017 +0000"
      },
      "message": "Merge \"Add new SystemApi InputMethod attr isVrOnly.\""
    },
    {
      "commit": "1f272d89e3cf850965fc0db30f1ae3614a1892b9",
      "tree": "2002bfc0ccfefec793a43e806195253aabaf9f32",
      "parents": [
        "864599ee0221f0ddeda241d6556f8e606359c601",
        "e8d86eb87b4d252ebb2786b88c21c0d9fefec263"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Dec 05 22:19:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 22:19:39 2017 +0000"
      },
      "message": "Merge \"camera: Add AF scene change key\""
    },
    {
      "commit": "b360b995c91c2abdac7426ba37b154d15b235113",
      "tree": "95b02729275fa8bf422650081d2800839e7051fa",
      "parents": [
        "1523386d85517ce655ff5c4ffb30c70c27bc3fc6"
      ],
      "author": {
        "name": "Tarandeep Singh",
        "email": "tarandeep@google.com",
        "time": "Tue Nov 21 14:25:34 2017 -0800"
      },
      "committer": {
        "name": "Tarandeep Singh",
        "email": "tarandeep@google.com",
        "time": "Tue Dec 05 13:37:14 2017 -0800"
      },
      "message": "Add new SystemApi InputMethod attr isVrOnly.\n\nIn order to support VR-only InputMethod, new attribute \u0027isVrOnly\u0027 is\nadded.\n\nBug: 63037786\nTest: atest InputMethodInfoTest\nChange-Id: Iab936df9972212f56277ef9c18d9e1f67f92a913\n"
    },
    {
      "commit": "d4128ec0df2d40d46b4fa0ff6edae393f3bf67b9",
      "tree": "4c3f0557fba69753a06e5592a2c685ed86ec9666",
      "parents": [
        "8ddfb4794f128ad6ac10fed72c73fdec61ea7bcb"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Mon Dec 04 19:48:41 2017 +0000"
      },
      "committer": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Tue Dec 05 13:08:51 2017 -0800"
      },
      "message": "Revert \"Don\u0027t generate irrelevant a11y events - framework\"\n\nThis reverts commit 8ddfb4794f128ad6ac10fed72c73fdec61ea7bcb.\n\nTest: presubmit\nBug: 69975306\nChange-Id: I05cb545eb0adc77298dddf2dea2997ef36b58a5f\n"
    },
    {
      "commit": "1beccb0fc230d9e2030ad951d483fb0026ea2d49",
      "tree": "64efd3158c950e35823ea99990643cb3ba32c5e8",
      "parents": [
        "d5b9266f013f917dc314bb2151164a5a752fa548",
        "044588599c97ceff70d74a133c9eb01a028db00c"
      ],
      "author": {
        "name": "Alex Chau",
        "email": "alexchau@google.com",
        "time": "Tue Dec 05 20:16:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 20:16:24 2017 +0000"
      },
      "message": "Merge \"Introduce logout button and DevicePolicyManager API to enable it\""
    },
    {
      "commit": "d5b9266f013f917dc314bb2151164a5a752fa548",
      "tree": "d6302929d4b524f749384ce51d5cd173e65f083c",
      "parents": [
        "c823b876c1f0afdf1e153f2cdbf3cbaef7b7db7c",
        "3accca05ddcad9d0b1b313eae49f273e39121d3c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 05 20:12:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 20:12:17 2017 +0000"
      },
      "message": "Merge \"Add major version code to platform.\""
    },
    {
      "commit": "c823b876c1f0afdf1e153f2cdbf3cbaef7b7db7c",
      "tree": "670d05fd97142d3281f3a29ee4c918e5f1d585ee",
      "parents": [
        "b51c719187b4f1bb59b3ab9d07b8b56de681509c",
        "37dfdb0c242e117aef7861d5626a4edcc3821ffe"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Tue Dec 05 19:40:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 19:40:14 2017 +0000"
      },
      "message": "Merge \"Un-hide Connection-side RTT APIs for Dialer\""
    },
    {
      "commit": "d3392daa3bec3ed4986c1e3e5714f379537793ae",
      "tree": "bed4037e66c4e35ee0b3a7a9fa6e250dd7767320",
      "parents": [
        "df12954187296bf7a61cd54412b967c60fd14776",
        "45f8b29ce0ca9f80c586850c4be3a1e552bc6c2f"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Dec 05 19:10:34 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 19:10:34 2017 +0000"
      },
      "message": "Merge \"Add SystemApis to expose runtime profile information\""
    },
    {
      "commit": "df12954187296bf7a61cd54412b967c60fd14776",
      "tree": "36564ed597e6b851d13d84d9dcaf75f78f7e790e",
      "parents": [
        "6fb1215ec3159565215f97ecac629d32c740506a",
        "60674755f606c910408b20335296ac93a1ebc0b2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 05 19:00:12 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 19:00:12 2017 +0000"
      },
      "message": "Merge \"Change TelephonyManager#getCdmaPrlVersion() from hidden to @SystemApi\""
    },
    {
      "commit": "358b028f018a136a377ae6d6e99453818d7d746f",
      "tree": "665ae78e9780d4400251b21a043cb549733de44f",
      "parents": [
        "a094c37449e51e12426b249ff7d1f8def7216321",
        "008f387e8344f9f98149856cd737086c14752f4d"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Tue Dec 05 16:39:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 16:39:28 2017 +0000"
      },
      "message": "Merge \"Add a signature to TextSelection and TextClassification\""
    },
    {
      "commit": "814f73f81a942d6e92a9f376f02416730203416a",
      "tree": "0981c54103f7bf0d9ed5d3d45e397df5d6612fcd",
      "parents": [
        "f62c26562f150109d9498488ffb9798e4e2a84d8",
        "12a747e656be08e208d44f6313d242436d5973ca"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Dec 05 09:43:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 09:43:02 2017 +0000"
      },
      "message": "Merge \"Track API changes in libcore\""
    },
    {
      "commit": "e888a8c60628e1a4dda813d97fffd45a277764d6",
      "tree": "50321626c67918e212ea0add1921a71077fdc5ce",
      "parents": [
        "1d83a5bf614506bbad62b63ad79ca4416cc2705c",
        "70dc4f4d16082c598cd1774d366c1e60c2016126"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Dec 05 05:00:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 05:00:46 2017 +0000"
      },
      "message": "Merge \"API for apps to tag sockets with their own UID.\""
    },
    {
      "commit": "5fe8eee682255fb5cd8c24577f020a5fa943af81",
      "tree": "73c9f6cce4047a9e7d1ff34597e7e8bb4484b488",
      "parents": [
        "64f62938a057c94a5835d4c36360ee07043d7845",
        "dc9daaa2b79df9065182d1e6ab6b14255f6d332d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 05 02:49:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 02:49:57 2017 +0000"
      },
      "message": "Merge \"Add Preferred Phone Account columns\""
    },
    {
      "commit": "05c1a6ca4c9649e1c998e34439a2fe85f58d6ed8",
      "tree": "d2188013eb7d2745619ca3c34703173eff140c9d",
      "parents": [
        "a50d609e2f12f78a6e2412d264579a67fde4045e",
        "e9324786a7a6aba5b9196e0ce79e30ecd1168ec8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 05 02:46:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 02:46:37 2017 +0000"
      },
      "message": "Merge \"New Autofill API: let service set optional header and footer for dataset picker.\""
    },
    {
      "commit": "731c1a38c07cbd7d0a1de0e7afdd4463ba5ba77e",
      "tree": "dbb1479e01cab59efef1b7ac4dd7789e10e39368",
      "parents": [
        "8587adc41e892ff4e85d1ec84544ed32437f2e65"
      ],
      "author": {
        "name": "Pengquan Meng",
        "email": "mpq@google.com",
        "time": "Tue Nov 21 18:01:13 2017 -0800"
      },
      "committer": {
        "name": "Pengquan Meng",
        "email": "mpq@google.com",
        "time": "Mon Dec 04 18:38:25 2017 -0800"
      },
      "message": "Add connection serivce focus api interface\n\nThis add new api interface to ConnectionService to support the\nconnection service focus api.\n\nBug: 69651192\nTest: manually\n\nChange-Id: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5\n"
    },
    {
      "commit": "8587adc41e892ff4e85d1ec84544ed32437f2e65",
      "tree": "8170ad4ec5e0c6221ba6026799be3f1ef96e5a5b",
      "parents": [
        "f8c8dbebe4652ad5a2ecff6436399583d5c08e90",
        "3c893f5b2ce44519752880baba32d11d675a1e36"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 05 02:01:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 02:01:48 2017 +0000"
      },
      "message": "Merge \"Add DIRTY_RETAIN constant\""
    },
    {
      "commit": "12981ff2d8a554a1d5b6a1d80d5ebe2797344bd5",
      "tree": "d411cf61ed5b948aaf6f6234217d6c6999c35159",
      "parents": [
        "36f46a87317be9c568649c423011b37e18698013"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Dec 05 10:30:31 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Dec 05 10:30:31 2017 +0900"
      },
      "message": "Expose the MacAddress class in the api\n\nTest: built,  flashed, $ runtest frameworks-net\nBug: 69390696\nChange-Id: Ica5efdf5ffe8ad2500a87f574508a2bcd074b33d\n"
    },
    {
      "commit": "5d73b6d7a9e07d876ce35484c1b82f96407cf77a",
      "tree": "565cd26988782b7a1647369ef4a1b448e41ab0ad",
      "parents": [
        "2f919ef86b2f69e70c08c88550250132daa8ff5f"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Oct 06 16:15:34 2017 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Dec 04 17:11:31 2017 -0800"
      },
      "message": "Introduce ServiceConnection#onNullBinding()\n\nHistorically, if a service returns null from onBind(), the binding app\ngets no information about the outcome:  the ServiceConnection is never\ninvoked.  We now introduce a new connection callback, onNullBinding(),\nfor apps that need to detect this situation.  When the service rejects\nthe binding by returning null, the onNullBinding() callback in the\nassociated ServiceConnection is invoked instead of onServiceConnected().\n\nonNullBinding() has an empty default implementation, so there is no\nbinary-compatibility impact of this new interface method.\n\nBug: 67377345\nTest: atest android.app.cts.ServiceTest\n\nChange-Id: I224512c118f7d6e5c1c2bb69eca1902882e73594\n"
    },
    {
      "commit": "70dc4f4d16082c598cd1774d366c1e60c2016126",
      "tree": "efae1ae057682e1c4953eb324482d616bb7cbe0f",
      "parents": [
        "efb758420d4385e7064df8740611fbd9fdcdbcac"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 29 11:18:23 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 04 17:43:40 2017 -0700"
      },
      "message": "API for apps to tag sockets with their own UID.\n\nThis enables app A to create a socket, pass it to app B, and have\napp B accept blame for the traffic performed on that socket.\n\nAlso adds helpful public APIs for tagging raw FileDescriptor sockets\ninstead of making developers go through shady SocketImpl wrappers.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AppSecurityTests#testAppFailAccessPrivateData\nBug: 63932076\nChange-Id: I08925c843974675fc82e4080cec2eaab9ab7cd41\n"
    },
    {
      "commit": "36f46a87317be9c568649c423011b37e18698013",
      "tree": "08ae63532f6e3b7b94aa1670578b64c03b4ff0f8",
      "parents": [
        "62b4ddd5247539947010d93fde44920703c93af6",
        "c59b4f6f8d8b16108e968ee3d6dd9e800c40d05a"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Dec 05 00:21:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 00:21:20 2017 +0000"
      },
      "message": "Merge \"Don\u0027t send userLeaving hint when entering split-screen mode.\""
    },
    {
      "commit": "60674755f606c910408b20335296ac93a1ebc0b2",
      "tree": "032059a8843c1fed732494a8d513626c4aa5da54",
      "parents": [
        "097af0fa8f0dd3917389ff9d6a3037bad21f492e"
      ],
      "author": {
        "name": "goneil",
        "email": "goneil@google.com",
        "time": "Tue Nov 28 17:50:57 2017 -0800"
      },
      "committer": {
        "name": "goneil",
        "email": "goneil@google.com",
        "time": "Mon Dec 04 15:15:43 2017 -0800"
      },
      "message": "Change TelephonyManager#getCdmaPrlVersion() from hidden to @SystemApi\n\nBug: 67751148\nChange-Id: I747e683279c2b684c3c255ddfcd33f74f52b587e\nTest: com.google.android.gts.telephony.TelephonyManager#testGetCdmaPrlVersion()\n"
    },
    {
      "commit": "45f8b29ce0ca9f80c586850c4be3a1e552bc6c2f",
      "tree": "9913a099ec8f3f38240422d7cfbedef42b509f4b",
      "parents": [
        "71e9a56fc30d66ad6d475fbf26425d791c2befa2"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 07 18:49:43 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Dec 04 14:26:46 2017 -0800"
      },
      "message": "Add SystemApis to expose runtime profile information\n\nThe API allows a system apps which acquired\n{@code android.permission.READ_RUNTIME_PROFILE} to snapshot the runtime\nprofiles of installed packages.\n\nThe API is implemented in a new service class (AndroidRuntimeManager)\naccessible from the context using\ncontext().getPackageManager().getAndroidRuntimeManager().\n\nThe main functionality is exposed as a one way call into the\nAndroidRuntimeManager with the result being posted on a callback. The\nprofile is available to the caller as a read-only ParcelFileDescriptor.\n\nThis CL only adds the API interfaces and validation. It does not fully\nimplement the functionality.\n\noneway void snapshotRuntimeProfile(in String packageName,\n  in String codePath, in ISnapshotRuntimeProfileCallback callback)\n\nBug: 30934496\nTest: gts-tradefed -m GtsAndroidRuntimeManagerHostTestCases\n\nChange-Id: Iaa6be4715840f24508acba3162ea9c1ab725bd38\n"
    },
    {
      "commit": "e9324786a7a6aba5b9196e0ce79e30ecd1168ec8",
      "tree": "1c13ecfd8a8f84bf216b4b1ecccf02078d67282c",
      "parents": [
        "c758551f2f2a0b92445f5c942ff2fcd5536b6f9e"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Nov 21 18:00:56 2017 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Dec 04 14:20:07 2017 -0800"
      },
      "message": "New Autofill API: let service set optional header and footer for dataset picker.\n\nTest: atest CtsAutoFillServiceTestCases:FillResponseTest#testBuilder_setAuthentication_illegalState,testBuilder_setHeaderOrFooterInvalid,testBuilder_setHeaderOrFooterAfterAuthentication,testBuilder_build_headerOrFooterWithoutDatasets\nTest: atest CtsAutoFillServiceTestCases:LoginActivityTest#testAutoFillOneDataset_withHeader,testAutoFillOneDataset_withFooter,testAutoFillOneDataset_withHeaderAndFooter\nTest: atest CtsAutoFillServiceTestCases\n\nFixes: 69458670\n\nChange-Id: I34be762968ffcad97dbf86898d3f1745bc8d4d64\n"
    },
    {
      "commit": "37dfdb0c242e117aef7861d5626a4edcc3821ffe",
      "tree": "5d0c1cd7c95b616ac4131757e984f707a60e2e96",
      "parents": [
        "9724fc6fdabd70022f568b3b33a036e454988cf9"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Dec 04 14:19:30 2017 -0800"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Dec 04 14:19:30 2017 -0800"
      },
      "message": "Un-hide Connection-side RTT APIs for Dialer\n\nBug: 63934808\nTest: builds\nChange-Id: I59a892fb0e314810e92dd9ad7d0c2f4610055045\n"
    },
    {
      "commit": "edb95359226a7094bc7ba54d4d66880fe714e228",
      "tree": "70b3735f09a6f8dddfaf21b9d6768ce33649b1de",
      "parents": [
        "b4207aceeaeda10095abe2d9542706ec15177990",
        "0de748d833bef8e08329ef1abb9b681391e34ac8"
      ],
      "author": {
        "name": "Yueming Wang",
        "email": "yuemingw@google.com",
        "time": "Mon Dec 04 21:57:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 04 21:57:28 2017 +0000"
      },
      "message": "Merge \"Implement DevicePolicyManager.setSystemSettings.\""
    },
    {
      "commit": "b4207aceeaeda10095abe2d9542706ec15177990",
      "tree": "3b76260535762b90102339a22b725449452dfc09",
      "parents": [
        "405efef37853c468eecb3e6411c076e0aed3e38e",
        "e29a266a62b3125fea51a8b6f84e87f0c069132f"
      ],
      "author": {
        "name": "Sanket Padawe",
        "email": "sanketpadawe@google.com",
        "time": "Mon Dec 04 21:57:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 04 21:57:02 2017 +0000"
      },
      "message": "Merge \"Implement Call handover initiation side APIs.\""
    },
    {
      "commit": "0de748d833bef8e08329ef1abb9b681391e34ac8",
      "tree": "6d47c3373ced842bf670065192e7e41e72c49c4d",
      "parents": [
        "5826e469e9d03eaa5511d413733edde0a1b99048"
      ],
      "author": {
        "name": "yuemingw",
        "email": "yuemingw@google.com",
        "time": "Wed Nov 15 19:22:27 2017 +0000"
      },
      "committer": {
        "name": "Yueming Wang",
        "email": "yuemingw@google.com",
        "time": "Mon Dec 04 21:56:46 2017 +0000"
      },
      "message": "Implement DevicePolicyManager.setSystemSettings.\n\nb/67627818\nBug: 67627818\nTest: runtest -x services/tests/servicestests/src/\ncom/android/server/devicepolicy/DevicePolicyManagerTest.java\n\ndesign doc: https://docs.google.com/document/d/\n1rvEg5jE3lMhjH-OA0iTLBUY2opM96fg7BrP81MoPnmg/edit#\n\nChange-Id: If5f5c280957085480872f2d59ed59309cf288145\n"
    },
    {
      "commit": "044588599c97ceff70d74a133c9eb01a028db00c",
      "tree": "9d95d28f2be0a80b3dfb13e38278fb9f87f1ce03",
      "parents": [
        "5826e469e9d03eaa5511d413733edde0a1b99048"
      ],
      "author": {
        "name": "Alex Chau",
        "email": "alexchau@google.com",
        "time": "Mon Nov 27 18:21:23 2017 +0000"
      },
      "committer": {
        "name": "Alex Chau",
        "email": "alexchau@google.com",
        "time": "Mon Dec 04 21:42:44 2017 +0000"
      },
      "message": "Introduce logout button and DevicePolicyManager API to enable it\n\nBug: 67843538\nTest: Manual test with CloudDpc that logout button can be controlled by DevicePolicyManager API and only enabled in shared userse\nTest: Logout button can actually exit the user and ActivityManager log shows that user is stopped\nTest: CTS is tracked in b/67843605\nChange-Id: I9f27050654958ce55f574dd05ff80609255ffeb4\n"
    },
    {
      "commit": "3accca05ddcad9d0b1b313eae49f273e39121d3c",
      "tree": "7aca880abfecad17d7e3e1ad82e7891e480078a3",
      "parents": [
        "dc3a8c7f84bf3673e184ce4acc592a1df9402746"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 20 09:32:11 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 04 13:02:10 2017 -0800"
      },
      "message": "Add major version code to platform.\n\nIt turns the version code into almost a 64-bit integer, with the\nnew major part being the upper 32 bits.\n\nThe only tricky part about this is the backup manager, since it\nstored 32-bit version codes in its backup data sets.  This is dealt\nwith by, when the major version code is not 0, writing MIN_INT as\nthe version code and following that by the full long version code,\nwhich we can detect when reading.  Note that this makes backup sets\ncontaining apps with major version codes incompatible with older\nversions of the platform.\n\nBug: 64459786\nTest: Added in Change-Id: Iab8a682b62103babd6c16a56b8dc1e97d7078658\nChange-Id: Ibfffe235bbfcf358b3741abd3f7197fdb063d3f3\n"
    },
    {
      "commit": "2025562e729c52d03aced8b2a00af47169ef0e12",
      "tree": "3e9fcedc2debf91efc52370ef8976f78fc61eeba",
      "parents": [
        "6fdd4f49a26c155fb5f25336ab138d7e3277ca26",
        "2e8f3807379f5d5d151ad2cb434d8a7aca910238"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 04 20:27:15 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 04 20:27:15 2017 +0000"
      },
      "message": "Merge \"Adds new API to retrieve statsd metadata.\""
    },
    {
      "commit": "3ce82e34e6684951ba89e2bfb49e8ef3ca8c951d",
      "tree": "49fdea236eb499397833079edaf37de0d4e3e152",
      "parents": [
        "a18d357251494f822b7a2edff443f3a7da947786",
        "452886a5b8d7cb94ba0c53e8976ff558980db1e5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 04 19:46:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 04 19:46:51 2017 +0000"
      },
      "message": "Merge \"Refactored field detection mechanism to support multiple fields.\""
    },
    {
      "commit": "008f387e8344f9f98149856cd737086c14752f4d",
      "tree": "3fb8daad531292c8ff438a0b7dfc5246fc066362",
      "parents": [
        "0deaa4c8cb47790218e1e176ebf7df051f63b0b1"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Mon Nov 27 19:32:35 2017 +0000"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Mon Dec 04 19:22:00 2017 +0000"
      },
      "message": "Add a signature to TextSelection and TextClassification\n\nA signature is a tag that a TextClassifier may use to identify an\nobject it returned for a given query. This is useful for logging\npurposes.\n\nThis cl also removes:\n - TextClassification.getLogType() and related logging.\n   This is already covered by selection event logging.\n - TextClassification.getVersionInfo(),\n   TextSelection.getVersionInfo()/getSourceClassifier().\n   These are now featured in the signature.\n\nTODO: Write a container class that generates and parses signatures.\n\nBug: 69791269\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest\nTest: bit FrameworksCoreTests:android.widget.TextViewActivityTest\nTest: bit CtsWidgetTestCases:android.widget.cts.TextViewTest\nChange-Id: I294f7e4d16c98c6512d56d08d488b204c1f91d47\n"
    },
    {
      "commit": "2e8f3807379f5d5d151ad2cb434d8a7aca910238",
      "tree": "0b67079827a7368229fbb39915907839b73189f1",
      "parents": [
        "d796c9062e9201ef8cbdb59abd982cd16f9b8ae1"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Nov 22 10:56:48 2017 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Mon Dec 04 10:23:28 2017 -0800"
      },
      "message": "Adds new API to retrieve statsd metadata.\n\nThis API can be used by clients to gather stats about statsd, eg.\nmemory usage, number of metrics/matchers, etc. This data can be used\nto debug if devices are not providing expected metrics. The metadata\nwill be for all configurations, but will not contain the actual\ncollected metrics since those might have privacy implications.\n\nTest: Tests that statsd and Android still build.\nBug: 69522276\nChange-Id: I8e0fedc142f5deed7be6e6309f9444e67d8369ce\n"
    },
    {
      "commit": "9798a611f716885005a092fcf4e9e25b8dbc1cf8",
      "tree": "e6aeeeedcfe40ad66b8f913805a57fc749d4cda1",
      "parents": [
        "d796c9062e9201ef8cbdb59abd982cd16f9b8ae1",
        "ba3856266cff7e6865eb23ec0828b2a0aee2c79f"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Mon Dec 04 18:13:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 04 18:13:25 2017 +0000"
      },
      "message": "Merge \"Primary/Secondary actions in TextClassification.\""
    },
    {
      "commit": "452886a5b8d7cb94ba0c53e8976ff558980db1e5",
      "tree": "c85eed568d5a0b5d1a2446240972ea4c7be9bcf1",
      "parents": [
        "d8dd05e7d610572d0850dd9edc538bf930aa7d51"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Nov 27 13:09:13 2017 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Dec 04 09:56:06 2017 -0800"
      },
      "message": "Refactored field detection mechanism to support multiple fields.\n\nNow instead of using FillResponse.setFieldDetection() with an object that\ncontains both the autofill ids an the user data, service must:\n- Set global mapping through AutofillService.setUserData()\n- Pass just the autofill ids to FillResponse.setFieldClassificationIds()\n\nThis CL is purely a refactoring CL - although the new API supports multiple\nvalues and multiple fields, the implementation is still hardcode for one\nvalue and one field (as before).\n\nTest: atest CtsAutoFillServiceTestCases:FieldsClassificationTest\nTest: atest CtsAutoFillServiceTestCases:UserDataTest\nTest: atest CtsAutoFillServiceTestCases:FillResponseTest\n\nBug: 68045531\n\nChange-Id: I8d846d817dfcde3a4db7abff798bb2250e1c4e7b\n"
    },
    {
      "commit": "c59b4f6f8d8b16108e968ee3d6dd9e800c40d05a",
      "tree": "2a25b3f0e850b55dc851d4f68a88b30365e6efa1",
      "parents": [
        "9f3d06b78a4746eddfdde8a94354719087fd4b44"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Nov 30 11:05:43 2017 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Dec 04 09:50:55 2017 -0800"
      },
      "message": "Don\u0027t send userLeaving hint when entering split-screen mode.\n\nIf the current activity stack we are resuming is in multi-window mode\nand the last resumed activity stack should still be visible, then don\u0027t\nsend userLeaving hint as the activity will still be visible to the user\nafter onPause is called.\nAlso, added option to say if recents activity should be shown when\nsplit-screen is activated. starting the recents activity during\nCTS testing can cause timing issues since the recents activity might\nbe started after the activity we are trying to launch adjacent to\nsplit-screen.\n\nChange-Id: Iba1d0749062e7365a207ba1172705b5ab70cb869\nFixes: 69419620\nTest: ActivityManagerSplitScreenTests.testNoUserLeaveHintOnMultiWindowModeChanged\n"
    },
    {
      "commit": "f156c04912d9b50e9d735daae9ea209721eaa371",
      "tree": "c272888774f441b5cb52258890ad32c3e883355d",
      "parents": [
        "01a70b2e2295bfb4c600fd74db6953e4aee4f10b",
        "afbccb7d37647f6da61ebcc52a598c7a9f54bc3f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Dec 03 15:09:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Dec 03 15:09:33 2017 +0000"
      },
      "message": "Merge \"Expose App Standby APIs for apps and system\""
    },
    {
      "commit": "ba3856266cff7e6865eb23ec0828b2a0aee2c79f",
      "tree": "52e4362f54cab4c575ba2d888d3fe0f01be3d8ac",
      "parents": [
        "ace4014402bf6bbaf900b425da61e2b87677de60"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Wed Nov 29 19:30:32 2017 +0000"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Sat Dec 02 01:06:39 2017 +0000"
      },
      "message": "Primary/Secondary actions in TextClassification.\n\nBug: 68846316\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest\nTest: bit FrameworksCoreTests:android.widget.TextViewActivityTest\nTest: bit CtsWidgetTestCases:android.widget.cts.TextViewTest\nChange-Id: I84c652cb953f1af9b1c4077fa2a13ae23689c48b\n"
    },
    {
      "commit": "e29a266a62b3125fea51a8b6f84e87f0c069132f",
      "tree": "f4cb7590adfdb2fb650aacd8547a9ab825663429",
      "parents": [
        "dcc0da281b4a7e250a732da524f90cbb954516eb"
      ],
      "author": {
        "name": "Sanket Padawe",
        "email": "sanketpadawe@google.com",
        "time": "Fri Dec 01 13:59:27 2017 -0800"
      },
      "committer": {
        "name": "Sanket Padawe",
        "email": "sanketpadawe@google.com",
        "time": "Fri Dec 01 14:25:17 2017 -0800"
      },
      "message": "Implement Call handover initiation side APIs.\n\nBug: 65415068\nTest: Manual\n\nDesign doc:\nhttps://docs.google.com/document/d/1qY3oAzjff_4A1ttYb_CGrE_OwTRmXMG_KGsIuPT1ey8/edit#\n\nChange-Id: I692bb14fba66733154378c2dda525aa85c471a38\n"
    },
    {
      "commit": "afbccb7d37647f6da61ebcc52a598c7a9f54bc3f",
      "tree": "845f2eb7b6a7be5a61e85d7cdc0b65af9bcfe54c",
      "parents": [
        "577e40090282638cb2df5ba4738f4ba1030a2c53"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Nov 27 10:44:24 2017 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Dec 01 14:00:37 2017 -0800"
      },
      "message": "Expose App Standby APIs for apps and system\n\nAllow apps to query their own standby bucket.\nAllow privileged apps with PACKAGE_USAGE_STATS permission to\nquery apps.\nAllow privileged apps with CHANGE_APP_IDLE_STATE to set the\nstandby state for apps, but not for themselves.\nRemoved AppStandby class and moved constants into UsageStatsManager.\n\nBug: 63527785\nTest: cts-tradefed run cts-dev -m CtsAppUsageHostTestCases\nChange-Id: I3c1c20f6ecb6d54e248233696039286b243d663c\n"
    },
    {
      "commit": "3c893f5b2ce44519752880baba32d11d675a1e36",
      "tree": "086079349afdd8fd9d888f3943b2cb73402229ba",
      "parents": [
        "c6158aee00783f8d4eacfd1c435f1119f344d4ec"
      ],
      "author": {
        "name": "Ta-wei Yen",
        "email": "twyen@google.com",
        "time": "Thu Nov 30 14:29:18 2017 -0800"
      },
      "committer": {
        "name": "Ta-wei Yen",
        "email": "twyen@google.com",
        "time": "Fri Dec 01 10:50:35 2017 -0800"
      },
      "message": "Add DIRTY_RETAIN constant\n\nPreviously the DIRTY flag can only be automatically or explicitly set.\nThere are no option to express \"This operation does not change the DIRTY\nflag\". This causes issue when the voicemail source is downloading\nchanges from the server instead of uploading and would clobber the flag.\n\nAfter this CL, if DIRTY is updated with DIRTY_RETAIN, the flag will not\nbe updated for the operation.\n\nChange-Id: I4ed430865c28c824cbd13ccf884091637b106d8a\nFixes: 64371667\nTest: CtsProviderTestCases#VoicemailProviderTest\n"
    },
    {
      "commit": "8246513dfc5556a76e7db8732d2213919cd27748",
      "tree": "340be18b9f2e0901cfbc2d264cb1374d0a5b93e8",
      "parents": [
        "1a0e948f61e901cd22650f0ef7424e911b8af109"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Nov 29 21:00:30 2017 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Dec 01 18:44:10 2017 +0000"
      },
      "message": "Introduce getProfileSwitchingIcon/Label In CrossProfileApps\n\nLeave the resource retrieval part in client side to avoid passing\ndrawable across process boundary which should be bad for performance.\n\nThe verification part is done in client side, so in theory, apps can work\naround the verification. That said, the strings and drawables\nare not secret anyway, they are just a generic icon / label to represent\nthe user. Also, they can always retrieve them by using getDrawable\nanyway.\n\nBUG: 67765768\nTest: bit FrameworksCoreTests:android.content.pm.crossprofile.CrossProfileAppsTest\n\nChange-Id: I44a7ba17ecc81d0d366184b2d411caa7a82de3ef\n"
    },
    {
      "commit": "d6ba912bb994beca5a0c51e39af8a93cc7e0b7a3",
      "tree": "9165f43932ac7e773429f8a31fb09b2d156ab40a",
      "parents": [
        "aad6c9841c81b8eed80eb12dd2e79b81cc772461",
        "ab953332bca70799b908ae0bfffb10c5d7a7a7f7"
      ],
      "author": {
        "name": "Bernardo Rufino",
        "email": "brufino@google.com",
        "time": "Fri Dec 01 12:06:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 01 12:06:23 2017 +0000"
      },
      "message": "Merge \"Binding on-demand #3: updateTransportAttributes() API\""
    },
    {
      "commit": "dc9daaa2b79df9065182d1e6ab6b14255f6d332d",
      "tree": "b33e7a709381b6f6db6bf21b6d4322c946549f18",
      "parents": [
        "c6158aee00783f8d4eacfd1c435f1119f344d4ec"
      ],
      "author": {
        "name": "Ta-wei Yen",
        "email": "twyen@google.com",
        "time": "Tue Nov 28 17:10:48 2017 -0800"
      },
      "committer": {
        "name": "Ta-wei Yen",
        "email": "twyen@google.com",
        "time": "Thu Nov 30 15:21:38 2017 -0800"
      },
      "message": "Add Preferred Phone Account columns\n\nFixes: 69868483\nTest: CtsProviderTestCases\nChange-Id: Ib67b58e7353cc847116296270d56eed216b87e38\n"
    },
    {
      "commit": "e5d74ccc3092e7600db411a4756a209b88ca3d4e",
      "tree": "4c1722b0ec58411031d3d969a11142789ac51fd8",
      "parents": [
        "e9634c5c2673a54a3935d0811a0106bb90411336",
        "c545799b80344a8747865627427bea746b6f28cb"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Thu Nov 30 16:23:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 30 16:23:46 2017 +0000"
      },
      "message": "Merge \"Promote ACTION_DISMISS_TIMER to public API\""
    },
    {
      "commit": "12a747e656be08e208d44f6313d242436d5973ca",
      "tree": "4a869cbc6779dcbb6bd08fea0a2bf58792c5b2c8",
      "parents": [
        "05013b377266f9e4e2651c6aa819960479dc3676"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Nov 30 15:54:50 2017 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Nov 30 15:56:59 2017 +0000"
      },
      "message": "Track API changes in libcore\n\nBug: 35910877\nTest: Build\nChange-Id: Ia2e966e55d7a6d4d190e77af3af6a568e2ab5dee\n"
    },
    {
      "commit": "ab953332bca70799b908ae0bfffb10c5d7a7a7f7",
      "tree": "bc065b9b9e2192fd065ddc28afc901aba6c23c30",
      "parents": [
        "26e57037a3bcc875c26a9e540f1a8ed185a49d38"
      ],
      "author": {
        "name": "Bernardo Rufino",
        "email": "brufino@google.com",
        "time": "Wed Nov 22 22:10:32 2017 +0000"
      },
      "committer": {
        "name": "Bernardo Rufino",
        "email": "brufino@google.com",
        "time": "Thu Nov 30 14:26:13 2017 +0000"
      },
      "message": "Binding on-demand #3: updateTransportAttributes() API\n\nThis CL introduces the updateTransportAttributes() API to be used by the\ntransport hosts. It doesn\u0027t actually use the description attributes yet,\nthis will go in another CL. This is because I want to test that CL\ntogether with transport usage. Tests are lacking for TransportManager\nand BMS, I\u0027ll still add them, but I\u0027m trying to migrate Robolectric\nfirst.\n\nRef: http://go/br-binding-on-demand\nBug: 17140907\nTest: make RunFrameworksServicesRoboTests\nTest: runtest -p com.android.server.backup frameworks-services\nTest: gts-tradefed run commandAndExit gts-dev -m GtsBackupTestCases\nTest: gts-tradefed run commandAndExit gts-dev -m GtsBackupHostTestCases\nTest: cts-tradefed run commandAndExit cts-dev -m CtsBackupTestCases\nChange-Id: I56f7b5a5026d21d8f11afb371d5560d4913c5f2a\n"
    },
    {
      "commit": "a3dcd16044a4d8ad57293edfa94cf9b644bd506d",
      "tree": "6f07960df04441369e92e35464ed2c18abd5553d",
      "parents": [
        "46d88da64e30e2592c56c838a8875bb27ae739a2",
        "5fb64cdae72402d8ff51f4c2a76e3a3ba96eef8d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 30 01:28:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 30 01:28:59 2017 +0000"
      },
      "message": "Merge \"ImageReader: Make discardFreeBuffers public\""
    },
    {
      "commit": "8e181791ae4d73d2e7f8534f822ec14d24c6e12b",
      "tree": "a9cf1531b9761c6ee1e185eca6f903495ce97644",
      "parents": [
        "b9cb8b33977a6db6b14c960519b3b9150d8448aa",
        "4d232d6243af42e2784664f6fab040e853f05223"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 30 01:07:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 30 01:07:29 2017 +0000"
      },
      "message": "Merge \"TextClassifier cleanup #1\""
    },
    {
      "commit": "5f13cf0586c6edd7eaa5aa676a19df150870a81e",
      "tree": "410bca42ec0ad822529a70067aa85cc154a383db",
      "parents": [
        "b1b1141ee4c9ce022cb935fdf5bf7be579137374"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Oct 12 16:50:06 2017 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Nov 29 15:25:35 2017 -0800"
      },
      "message": "Deprecate inKeyguardRestrictedInputMode\n\nThe api inKeyguardRestrictedInputMode is no longer needed,\ndeprecate it. Redirect output to isKeyguardLocked().\nRemove inKeyguardRestrictedKeyInputMode.\n\nTest: make, flash, use system ui\nBug: 65998293\nChange-Id: Ie2609758fc013aab10530a1be087c983c51d86b0\n"
    },
    {
      "commit": "5fb64cdae72402d8ff51f4c2a76e3a3ba96eef8d",
      "tree": "2b4825b955cd6d479b5a53a56bf4dbe6b6a3ce2b",
      "parents": [
        "bc8c25a40789dee7e102a7de700042d7d570e759"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Nov 27 16:45:14 2017 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Nov 29 14:13:01 2017 -0800"
      },
      "message": "ImageReader: Make discardFreeBuffers public\n\nTest: CTS\nBug: 64847201\nChange-Id: I61008111552b5ca4641a509e5bcf5cf821582d5e\n"
    },
    {
      "commit": "229f0d030530df9a72f17a818cd7e0cfe9e9958a",
      "tree": "f74626de9f491d4780ee08283a0730f77c493299",
      "parents": [
        "57d14f69742c69a7960fa4715f3e98c82afcafa8",
        "8ddfb4794f128ad6ac10fed72c73fdec61ea7bcb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 29 20:56:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 29 20:56:37 2017 +0000"
      },
      "message": "Merge \"Don\u0027t generate irrelevant a11y events - framework\""
    },
    {
      "commit": "4d232d6243af42e2784664f6fab040e853f05223",
      "tree": "3b2da388d5c3f666d6a997616a7e3224393581fd",
      "parents": [
        "1a0e948f61e901cd22650f0ef7424e911b8af109"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Thu Nov 23 12:22:45 2017 +0000"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Wed Nov 29 19:57:11 2017 +0000"
      },
      "message": "TextClassifier cleanup #1\n\n - Introduces TextClassifier methods that do not take options\n - Adds warning to TextClassifier implementations not to implement\n   or call certain default methods. Ideally, only one of the\n   overloaded interface methods (the one that takes Options) needs\n   to be implemented\n - Changes TextLinks.Options to a mutable type\n - Updates tests\n\n TODO: Introduce a TextClassification.Builder.setDefaultAction(...) and\n change addAction(...) to addExtraAction(...).\n TODO: Cts test to validate input params.\n\nBug: 68846316\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest\nTest: bit FrameworksCoreTests:android.widget.TextViewActivityTest\nTest: bit CtsWidgetTestCases:android.widget.cts.TextViewTest\nChange-Id: I9a12935388e16a9b57567a71c97afaee63405183\n"
    },
    {
      "commit": "f9e05736ef5d995a481998f3752dd237e9b8f83e",
      "tree": "d1a48cd6a02333f2057b6b6ce5b410d50527c186",
      "parents": [
        "25c3c34c81b38c7afacbbd456236e1bfaaa1e0eb"
      ],
      "author": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Wed Nov 15 18:06:51 2017 -0800"
      },
      "committer": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Wed Nov 29 06:26:37 2017 -0800"
      },
      "message": "Add ability to customize button corner radius.\n\nCreates a new buttonCornerRadius public attribute to control\nthe rounded corner radius for buttons at the theme level.\n\nUpdates default button backgrounds to use new value and updates\nthemes to set the corner radius to existing value of 2dp.\n\nAlso adds a configuration hook for a device to change the value\nfor DeviceDefault-based themes.\n\nBug: 64122537\nBug: 69314526\nBug: 69367197\nTest: ag/3238215\nChange-Id: I00be0c53b99292e1728ecdf40d4c876e283e65da\n"
    },
    {
      "commit": "8ddfb4794f128ad6ac10fed72c73fdec61ea7bcb",
      "tree": "21d23dd06d8bf7600fbc2c0389f7165de26cca6b",
      "parents": [
        "e4cf6bf4745754615b19d95a90d809889c5e4b43"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Nov 15 20:15:25 2017 -0800"
      },
      "committer": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Tue Nov 28 17:58:38 2017 -0800"
      },
      "message": "Don\u0027t generate irrelevant a11y events - framework\n\nNow before we fire an a11y event we check if this event has an\nobserver. As a bonus we don\u0027t push the state to clients if the\ndynamic service config did not change.\n\nTest: cts-tradefed run cts-dev -m CtsAccessibilityServiceTestCases\n\nbug:69427760\n\nChange-Id: Ie208e13b8557bb7a120198a43efcb79c2752f5db\n"
    },
    {
      "commit": "fe3e6024ed03de26e44df9d366f30a09f00485c8",
      "tree": "1475dd41d6fbc6077c2380654be0db99a3b82151",
      "parents": [
        "684cae74e343a3abb3b28ce8ebb3683939704723"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Oct 24 11:34:32 2017 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Nov 28 17:25:46 2017 -0800"
      },
      "message": "Add AudioRouting interface in MediaRecorder.\n\nBug: 64038649\nTest: Run cts in RoutingTest\n      Switching input device when using MediaRecorder\n\nChange-Id: I3f2a9f670565c6e55d612c1477a505fa3d096e3d\n"
    },
    {
      "commit": "8ae286d07203159d73c491bb0d82271253a0e5db",
      "tree": "ca9f65d84b8356973ce563c60588d2a3992d567f",
      "parents": [
        "cc6b4be22000e284cd8e64d2082b303fdbd1968d",
        "32ce9f76d7febd168c261dc6846358430df23cce"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 28 21:24:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 28 21:24:02 2017 +0000"
      },
      "message": "Merge \"Add hooks to configure system button text styling.\""
    },
    {
      "commit": "68081e7e163cb4b591f1f34dc11a63460903e908",
      "tree": "faeedafe5278e47413daa61f35f50471e5e1af6e",
      "parents": [
        "01e42ae2d7b488662831a3fe20299a8721fb1e52",
        "1e6ecc69b71c4c8acd792461a050ae0f79a87bd9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 28 19:24:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 28 19:24:22 2017 +0000"
      },
      "message": "Merge \"New API to specify accessibility focus grouping\""
    },
    {
      "commit": "32ce9f76d7febd168c261dc6846358430df23cce",
      "tree": "33ab0fd357becc243677c02550db6b542d91e99c",
      "parents": [
        "178dfc661de3c0c19502a615c44f9695204c552f"
      ],
      "author": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Mon Nov 13 16:08:46 2017 -0800"
      },
      "committer": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Tue Nov 28 07:26:56 2017 -0800"
      },
      "message": "Add hooks to configure system button text styling.\n\nAdds configuration values to change the styling of buttons on system\nsurfaces. Specifically, adds config_fontFamilyButton and\nconfig_buttonTextAllCaps to control the default font and whether text\nis all caps.\n\nAdditionally, adds plumbing so that these configs are utilized by\nTheme.DeviceDefault (and descendent) themes. Some styles are added/updated\nfor this support.\n\nBug: 64122537\nBug: 69314526\nTest: ag/3228846\nChange-Id: I08406633bd744c6f58d5144d035aa27bf9c175df\n"
    },
    {
      "commit": "d2c83c08bfc5ccaba69585eec523f1db9f82eb98",
      "tree": "878dd8a3415782438c37bc23cbb7b1b610f34c5b",
      "parents": [
        "5a673d7f7511d902bb158ac619b73a9096c1faa7",
        "3b501194ab042502f508f7a250748cbb82b45b7e"
      ],
      "author": {
        "name": "Naomi Musgrave",
        "email": "nmusgrave@google.com",
        "time": "Tue Nov 28 13:30:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 28 13:30:19 2017 +0000"
      },
      "message": "Merge \"Add id to NetworkEvent.\""
    },
    {
      "commit": "62c9860111a126c23606c9d4071fb6f8591952b3",
      "tree": "f3183ed19d7ae084900362357fa3efdc5ef12229",
      "parents": [
        "3e585ecb513bf8294cc36a4d8d6da97b9726ab22",
        "1cdf5fb4e24fc4600163fc98ca5fec230c520f59"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 28 08:04:26 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 28 08:04:26 2017 +0000"
      },
      "message": "Merge \"New Autofill API: Validators.not\""
    },
    {
      "commit": "cba2b00258ae98311f3511fae9db0b7056e1473e",
      "tree": "8a281bc6f2e59e395507b0bc247800d3726a1a70",
      "parents": [
        "352be20d06d7535e0f4a7aee4951a37658b6327b",
        "c204c223a77237e13d084d58590acb16b025c676"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Nov 28 02:36:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 28 02:36:17 2017 +0000"
      },
      "message": "Merge \"Deeper sanity checking of emitted types.\""
    },
    {
      "commit": "1e6ecc69b71c4c8acd792461a050ae0f79a87bd9",
      "tree": "75d0229e9a0f992b28056034e287c99cf66e838d",
      "parents": [
        "d12e276f6ae35a1e889c6d4de97688903c49001b"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Tue Nov 07 15:28:21 2017 -0800"
      },
      "committer": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Mon Nov 27 17:03:27 2017 -0800"
      },
      "message": "New API to specify accessibility focus grouping\n\nWe\u0027ve been telling developers to use the focusable\nattribute to control grouping for accessibility focus. This\nnew API can be used in place of the focusable attribute.\n\nBug: 63889180\nTest: Adding new CTS tests for new api.\n\nChange-Id: I5cbeb736a3b206f87aa3d921a39c43861c7ff082\n"
    },
    {
      "commit": "e8d86eb87b4d252ebb2786b88c21c0d9fefec263",
      "tree": "9daa22afcc5ee37a3bbe0755c01ae5560dcb261c",
      "parents": [
        "bc8c25a40789dee7e102a7de700042d7d570e759"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Nov 27 15:42:44 2017 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Nov 27 16:11:19 2017 -0800"
      },
      "message": "camera: Add AF scene change key\n\nTest: CTS\nBug: 64847201\nChange-Id: I61b05cce0137ace9f806f3bbad2a72b158469a34\n"
    },
    {
      "commit": "c204c223a77237e13d084d58590acb16b025c676",
      "tree": "5c9a11890a222d60deabfccef5292c3a63d9f11f",
      "parents": [
        "71b4882da60867e948bbaaf86c03066bc07ccc85"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 27 15:02:10 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 27 17:07:40 2017 -0700"
      },
      "message": "Deeper sanity checking of emitted types.\n\nWhen emitting a method or field, verify that we\u0027re able to reference\nall mentioned types.  This ensures that we don\u0027t accidentally\nreference undefined classes/interfaces.\n\nTest: manual inspection of API files\nBug: 69791141\nChange-Id: I84e0c87fe83daa118661f61dbdf17b58ea5282d4\n"
    },
    {
      "commit": "c545799b80344a8747865627427bea746b6f28cb",
      "tree": "5c897dcab66b59d97c890a89d9c574d74780c9b8",
      "parents": [
        "bc8c25a40789dee7e102a7de700042d7d570e759"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Wed Nov 08 14:16:03 2017 -0800"
      },
      "committer": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Mon Nov 27 14:05:03 2017 -0800"
      },
      "message": "Promote ACTION_DISMISS_TIMER to public API\n\nBug: 69047776\nTest: make -j100 \u0026\u0026 make cts -j10 \u0026\u0026 cts-tradefed run cts-dev -m\nCtsAlarmClockTestCases\n\nChange-Id: I1fedb6e36c83008ad590602af1b4e06688cc116f\n"
    },
    {
      "commit": "41499dfe188cbd038005b8a07cc31ce2bca8cf5e",
      "tree": "f573a727475f1a061e4d3a68ea86f73b1d34946c",
      "parents": [
        "6fc14c85ee2cfed2222e2587782c981e20fdc4ee",
        "4bcb01a3b588fe17717cb95ed1aa1ddd297c6ad0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 27 21:06:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 27 21:06:52 2017 +0000"
      },
      "message": "Merge \"New Autofill API: SaveCallback.onSuccess(IntentSender).\""
    },
    {
      "commit": "9b5696844d66eb45e109ec5395e42fb5f1520ccf",
      "tree": "861ca8b90a6aa6588eb454a6bae220993ee7385c",
      "parents": [
        "45a3642c6e23fae41b167b632842c64d7ead6b6a",
        "fc84bb5f5c6e30db0eca589eb67b406bf4bfadbe"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Mon Nov 27 19:50:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 27 19:50:46 2017 +0000"
      },
      "message": "Merge \"Moved DataProfile from telephony internal hidden API to System API\""
    },
    {
      "commit": "4bcb01a3b588fe17717cb95ed1aa1ddd297c6ad0",
      "tree": "3315c1399f6158bd7eb98aeb212196b89a019bcc",
      "parents": [
        "71b4882da60867e948bbaaf86c03066bc07ccc85"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Nov 21 16:47:13 2017 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Nov 27 10:52:50 2017 -0800"
      },
      "message": "New Autofill API: SaveCallback.onSuccess(IntentSender).\n\nThis overloaded method is useful for cases where the service needs to launch\nan activity (for example, to unlock the user\u0027s vault), in which case it\u0027s\nlaunched from the context of the activity being filled.\n\nTest: atest CtsAutoFillServiceTestCases:SimpleSaveActivityTest#testSave_launchIntent\nTest: atest CtsAutoFillServiceTestCases\nFixes: 69458616\n\nChange-Id: I41bf5fd4954c38051e3275f2e8500a00dcf24724\n"
    },
    {
      "commit": "1cdf5fb4e24fc4600163fc98ca5fec230c520f59",
      "tree": "255ae6daa8135810a5319b3e8bd7de389d379c55",
      "parents": [
        "71b4882da60867e948bbaaf86c03066bc07ccc85"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Nov 22 15:44:46 2017 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Nov 27 10:41:58 2017 -0800"
      },
      "message": "New Autofill API: Validators.not\n\nTest: atest CtsAutoFillServiceTestCases:ValidatorsTest\nTest: atest CtsAutoFillServiceTestCases\n\nFixes: 69482353\n\nChange-Id: Ib6be24f7d8c30915bd139f39b61ad6916b2e42d7\n"
    },
    {
      "commit": "fc84bb5f5c6e30db0eca589eb67b406bf4bfadbe",
      "tree": "03ac31ce5166f94a05a6c2ebc511668d2205ce54",
      "parents": [
        "3971cdee9f523cb99a5aa0d441a96b5c045166c2"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Mon Nov 20 11:14:23 2017 -0800"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Mon Nov 27 09:37:18 2017 -0800"
      },
      "message": "Moved DataProfile from telephony internal hidden API to System API\n\nThis is the preliminary change in order to make the new data call\nsetup API for IWLAN refactoring.\n\nTest: Telephony sanity tests + unit tests\nbug: 64132030\n\nChange-Id: Ib96dc3dd577def0a428e2f5cdb5fb7f742120020\n"
    },
    {
      "commit": "f3c6a47bdd009de616b6c490bbb52a82d11cc870",
      "tree": "081ef8343e64004d9932697d3763dae6af35ac6f",
      "parents": [
        "9cc5b4f0076c844e3058f2144f6944b6e17ba6be"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Tue Nov 14 14:53:06 2017 -0800"
      },
      "committer": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Mon Nov 27 08:59:19 2017 -0800"
      },
      "message": "Store bounds in WindowConfiguration.\n\nThis changelist consolidates the usage of frame bounds in containers\ninto the WindowConfiguration. As a result, the bounds are now shared\nacross AM and WM. Any changes to the bounds on one side are\npropagated to the other via override configuration changes. Previous\ninstrumentation to synchronize the two sides is no longer necessary.\n\nThis changelist does not attempt to consolidate common logic shared\nbetween WM or AM components for setting bounds.\n\nBug: 68719294\nTest: go/wm-smoke\nChange-Id: Ia8978dba8525b83201640e159caefe16e626b7c1\n"
    },
    {
      "commit": "3b501194ab042502f508f7a250748cbb82b45b7e",
      "tree": "ce470d764303f170d741045eb269be3307c61da9",
      "parents": [
        "fff65245fab542ca9de2bf904743095fd0697d6a"
      ],
      "author": {
        "name": "Naomi Musgrave",
        "email": "nmusgrave@google.com",
        "time": "Fri Oct 27 14:52:44 2017 +0100"
      },
      "committer": {
        "name": "Naomi Musgrave",
        "email": "nmusgrave@google.com",
        "time": "Fri Nov 24 16:38:05 2017 +0000"
      },
      "message": "Add id to NetworkEvent.\n\nTest: runtest --path frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java\n\nBug: 63910201\nChange-Id: Iaac35fe27529937d2de7e3f096f6e94889cf8b85\n"
    },
    {
      "commit": "d6644dcfeaa0aa3ddb32cffb6b329078da5f193d",
      "tree": "52ad3de580cf8842b0fbf476ac02d1aa2065549c",
      "parents": [
        "e3a801016bc7b2db386588ef0f1d986f70375de4"
      ],
      "author": {
        "name": "Andrei Stingaceanu",
        "email": "stg@google.com",
        "time": "Tue Nov 21 14:53:38 2017 +0000"
      },
      "committer": {
        "name": "Andrei Stingaceanu",
        "email": "stg@google.com",
        "time": "Fri Nov 24 11:25:25 2017 +0000"
      },
      "message": "[Magnifier - 10] Make it public\n\n* moves the Magnifier from com.android.internal.widget to\n  android.widget\n* removes useless public getters; useless for now because we have\n  no magnifier configuration but the hardcoded one\n\nBug: 67839742\nBug: 63531115\nTest: bit CtsWidgetTestCases:android.widget.cts.MagnifierTest\nChange-Id: Ie6f474c4c781038650007a15937d61c650ee5fdd\n"
    },
    {
      "commit": "b8b579e1b8698fc00fdd8950b5645f9e34bfc3ba",
      "tree": "2fbb0c52848b3d388e65e1e6ce69f241daa8d7a5",
      "parents": [
        "9650a435ed909ed4062d64fd2d9b085628d4a455"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 22 12:34:08 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 22 12:34:08 2017 -0700"
      },
      "message": "Emit all APIs using Predicates.\n\nGenerate APIs using updated doclava.\n\nTest: manual inspection of API text files\nBug: 69505783\nChange-Id: I2efd22998a64ebb57588b073c4a591242f4aef91\n"
    },
    {
      "commit": "1edf09c99b5aff31b2a9a7d95bef00cf12f50c9f",
      "tree": "02af8421f7b615b6b26adbaf6340a3483b856f69",
      "parents": [
        "3daba14f2598956eb2b303e34e39717c326cb8df",
        "74ed6ecdc4b97c4d9a06603045b49196d5aad040"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 22 18:27:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 22 18:27:59 2017 +0000"
      },
      "message": "Merge \"Fix issue #67019445: Detect BATTERY_LOW/OKAY\""
    },
    {
      "commit": "3daba14f2598956eb2b303e34e39717c326cb8df",
      "tree": "34af17993905fdc6aa33afc8fbbbf4b22211d7dd",
      "parents": [
        "7430d8d89667a39c5f993dc46c00c98814382f72",
        "19d19048e46a44f9cd92f9b3c2b45d9603283f15"
      ],
      "author": {
        "name": "Eran Messeri",
        "email": "eranm@google.com",
        "time": "Wed Nov 22 17:12:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 22 17:12:29 2017 +0000"
      },
      "message": "Merge \"DevicePolicyManager: Make installed keys user-selectable by default.\""
    },
    {
      "commit": "7430d8d89667a39c5f993dc46c00c98814382f72",
      "tree": "415a09f28ec3e28baf8b8edd6b4b0f6d6e703343",
      "parents": [
        "83770069842a94b66ad076e2d7b3754fb6052409",
        "3eb3ffd9c3b1d1586bf69682442137c2fdb2e082"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 22 15:55:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 22 15:55:53 2017 +0000"
      },
      "message": "Merge \"Notify apps when channels/groups are blocked/unblocked\""
    }
  ],
  "next": "56cc25489eb2a006a5c19e12dfebf4612e99acad"
}
