)]}'
{
  "log": [
    {
      "commit": "e2dc21e1a38769aca4d32d8da4e4fc85200c8c21",
      "tree": "d8c61ee4e5b4f70e8c6bd9442adf0be6c5217458",
      "parents": [
        "5ed7b13a05d74a39108cfd916700c868245bf101",
        "1f1de70fad6f35829f67ae8b21207afc6c7a4f30"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 16 21:05:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 21:05:46 2018 +0000"
      },
      "message": "Merge \"Exposing canSuspendPackage as SystemApi\""
    },
    {
      "commit": "0426d9685ecd428232bf23ad69ba5838f42b18fd",
      "tree": "242529e8093280d19f12976877867ff996ec31a4",
      "parents": [
        "5c0f4012cea82bace3b2c5c5d1944cdfc4286d0b",
        "f80d420968e7064cb5414abc015b7a163030a771"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 16 19:00:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 19:00:24 2018 +0000"
      },
      "message": "Merge \"Fix a bug.\""
    },
    {
      "commit": "2938bf7f773f982fceee54a17a3e933a8ffe8cf5",
      "tree": "5e98012d2a26dcf9f1fe8ad66c7f94d143916310",
      "parents": [
        "0acf0d307c6e049d0f518998b20bc1de598216b5",
        "842ca2d8b5454bd2a2a676e9a8227335be0f4460"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 16 18:19:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 18:19:30 2018 +0000"
      },
      "message": "Merge changes I6a6cffde,I5789305a,I2c2e15be,Ic1ef7c77,Ic62aa869\n\n* changes:\n  Avoid automatically closing of persistent ContextHubClients\n  Implements updated PendingIntent APIs\n  Refactors ContextHubClientManager/Broker classes\n  Only send messages to CHRE if client is registered\n  Updates PendingIntent-based service APIs\n"
    },
    {
      "commit": "82ed3afede531455477d514a04e0deacd707ed6f",
      "tree": "21d4aa76c9ac09c55f9f29c595f41a798aa57ac0",
      "parents": [
        "b549286aaa76b27ca63cdffb54cd0e002f3fcd31"
      ],
      "author": {
        "name": "Arthur Ishiguro",
        "email": "arthuri@google.com",
        "time": "Fri Nov 09 13:20:30 2018 -0800"
      },
      "committer": {
        "name": "Arthur Ishiguro",
        "email": "arthuri@google.com",
        "time": "Fri Nov 16 08:21:31 2018 -0800"
      },
      "message": "Implements updated PendingIntent APIs\n\nBug: 117612105\nTest: Compile and run, verify API works as intended\nChange-Id: I5789305a50739494f0c069faa8236b49bccae7b5\n"
    },
    {
      "commit": "b549286aaa76b27ca63cdffb54cd0e002f3fcd31",
      "tree": "619c61dceb54dca7cfb4feb22916ef5527719133",
      "parents": [
        "a96fbfe269829b4f754ba12494b08814ff5d6c41"
      ],
      "author": {
        "name": "Arthur Ishiguro",
        "email": "arthuri@google.com",
        "time": "Tue Nov 13 10:51:15 2018 -0800"
      },
      "committer": {
        "name": "Arthur Ishiguro",
        "email": "arthuri@google.com",
        "time": "Fri Nov 16 08:21:31 2018 -0800"
      },
      "message": "Refactors ContextHubClientManager/Broker classes\n\nMakes changes so that ContextHubClientBroker objects of different types\n(callback or PendingIntent) can be generated.\n\nBug: 117612105\nTest: Compile only\nChange-Id: I2c2e15be8b62c2aedec67505f8f1ffedcbfb5d32\n"
    },
    {
      "commit": "a96fbfe269829b4f754ba12494b08814ff5d6c41",
      "tree": "431b2b72b76a88468b2504f61d8f404d02fef268",
      "parents": [
        "1bb34a8640417a7ee3cc0fb076de83f794701ade"
      ],
      "author": {
        "name": "Arthur Ishiguro",
        "email": "arthuri@google.com",
        "time": "Tue Nov 13 10:00:35 2018 -0800"
      },
      "committer": {
        "name": "Arthur Ishiguro",
        "email": "arthuri@google.com",
        "time": "Fri Nov 16 08:21:31 2018 -0800"
      },
      "message": "Only send messages to CHRE if client is registered\n\nIn the previous API design, we only allowed the ContextHubClient\nto be used if a ContextHubClientCallback was supplied. Since we are\nupdating the API to allow a callback xor a PendingIntent, change\nsendMessageToNanoApp to reflect this.\n\nBug: 117612105\nTest: Compile only\nChange-Id: Ic1ef7c77b95699a00fe29c5941a53af37e9385de\n"
    },
    {
      "commit": "1bb34a8640417a7ee3cc0fb076de83f794701ade",
      "tree": "605290ac56f66d6b533a98ae724c0dde2b7a46c7",
      "parents": [
        "45ac8e40024ed729ef85c51356b8047d27750433"
      ],
      "author": {
        "name": "Arthur Ishiguro",
        "email": "arthuri@google.com",
        "time": "Fri Nov 09 09:19:50 2018 -0800"
      },
      "committer": {
        "name": "Arthur Ishiguro",
        "email": "arthuri@google.com",
        "time": "Fri Nov 16 08:21:28 2018 -0800"
      },
      "message": "Updates PendingIntent-based service APIs\n\nModifies the APIs such that ContextHubClient can be generated by\neither the ContextHubClientCallback or the PendingIntent (exclusive or),\nfor simplicity. ContextHubClients can be regenerated through the\ncreateClient() API, while maintaining the original host endpoint ID.\n\nAlso removes the API implementation based on the original design.\n\nBug: 117612105\nTest: Compile only\nChange-Id: Ic62aa8695eee3d68722163934de76e77c1f0bc0c\n"
    },
    {
      "commit": "832d53c4363f9c4d6d40e19ee7572203ad042321",
      "tree": "6fdde7b091a51583bc4256e68da6fe95bbfa514f",
      "parents": [
        "0638d504d01ba9992dab12eae34dcb0bdb026407",
        "2863ea6c11e3689982ef9eecc25146478d297e5b"
      ],
      "author": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Fri Nov 16 13:09:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 13:09:48 2018 +0000"
      },
      "message": "Merge \"[Multi-user] Clean up BMS structure\""
    },
    {
      "commit": "413ce3b609c00a1da306b45a00daff2023927f05",
      "tree": "cc4dcf8f56cd70c1a5d785bb264887a410fdda20",
      "parents": [
        "67502cd6515f7e9a496983ca4700b917dbd3434e",
        "1463d83d4e5e3096dd1d56f854df46dae02c35cb"
      ],
      "author": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Fri Nov 16 10:22:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 10:22:39 2018 +0000"
      },
      "message": "Merge \"Add a Notifications API for contextual (smart) actions.\""
    },
    {
      "commit": "67502cd6515f7e9a496983ca4700b917dbd3434e",
      "tree": "c4936d18a736955d8eb09c68950eef8d4d88b51a",
      "parents": [
        "54558ac60d19f4b13fc130ba029e1e7bbbaf4060",
        "917a71d4f9bc4f0f3f56062efd4ad11d015e11fa"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Fri Nov 16 09:37:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 09:37:03 2018 +0000"
      },
      "message": "Merge \"Expand notification generates USER_INTERACTION event\""
    },
    {
      "commit": "54558ac60d19f4b13fc130ba029e1e7bbbaf4060",
      "tree": "bb95013b0651af4a62e4d4bf390eef5e873e4143",
      "parents": [
        "02896eb9febf06268d2026a7261cbbeb61e44ca0",
        "5d60389732609388217b3f79adc3161f3189c06e"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Fri Nov 16 09:36:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 09:36:32 2018 +0000"
      },
      "message": "Merge \"Snooze notification generates USER_INTERACTION event\""
    },
    {
      "commit": "d2364c3ba52c67872aa4fe9fa70d07ba31286f1c",
      "tree": "e2693146c6e46a07709791ae561635245dbfae20",
      "parents": [
        "d3d596191fb7bf6b8a972cc2bdf1a46cf7f2aa87",
        "75b3c490c46013b044266c7722a667bb8f19928f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 16 09:07:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 09:07:11 2018 +0000"
      },
      "message": "Merge \"log service stats similar to batterystats\""
    },
    {
      "commit": "235c7199a871cc01fb281c7febe3368fbe2e70b9",
      "tree": "48a567a00b294a649d38b01991215c0cd978cf24",
      "parents": [
        "42c6a1c5fa04c266dc484a44dc8cb215bbb0d16b",
        "e0a353c6f8922c67e3a4910e49a240e9c6196da0"
      ],
      "author": {
        "name": "Rob Carr",
        "email": "racarr@google.com",
        "time": "Thu Nov 15 23:48:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 23:48:33 2018 +0000"
      },
      "message": "Merge changes from topic \"sfinput3\"\n\n* changes:\n  WindowManager: Communicate with input system by WindowTokens.\n  Plumbing for SurfaceControl#setInputWindowInfo.\n"
    },
    {
      "commit": "db54beb98c281023e910a707e01ab6e8f71ffd0f",
      "tree": "9dd25a79d5663cd0d5899c3494b9788c83c949ea",
      "parents": [
        "c2d93fcbb24abb4469e401f35c43a4d171916aeb",
        "06a1ac82294c2f6b73af59936195546b5eb78ed6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 23:37:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 23:37:04 2018 +0000"
      },
      "message": "Merge \"Prepare for switch to idmap2\""
    },
    {
      "commit": "907b6b6d898dac84eded1b88b5ca1cdf815add3d",
      "tree": "3fe76a5475eb4e7fdbab8bdda2c5302b96b7313f",
      "parents": [
        "9ca7a38d2940f86f0607b9dc317835d604708805",
        "08404a959849d7acf4d436c1a4873948f618209b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 23:28:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 23:28:23 2018 +0000"
      },
      "message": "Merge \"Fix NPE in LauncherAppsService.shouldShowHiddenApp()\""
    },
    {
      "commit": "1dcaa5731a52041907a8760aeb648b6368ccdcd1",
      "tree": "1949bcc45e7b84de1dfad6032a4b4d4639e365ea",
      "parents": [
        "dc21d50b7f3b6feb86036fc040e4e8e99cb8cece",
        "84638af35a15514efd6ad79315dbbb578a92865d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 21:50:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 21:50:25 2018 +0000"
      },
      "message": "Merge \"OMS: never filter out isStatic\u003d\"true\" overlays\""
    },
    {
      "commit": "dc21d50b7f3b6feb86036fc040e4e8e99cb8cece",
      "tree": "7f688236886fc66764432b00487f059e2925482e",
      "parents": [
        "102ecc032b94215409598b506054c3b11b43937e",
        "50a4e01857a814ceb59c496926e9f1c43ffb7293"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 21:49:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 21:49:52 2018 +0000"
      },
      "message": "Merge \"GlobalSettingsToPropertiesMapper refactor\""
    },
    {
      "commit": "c9c942a1e2116831c0d0f43bbc13cbbd298112ca",
      "tree": "9fcba7456b3ebedb559b63a4dfbbcc57b110aabb",
      "parents": [
        "0dee99a7c7fb2bfee68dbc13ba09969cb7b99cfd",
        "556efba975923a4462f1e83c7c3bbacf1b5c415c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 21:37:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 21:37:38 2018 +0000"
      },
      "message": "Merge \"Don\u0027t hold lock while calling package manager\""
    },
    {
      "commit": "0dee99a7c7fb2bfee68dbc13ba09969cb7b99cfd",
      "tree": "a6fb410c4fe17bcc851e148cae5fb2db233bc48a",
      "parents": [
        "a3d850df021bb704fdd518ba1f652a6062424bb3",
        "75ee6042443bfe22dc779609697881fc83ed23db"
      ],
      "author": {
        "name": "Adam Bookatz",
        "email": "bookatz@google.com",
        "time": "Thu Nov 15 20:20:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 20:20:08 2018 +0000"
      },
      "message": "Merge \"Statsd atom: Power Use\""
    },
    {
      "commit": "f80d420968e7064cb5414abc015b7a163030a771",
      "tree": "ec7c9ef878b3329aec187dc8b3677d2241f617f4",
      "parents": [
        "4548699cc77ee66cf93287e7e647f4b1ae3abb34"
      ],
      "author": {
        "name": "Garfield Tan",
        "email": "xutan@google.com",
        "time": "Thu Nov 15 11:17:06 2018 -0800"
      },
      "committer": {
        "name": "Garfield Tan",
        "email": "xutan@google.com",
        "time": "Thu Nov 15 11:26:24 2018 -0800"
      },
      "message": "Fix a bug.\n\nWe should initialize mAnimationBackgroundSurface when it\u0027s null.\nOtherwise it would be always null.\n\nBug: 118764615\nTest: Presubmit tests.\nChange-Id: Ia4a82195d747a4b4e7f1df176fc8ceb628276eaf\n"
    },
    {
      "commit": "4548699cc77ee66cf93287e7e647f4b1ae3abb34",
      "tree": "76571a4ea9bc26917669f6834c2a3dba84e45684",
      "parents": [
        "ee8fbc72e1dee1db41fd94926d9379a36194c14a",
        "7ed7b2ccc9dbaef9a1272d3bede97fca94453ecd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 19:06:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 19:06:03 2018 +0000"
      },
      "message": "Merge \"Added MasterSystemService.onServiceRemoved() and some other nit fixes...\""
    },
    {
      "commit": "75b3c490c46013b044266c7722a667bb8f19928f",
      "tree": "d046f7141f47fb26e22e35e4dcedc2bb765c1ae7",
      "parents": [
        "1498859cdda57374bc33762ed748f4929dc3fefe"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Sat Oct 06 21:45:19 2018 -0700"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Thu Nov 15 10:58:13 2018 -0800"
      },
      "message": "log service stats similar to batterystats\n\nservice launches\nservice start/stops\n\nBug: 113352978\nTest: atest\nCtsStatsdHostTestCases:android.cts.statsd.validation.BatteryStatsValidationTests#testServiceStartCount\natest\nCtsStatsdHostTestCases:android.cts.statsd.validation.BatteryStatsValidationTests#testServiceLaunchCount\nChange-Id: I5b213070f8917fb381e3a130b2f8272b4a05978e\n"
    },
    {
      "commit": "0c3f04af814581029f498bed2601c16aa2a9ced1",
      "tree": "c9684b27b65f86cc542c78df56bab796b39d9db6",
      "parents": [
        "d930e7f49bde4b5c9d5ba537645d1693ce544db6",
        "a4200f82edb721daccb32338e0d7b85d00d81fb9"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Thu Nov 15 18:08:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 18:08:55 2018 +0000"
      },
      "message": "Merge \"Groundwork for default grants in RoleController\""
    },
    {
      "commit": "d930e7f49bde4b5c9d5ba537645d1693ce544db6",
      "tree": "b63ae71d9471b60ffe501f4ec741395a835336ff",
      "parents": [
        "7a5926bb4670e7c4a9c960c65015d0ab9fe4094d",
        "0479cde2b7d567dd154027797f2bea1b22e6cc90"
      ],
      "author": {
        "name": "Beverly Tai",
        "email": "beverlyt@google.com",
        "time": "Thu Nov 15 18:06:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 18:06:07 2018 +0000"
      },
      "message": "Merge \"Update channelBypassingDnd on user unlock + switch\""
    },
    {
      "commit": "7a5926bb4670e7c4a9c960c65015d0ab9fe4094d",
      "tree": "4565838c1c31e6a24f3bb19fb5541484fec33d2d",
      "parents": [
        "7a3a60698577b8c89c234ac69de82ccdf883dff4",
        "f9c53b63ec518b9ca60c7f1f67a3aae607e2ae88"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Thu Nov 15 18:05:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 18:05:06 2018 +0000"
      },
      "message": "Merge \"Log notification direct reply to TRON\""
    },
    {
      "commit": "08404a959849d7acf4d436c1a4873948f618209b",
      "tree": "91a722b17d41c3b47fac9fc9888edb2e4f2f4ce6",
      "parents": [
        "c02d7be13fb85e1fb44b6d77e4a6abfbaf470520"
      ],
      "author": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Thu Nov 15 17:46:00 2018 +0000"
      },
      "committer": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Thu Nov 15 17:46:08 2018 +0000"
      },
      "message": "Fix NPE in LauncherAppsService.shouldShowHiddenApp()\n\nBug: 119553859\nChange-Id: Ia5d701e6bfb786346072be21938996e6c645339c\n"
    },
    {
      "commit": "9da5f37f8fd18044364ff3d2791338f9709721fc",
      "tree": "d06225db1714a35094fb6f3302763fdaffc7dcd9",
      "parents": [
        "cc10721c48ce486d468a069d42fe1c9886679cdc",
        "5b3d6804811a907ae9e74adaa31958a5bc6a515c"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Nov 15 17:01:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 17:01:03 2018 +0000"
      },
      "message": "Merge \"Don\u0027t hold AM lock in AMS.getIntentSender\""
    },
    {
      "commit": "556efba975923a4462f1e83c7c3bbacf1b5c415c",
      "tree": "ed8a3b05bc861f0020855700d1e89ed23608ef73",
      "parents": [
        "755cc6653430e0172b00377ef6c4dc1a1a8dc0b6"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Nov 15 07:43:55 2018 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Nov 15 07:43:55 2018 -0800"
      },
      "message": "Don\u0027t hold lock while calling package manager\n\nGiven the lock ordering [app ops are lower than package manager],\napp ops should not hold its lock while calling up into the package\nmanager.\n\nChange-Id: I207119bdb6d1e8458dbd2d73948f2bf1a3e38f21\nFixes: 119555336\nTest: Manual\n"
    },
    {
      "commit": "463e2b0d3cb68eb8693a6dcaece240b2e9ca6304",
      "tree": "68bdb0870a4bfad4a4e6270c89235547b960c992",
      "parents": [
        "a12f80da7a2af78ebf8138ee5dc1c667c8768e50",
        "444162a57c7fa5050c87a547e32a3e294220c4c3"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Thu Nov 15 06:39:39 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 15 06:39:39 2018 -0800"
      },
      "message": "Merge \"Multi-threaded keystore\" am: 9f248989bf am: cbd890315e\nam: 444162a57c\n\nChange-Id: I2c09961a74c7de92d85f3d2045dd065c94bc6fac\n"
    },
    {
      "commit": "a12f80da7a2af78ebf8138ee5dc1c667c8768e50",
      "tree": "31107411469ad6a4d7d23b2c812d7501e3a47b06",
      "parents": [
        "0f7882988f9a140d4e8cb4913f255947f117a7b3",
        "29a29e452cf14e34d51137219043df1c9ad1140d"
      ],
      "author": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Thu Nov 15 06:33:04 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 15 06:33:04 2018 -0800"
      },
      "message": "Merge \"Add missing library of services.net\" am: f48f9b91b9 am: e063a8b66c\nam: 29a29e452c\n\nChange-Id: I525a01bb878eae8b73201f3b316f2a72f8c50a2a\n"
    },
    {
      "commit": "2863ea6c11e3689982ef9eecc25146478d297e5b",
      "tree": "f350ac3aed1b53bae19359f5b70536cff76634a5",
      "parents": [
        "13638940cad966e8d78856c3912e8d429478d6e4"
      ],
      "author": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Thu Nov 15 12:18:47 2018 +0000"
      },
      "committer": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Thu Nov 15 12:54:41 2018 +0000"
      },
      "message": "[Multi-user] Clean up BMS structure\n\nPart of preparation to extract out user BMS.\n\nRemove unused components:\n- Backup traces\n- Unused fields\n\nClean-up work:\n- Better organize BMS class structure to be able to separate global vs.\nuser state. This is purely a move and no functionality has changed:\n\u003e static fields, static methods, instance fields, constructor, methods,\nprivate static methods, static inner class (system service definition).\n- Add javadoc comments to comply with new checkstyle preupload hook.\n\nBug: 118520567\nTest: 1) atest RunFrameworksServicesRoboTests\n2) atest FrameworksServicesTests\n\nChange-Id: I5ac868ff0df0ec007b64d686647d9a676e374e40\n"
    },
    {
      "commit": "5d60389732609388217b3f79adc3161f3189c06e",
      "tree": "4a5c37ee04a375a5864faf8c06d045d0a78668d3",
      "parents": [
        "b1c6ba026d1de0857a28f64980678d0eb49ee5f3"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Thu Nov 15 10:55:24 2018 +0000"
      },
      "committer": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Thu Nov 15 10:55:24 2018 +0000"
      },
      "message": "Snooze notification generates USER_INTERACTION event\n\nBug: 119596125\nTest: runtest systemui-notification\nChange-Id: I545a3f6fa173ea02d0a549169980fb43689ca89d\n"
    },
    {
      "commit": "917a71d4f9bc4f0f3f56062efd4ad11d015e11fa",
      "tree": "31516454a798a30e7a7255be86be66cde0314f66",
      "parents": [
        "b1c6ba026d1de0857a28f64980678d0eb49ee5f3"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Tue Nov 13 07:55:08 2018 +0000"
      },
      "committer": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Thu Nov 15 10:46:08 2018 +0000"
      },
      "message": "Expand notification generates USER_INTERACTION event\n\nBug: 118376048\nTest: runtest systemui-notification\nChange-Id: Idbfac239783aa6371bdef4127125f30c27b74e3d\n"
    },
    {
      "commit": "b1c6ba026d1de0857a28f64980678d0eb49ee5f3",
      "tree": "d1f8560e71228e4dd0cd90bf568a51336c6ea07f",
      "parents": [
        "8d130a1e3bd54a465d241c603139ba88c7ba87fe",
        "730403e7572eb9997adb1727867d9a1dd2b490aa"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 08:56:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 08:56:28 2018 +0000"
      },
      "message": "Merge \"Statsd uidmap includes vers string and installer\""
    },
    {
      "commit": "1498859cdda57374bc33762ed748f4929dc3fefe",
      "tree": "bbd827f436c8401873f9f29f928a2a1d22149adb",
      "parents": [
        "4445345f201844299ed82e23e6a0402c07ba5119",
        "9ba31654615cdd41b9b2400afac8526aa79e3e6c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 07:06:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 07:06:23 2018 +0000"
      },
      "message": "Merge \"AM: Fix invalid hot launch app metrics seen with quickstep\""
    },
    {
      "commit": "7ed7b2ccc9dbaef9a1272d3bede97fca94453ecd",
      "tree": "57a4ac796217a22e86255756e70c255bc54fa1fd",
      "parents": [
        "edc06c8ca20cba8bae7d7a9c00bd1103e7843ea9"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Nov 14 17:47:15 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Nov 14 22:05:11 2018 -0800"
      },
      "message": "Added MasterSystemService.onServiceRemoved() and some other nit fixes...\n\nTest: CtsAutoFillServiceTestCases\nBug: 117779333\n\nChange-Id: If5579b7aef991f34148fde48c35122e194d621d9\n"
    },
    {
      "commit": "edc06c8ca20cba8bae7d7a9c00bd1103e7843ea9",
      "tree": "4cc864d98864d92190aec39f951f4ba89a3019e6",
      "parents": [
        "cc9b7510c3366003489b18944fa57fbb377c810a",
        "8e2e341b285464d8a61fc9dd6219a344b8105b4d"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Nov 15 06:02:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 06:02:33 2018 +0000"
      },
      "message": "Merge \"Fixed Content Capture workflow when service is disabled.\""
    },
    {
      "commit": "8e2e341b285464d8a61fc9dd6219a344b8105b4d",
      "tree": "de0f4ca5634fe1e2e327c4b664ea3cbef88870ea",
      "parents": [
        "c2d74304434fdf5027d727d6896edf2ed433ff93"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Nov 14 10:39:29 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Nov 14 19:59:28 2018 -0800"
      },
      "message": "Fixed Content Capture workflow when service is disabled.\n\nBug: 111276913\nTest: manual verification\n\nChange-Id: If53eeae88ff6ca6140c90d51ff91436950f05ead\n"
    },
    {
      "commit": "c1635133c9477bb0c8d72935251900aec69bfcd7",
      "tree": "30731354aa74ffa7ce654369adba4ad1929450dc",
      "parents": [
        "72c80265eb74ffc90fc55225c6d1a1a1b73c3d2b",
        "bc1eef7749589e5b450bd90505cf5bfa1621bd9b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 02:47:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 02:47:57 2018 +0000"
      },
      "message": "Merge \"Avoid starting home that targeted before Q on secondary display\""
    },
    {
      "commit": "75ee6042443bfe22dc779609697881fc83ed23db",
      "tree": "3610691da91a8955408cfe4bc18c8fb2aa4e78e2",
      "parents": [
        "e9f5e860547e7314c4c0e03fa4838c5b06164f5d"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Nov 09 12:27:37 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Wed Nov 14 18:13:58 2018 -0800"
      },
      "message": "Statsd atom: Power Use\n\nBatteryStats calculates power usage of the device and various components\n(such as apps). This information is used, e.g., in the battery panel of\nSettings. We now log it to statsd. It can be used for validating how\ngood the information displayed in Settings is. In the long-term, it is\nlikely not ideal for off-device calculations, since that can be\nhopefully estimated using statsd\u0027s raw data.\n\nThree atoms: one for the total power use, one for the power use of each\nuid, and one for each non-uid component. Since they will all likely be\npulled together, StatsCompanionService will provide stale data for\nBatteryStats pulls called within a second of a previous BatteryStats\npull.\n\nAlso in this cl:\nRemove StatsLogEventWrapper.writeDouble. Statsd doesn\u0027t support actually\nwriting doubles into its proto reports, so having this function is\nmisleading (the data will get to statsd and then be completely ignored).\nIt\u0027s less confusing if we don\u0027t pretend it does something.\n\nChange-Id: If80bab8ea938afa4632535bb88ff59879fbe8099\nFixes: 119111972\nTest: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.atom.UidAtomTests#testDeviceCalculatedPowerUse\nTest: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.atom.UidAtomTests#testDeviceCalculatedPowerBlameUid\nTest: BatteryStatsHelperTest#testDrainTypesSyncedWithProto\n"
    },
    {
      "commit": "c2d74304434fdf5027d727d6896edf2ed433ff93",
      "tree": "59fe9393cfb7ba51505f5e5dde0404ff38a0a21b",
      "parents": [
        "cb9172a0dbceeb30c7c7f1ddc83b32affc641d73",
        "648ada6cab2879483d6e266332faaf741d6cd095"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Nov 15 02:02:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 02:02:57 2018 +0000"
      },
      "message": "Merge \"Dump AbstractPerUserSystemService\u0027s uid\""
    },
    {
      "commit": "cb9172a0dbceeb30c7c7f1ddc83b32affc641d73",
      "tree": "4c0aab33652f9c1101d674e2dc3a4646fdbea9ff",
      "parents": [
        "4e998f917c8dff327a99294f81a61852b382b315",
        "927fbf0f279b3bd804147909be471fb294cc2922"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Nov 15 01:59:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 01:59:24 2018 +0000"
      },
      "message": "Merge \"Allow Intelligence Service app to obtain Clipboard permission.\""
    },
    {
      "commit": "444162a57c7fa5050c87a547e32a3e294220c4c3",
      "tree": "a6b785bddaabe4503d11fc45c61a6373dd2cdeb6",
      "parents": [
        "29a29e452cf14e34d51137219043df1c9ad1140d",
        "cbd890315e169a32f93b3bbf02899501b7af0b68"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Wed Nov 14 17:56:37 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 14 17:56:37 2018 -0800"
      },
      "message": "Merge \"Multi-threaded keystore\" am: 9f248989bf\nam: cbd890315e\n\nChange-Id: Ie394840ac3e0bd571b9dfb6654c28d8a4032617f\n"
    },
    {
      "commit": "e0a353c6f8922c67e3a4910e49a240e9c6196da0",
      "tree": "9efabcbd1e6233cbbfc494f5aafe672ef48b129a",
      "parents": [
        "788f57484c5b96a05604bc0526ad8b4e03cade30"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Thu Aug 02 16:38:04 2018 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Nov 14 17:52:05 2018 -0800"
      },
      "message": "WindowManager: Communicate with input system by WindowTokens.\n\nOnce we switch to a model of passing InputWindowInfo through\nSurfaceFlinger, the handles will be parcelled and we will\nno longer receive the same literal object back from \"interceptKeyBeforeQueueing\"\nor other input callbacks. This means the approach of saddling a WindowState\non to the object for later retreival will no longer work. Instead we pass\nthe IBinder WindowState#mClient in when registering the input channel, and modify the\ninput system to pass it back to us as a sort of UUID.\n\nBug: 80101428\nBug: 113136004\nBug: 111440400\nTest: Home button still works.\nChange-Id: I0f41e0d08b034aa037518c3a8fb21be1453565da\n"
    },
    {
      "commit": "788f57484c5b96a05604bc0526ad8b4e03cade30",
      "tree": "fab3b7c42593be6fd222ca4f6b141c766a951dbb",
      "parents": [
        "cc79a989e73761dcf4d78e800d9ab2d5d34011c5"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Mon Jul 30 17:46:45 2018 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Nov 14 17:52:04 2018 -0800"
      },
      "message": "Plumbing for SurfaceControl#setInputWindowInfo.\n\nThe standard SurfaceControl plumbing, plus moving InputWindowInfo from\nthe services jar to the framework jar so that it is accessible from\nSurfaceControl.\n\nBug: 80101428\nBug: 113136004\nBug: 111440400\nTest: None\nChange-Id: I3443a98cd04ac6b36977e1874641a34c6befca34\n"
    },
    {
      "commit": "29a29e452cf14e34d51137219043df1c9ad1140d",
      "tree": "d33c9aa4476c3210f36c1f0ac5edcc084efc9c32",
      "parents": [
        "a3e91325a6cd8e93ea56d50aae69b5abc5071fe1",
        "e063a8b66c4b16322652a88e1acd32e69e20bc71"
      ],
      "author": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Wed Nov 14 17:28:08 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 14 17:28:08 2018 -0800"
      },
      "message": "Merge \"Add missing library of services.net\" am: f48f9b91b9\nam: e063a8b66c\n\nChange-Id: I014a1f0410cab78da0d9d1acf9408ee7c3fd5ca6\n"
    },
    {
      "commit": "8b46029dbbc78f3cc91e16513d2b61e24522dec3",
      "tree": "70d76fa0b89e5b39e3f2ae8cdcad81068f1a00ec",
      "parents": [
        "f8bb12035eb223b5275ae2f8fe38e39c2b973b25",
        "6f13d20b8ecfef97cd98b5564cbf1fca58a4b04d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 01:20:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 01:20:45 2018 +0000"
      },
      "message": "Merge \"Show IME correctly when top-most display focus changed.\""
    },
    {
      "commit": "f8bb12035eb223b5275ae2f8fe38e39c2b973b25",
      "tree": "eaf8c54427f04d8ddadd6b83a617bc8bda6720d6",
      "parents": [
        "0d2f880af599229af72520906f551bf5eed8a9e9",
        "ff0ab697f559b3fabe08306ecc422d2127bae92c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 01:20:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 01:20:20 2018 +0000"
      },
      "message": "Merge \"Let IME target window per display.\""
    },
    {
      "commit": "9f248989bf977cc0fb0e07fd5bd0b452fc59c8f0",
      "tree": "86122bbe9bbf48f8adafbe2da74d5b273561c894",
      "parents": [
        "f48f9b91b967cd96f90c34c1e053db959f06b8cf",
        "b0358e72be50107871fac26325103972e65cbe73"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Thu Nov 15 01:19:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 01:19:10 2018 +0000"
      },
      "message": "Merge \"Multi-threaded keystore\""
    },
    {
      "commit": "1f1de70fad6f35829f67ae8b21207afc6c7a4f30",
      "tree": "afe4670892afa3ba735e5062f2f6504b516a27c6",
      "parents": [
        "3c91545b8f86f3ce80503263b3bcfc2a0d8767ff"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Fri Nov 09 22:49:23 2018 -0800"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Wed Nov 14 17:15:39 2018 -0800"
      },
      "message": "Exposing canSuspendPackage as SystemApi\n\nExposing canSuspendPackage so apps with SUSPEND_APPS can query whether a\npackage is considered too critical to suspend by the system.\n\nTest: atest GtsSuspendAppsTestCases\n\nFixes: 117968270\nChange-Id: I9c316dae7e7a7259d28e271c3901465244d6c93d\n"
    },
    {
      "commit": "f48f9b91b967cd96f90c34c1e053db959f06b8cf",
      "tree": "609765f0e865cad7bc71df98823a41dff5e8b14c",
      "parents": [
        "2c250e322bc87a4bd67d762ea74c9d9cd5481b81",
        "dc2b63107f4df81920cb4d003dcd18eb31f6a0cd"
      ],
      "author": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Thu Nov 15 01:11:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 01:11:21 2018 +0000"
      },
      "message": "Merge \"Add missing library of services.net\""
    },
    {
      "commit": "5b3d6804811a907ae9e74adaa31958a5bc6a515c",
      "tree": "1651041bb589fd886501948bb85ba8b4d87df21a",
      "parents": [
        "97dbb7b9684c741ad1c3718fb1cc1e62dc9457e6"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Nov 14 17:04:47 2018 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Nov 14 17:04:47 2018 -0800"
      },
      "message": "Don\u0027t hold AM lock in AMS.getIntentSender\n\nNothing in the method requires the lock to be held as both the\nuser controller and pending intent controller have their own locks.\nSo, safe to remove to avoid deadlock where WM calls into PM which in\nturn calls this method.\n\nChange-Id: If91c0fb7477a0b71efce029089e6186b5dac8255\nFixes: 119559831\nTest: N/A\n"
    },
    {
      "commit": "c1d607e90d03dfb06fa3be4e65366aa89619832f",
      "tree": "8f96f4393d628363b5988d3e577d90a1c3e3ab67",
      "parents": [
        "9a710dad5f7bebdb09e55ed8fba13608fd757c37",
        "ea7d71b3aa12fb36383c72dd4f29014f92070797"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 00:40:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 00:40:26 2018 +0000"
      },
      "message": "Merge \"Add ColorDisplayManager\""
    },
    {
      "commit": "a4200f82edb721daccb32338e0d7b85d00d81fb9",
      "tree": "810147faa91c266f9d8417a9a01ca243f4816ef1",
      "parents": [
        "27600ff5ddb3aff918013bf76e5f8d4130e11263"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Fri Nov 09 18:06:43 2018 -0800"
      },
      "committer": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Wed Nov 14 16:37:27 2018 -0800"
      },
      "message": "Groundwork for default grants in RoleController\n\nThis lays out some plumbing for moving the DfaultPermissionGrantPolicy grants\nover to RoleControllerService\n\nTest: enable DEBUG flag and `adb logcat | grep -n5 Role`\nChange-Id: Ib0a15b7c839aeccb8848423ddaec38103808bdd6\n"
    },
    {
      "commit": "9a710dad5f7bebdb09e55ed8fba13608fd757c37",
      "tree": "2b7b991e60ac9eae44dc4429c5d2142457753c8b",
      "parents": [
        "ebebce29f9f8849eaa62694d3c014c86d7c0bf2f",
        "067085a14006adbb806ee46e75eb8a038afaeceb"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Thu Nov 15 00:24:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 00:24:09 2018 +0000"
      },
      "message": "Merge \"Add protected method to authenticate using BP for a specific user\""
    },
    {
      "commit": "927fbf0f279b3bd804147909be471fb294cc2922",
      "tree": "82cc734c8ae273ef58a53b9cc62afecc360950d5",
      "parents": [
        "e9f5e860547e7314c4c0e03fa4838c5b06164f5d"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Nov 12 17:27:23 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Nov 14 14:32:46 2018 -0800"
      },
      "message": "Allow Intelligence Service app to obtain Clipboard permission.\n\nTest: manual verification\n\nBug: 111276913\nFixes: 119440304\n\nChange-Id: I8dc97e4517367eaf8736741ce04040efaeb84355\n"
    },
    {
      "commit": "0479cde2b7d567dd154027797f2bea1b22e6cc90",
      "tree": "ca2eb5bac899948735a04a54b37edf1e7d396b2b",
      "parents": [
        "f866003a22da1bc90e746f47a27e1b871467b03f"
      ],
      "author": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Fri Nov 09 11:05:34 2018 -0500"
      },
      "committer": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Wed Nov 14 16:10:43 2018 -0500"
      },
      "message": "Update channelBypassingDnd on user unlock + switch\n\nAlso add method that returns the number of apps\nthat are bypassing dnd\n\nTest: atest PreferencesHelperTest\nFixes: 115972200\nBug: 111475013\nChange-Id: Id75093f9f42d00d05cca7700f64493d702c6a518\n"
    },
    {
      "commit": "067085a14006adbb806ee46e75eb8a038afaeceb",
      "tree": "2bcf254a9330a424093b08df14ea8f64fcf05dbd",
      "parents": [
        "d60f2b049c0464561e9959129798de64a7193a0f"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Mon Nov 12 15:49:19 2018 -0800"
      },
      "committer": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Wed Nov 14 12:53:36 2018 -0800"
      },
      "message": "Add protected method to authenticate using BP for a specific user\n\nThis is analogous to one of the FingerprintManager internal APIs. A\nsignature permission is required if a user wants to authenticate\nusing a different userId\n\nBug: 119296586\n\nTest: BiometricPromptDemo still works for primary and work profile\n\nChange-Id: I16383a588833ccf673d62ed1fc580c412beb4929\n"
    },
    {
      "commit": "dc2b63107f4df81920cb4d003dcd18eb31f6a0cd",
      "tree": "9f3ea4cdc8b7229b425e8246d92188c4d407f585",
      "parents": [
        "7e74c4e4314bbe4aef990c20d1108e6edfe0d8d6"
      ],
      "author": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Mon Nov 12 17:17:17 2018 -0800"
      },
      "committer": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Wed Nov 14 12:52:17 2018 -0800"
      },
      "message": "Add missing library of services.net\n\nTethering.java creates an anonymous implementation of IpServer.Callback.\nrobotests has static link to services.core. services.core and services.net\nare merged into services in services/Android.bp.\n\nTherefore, module FrameworksServicesLib should include both services.core\nand services.net as static library.\n\nBug: 119401516\nTest: m -j MODULES-IN-frameworks-base-services-robotests\n m -j MODULES-IN-frameworks-base\n\nChange-Id: I4bca54e01528b87375cbcc4d9caf9e5789734b9a\n"
    },
    {
      "commit": "1463d83d4e5e3096dd1d56f854df46dae02c35cb",
      "tree": "9437f6c4ee1c45e383996a068a71c4e5b6213731",
      "parents": [
        "4d1f583068f3f759ec19dd00142a2f8b1717a6a5"
      ],
      "author": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Tue Nov 06 16:12:48 2018 +0000"
      },
      "committer": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Wed Nov 14 20:52:01 2018 +0000"
      },
      "message": "Add a Notifications API for contextual (smart) actions.\n\nWith this CL we add a new semantic action to Notification.Action to\nrepresent contextual actions - i.e. actions specific to the current\nnotification. Contextual actions will be displayed differnently to\nregular actions.\n\nIf the app itself does not provide smart replies or smart actions the\nframework will generate smart replies and actions and put those in the\nnotification.\n\nThe UI for smart actions will be added in a separate CL.\n\nWith this CL we also remove a couple of unnecessary fields, namely:\nNotificationInflater.mSmartActions\nNotificationInflater.AsyncInflationTask.mSmartActions\nthe actions stored in these fields are stored in\nNotificationData.Entry anyway.\n\nBug: 119010281\nTest: write an app adding an Action with the new semantic type and\nensure that (contextual) action doesn\u0027t show up with the other actions.\nTest: atest SystemUITests\n\nChange-Id: Icd192fe2273b0474729dd4e413e0a6c2d75ff0fa\n"
    },
    {
      "commit": "4d1f583068f3f759ec19dd00142a2f8b1717a6a5",
      "tree": "812070bc4f703fe15773c5cc5110216f1aae7eb8",
      "parents": [
        "79e4b948cd059993eeb7b326bd90c2149af54a36",
        "78a3d46970818a5a42d1437b447d2708b32775c8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 14 20:39:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 20:39:26 2018 +0000"
      },
      "message": "Merge \"Destroy dim layer in transaction.\""
    },
    {
      "commit": "6b3cb1e3a82862807ad67742759110a2141e8e50",
      "tree": "b1e84cab241233f8dd2c0901471a2188c485b43d",
      "parents": [
        "28e1628e82e7da977874675c1f05d6792128f2f4",
        "1a814ba86d3a5d8c4234cfd43651dff069d458b4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 14 19:40:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 19:40:18 2018 +0000"
      },
      "message": "Merge \"Add more logs to investigate disappearing home button\""
    },
    {
      "commit": "648ada6cab2879483d6e266332faaf741d6cd095",
      "tree": "94b6ebae2d2e332cb520defa76e59ec710c92aad",
      "parents": [
        "e9f5e860547e7314c4c0e03fa4838c5b06164f5d"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Nov 14 11:36:34 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Nov 14 11:37:36 2018 -0800"
      },
      "message": "Dump AbstractPerUserSystemService\u0027s uid\n\nBug: 117779333\nTest: manual verification\n\nChange-Id: I78082ebe12f3524d715417f8e56dab5e72fcd21f\n"
    },
    {
      "commit": "35513466a337edeb19d816366069e279e6b93265",
      "tree": "c3a0021a787228c2478396b5b503a741a582beb1",
      "parents": [
        "e9f5e860547e7314c4c0e03fa4838c5b06164f5d",
        "27b4d94a07ac00367ad12b667c983a89153537d8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 14 18:46:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 18:46:30 2018 +0000"
      },
      "message": "Merge \"Implement naming of isolated service bindings.\""
    },
    {
      "commit": "f9c53b63ec518b9ca60c7f1f67a3aae607e2ae88",
      "tree": "2ae690ed7aca07cfa2470e7e15788939a015653e",
      "parents": [
        "e9f5e860547e7314c4c0e03fa4838c5b06164f5d"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Wed Nov 14 18:20:29 2018 +0000"
      },
      "committer": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Wed Nov 14 18:35:37 2018 +0000"
      },
      "message": "Log notification direct reply to TRON\n\nBug: 118375812\nTest: runtest systemui-notification\nChange-Id: I29de32a36c0cafb869c8ae79bcaee67beb68c5c2\n"
    },
    {
      "commit": "78a3d46970818a5a42d1437b447d2708b32775c8",
      "tree": "aefce8ce13fcb93cf8385e3055bf4e0584d252c0",
      "parents": [
        "d60f2b049c0464561e9959129798de64a7193a0f"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Tue Nov 13 18:06:56 2018 -0800"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Wed Nov 14 10:29:13 2018 -0800"
      },
      "message": "Destroy dim layer in transaction.\n\nCurrently the destroy is done outside a transaction, causing the layer\nto get destroyed while the animation is still holding a reference to it.\nInstead, call destroy in the transaction to ensure the destroy executes\nwith the other transaction requests that occur at the end of the\nanimation.\n\nSpecifically, the reparent was occurring after the destroy completed,\ncausing the surface to get reparented and remain around forever.\n\nChange-Id: I72c2a6f2a67673fdc2047d78b02a299f64fc44a0\nFixes: 117401895\nTest: Repro steps from bug\nTest: DimmerTests\n"
    },
    {
      "commit": "c2c3d18c119151aaa341bd58dd3b66e715326cf3",
      "tree": "d15ec372cad35d0982b84541fd544eea57d18892",
      "parents": [
        "24f78ddda76d870373a1fbe875fc46b4054af84d",
        "d68bd60ccd76ece2603d87910ddf7318e169e7b5"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Wed Nov 14 18:02:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 18:02:11 2018 +0000"
      },
      "message": "Merge \"Update shared sandbox prefix to \"shared-\".\""
    },
    {
      "commit": "b0358e72be50107871fac26325103972e65cbe73",
      "tree": "b42da38eff7715139df8459d4f63cd1b72fb4b98",
      "parents": [
        "a2b2183a2411cdb860c8ef628fcf52952e7a9704"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Fri Nov 02 10:34:07 2018 -0700"
      },
      "committer": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Wed Nov 14 09:59:16 2018 -0800"
      },
      "message": "Multi-threaded keystore\n\nThis patch makes the framework use the asynchronous keystore api model.\n\nBug: 111443219\nTest: Ran full keystore cts test suite\nChange-Id: I8d1fdc70cb9eb501d3f22a97d1221904c2ef8f9a\n"
    },
    {
      "commit": "8c28bf54dec1135a79e7b3d4247656fda82af47c",
      "tree": "d95e5dc80b9bc815c9ab4ef1991706b9623bf8f2",
      "parents": [
        "755cc6653430e0172b00377ef6c4dc1a1a8dc0b6",
        "865003370bd6fafa46d1437af067e7236dae64bb"
      ],
      "author": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Wed Nov 14 16:29:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 16:29:29 2018 +0000"
      },
      "message": "Merge \"Ports chunking/cdc from gmscore to AOSP.\""
    },
    {
      "commit": "bb0fed59fd34e2494bfbee73c7f89f1f6cb3a42d",
      "tree": "ac76502e37213707308821492cd9a8269338b73f",
      "parents": [
        "145401596c4ffeee2d62ae28ad2f2db4f5bf7309",
        "ae9dfacfc124780ab73777ccf62e8e7385abd16f"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Nov 14 15:02:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 15:02:50 2018 +0000"
      },
      "message": "Merge \"log connectivity state change\""
    },
    {
      "commit": "865003370bd6fafa46d1437af067e7236dae64bb",
      "tree": "f69ebdf742b674d69c5b5a94da476871c3af3288",
      "parents": [
        "145401596c4ffeee2d62ae28ad2f2db4f5bf7309"
      ],
      "author": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Wed Oct 31 15:13:55 2018 +0100"
      },
      "committer": {
        "name": "Bram Bonné",
        "email": "brambonne@google.com",
        "time": "Wed Nov 14 14:56:45 2018 +0000"
      },
      "message": "Ports chunking/cdc from gmscore to AOSP.\n\nSome additional changes (apart from the regular style modifications)\nwere needed:\n- Guava crypto methods are replaced by their javax equivalents.\n- Preconditions checks now depend on com.android.util rather than Guava.\n\nBug: 111386661,116575321\nTest: atest RunFrameworksServicesRoboTests\nChange-Id: I43f92f1c0fb3acf62469712d8db212f94429116c\n"
    },
    {
      "commit": "ff0ab697f559b3fabe08306ecc422d2127bae92c",
      "tree": "b0d33644af09960036510264efe2af6fa9241ed9",
      "parents": [
        "b2117bbc3aa853cd7c3db3878be52e2137f7f3df"
      ],
      "author": {
        "name": "lumark",
        "email": "lumark@google.com",
        "time": "Mon Nov 05 20:32:30 2018 +0800"
      },
      "committer": {
        "name": "lumark",
        "email": "lumark@google.com",
        "time": "Wed Nov 14 21:41:24 2018 +0800"
      },
      "message": "Let IME target window per display.\n\nSince currently in WMS only recorded one IME target window that\nthe IME window on top of.\n\nFor multi-sessions IME on multi-displays scenerio, we need\nmove WMS.mInputMethodTarget to DisplayContent.\n\nAdded unit test testInputMethodTargetUpdateWhenSwitchingOnDisplays\nfor verifying per IME target window update when switching on displays.\n\nBug: 117962777\n\nTest: atest ActivityManagerMultiDisplayTests\nTest: atest FrameworksServicesTests:ZOrderingTests\nTest: atest FrameworksServicesTests:WindowContainerTraversalTests\nTest: atest FrameworksServicesTests:DisplayContentTests\nChange-Id: I9aa934961fb3975bd2af18599b5a2884387b5007\n"
    },
    {
      "commit": "145401596c4ffeee2d62ae28ad2f2db4f5bf7309",
      "tree": "175ca9cf6d97d62127f8e88d8dade203f9211f12",
      "parents": [
        "78cad9d8f56da81d546771c884a8b997c2189c83",
        "eb6dabcdde47d20ba87a792e3349931f834a3348"
      ],
      "author": {
        "name": "Ruslan Tkhakokhov",
        "email": "rthakohov@google.com",
        "time": "Wed Nov 14 10:42:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 10:42:39 2018 +0000"
      },
      "message": "Merge \"KV] Don\u0027t set current token if no data was moved\""
    },
    {
      "commit": "78cad9d8f56da81d546771c884a8b997c2189c83",
      "tree": "c51b761c399019648c7c77a7530cbb331e264ba3",
      "parents": [
        "b8bb293e7288896d72677b9e9e1912bf666869d0",
        "8a8ddadfc2165df2f0d75a1bf33080f28601fdd2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 14 09:23:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 09:23:27 2018 +0000"
      },
      "message": "Merge \"Fix applyAdjustmentsFromAssistants\""
    },
    {
      "commit": "6c9537dc7f86c6af3204ed57cee644a8e51a365b",
      "tree": "e0f8256f5e2c1be0aa369fb085f7fffac6e33d0c",
      "parents": [
        "62f9aa44f7aabfebc86a1403adaa7ce47a61c9c8",
        "af57e83d44d9f8826cbf89189c82b1c24614ae2f"
      ],
      "author": {
        "name": "Ryo Hashimoto",
        "email": "hashimoto@google.com",
        "time": "Wed Nov 14 00:10:11 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 14 00:10:11 2018 -0800"
      },
      "message": "Merge changes from topic \"appfuse-upstr\" am: a2786c1f53\nam: af57e83d44\n\nChange-Id: I1287540b7265c96344cb91eb2119fc59919dc2c9\n"
    },
    {
      "commit": "ae9dfacfc124780ab73777ccf62e8e7385abd16f",
      "tree": "1b28632df4b5d628261610eed677e99cc43dd2f3",
      "parents": [
        "ea0fb2dbccd7d3fc064ff8a66950a83852f87f7e"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Thu Oct 25 16:06:56 2018 -0700"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Tue Nov 13 19:39:02 2018 -0800"
      },
      "message": "log connectivity state change\n\nlog when networks become available and lost, for all transport types\nIn statsd, we can use net id to uniquely identify a network. We should\nbe able to count connectivity state changes similar to what BatteryStats\ndoes.\n\nBug: 115561340\nTest: cts test\nChange-Id: Ieac4d243e27d5d368a77e5607dec51964912240d\n"
    },
    {
      "commit": "50a4e01857a814ceb59c496926e9f1c43ffb7293",
      "tree": "eb0fe50655a48170e43833a32555aeb99248ddcf",
      "parents": [
        "0e693bf2ac95c7066e7b42b9abe5b57f9d51c225"
      ],
      "author": {
        "name": "Hongyi Zhang",
        "email": "hongyiz@google.com",
        "time": "Wed Sep 26 21:20:03 2018 -0700"
      },
      "committer": {
        "name": "Hongyi Zhang",
        "email": "hongyiz@google.com",
        "time": "Tue Nov 13 19:36:40 2018 -0800"
      },
      "message": "GlobalSettingsToPropertiesMapper refactor\n\nOnly allow users to register category and flag names. Construct system\nproperty names based on a consistent rule.\n\nBug: 111434018\nTest: manual - registered a value and observed the change.\nChange-Id: I9145daaf1793375ed8df7a3fb1878649cd4ced3e\n"
    },
    {
      "commit": "9f557739e1e1533e187faee583a59fd15ef6b0b5",
      "tree": "71b9db226f45e3346c724b7b34f4aeeff479eec8",
      "parents": [
        "d8b71cf126e0c10a1fba5e3afe96b9e0468d6092",
        "a8dc32e44dda5f472b32269a281e2efa86e41993"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Wed Nov 14 02:46:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 02:46:50 2018 +0000"
      },
      "message": "Merge \"Update isAppStorageSandboxed to handle shell uid.\""
    },
    {
      "commit": "d8b71cf126e0c10a1fba5e3afe96b9e0468d6092",
      "tree": "c51976804f1ee8aa71c91bd2ca719c9785f41c39",
      "parents": [
        "4e3eb8084a69fb818cf5a281695ed746269adefb",
        "d454442d86b70a59766a1aabb11177ef7b0a96db"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 14 02:35:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 02:35:19 2018 +0000"
      },
      "message": "Merge \"SF: Add support for boundless layers 2/2\""
    },
    {
      "commit": "d68bd60ccd76ece2603d87910ddf7318e169e7b5",
      "tree": "68211fa3af3c17ff9bd3362bfef9f032a93d492e",
      "parents": [
        "0e693bf2ac95c7066e7b42b9abe5b57f9d51c225"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Nov 13 17:43:39 2018 -0800"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Nov 13 18:16:36 2018 -0800"
      },
      "message": "Update shared sandbox prefix to \"shared-\".\n\n\":\" is not allowed in filenames by vfat.\n\nBug: 119525489\nTest: sm set-virtual-disk true\nTest: atest core/tests/packagemanagertests/src/android/content/pm/KernelPackageMappingTests.java\nTest: atest services/tests/servicestests/src/com/android/server/StorageManagerServiceTest.java\n\nChange-Id: I95ef58486abe8f2a9760e0229192448e0bd9ef42\n"
    },
    {
      "commit": "c05291dc66042145971ed14e015c5307a6113d87",
      "tree": "7fabda3f7dd243fc2c9bba5811756b2a4b6ab26e",
      "parents": [
        "0e693bf2ac95c7066e7b42b9abe5b57f9d51c225",
        "a77a677c385319edfd32abd8017f9f10f52594b6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 14 02:02:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 02:02:45 2018 +0000"
      },
      "message": "Merge \"Bypass most session work for APEX packages\""
    },
    {
      "commit": "1a814ba86d3a5d8c4234cfd43651dff069d458b4",
      "tree": "77bd3baf044be93d082d27d55fca6365ae7c525b",
      "parents": [
        "fe0efe6bd2acae99bdd8039ff2fde11308ea85fa"
      ],
      "author": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Tue Nov 13 17:50:09 2018 -0800"
      },
      "committer": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Tue Nov 13 17:53:55 2018 -0800"
      },
      "message": "Add more logs to investigate disappearing home button\n\nThis will check when bouncer is hiding and what binders are held to\nprevent flags from showing the home button. Seems that after keyguard\ndecides to hide itself and passes no disabled flags, something might be\npreventing it from setting the statusbar flags.\n\nBug: 113914868\nTest: manual\nChange-Id: I9d1aeeedfbb840a770331a7020d3ba1abb20f5c9\n"
    },
    {
      "commit": "332849b539e4443e5cd08c1a9eb51dbc43e7a6dc",
      "tree": "a342f1c0e49735bac6733f17f657586098fb1432",
      "parents": [
        "0d3548b3914e057f537c6811f1dfd078c40e1f43",
        "ae61ce09c635d08b5bf31fb68cbaed21dd031dbd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 14 00:42:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 00:42:58 2018 +0000"
      },
      "message": "Merge \"Begins refactoring delete into test and execute steps\""
    },
    {
      "commit": "0d3548b3914e057f537c6811f1dfd078c40e1f43",
      "tree": "cc86690b4fd3bc3d872e69c203cbdad0bd92e49c",
      "parents": [
        "30a74c018757cb26237b7f6630d32c7824d8f1e9",
        "c52d8661f109012bd53cda45b18721f544c0eddd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 14 00:22:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 00:22:11 2018 +0000"
      },
      "message": "Merge \"Check for null in applyDefiningSharedLibraryUpdateLocked.\""
    },
    {
      "commit": "30a74c018757cb26237b7f6630d32c7824d8f1e9",
      "tree": "36f7a42185591febf9798d5482c1dcefaed679b3",
      "parents": [
        "277ff273a4827a1512910da5764e1de443507c8b",
        "38d86c2dc5924c00641772a39d958e05ce9865e1"
      ],
      "author": {
        "name": "James Lemieux",
        "email": "jplemieux@google.com",
        "time": "Wed Nov 14 00:05:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 00:05:34 2018 +0000"
      },
      "message": "Merge \"Use tip-of-tree robolectric\""
    },
    {
      "commit": "27b4d94a07ac00367ad12b667c983a89153537d8",
      "tree": "6e7786697585c7cbefe705c79ddc83f7eeb85109",
      "parents": [
        "59805434784886d79c6bdb8253b0aae5351be8d3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 12 15:01:40 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 13 16:03:02 2018 -0800"
      },
      "message": "Implement naming of isolated service bindings.\n\nThis allows clients to run multiple instances of the same\nmanifest service declaration.  It only works for isolated\nservices, to avoid too much abuse temptation.  This is part\nof the \"Chrome site isolation\" work, to allow chrome to have\nmany more render processes running and help it manage them.\n\nBug: 111434506\nTest: atest CtsAppTestCases:ServiceTest\nChange-Id: I22e65758678a07075ed32ed6463082ddf846d3a4\n"
    },
    {
      "commit": "b813934aef81a3406fb54cbbc7f2f8985c7a03e4",
      "tree": "cc6822b60a81c46109d5b1fca87cdeb3892a74ad",
      "parents": [
        "09d8d5c08cc762ca80e8595a94353c40e9398896",
        "b2624f4ef7b461d6620de376adefd38088ee2747"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 13 23:25:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 13 23:25:06 2018 +0000"
      },
      "message": "Merge \"Fixes Intelligence Service location\""
    },
    {
      "commit": "70ee4328cd14b6eef12b87398e8e4ca69758739b",
      "tree": "f8aa4767d8e1c5a0f1b29d84891cb1fdaaeb1702",
      "parents": [
        "2c0da883823ed1173ae0c5ac81fae98159a363c2"
      ],
      "author": {
        "name": "Ryo Hashimoto",
        "email": "hashimoto@google.com",
        "time": "Wed May 16 18:20:37 2018 +0900"
      },
      "committer": {
        "name": "Risan",
        "email": "risan@google.com",
        "time": "Tue Nov 13 22:44:55 2018 +0000"
      },
      "message": "cheets: Delegate openAppFuseFile operation to vold\n\nBug: 72017414, 110379912\nTest: testOpenProxyFileDescriptor passes\n\nChange-Id: I6e0302e9f043836857e16bbe76d4bb927ccae784\n"
    },
    {
      "commit": "9ba31654615cdd41b9b2400afac8526aa79e3e6c",
      "tree": "6d85f4a43782fe015f2aedfe33c6f1ed280ef526",
      "parents": [
        "8e3554a156f069bab111789f1cbc9a69090a505d"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Tue Nov 13 14:34:05 2018 -0800"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Tue Nov 13 14:34:05 2018 -0800"
      },
      "message": "AM: Fix invalid hot launch app metrics seen with quickstep\n\nWhen quickstep is enabled, and the home button is pressed, AML receives two launches. The second\nlaunch is always incomplete. When an activity is then launched, the Launcher activity is\ntreated as a trampoline activity and the launch will be reported as a hot launch with inflated\ntimes.\n\nThe second launch is incomplete because we never get a window\u0027s drawn message for the second\nlaunch. We solve this by keeping track of windows drawn state in the Activity Record. If an\nactivity is launched and its windows are already drawn, then we abort the launch metrics.\n\nTest: manual test with quickstep\nTest: atest ActivityMetricsLoggerTest\nBug: 119221454\nChange-Id: Id34a1c42c9b2ea356757109fedf5e2a1a3b020c8\n(cherry picked from commit c1d2ff60f0f95cdfdfe8d89c9326ae5f16e7adc4)\n"
    },
    {
      "commit": "e6472fe56d9d35658cd14b1602efdb0b47ce4c80",
      "tree": "3a1246ee4b3813aaa1e30c1396f2e95fb8e5588e",
      "parents": [
        "94b33fb532d5e868acfe81bda70664adc38521c3",
        "628b7188318bcd036cfff4b8783130dbe21d2920"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 13 22:29:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 13 22:29:57 2018 +0000"
      },
      "message": "Merge \"Check for null in addition to instanceof Face\""
    },
    {
      "commit": "a1974bbe6d43c0fdea0e0fab4f7f1c95c802adb0",
      "tree": "319ac107d36acdb87b944078f22341652d846787",
      "parents": [
        "1d1c867a715cb883cd1acc6692157644f98f730c",
        "e15b2d58960e7a1ccd5b40c265998d7c272f8064"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 13 14:29:39 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 13 14:29:39 2018 -0800"
      },
      "message": "Merge changes Idbacb6ad,I4e06b3f9,Iffcbbb82 am: 0f9a09d8ba\nam: e15b2d5896\n\nChange-Id: I50b0c5785656ba5561083aec8901267baee99c2a\n"
    },
    {
      "commit": "0f9a09d8baa6a944f4196a64d055b38f79a53537",
      "tree": "9d475400c7c371afe460bf36b4b6f33cf9a64636",
      "parents": [
        "b499af866c0fe4e66d8ee1712d6e3a66821faed9",
        "460ff1416bc9e015ee31ee54a08befab152e430d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 13 22:01:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 13 22:01:56 2018 +0000"
      },
      "message": "Merge changes Idbacb6ad,I4e06b3f9,Iffcbbb82\n\n* changes:\n  BinderProxy: Fix up differences\n  Move proxy debug info dumping back to Java.\n  Dump top binder proxy interface names in dumpsys.\n"
    },
    {
      "commit": "d60f2b049c0464561e9959129798de64a7193a0f",
      "tree": "e1f35539a9a760560a36d21dc4cc7d5b40e529f4",
      "parents": [
        "c67235e41a5ee5dd6bcdb9fdd9ed587cf8d4762b",
        "1b9f8dfb3686a9e88076fdb8ee225b07b7c38db3"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Tue Nov 13 21:51:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 13 21:51:28 2018 +0000"
      },
      "message": "Merge \"Add work background/color to BiometricPrompt for managed profiles\""
    },
    {
      "commit": "d454442d86b70a59766a1aabb11177ef7b0a96db",
      "tree": "db4f3626c3c0c01bf74d902d2813ff73fad00381",
      "parents": [
        "5c978ad75b0b955d71c0af153f936285af17186a"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Tue Nov 13 13:51:01 2018 -0800"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Tue Nov 13 13:51:01 2018 -0800"
      },
      "message": "SF: Add support for boundless layers 2/2\n\nSize is currently used to bound a layer and its child layers. There are\nscenarios where we do not want to restrict a layer or its children to any\nspecific size but have it expand to fill its parent bounds (in the case of a\ncolor layer) or use the size of its buffer. Currently this is achived by providing\na large enough size so that the layer or its children do not get cropped incorrectly.\n\nTo fix this, we start by modifying computeBounds and computeScreenBounds\nto ignore a layer\u0027s size. We calculate the bounds by using the layer\u0027s buffer size\nand/or crop. In WM, we set the layer\u0027s crop property if we want to crop the layer\nor child layer to a particular bounds.\n\nBug: 114413815\nTest: go/wm-smoke\nChange-Id: I633669876ae434d996532c4d808badabfe3f6787\n"
    },
    {
      "commit": "ae61ce09c635d08b5bf31fb68cbaed21dd031dbd",
      "tree": "c1a24e9b93c9cae11480955495dab38fdd10288e",
      "parents": [
        "97dbb7b9684c741ad1c3718fb1cc1e62dc9457e6"
      ],
      "author": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Fri Nov 09 12:50:50 2018 -0800"
      },
      "committer": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Tue Nov 13 13:41:30 2018 -0800"
      },
      "message": "Begins refactoring delete into test and execute steps\n\nThis change is the first in a series that breaks the deletePackageLIF\nmethod into two distinct steps: testing for ability to delete and actual\nexecution of the delete. This is part of the larger effort of removing\nexception cases during atomic install commit.\n\nBug: 109941548\nTest: install, uninstall still work\nChange-Id: Ib4f7799044cb7d6a346da35160046ee5d9ce0b0c\n"
    },
    {
      "commit": "a8dc32e44dda5f472b32269a281e2efa86e41993",
      "tree": "12a0f8346a3e0a3826b3f9232ac408115e1df3e1",
      "parents": [
        "87915d66c360184964ffa3ae652dee08d93fafd7"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Nov 13 13:39:42 2018 -0800"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Nov 13 13:39:42 2018 -0800"
      },
      "message": "Update isAppStorageSandboxed to handle shell uid.\n\nBug: 119265456\nTest: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java\nChange-Id: If4f8e1f8603cf206b3437c1c7c1a95707e0ef300\n"
    },
    {
      "commit": "c52d8661f109012bd53cda45b18721f544c0eddd",
      "tree": "8f667e6f5c053399c915283ae97553b5e345fd23",
      "parents": [
        "b513876655e04eb520d5d9b36558d3a8d3dd49e9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 13 15:46:27 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 13 21:23:52 2018 +0000"
      },
      "message": "Check for null in applyDefiningSharedLibraryUpdateLocked.\n\nHandle two cases:\n1) We haven\u0027t been able to create the shared library. The package manager\nstill installs the package, but doesn\u0027t create the shared library.\n\n2) When installing a shared library, we update shared lib dependency\nmappings before scanning. In the case that we\u0027re installing a\nnew shared library, we will not have reference to that shared library in\nmemory. This change adds a null check to account for such a scenario.\n\nbug: 119438703\nbug: 119497540\nTest: atest android.os.cts.StaticSharedLibsHostTests#testAppCanSeeOnlyLibrariesItDependOnFullMode\nChange-Id: I93d67f79ad0a58acd8cd4cb961cf82ada085821c\n"
    },
    {
      "commit": "eb6dabcdde47d20ba87a792e3349931f834a3348",
      "tree": "a5bd22062b095ab8e8ac859a3df771ba54022134",
      "parents": [
        "449563024b648ef5fb1ace9245891ee67562bbda"
      ],
      "author": {
        "name": "Ruslan Tkhakokhov",
        "email": "rthakohov@google.com",
        "time": "Mon Nov 12 11:09:04 2018 +0000"
      },
      "committer": {
        "name": "Ruslan Tkhakokhov",
        "email": "rthakohov@google.com",
        "time": "Tue Nov 13 21:13:14 2018 +0000"
      },
      "message": "KV] Don\u0027t set current token if no data was moved\n\nBug: 119299848\nTest:\n1) atest KeyValueBackupTaskTest\n2) Manual:\n - Run \u0027adb shell bmgr init\u0027 for the active transport to wipe all backup data\n - Run \u0027adb shell dumpsys backup\u0027 and verify string \u0027Current: 0\u0027, i.e. the current token is\n   set to 0\n - Create a test app implementing a BackupAgent that writes no data in onBackup() and\n   install it on the device\n - Run \u0027adb shell bmgr backupnow --non-incremental \u003ctest_app_package\u003e\u0027 to initiate a backup,\n   where --non-incremental flag makes sure PM is not added to the backup queue\n - Run \u0027adb shell dumpsys backup\u0027 and verify string \u0027Current: 0\u0027 again\n\nChange-Id: I595bea9874fd84d0c81b32a509c970a1b142872c\n"
    },
    {
      "commit": "449563024b648ef5fb1ace9245891ee67562bbda",
      "tree": "8a75129c22e2b0898fecce961d96f4829a478570",
      "parents": [
        "639e6dd8a797856612ec04039bbfe3c84fb07b23",
        "7bfb3ae8c8733b54c141d3b1ce29f22b7bc26edd"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Nov 13 21:03:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 13 21:03:25 2018 +0000"
      },
      "message": "Merge \"Remove arch check\""
    },
    {
      "commit": "b2624f4ef7b461d6620de376adefd38088ee2747",
      "tree": "584ad4eda863b245eb6fc74f0c6b97443de252b2",
      "parents": [
        "b4b95f70cd02f789b54819b8abcb15cb757b08bb"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Nov 13 12:57:20 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Nov 13 12:57:47 2018 -0800"
      },
      "message": "Fixes Intelligence Service location\n\nTest: m -j framework services \u0026\u0026 adb remount \u0026\u0026 adb shell stop \u0026\u0026 \\\n      adb sync system \u0026\u0026 adb shell start\nBug: 111276913\n\nChange-Id: Ia226d3559b464f2351c9e8a785fc9edbbee53a9b\n"
    }
  ],
  "next": "8a8ddadfc2165df2f0d75a1bf33080f28601fdd2"
}
