)]}'
{
  "log": [
    {
      "commit": "330f2fb05da38d561e34c81d3027afd30af7f1bf",
      "tree": "6458fa542c2e32c1714b30d5993a5f7a83ca83aa",
      "parents": [
        "ee7bc05a03f8133f8b3930b20b0ddb38b6cde66a",
        "b7667279062ac2e213db1297e5f092762b14ea6a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 07 00:34:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 07 00:34:54 2018 +0000"
      },
      "message": "Merge \"Fix regression in recent task list replacement\" into pi-dev"
    },
    {
      "commit": "7f03f1a20c1b6190003b9b5baf0f14dfc25785b5",
      "tree": "3d23e4cbd8e61fe71cd9d87994f069803d03289c",
      "parents": [
        "4c1453ac4540181f05d7644775d292b4b8fc62a6",
        "f41e88263e655e765de8c85769749d9e6c1cbe14"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 21:45:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 21:45:50 2018 +0000"
      },
      "message": "Merge \"Run layout when exiting window\" into pi-dev"
    },
    {
      "commit": "4c1453ac4540181f05d7644775d292b4b8fc62a6",
      "tree": "636574d541950b3ffa5aa58524ef234a3e9f8ef5",
      "parents": [
        "bdaf85ebe6c5897b9508f7ac9eb8409e95714941",
        "aa763cd35f9a74a93a2fc8cee74e8455e504788e"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 21:44:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 21:44:28 2018 +0000"
      },
      "message": "Merge \"Early wake-up for transitions (2/2)\" into pi-dev"
    },
    {
      "commit": "b7667279062ac2e213db1297e5f092762b14ea6a",
      "tree": "17bf3e06e4facefa117d53c826daa0408a184c2d",
      "parents": [
        "2b28f0699ad7f3c458aa8f619ad3019946bf04f2"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Apr 06 10:18:39 2018 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Apr 06 21:05:00 2018 +0000"
      },
      "message": "Fix regression in recent task list replacement\n\n- Accidentally removed a user check in ag/3762067 when adding the check for\n  compatible activity types :(. Added it back and a test to ensure that we\n  don\u0027t remove tasks that are otherwise identical except belong to\n  different users.\n\nBug: 77661783\nTest: atest FrameworksServicesTests:RecentTasksTest\nChange-Id: I9a0ec8f62e85e89f97dce615252b4c7635f505f8\n"
    },
    {
      "commit": "915b6c8846919a30699f5c7ba5714ff10c17eb48",
      "tree": "f82116ef7e9b343a58b8b1cda4cd67676c6301e5",
      "parents": [
        "43470a309a0fe51d62d16acce400ee73db698126",
        "4d89e42eee94cc8694aa0115f04c7329534e10ae"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 06 20:52:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 20:52:22 2018 +0000"
      },
      "message": "Merge \"Watch all networks for job invalidation signals.\" into pi-dev"
    },
    {
      "commit": "8d23a78b4036a22a3e29565b1e442c581382bdee",
      "tree": "96d0a3963802c9e29543395bc5354d0192b5a24e",
      "parents": [
        "c63fdfe02c1de3b6c08a22a7f2c0d82b36d60976",
        "68653abe513443c053fccbb90e37330b9ae0df8d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 06 20:43:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 20:43:40 2018 +0000"
      },
      "message": "Merge \"Fix another animation leak\" into pi-dev"
    },
    {
      "commit": "3a0681d13772f9ade995fd29bbf1bd0274626d16",
      "tree": "96c2d047e7760f0e17d304c08c45120dbea002aa",
      "parents": [
        "a15aa6e2fd600d828417066df93d4fd11949e188",
        "ce2d963d2ee74435105d25265641a4769563806d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 06 19:44:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 19:44:52 2018 +0000"
      },
      "message": "Merge \"Update NetworkScoreService to use SystemService\" into pi-dev"
    },
    {
      "commit": "28faced9734d509f8829ea710fe93bf33a4be324",
      "tree": "51ece7a10965b90f012c6b22b98a820f5f13f1ec",
      "parents": [
        "bb96c13c7027f187d08746470434e81387edaa36",
        "da26eb3382de885a01933f55dec9b19505cb763f"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Apr 06 17:57:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 17:57:10 2018 +0000"
      },
      "message": "Merge \"Added dontSendToRestrictedApps broadcast option\" into pi-dev"
    },
    {
      "commit": "bcccb1aff5eb258859a2a8146c0315a17d007972",
      "tree": "4b2c4bb45145f7b3d57c072086397f8fb553061f",
      "parents": [
        "893c5e0c70179fc8c000508afe9f89a6af8e220d",
        "317a35743b3d1ed9deedce0d5b626b9a6e2d0779"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 06 17:12:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 17:12:01 2018 +0000"
      },
      "message": "Merge \"Switch to Saturated color mode when Accessibility transforms are active\" into pi-dev"
    },
    {
      "commit": "ce2d963d2ee74435105d25265641a4769563806d",
      "tree": "bfb77eece2f23cfca8a7b36a2d7e5cba3ba96718",
      "parents": [
        "893c5e0c70179fc8c000508afe9f89a6af8e220d"
      ],
      "author": {
        "name": "Mehdi Alizadeh",
        "email": "mett@google.com",
        "time": "Wed Mar 28 17:34:24 2018 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Apr 06 17:08:59 2018 +0000"
      },
      "message": "Update NetworkScoreService to use SystemService\n\nBug: 29118511\nTest: runtests.sh\nTest: Ran integration tests\nTest: Verified wifi assistant still works (Uses NetworkScorer).\nChange-Id: I50a6bd5ab59fc69fcb331102ad80ec4bb0988c70\n"
    },
    {
      "commit": "1b5a0deb8125ccb5a64c7b941f34a161b0c76400",
      "tree": "01182cba00ee4deb730f58ca82a7e434fa15f9a6",
      "parents": [
        "cecec7bf5b881547ea8cd43d48892b0302175e08",
        "3e2980ed3251ec5f8ca85d7ce23f44daf717dd82"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Apr 06 16:45:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 16:45:02 2018 +0000"
      },
      "message": "Merge \"Generalize the recents animation to work with non-home activity.\" into pi-dev"
    },
    {
      "commit": "cecec7bf5b881547ea8cd43d48892b0302175e08",
      "tree": "44988269e4b10c425bc454721d7a16b9c1d03eb7",
      "parents": [
        "f332dea5db4b966eb40106d1b541ad752c79eb22",
        "9acd673c0deb2652a55c52b9b80515d84b1945dc"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Fri Apr 06 15:59:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 15:59:34 2018 +0000"
      },
      "message": "Merge \"Migrated the Person class to its own file\" into pi-dev"
    },
    {
      "commit": "f332dea5db4b966eb40106d1b541ad752c79eb22",
      "tree": "669edd1c2d2f95a138f0d933fbf700e83aead3ac",
      "parents": [
        "55399733a51f729606ff3062be36ef9211051393",
        "57d6f11d6ab5d409f3291923ea34f9be709925bc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 06 15:48:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 15:48:43 2018 +0000"
      },
      "message": "Merge \"Added gamma correction to autobrightness.\" into pi-dev"
    },
    {
      "commit": "aec427ba1be87a1a19f5520a37a01bca938763d3",
      "tree": "9ca02b29d1c6a96bb33e11d67575424ac0c9093e",
      "parents": [
        "6c624498bc75a95ab0feab929ab209260aa04e52",
        "90b3c471c90a563885720db5649a999499aa75db"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 15:31:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 15:31:21 2018 +0000"
      },
      "message": "Merge \"Inherit packageName/windowAnimations on TaskSnapshotSurface\" into pi-dev"
    },
    {
      "commit": "f41e88263e655e765de8c85769749d9e6c1cbe14",
      "tree": "e09e981b4f714edcfc8e239769e906f69ffadbd9",
      "parents": [
        "706fbe7ed36354c6fe3f7e67617ce12f2e630e32"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 17:22:03 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 17:23:58 2018 +0200"
      },
      "message": "Run layout when exiting window\n\nSuch that a layout with canAffectSystemUiFlags() return false\nhappens immediately after starting the exit animation.\n\nTest: Open dialog on top of light bar app, close dialog, observe\nicons changing color in sync with window animation\nTest: go/wm-smoke\nFixes: 77690715\n\nChange-Id: I8c255a34f91c47261c1d14174f620142a2c49eb7\n"
    },
    {
      "commit": "50029013f2ea5cd4035ad9e877dfbff821ee07bc",
      "tree": "c0257724a4c54dbc58f38cad06cdf0c92dd81952",
      "parents": [
        "eeeceedc4ea2b42f5edb90dc1a6df08d7fd4c7fc",
        "1c5305977b1aeae34061c118cd7c81652705ed6c"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 14:46:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 14:46:20 2018 +0000"
      },
      "message": "Merge \"Wait for unknown vis to resolve before forcing keyguard orientation\" into pi-dev"
    },
    {
      "commit": "90b3c471c90a563885720db5649a999499aa75db",
      "tree": "23ee85f9e345b7854124fcbcdc56c56de15a55f4",
      "parents": [
        "ddeaefb546c15f26bf7d4372a0d3e000463c7a5e"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 16:02:07 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 14:09:16 2018 +0000"
      },
      "message": "Inherit packageName/windowAnimations on TaskSnapshotSurface\n\nSuch that when the starting window gets picked for the animation,\nwe can resolve the animation as well.\n\nTest: Long press home, \"Home settings\", press home, repeat\nTest: go/wm-smoke\nChange-Id: I81cd022ccd13a720f7ba7a037cb686126cb36722\nFixes: 77688444\n"
    },
    {
      "commit": "1c5305977b1aeae34061c118cd7c81652705ed6c",
      "tree": "f7f12a3229a58baa4da244b9c694f908342d06fd",
      "parents": [
        "ddeaefb546c15f26bf7d4372a0d3e000463c7a5e"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 15:11:47 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 15:14:37 2018 +0200"
      },
      "message": "Wait for unknown vis to resolve before forcing keyguard orientation\n\nIf TRANSIT_UNOCCLUDE is set it may only be so because we are\nstarting another activity that occludes the Keyguard.\nUnknownVisibilityController knows about this, so ask it and wait\nwith forcing Keyguard orientation if needed.\n\nTest: Take image from secure camera in landscape, press on the\nphoto, ensure no rotations\nTest: Dismiss alarm in landscape, observe no rotations\nFixes: 68819499\n\nChange-Id: If143ce43f620d77d62f5812950a040e531cc0a02\n"
    },
    {
      "commit": "892ebd02856f82fac9006babbc9aff43cc4bf71e",
      "tree": "2fead9dee3a5ce2aa937f4e9460c9714d7c6831e",
      "parents": [
        "977837acd69e74ec3149a48d90cfa3b01a7217b7",
        "1b2f37401818b04cf4908d5aa9017eab44fe5662"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Fri Apr 06 12:54:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 12:54:24 2018 +0000"
      },
      "message": "Merge \"Tweak SystemUpdatePolicy APIs\" into pi-dev"
    },
    {
      "commit": "aa763cd35f9a74a93a2fc8cee74e8455e504788e",
      "tree": "f05ed76abb96ea7a6e2e70cc08e9852476bf5c8f",
      "parents": [
        "ddeaefb546c15f26bf7d4372a0d3e000463c7a5e"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Mar 22 23:20:36 2018 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 13:36:14 2018 +0200"
      },
      "message": "Early wake-up for transitions (2/2)\n\nOn some devices it\u0027s very likely that we fall into GL comp during\napp transitions. However, SF offsets are chosen in a way such that\nthe time to finish a frame is just too tight to be completely jank\nfree when hitting GL composition in SurfaceFlinger. Thus, we\nintroduce the concept of a separate early offset, and wakeup\nSurfaceFlinger at that time if we think that hitting GL comp is\nlikely, or we already hit GL comp in the last frame.\n\nTest: Open app, check vsync offsets in systrace\nTest: Open many dialogs/apps to fall into GPU comp.\nBug: 75985430\nChange-Id: I461fdcd573583f3ea0348c8b23cc9945d33f8976\n"
    },
    {
      "commit": "08f1f1f26df3c9f29bf48560b3c170801a3e9aea",
      "tree": "57278114ea7f1365c59c4e3e9d7e7823a0e68e0c",
      "parents": [
        "7def7be47eb5953f69a3dd504beb89e4c7236970",
        "239b3f08489bac36583f1ba9297c47f6bdc1db43"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 06 09:44:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 09:44:49 2018 +0000"
      },
      "message": "Merge \"Revert \"Whitelist com.android.perftests.core in am instrument.\"\" into pi-dev"
    },
    {
      "commit": "8d8a35a90ec568da101f3e05dc8f12b58f99af5b",
      "tree": "869f38eda63a88ccf286e8033b9bbdda220e4026",
      "parents": [
        "0c42369361f08c316d864de085b573edeb95d8b5",
        "79c6d0590ed178c4995d05cf2fb49662b0055686"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Apr 06 06:48:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 06:48:25 2018 +0000"
      },
      "message": "Merge \"Move the logic of (re)evaluation of Private DNS\" into pi-dev"
    },
    {
      "commit": "79c6d0590ed178c4995d05cf2fb49662b0055686",
      "tree": "4c1d8271e12ab8d7f23aaa4d42c726fdd82121a4",
      "parents": [
        "5ab3cf8bec827ed6cfa3a8e462751e8558728d20"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Mar 21 07:18:33 2018 -0700"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Apr 05 19:18:47 2018 -0700"
      },
      "message": "Move the logic of (re)evaluation of Private DNS\n\nMoves this out of ConnectivityService and into each NetworkMonitor\n(where it\u0027s more self-contained).\n\nTest: as follows\n    - builds, flashes, boots\n    - runtest frameworks-net passes\n    - manual testing with working and non-working hostnames behaves\n      somewhat (but not entirely) as expected, and not always quickly\nBug: 64133961\nBug: 72345192\nBug: 73872000\nBug: 77140445\nMerged-In: I5dc90ecfe6f6f10967b7501645ad8e030cb38982\nMerged-In: Ida4967d22f0781524f0f269e30e653b8ec867258\nChange-Id: Ic4322af3cb49149f2d975cb31f54b2ac7927f907\n(cherry picked from commit 736353a584aa89a29e737e21e29c49fad0d38a63)\n"
    },
    {
      "commit": "9acd673c0deb2652a55c52b9b80515d84b1945dc",
      "tree": "bd49eb982981795d4e6aaa01c7a4f68154bd3090",
      "parents": [
        "e8479d77a1f8f9bb143247c1bca815ca85bc7a3c"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Fri Mar 23 16:39:02 2018 -0700"
      },
      "committer": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Thu Apr 05 17:21:11 2018 -0700"
      },
      "message": "Migrated the Person class to its own file\n\nBecause we are expecting usage of Person across\nother surfaces, we migrate the class out\nof he Notification class which is already incredibly\nhuge.\n\nTest: Migrated existing cts test\nChange-Id: Ia487ae7965b5ca2b016245d21faa63e3b4628344\nFixes: 75980526\n"
    },
    {
      "commit": "e8479d77a1f8f9bb143247c1bca815ca85bc7a3c",
      "tree": "2142c869a2f4df94eaca8d4b07699f2ea06e7b2a",
      "parents": [
        "d7c3ba204c7a55e9b71ac8b478d445b310ac7b56",
        "7e95126e8734377adad7a20673241140ba2113d9"
      ],
      "author": {
        "name": "Kodlee Yin",
        "email": "kodlee@google.com",
        "time": "Fri Apr 06 00:14:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 00:14:55 2018 +0000"
      },
      "message": "Merge \"Include ServiceRecord in foreground service exception exception text.\" into pi-dev"
    },
    {
      "commit": "203bbbf942e8675338b88ab67d49481d2bfcf904",
      "tree": "030fb0ce8267cc90c51ec2f23b93504456d07e90",
      "parents": [
        "4b436a930df7240c3d24928ae723345d4f11a914",
        "bd12527c90d55eefa657e6a71cfdd287ecdb4ab3"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Thu Apr 05 23:43:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 23:43:45 2018 +0000"
      },
      "message": "Merge \"Fix uid map to be simpler and fix partial bucket.\" into pi-dev"
    },
    {
      "commit": "b1bcab2210b770ae6811fc0386766d2cd3449dca",
      "tree": "42a2225dd55fbbca635a278c05cd70162cc18cd7",
      "parents": [
        "01a7dfa37bb2eeb91b36815fcc07db85a65ca1da",
        "66c7ea91b413c9d812047288efb343c16b23d865"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 23:28:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 23:28:19 2018 +0000"
      },
      "message": "Merge \"Implements GNSS satellite blacklist\" into pi-dev"
    },
    {
      "commit": "01a7dfa37bb2eeb91b36815fcc07db85a65ca1da",
      "tree": "5255d967b3700d832f8d0a7fa7e5c1291ed89e8c",
      "parents": [
        "9cb6759072eefacb114782ebdfc3b779693535de",
        "27ffd822b91c3aeadcc8e3b30420e190b3bdd09f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 23:25:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 23:25:56 2018 +0000"
      },
      "message": "Merge \"Fix ActivityStartInterceptor tests\" into pi-dev"
    },
    {
      "commit": "bd12527c90d55eefa657e6a71cfdd287ecdb4ab3",
      "tree": "eae5018191d2e8f4132237acaa0ec7d4ef7e030a",
      "parents": [
        "743d42d2990bd30195045a256f863d0ce6f51d79"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Apr 04 19:02:50 2018 -0700"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Thu Apr 05 16:15:01 2018 -0700"
      },
      "message": "Fix uid map to be simpler and fix partial bucket.\n\nThe previous scheme captured periodic snapshots for each config with\ncomplex logic that\u0027s unnecessary and wasted memory. We actually don\u0027t\nneed to store any snapshots since we just convert the current state\ninto a snapshot and also include the deltas (change events) since the\nprevious report until now.\n\nTo make the system more robust, we also include up to 100 of the\ndeleted apps in the uid map.\n\nAlso, fix the wiring of the partial buckets so the metric producers\nform partial buckets on both app upgrade and removal, but not on\ninstallation of a new app.\n\nAlso, we update StatsCompanionService to also include disabled apps.\n\nBug: 77607583\nTest: Verified unit-tests pass and added new e2e tests.\nChange-Id: I98e1f544d6e6571545ae1581c4cebab807596f51\n"
    },
    {
      "commit": "68653abe513443c053fccbb90e37330b9ae0df8d",
      "tree": "8c16f33a73bf2fa4c08d869862b0154e48b76b8b",
      "parents": [
        "706fbe7ed36354c6fe3f7e67617ce12f2e630e32"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Apr 05 23:29:10 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 00:05:48 2018 +0200"
      },
      "message": "Fix another animation leak\n\nNeed to make sure to clean up the animations in case one of them\ngets removed.\n\nTest: AnimatingAppWindowTokenTest\nChange-Id: I6da71679fc95ec67a1359cc8284fde782997fae6\nFixes: 77635513\n"
    },
    {
      "commit": "27ffd822b91c3aeadcc8e3b30420e190b3bdd09f",
      "tree": "727cd9eb4460b91eac1f741e4e061f358f78a9af",
      "parents": [
        "743d42d2990bd30195045a256f863d0ce6f51d79"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Mar 07 13:24:18 2018 -0800"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Thu Apr 05 21:37:26 2018 +0000"
      },
      "message": "Fix ActivityStartInterceptor tests\n\nThis adds the SET_HARMFUL_APPS_WARNINGS permission required by\ninterceptHarmfulAppIfNeeded, and mocks out the new PackageManager calls\nused by it\nTest: atest ActivityStartInterceptorTest\n\nBug: 77607079\nChange-Id: Iea9c183078261b03be984ba4e0fad271f1548945\nMerged-In: Iea9c183078261b03be984ba4e0fad271f1548945\n(cherry picked from commit eb8fd1c68220bf771167051108a4f89a0eccec40)\n"
    },
    {
      "commit": "5ab3cf8bec827ed6cfa3a8e462751e8558728d20",
      "tree": "112b22dce8d2e2b6ba7ffddb6e5a6e4f24012b57",
      "parents": [
        "7ba60d25f3ccbfa74624b901f565c376d09bf136",
        "ecf00cedb64d2e7b9082d540d49972fe391760ad"
      ],
      "author": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Thu Apr 05 21:23:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 21:23:32 2018 +0000"
      },
      "message": "Merge \"Rename BiometricDialog to BiometricPrompt.\" into pi-dev"
    },
    {
      "commit": "7ba60d25f3ccbfa74624b901f565c376d09bf136",
      "tree": "1cd408c0770d62d796baffddb015c5ec258bbc15",
      "parents": [
        "822ce4f3aa0c6df1b58b66d342694957ba63b4f9",
        "a6fec7be6cde3e7401ef8ebb7ec0040ccd6253f7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 21:17:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 21:17:52 2018 +0000"
      },
      "message": "Merge \"Allow OEMs to restrict access to secondary display\" into pi-dev"
    },
    {
      "commit": "822ce4f3aa0c6df1b58b66d342694957ba63b4f9",
      "tree": "80f0c7a2f3659ac51c5d68f3d8f94c83d98e26a9",
      "parents": [
        "d2c218f78a0a42717337aa49d3b7fa5390afa9ad",
        "3c3af1406e9fc8afbe9593df6c23fe3d4daa6b42"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 21:15:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 21:15:19 2018 +0000"
      },
      "message": "Merge \"Activity interceptor dialog for suspended apps\" into pi-dev"
    },
    {
      "commit": "7e95126e8734377adad7a20673241140ba2113d9",
      "tree": "6c116ddc4a07be20f7203e90e90efb8cea43d20b",
      "parents": [
        "b17c2388a5b31b4a0411fda2dac84af06b2478b9"
      ],
      "author": {
        "name": "Kodlee Yin",
        "email": "kodlee@google.com",
        "time": "Thu Apr 05 12:59:56 2018 -0700"
      },
      "committer": {
        "name": "Dennis Kiilerich",
        "email": "dki@google.com",
        "time": "Thu Apr 05 20:47:46 2018 +0000"
      },
      "message": "Include ServiceRecord in foreground service exception exception text.\n\nTest: manual verification of logcat using test service that doesn\u0027t conform to foreground service rules\nBug: 77647171\nChange-Id: Ie35029838359d83c31ea4e3b2faa166ac8aeec47\n"
    },
    {
      "commit": "e576def01addb73c1eaea6c1cb0543f4794a2bb3",
      "tree": "2bd8b49bb4c1169b50a062ab2c3be73884e8ba3c",
      "parents": [
        "c7b4c2dc1604b16c0cc2bf0ac9955194d3628220",
        "7d7973acae8c1e995620668b4428efc06e0b4b91"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Apr 05 20:21:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 20:21:33 2018 +0000"
      },
      "message": "Merge \"Show Recents if we are bringing a task forward in split-screen-primary\" into pi-dev"
    },
    {
      "commit": "ecf00cedb64d2e7b9082d540d49972fe391760ad",
      "tree": "9a70a3e78040cf96a05c11ef275e4e7c911b991a",
      "parents": [
        "61b93505ba73ae25fc164f253d5a82c7b40f9c9e"
      ],
      "author": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Thu Apr 05 10:28:24 2018 -0700"
      },
      "committer": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Thu Apr 05 10:41:19 2018 -0700"
      },
      "message": "Rename BiometricDialog to BiometricPrompt.\n\nRenamed to BiometricPrompt per API-council feedback.\n\nBug: 77494933\nTest: m -j70\nChange-Id: Ifed2b8f3439a7e671e0ce46d3a7db9f24871b16a\n"
    },
    {
      "commit": "7d7973acae8c1e995620668b4428efc06e0b4b91",
      "tree": "f501aa518d22311373733958b08bb1316d50f6e3",
      "parents": [
        "312a176a0be0f4807b19e1583decca535e2ee6b7"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Apr 05 10:25:59 2018 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Apr 05 10:25:59 2018 -0700"
      },
      "message": "Show Recents if we are bringing a task forward in split-screen-primary\n\nRegression caused by ag/3288245\n\nChange-Id: Ie21d7d57d62658ea5b0db255902dc22517ef3ae7\nFixes: 76109079\nTest: steps from bug\n"
    },
    {
      "commit": "cb331c32db391e1f3518ef873af23ee295a39cad",
      "tree": "f3f51f4699d742e2fd18afd9e3b9545fc5b26a80",
      "parents": [
        "37317e166867a569dae7e5cbd8de8439eae57439",
        "7838027fb089238a6044b9bda4385bf81f90ab50"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 17:07:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 17:07:14 2018 +0000"
      },
      "message": "Merge \"Fixes non-web AIA internal launch\" into pi-dev"
    },
    {
      "commit": "a6fec7be6cde3e7401ef8ebb7ec0040ccd6253f7",
      "tree": "4b0229c51ecede7909171b6eb8a32caf3d7c8e82",
      "parents": [
        "f6f68802c9f4dc541969f2c976b39690f7fe9bb3"
      ],
      "author": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Wed Apr 04 10:14:55 2018 -0700"
      },
      "committer": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Thu Apr 05 09:43:59 2018 -0700"
      },
      "message": "Allow OEMs to restrict access to secondary display\n\nThis is crucial for automotive use-cases when OEMs want to restrict\naccess to instrument cluster display by third-party apps\n\nBug: 28864915\nBug: 70840956\nTest: manually verify that secondary display with private flag is not\naccessible by third-party apps and accessible to apps with system uid\n\nChange-Id: I39e36c2ea73d879a4c7b01220ae852298d868fd5\n"
    },
    {
      "commit": "3e2980ed3251ec5f8ca85d7ce23f44daf717dd82",
      "tree": "b5a7aa8d3b019ec9981d96ef5e42466d605358f6",
      "parents": [
        "c4a5f78b16e1a32473971e17578bb10a10960e1a"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Mar 29 17:28:57 2018 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Apr 05 09:24:43 2018 -0700"
      },
      "message": "Generalize the recents animation to work with non-home activity.\n\n- When quickstep is enabled with 3p launchers, we need to still swipe up\n  to the recents component activity (as defined in the framework resource),\n  which is started in the recents stack. This CL resolves the target by\n  looking at the target intent (only resolving to HOME or RECENTS) to\n  determine which stack to use for the transition.\n\nBug: 77157702\nTest: atest FrameworksServicesTests:com.android.server.am.ActivityStackTests\nTest: Manual, ensure we can still swipe up to home and also to fallback\n      activity when launcher is not the default home\n\nChange-Id: If98f63cfd561861b1772249079ed07e8354142e0\n"
    },
    {
      "commit": "a4d6570b2fd990d61b68e7bd20f1b917d4715710",
      "tree": "566820c9f919d074a6b56b289669a86d6e1fbc6e",
      "parents": [
        "b175d0db8f2cf175a6eaa9cd29a7105ab3371729",
        "c2def58ec0ab96c90f6d786526c5446f9d12be70"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 16:20:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 16:20:25 2018 +0000"
      },
      "message": "Merge \"Copy ApplicationInfo#versionCode field\" into pi-dev"
    },
    {
      "commit": "66c7ea91b413c9d812047288efb343c16b23d865",
      "tree": "a469a605de399859073eda1e6e34d2da454a1027",
      "parents": [
        "6a95a2cc52ee10b74dacc560cfb9e41243fcd31f"
      ],
      "author": {
        "name": "Yu-Han Yang",
        "email": "yuhany@google.com",
        "time": "Sun Mar 11 17:17:15 2018 -0700"
      },
      "committer": {
        "name": "Yu-Han Yang",
        "email": "yuhany@google.com",
        "time": "Thu Apr 05 08:57:04 2018 -0700"
      },
      "message": "Implements GNSS satellite blacklist\n\nBug: 38269641\n\nTest: m -j ROBOTEST_FILTER\u003dGnssSatelliteBlacklistHelperTest RunFrameworksServicesRoboTests\nTest: atest SettingsBackupTest\nTest: Tested with adb on device\n\nChange-Id: Ifaa330bf74353ea5c8826f0000d1935258b8dbf2\n"
    },
    {
      "commit": "1b2f37401818b04cf4908d5aa9017eab44fe5662",
      "tree": "3ca5ce9dfd72b072d5109066de2dee46b749ad25",
      "parents": [
        "b2e6e45d009e7c9148e69bf2c1f0b46917bee7b0"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Wed Mar 28 14:54:08 2018 +0100"
      },
      "committer": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Thu Apr 05 14:26:52 2018 +0100"
      },
      "message": "Tweak SystemUpdatePolicy APIs\n\n* Introduce a FreezePeriod class that represents a single freeze period\n  and is defined by two MonthDay instances.\n* Add ERROR_UNKNOWN to ValidationFailedException\n* Make SystemUpdatePolicy final\n* Document SystemUpdatePolicy.InstallationOption and add IntDef to getType()\n\nTest: runtest frameworks-services -c com.android.server.devicepolicy.SystemUpdatePolicyTest\nTest: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.DeviceOwnerTest#testSystemUpdatePolicy\nTest: gts-tradefed run gts-dev --module GtsGmscoreHostTestCases --test com.google.android.gts.devicepolicy.DeviceOwnerTest#testSystemUpdatePolicy\nBug: 74976911\nChange-Id: I85cf636c3a98c97bd03b7b296c3130028051a791\n"
    },
    {
      "commit": "7a32fba76a15d356d929b35db516fcf3f136defb",
      "tree": "701cf5d2b58cee8d9e45bcc7a681b667e8d29be5",
      "parents": [
        "c83cf90166120435e09a1dd4a436e095622b071c"
      ],
      "author": {
        "name": "Dan Gittik",
        "email": "dangittik@google.com",
        "time": "Wed Mar 28 12:19:38 2018 +0100"
      },
      "committer": {
        "name": "Dan Gittik",
        "email": "dangittik@google.com",
        "time": "Thu Apr 05 11:59:31 2018 +0000"
      },
      "message": "Added adb commands to set and reset brightness.\n\nadb shell cmd display set-brightness BRIGHTNESS command sets the\nscreen brightness programatically.\nadb shell cmd display reset-brightness resets the brightness\nconfiguration to the default configuration.\n\nTest: run \"adb shell cmd display set-brightness \u003cnumber\u003e\" and watch\n      the magic happen.\n\nTest: run \"adb shell cmd jobscheduler run -f\n      com.google.android.apps.turbo 104\" to push a new configuration,\n      then run \"adb shell cmd display reset-brightness-configuration\"\n      to reset it. If it\u0027s not noticable enough, you can manually\n      edit /data/system/display-manager-state.xml: for example, set\n      nits\u003d\"0.0\" for all the \u003cbrightness-point /\u003es in the\n      \u003cbrightness-curve /\u003e to make it as dark as posible.\n\nFixes: 77574628\n\nChange-Id: I37e19c1e662370e60c9f616a3710780f16418620\n"
    },
    {
      "commit": "c83cf90166120435e09a1dd4a436e095622b071c",
      "tree": "6c55e6916e7f5592675845f5f0dfdba9fefa0fde",
      "parents": [
        "0e650c1c55d22a2721f38759d41a2706721474d2",
        "51c4f038b2be0c32a4f7a09beb6865e25875cd95"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 11:26:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 11:26:25 2018 +0000"
      },
      "message": "Merge \"Catch IAE from unbind onServiceDisconnected()\" into pi-dev"
    },
    {
      "commit": "0e650c1c55d22a2721f38759d41a2706721474d2",
      "tree": "8c0a62dcb145f683786303346a514263601f76d2",
      "parents": [
        "8a585a6f1fc33f2bc4c011abebbf909e3c24fe25",
        "9d89543d48b1bd286355f3b2730bee954c8dda1f"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Apr 05 10:43:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 10:43:12 2018 +0000"
      },
      "message": "Merge \"Exempt platform-cert signed apps from hidden API checks.\" into pi-dev"
    },
    {
      "commit": "51c4f038b2be0c32a4f7a09beb6865e25875cd95",
      "tree": "fc1dc1e5835ac81d7f5c6f17eb0f83d8d99e5655",
      "parents": [
        "8a585a6f1fc33f2bc4c011abebbf909e3c24fe25"
      ],
      "author": {
        "name": "Bernardo Rufino",
        "email": "brufino@google.com",
        "time": "Thu Apr 05 11:03:39 2018 +0100"
      },
      "committer": {
        "name": "Bernardo Rufino",
        "email": "brufino@google.com",
        "time": "Thu Apr 05 10:14:01 2018 +0000"
      },
      "message": "Catch IAE from unbind onServiceDisconnected()\n\nWe still don\u0027t know the underlying cause of this, but we shouldn\u0027t crash\nthe system_server. Catching for now.\n\nBug: 74940472\nBug: 77574274\nTest: m -j RunFrameworksServicesRoboTests\nChange-Id: I36fc2e65f8766f6b8fd68104d8830b72668d84eb\n"
    },
    {
      "commit": "4d289593f259db3e690c0f6877eadad608666def",
      "tree": "a02e014c48629dbe33b0788308569ca172d26c79",
      "parents": [
        "7b7e87eeb522c18c9808e6cb03cdc6dd307d7ae2",
        "3f1bf5fbd2339419395c8207899ef298ea974f10"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 07:27:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 07:27:33 2018 +0000"
      },
      "message": "Merge \"Don\u0027t call into phone process with lock held.\" into pi-dev"
    },
    {
      "commit": "628f59aa45c9536e2fb9d753fed1a2d8beb67d18",
      "tree": "a2b7cde2590efd95345cd023aaf909a10b48665c",
      "parents": [
        "c274fb2d22da480cd48100bbfd13e19a5c0d78aa",
        "03cba65b91c44ea2b08f198d165724b60b0518e8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 05:25:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 05:25:15 2018 +0000"
      },
      "message": "Merge \"MediaSessionManager: Apply API council review\" into pi-dev"
    },
    {
      "commit": "c274fb2d22da480cd48100bbfd13e19a5c0d78aa",
      "tree": "f9c83bf02b01e8923bf505ebc361c33fc99c396b",
      "parents": [
        "6a95a2cc52ee10b74dacc560cfb9e41243fcd31f"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Apr 04 10:15:12 2018 -0700"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Thu Apr 05 04:58:45 2018 +0000"
      },
      "message": "Persist volume level on reconnections for Hearing Aid\n\nDevices in mFullVolumeDevices have volume level reset to maximum value\nin checkFixedVolumeDevices.\n\nBug: 69623109\nTest: change Hearing Aid volume, restart phone, verify volume persisted\nChange-Id: Iba134c0b3dc959c19c59f89c3d4ac02eed1e216f\n"
    },
    {
      "commit": "7f0afb4958142cc85513c6e6c4812f192b58bffd",
      "tree": "70d0f03be80958c93880f6a57a3817c037b0fd5d",
      "parents": [
        "c4a5f78b16e1a32473971e17578bb10a10960e1a",
        "1faccac7730f0a002c1afe794f3bee00cd2df38e"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Apr 05 03:14:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 03:14:14 2018 +0000"
      },
      "message": "Merge \"Fix image fetching.\" into pi-dev"
    },
    {
      "commit": "c4a5f78b16e1a32473971e17578bb10a10960e1a",
      "tree": "6413d56a7d3167b9a9e203f3415f6927314f8596",
      "parents": [
        "743d42d2990bd30195045a256f863d0ce6f51d79",
        "dfbabe21b2c2cf02ec3ed575b692a5b76ec62d54"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 02:29:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 02:29:14 2018 +0000"
      },
      "message": "Merge \"Ensure we mark windows as not seamlessly rotating when removing them.\" into pi-dev"
    },
    {
      "commit": "743d42d2990bd30195045a256f863d0ce6f51d79",
      "tree": "bcf16f119d0c2982fe12a89589fbdfee05831007",
      "parents": [
        "aa5c335a60f8316e2935bf2281c4f985b607d586",
        "5dbcb8a6bb03791f89a2c02e5e91ff31ff841a7c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 01:41:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 01:41:39 2018 +0000"
      },
      "message": "Merge \"Load static RROs in OverlayManagerService\" into pi-dev"
    },
    {
      "commit": "3c3af1406e9fc8afbe9593df6c23fe3d4daa6b42",
      "tree": "6e85c622f7d388974527b008b75cfc15e21d691e",
      "parents": [
        "53a77b615c6917b10ea9c73b25ddde7082995e48"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Fri Mar 30 00:28:37 2018 -0700"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Wed Apr 04 18:40:19 2018 -0700"
      },
      "message": "Activity interceptor dialog for suspended apps\n\nAdded an AlertActivity to intercept the start for an activity belonging\nto a suspended app. More details will be shown if the suspending app\nalso defines an activity to handle the API action\nSHOW_SUSPENDED_APP_DETAILS.\n\nTest: Added tests to existing classes. Can be run via:\natest com.android.server.pm.SuspendPackagesTest\natest com.android.server.pm.PackageManagerSettingsTests\natest com.android.server.pm.PackageUserStateTest\n\nBug: 75332201\nChange-Id: I85dc4e9efd15eedba306ed5b856f651e3abd3e99\n"
    },
    {
      "commit": "93a10eb1d2535f2ab9c3edfa10bb31e439a825e9",
      "tree": "20d4b2cd86d8acbcdcb7afdb615d1df378b98d8e",
      "parents": [
        "f6486683fa62a6fd81862a4f440ea40a34a9ff85",
        "a1862b587f05b6ba36eda81a67748baaf66afc48"
      ],
      "author": {
        "name": "Yu-Han Yang",
        "email": "yuhany@google.com",
        "time": "Thu Apr 05 00:51:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 00:51:32 2018 +0000"
      },
      "message": "Merge \"Add NtpTimeHelper\" into pi-dev"
    },
    {
      "commit": "1ecd7aa188370b3f84a2cedcacf06537a5127c50",
      "tree": "9a7586f4cc5221dc60b2df9622ca888701cb8981",
      "parents": [
        "71c632367a798cdf656e6ac51daf0379ee525759",
        "a05b6b05c19ca216790d943eca9b5e0b6e682981"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Apr 05 00:33:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 00:33:07 2018 +0000"
      },
      "message": "Merge \"Fix app switch regression\" into pi-dev"
    },
    {
      "commit": "71c632367a798cdf656e6ac51daf0379ee525759",
      "tree": "3663ef1acfb9fe3df32bc37011e51e2345027d6f",
      "parents": [
        "0df72e4065a815a9bdd1a6af510163f9e46d5ea4",
        "3150dbf7a57c7f0332db9c9197ad046023bd6ece"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 00:25:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 00:25:34 2018 +0000"
      },
      "message": "Merge \"WM Tests: Use a separate WindowManager instance per test\" into pi-dev"
    },
    {
      "commit": "fdc891e2af54dd3a5e23d223350b1509a0fef95d",
      "tree": "ccd4f4494fed750ec71a16e2b2c3b30d10868db2",
      "parents": [
        "53a77b615c6917b10ea9c73b25ddde7082995e48",
        "a0ec24cb624e2c6e22b696f0b38fbb442dbdb076"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 04 23:39:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 23:39:39 2018 +0000"
      },
      "message": "Merge \"Completely fill in permission info\" into pi-dev"
    },
    {
      "commit": "da26eb3382de885a01933f55dec9b19505cb763f",
      "tree": "4940a9a25e3c8eaf6e6a6dcb6490324118914cc8",
      "parents": [
        "b4da14cde90711daeceb5f460b5bc4e5dda89cc5"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Mar 30 16:01:26 2018 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Apr 04 16:39:24 2018 -0700"
      },
      "message": "Added dontSendToRestrictedApps broadcast option\n\nSets whether pending intent can be sent for an application with\nbackground restrictions\n\nTest: manual\nBug: 77237719\nChange-Id: I9acc2471f1dbd657ed9a6dd93888e04a6ae48d61\n"
    },
    {
      "commit": "5dbcb8a6bb03791f89a2c02e5e91ff31ff841a7c",
      "tree": "c2c5b4ba36463add37834e80bf7bcb68e94babe5",
      "parents": [
        "dc4309544d67cdb242e6a818dd63afeb7a6ade93"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Wed Apr 04 11:28:21 2018 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu Apr 05 07:49:41 2018 +0900"
      },
      "message": "Load static RROs in OverlayManagerService\n\nOnly RROs targeting \"android\" are loaded from AssetManager, and so\nothers should be loaded from OverlayManagerService.\n\nThe RROs targeting \"android\" would be ingored as they are to avoid\nredundant loading.\n\nBug: 76205654\nTest: succeeded building and tested with taimen\nChange-Id: Ibeeb3c3f3338a845b2f4c485305636003d9dbd44\n"
    },
    {
      "commit": "fe99686d8ab57035b0ed06b9e2a0cb5e21b0d400",
      "tree": "6f81fd5d3614b99ce12a8d9ba97ab9d417e53840",
      "parents": [
        "71436c639a04f0183a3a47d539145b4367e1ca76",
        "69c71423ecd1858e1dd6407a96ed7609dc379e85"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 04 22:42:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 22:42:37 2018 +0000"
      },
      "message": "Merge \"Hiding windows for suspended packages\" into pi-dev"
    },
    {
      "commit": "3f1bf5fbd2339419395c8207899ef298ea974f10",
      "tree": "d72264d7dd964e919e8b6246cc3f3572544a4ed8",
      "parents": [
        "1fe71e24c86ec647c8caef5d91b33ce831a5e689"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 04 15:29:00 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 04 15:29:00 2018 -0700"
      },
      "message": "Don\u0027t call into phone process with lock held.\n\nBug: 77456094\nFixes: 77456094\n\nTest: Manual test:\n- Insert SIM card to device\n- Set break point to setNetworkTemplateEnabledInner\n- Change connectivity and make sure setNetworkTemplateEnabledInner()\nis called with right arguments.\n\nChange-Id: I6ff3c5639b48cb95419b431a85c498e214ee8e0d\n"
    },
    {
      "commit": "2b26f83f12013c0e14b920093ff81f55d7a78987",
      "tree": "802acf92768bf6c4631cc4f7fbb47235893f3767",
      "parents": [
        "48920ab48d5d43e22871b688c830670b56aac3ec",
        "640e9b9bf4b031f9df75178d2049d88f02755524"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 04 22:06:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 22:06:49 2018 +0000"
      },
      "message": "Merge \"autofill: fix window location in splitwindow and dialog\" into pi-dev"
    },
    {
      "commit": "a0ec24cb624e2c6e22b696f0b38fbb442dbdb076",
      "tree": "16a68a316f8d47ad81a4fafbf8ca2fb5bc86b3f5",
      "parents": [
        "3275d9a004a45f4a2a9e30bbe7c662955ebdb9ff"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Apr 04 15:00:00 2018 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Apr 04 15:00:00 2018 -0700"
      },
      "message": "Completely fill in permission info\n\nDuring the refactor, an optimization was made to generatePermissionInfo()\nto avoid creating duplicate PermissionInfo objects. However, the logic was\nflawed and if a permission\u0027s protection level was ever adjusted, we\nwouldn\u0027t return a properly filled out PermissionInfo object.\n\nChange-Id: I70b3eda199008807182f75a413651d7cb4f4b7fd\nFixes: 74556457\nTest: Manual; run app com.kakao.taxi and it doesn\u0027t crash\n"
    },
    {
      "commit": "d421e0ffdf31a0de1c450530ef0e489ae420cd6e",
      "tree": "98a5a5f1052807b27620ad4aa886dc29e2b6d87f",
      "parents": [
        "1fe71e24c86ec647c8caef5d91b33ce831a5e689",
        "eed5b5a31c21811feda3fb621572efba642455be"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 04 21:54:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 21:54:11 2018 +0000"
      },
      "message": "Merge \"Add basic inversion lock detection to DPMS.\" into pi-dev"
    },
    {
      "commit": "7838027fb089238a6044b9bda4385bf81f90ab50",
      "tree": "86c2eb71dd2a180effce0cb5d3bd7f6eea4f0dc5",
      "parents": [
        "752cd826b9991f0333ac4cfe7a8c3a9c60f0cbda"
      ],
      "author": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Wed Apr 04 10:41:01 2018 -0700"
      },
      "committer": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Wed Apr 04 14:32:26 2018 -0700"
      },
      "message": "Fixes non-web AIA internal launch\n\nThis change plumbs the original uid of a startActivity call through to\nPackageManagerService#queryIntentActivitiesInternal so that we properly\nfilter.\n\nTest: manual - launch previously failing instant app\nChange-Id: I0a62195f67c2e08315ce2d87f1d8c516c2327ba6\nFixes: 77489209\n"
    },
    {
      "commit": "1fe71e24c86ec647c8caef5d91b33ce831a5e689",
      "tree": "55f6825d8085378fe45b5c267c39deb58d7d3aaa",
      "parents": [
        "498baa82e645619ddf7e79bd3930ff519ad4526d",
        "e70b29e81010a871fbc7003eac0d1bd4ceaa7c2d"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 04 21:29:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 21:29:38 2018 +0000"
      },
      "message": "Merge \"Fix launcher apps reverse access\" into pi-dev"
    },
    {
      "commit": "6dd11b53e2a36c5d9ae6281d539de9dacb90b26c",
      "tree": "0e0254b46dc2bdab42fca71545cb6f462e63c98d",
      "parents": [
        "ad9c39d5712c6a6b1136f33844f21f59e5fd39f0",
        "9df4ad11cc6c378893420ab2c512bcd772b7d098"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 04 21:04:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 21:04:51 2018 +0000"
      },
      "message": "Merge \"Fixed IMMS.DebugFlag#refresh() default value\" into pi-dev"
    },
    {
      "commit": "2c1f2dfb74116e14ab09e0e78d420c454ec1f633",
      "tree": "dc2eaeeb396f06dd03229cba0a2d96296fd1fa74",
      "parents": [
        "a60cb52487412425212c0d8357882f3869b9d4cc",
        "985617969f559334b2bab7767cff9098d51d2b9e"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Wed Apr 04 20:28:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 20:28:18 2018 +0000"
      },
      "message": "Merge \"Don\u0027t clear a11y focus with lock held\" into pi-dev"
    },
    {
      "commit": "c9d83570698b5b314568759ccb42fb95d0ef0f7b",
      "tree": "5fc311b821a05e650e53b3479d83c1008918fc59",
      "parents": [
        "c2e68785fb8ab820ad4f07c71cc2db4a9cb73bfa",
        "482633fe81afed63be75fe36c4cd33b5660bd13d"
      ],
      "author": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Wed Apr 04 20:25:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 20:25:39 2018 +0000"
      },
      "message": "Merge \"Clean up remaining TODOs in RecoveryController.\" into pi-dev"
    },
    {
      "commit": "c2e68785fb8ab820ad4f07c71cc2db4a9cb73bfa",
      "tree": "3bb7f038053ca99e074ca16a7d090e9fde2f76ee",
      "parents": [
        "52ef03701ff0876764bad06185cfd6e7551e616a",
        "0cfb6e38639b27d15185194cd7dec9da8b2d2b27"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Apr 04 20:24:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 20:24:23 2018 +0000"
      },
      "message": "Merge \"Log when save UI is not showing because of the service\u0027s response.\" into pi-dev"
    },
    {
      "commit": "e70b29e81010a871fbc7003eac0d1bd4ceaa7c2d",
      "tree": "690ce71d7eaf8a038397a7b5ab3392cc06bef982",
      "parents": [
        "a926126a8bc89c1a6bd7fa8a76332476eba0d954"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Apr 03 16:44:39 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 04 12:48:38 2018 -0700"
      },
      "message": "Fix launcher apps reverse access\n\nTrying to access other profiles from work profile shouldn\u0027t throw\nsecurity exception.\n\nThis is a partial revert of Ia4ddea58f66861ef760865b6d8831563584f85c9.\n\n(Technically we should check the target user-id too, but that part isn\u0027t a\nregression, so I\u0027m not fixing that part.)\n\nBug: 77260666\nChange-Id: I3f1f6584fcd6b879943d85ab4678b6130def0ba3\nFixes: 77260666\nTest: atest /android/pi-dev/cts/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/LauncherAppsProfileTest.java#testReverseAccessNoThrow\nTest: adb shell am instrument -w -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -w -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -w -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -w -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -w -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -w -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -w -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -w -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -w -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -w -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests\n"
    },
    {
      "commit": "eed5b5a31c21811feda3fb621572efba642455be",
      "tree": "8a9cae332965d11c838627fc193efcecfa1ade79",
      "parents": [
        "a926126a8bc89c1a6bd7fa8a76332476eba0d954"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Mar 13 14:22:23 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 04 12:18:54 2018 -0700"
      },
      "message": "Add basic inversion lock detection to DPMS.\n\nFor now enable it on ENG builds only.\n(I\u0027ll change the condition in master so I\u0027ll get WTFs from qt-release devices\ntoo.)\n\nThis will detect calling into DPMS with the following locks held:\n\nAPP_OPS\nPOWER\nUSER\nPACKAGES\nSTORAGE\nWINDOW\nACTIVITY\nDPMS\n\nOn marlin-eng pi-dev, each guard() takes ~25us.\n    LockGuard.guard(): count\u003d7246, total\u003d175.1ms, avg\u003d0.024ms\n\nUsed the following command to ensure all locks are replaced.\n$ grep synchronized /android/pi-dev/frameworks/base/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java | sed -e \u0027s/  *//\u0027 | uniq\n\nBug: 74553426\nTest: Manual test with an intentional lock inversion.\nChange-Id: Id59d562d7c275b6ea127a211284496f5d64f9f93\n"
    },
    {
      "commit": "c2def58ec0ab96c90f6d786526c5446f9d12be70",
      "tree": "0381c12a7b4a0ab05d2899eaa5faeea287898721",
      "parents": [
        "752cd826b9991f0333ac4cfe7a8c3a9c60f0cbda"
      ],
      "author": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Wed Apr 04 12:14:15 2018 -0700"
      },
      "committer": {
        "name": "Patrick Baumann",
        "email": "patb@google.com",
        "time": "Wed Apr 04 12:18:16 2018 -0700"
      },
      "message": "Copy ApplicationInfo#versionCode field\n\nThis compatibility change ensures that apps built for pre-P that rely\non reflection to access ApplicationInfo#versionCode don\u0027t crash. The\nmove to long version code introduces a new field and all modifications\nof the field are wrapped in a method that ensures both the new and old\nfields are set appropriately.\n\nTest: manual - impacted app runs\nChange-Id: I5fb37c65b0fb04042dda12479d1e1a76590daa3d\nFixes: 74393568\n"
    },
    {
      "commit": "e73074e9a8aae67e1455c16b621ecbe3c03f0ecc",
      "tree": "c85ccecb8eb0633b3dbc2f8f469502bd358655e1",
      "parents": [
        "e269a5ac62448c7ce65d7a5cdc0a1f15c3481462",
        "76973437e9cb36eb60fb2a374366713307688136"
      ],
      "author": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Wed Apr 04 19:13:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 19:13:40 2018 +0000"
      },
      "message": "Merge \"Use Scrypt to hash long passwords in RecoverableKeyStore\" into pi-dev"
    },
    {
      "commit": "0cfb6e38639b27d15185194cd7dec9da8b2d2b27",
      "tree": "7e14089c81116413aa974d446d4423772b7894d4",
      "parents": [
        "a2117ce05728bc1ceb7ec2091243858e199f5abb"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Apr 04 11:57:03 2018 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Apr 04 11:57:34 2018 -0700"
      },
      "message": "Log when save UI is not showing because of the service\u0027s response.\n\nBug: 74553423\nTest: manual verification\n\nChange-Id: I2ed43866b8384de2edea1a12e3da6adae2292c29\n"
    },
    {
      "commit": "640e9b9bf4b031f9df75178d2049d88f02755524",
      "tree": "30b2d1744f149a24347732fa23afa0f9539e1167",
      "parents": [
        "fd533c751b31ea584c1aee29175b74718a191247"
      ],
      "author": {
        "name": "Dake Gu",
        "email": "dake@google.com",
        "time": "Tue Apr 03 11:36:51 2018 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Apr 04 11:36:40 2018 -0700"
      },
      "message": "autofill: fix window location in splitwindow and dialog\n\nautofill should use relative location to app window as PopupWindow\nis based on relative location.\n\nThe fixed reverted changes made in compatibility mode CL that made\nautofill window TYPE_SYSTEM_DIALOG.\n\nChanging PopupWindow to use absolute screen location is another fix\nchoice, but it does not allow autofill window to be automatically\nmoved when app window changes location (e.g. adjust split window\nseparator or bring up IME)\n\nThe autofill window switches to TYPE_APPLICATION_ABOVE_SUB_PANEL with\nIME disabled. So it still appears above IME and most other app\nwindows, unless app window is TYPE_APPLICATION_ABOVE_SUB_PANEL too.\n\nFixes: 73555917\nBug: 77587135\nTest: manually tested compability mode with chrome amazon login\n      manually tested splitted window\n      atest CtsAutoFillServiceTestCases\n\nChange-Id: I6b8ecf3fe7a91cebea1f7a868f4b15fbed8b0051\n"
    },
    {
      "commit": "1faccac7730f0a002c1afe794f3bee00cd2df38e",
      "tree": "9e9ea06a8f5410a06ecbc43b6bd669315cac3fe3",
      "parents": [
        "a583d12f3d7921f25f064244bd52a56ecc205fa1"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Apr 04 11:15:51 2018 -0700"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Apr 04 11:15:51 2018 -0700"
      },
      "message": "Fix image fetching.\n\nAlso, while we\u0027re here, reduce logs verbosity.\n\nTest: open car.Media app with radio service selected, tune to a station\n      (requires a patch with image support against radio app)\nBug: 75970985\n\nChange-Id: I4e56dcdc8bacbb5e63f67eba4a0b0a126245b415\n"
    },
    {
      "commit": "9d89543d48b1bd286355f3b2730bee954c8dda1f",
      "tree": "701151fd82ae7f583a87aaf746e62062597e15e1",
      "parents": [
        "de3569ef84cbe35c7d5e482b8a9d271ed052dd09"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Apr 04 16:08:21 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Apr 04 17:49:48 2018 +0100"
      },
      "message": "Exempt platform-cert signed apps from hidden API checks.\n\nThis means that APKs signed with the platform cert are allowed to use\nhidden APIs, even if they are not on the package whitelist, and if they are\nnot in the system image. It will also allow a number of packages to be\nremoved from the package whitelist.\n\nAlso remove all platform cert signed apps from the package whitelist, as\nthere is no longer any need for them to be in there.\n\nBug: 64382372\nTest: device boots\nChange-Id: Id805419918de51f946c1f592581bab36ae79de83\n"
    },
    {
      "commit": "27291c26303d2e68b8de5ef62afebcbd771f1f2b",
      "tree": "99726fc3d839ae36edaef0dd7b0f2d1c01cf88df",
      "parents": [
        "2edaf6244cf3248b2958e68d11206ab7181ff686"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Apr 04 09:45:15 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Apr 04 10:17:14 2018 -0400"
      },
      "message": "Ignore test\n\nThat is failing on virtual devices\n\nTest: presubmit\nBug: 77570224\nChange-Id: I333ecab616c9528b89a91071416794dc96b479c4\n"
    },
    {
      "commit": "752cd826b9991f0333ac4cfe7a8c3a9c60f0cbda",
      "tree": "e537c85397c6a26e53ca53f90ce80a263a631047",
      "parents": [
        "0859b46d9d889a327d7c0d76cbe5b571ebb85ec0"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Mar 29 16:29:18 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Apr 04 13:22:14 2018 +0000"
      },
      "message": "Only set client hidden if both hidden and hiddenRequested\n\nThis fixes a bug where clientHidden of Launcher was set to true\ntoo early because of the following flow:\n- Open app, then press home\n- During the transition relaunch the app\n\nThis leads to a new transition being started for which\nhiddenRequested\u003dtrue for Launcher. Then, the old animation\nfinishes, before the new one gets stared, and Launcher gets client\nhidden too early.\n\nMore generally this is correct because:\n- if (hidden \u0026\u0026 hiddenRequested) both states agree\n- if (!hidden \u0026\u0026 !hiddenRequested) both states agree as well\n- if (hidden \u0026\u0026 !hiddenRequested): App is becoming visible before\ntransition has started, so we shouldn\u0027t set it to client hidden\n- if (!hidden \u0026\u0026 hiddenRequested): App is becoming invisible before\ntransition has started. However we need to defer client hidden\nuntil the transition is done.\n\nBug: 74220420\nTest: Open/close apps quickly repeatedly\nTest: go/wm-smoke\nChange-Id: I6df107fb0be9d2d779c997f0ddf1315bf53d27a5\n"
    },
    {
      "commit": "ac96052733c4c07f68f81c203fa05a05940c0f31",
      "tree": "1eea97d31ef0208dab2e450dbf3b27e46b37c79b",
      "parents": [
        "706fbe7ed36354c6fe3f7e67617ce12f2e630e32"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Mar 22 23:20:36 2018 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Apr 04 14:26:24 2018 +0200"
      },
      "message": "Add launch hint for RecentsAnimation\n\nWe are starting an activity, so let\u0027s send launch hint to be\nfaster and consistent with other activity launches.\n\nTest: Swipe up, check android.hardware.power in systrace\nBug: 73651529\nChange-Id: Ia8f925d94cf6969d2501e00b86fa91617d093916\n"
    },
    {
      "commit": "706fbe7ed36354c6fe3f7e67617ce12f2e630e32",
      "tree": "e3147f2898966e7088f77ad416f8a03f8c8745ff",
      "parents": [
        "b2e6e45d009e7c9148e69bf2c1f0b46917bee7b0"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Apr 03 18:49:05 2018 +0100"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Apr 04 10:38:12 2018 +0000"
      },
      "message": "We should show custom title for suspend app dialog\n\nBUG: 77523074\n\nTest: Suspend an app, observe the new title.\n\nChange-Id: I85f3d47e05332f7593a885130fd30dc5fd0a9960\n"
    },
    {
      "commit": "03cba65b91c44ea2b08f198d165724b60b0518e8",
      "tree": "60c3840534218b711d03f1de5cd151eb457988af",
      "parents": [
        "f0e74ae8ac115f415ec1e3f104ea688c55a4dddb"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Apr 04 16:25:35 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Apr 04 19:13:59 2018 +0900"
      },
      "message": "MediaSessionManager: Apply API council review\n\nHere\u0027s the comments from the review\n  - RemoteUserInfo needs to override .hashCode() as well\n  - Verify package name and the UID in the RemoteUserInfo\n  - Docs: Document how to get RemoteUserInfo\n  - Docs: Document that RemoteUserInfo is only valid on thread that the\n          command is being called from\n    * It\u0027s already documented in the\n      MediaSession#getCurrentControllerInfo() and\n      MediaBrowserService#getCurrentBrowserInfo().\n\nBug: 77507337\nTest: Run following CtsMediaTestCases\n  - MediaBrowserTest\n  - MediaBrowserServiceTest\n  - MediaControllerTest\nChange-Id: If37560a7bc59d1ef5517ec1f3e0a8b74c2bb2980\n"
    },
    {
      "commit": "b2e6e45d009e7c9148e69bf2c1f0b46917bee7b0",
      "tree": "3eb2acb5a9fbb0995ab9a97e3cc744660049583b",
      "parents": [
        "f0e74ae8ac115f415ec1e3f104ea688c55a4dddb",
        "23174b7eaeb93918451c36bbbfad94bafd44bdd6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 04 06:03:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 06:03:23 2018 +0000"
      },
      "message": "Merge \"Throw ServiceSpecificException if calling app tries to initialize certificates with lower version. Earlier, the code just returned silently, giving no indication that updating certs failed.\" into pi-dev"
    },
    {
      "commit": "985617969f559334b2bab7767cff9098d51d2b9e",
      "tree": "9e1f2060d13d51cbf37af90ea44f0d0f78d06d93",
      "parents": [
        "f0e74ae8ac115f415ec1e3f104ea688c55a4dddb"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Fri Mar 30 17:52:34 2018 -0700"
      },
      "committer": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Wed Apr 04 04:49:12 2018 +0000"
      },
      "message": "Don\u0027t clear a11y focus with lock held\n\nThe bug I\u0027m fixing is kind of weird, but in the trace it\nshowed lock contention with onWindowsForAccessibilityChanged\nholding the lock for a long time. So I\u0027ve cleaned up that\nmethod a bit, looking for trouble. The only concrete thing\nI see that\u0027s wrong is that I was clearing a11y focus, which\ninvolves calling the app that last reported having focus.\nThat was done with the lock held. Now doing it through the\nhandler.\n\nBug: 77298850\nTest: Ran a11y CTS and unit tests.\nChange-Id: I667707412a0e3ba98639d0cb43858e8c6b52a5a7\n"
    },
    {
      "commit": "a1862b587f05b6ba36eda81a67748baaf66afc48",
      "tree": "7d5024db00ede50dee62df6ea8a3dbb802788f3e",
      "parents": [
        "fd533c751b31ea584c1aee29175b74718a191247"
      ],
      "author": {
        "name": "Yu-Han Yang",
        "email": "yuhany@google.com",
        "time": "Tue Feb 20 17:05:59 2018 -0800"
      },
      "committer": {
        "name": "Yu-Han Yang",
        "email": "yuhany@google.com",
        "time": "Tue Apr 03 21:20:06 2018 -0700"
      },
      "message": "Add NtpTimeHelper\n\n- Refactor GnssLocationProvider around handleInjectNtpTime\n- Add robolectric test for NtpTimeHelper\n\nBug: 73319937\nBug: 38269641\nTest: m -j ROBOTEST_FILTER\u003dNtpTimeHelperTest RunFrameworksServicesRoboTests\n\nChange-Id: Ie551a64641b03386c00cb2de5bbaee41150cc40c\n"
    },
    {
      "commit": "dc4309544d67cdb242e6a818dd63afeb7a6ade93",
      "tree": "a67d2eb89fd378136aca163fcb4a45316f69ec0e",
      "parents": [
        "9ab1da20525d31837b450e5f22243d89f2fbb997",
        "d7b9720850afb35a811e35a0543d23693947b227"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 04 01:53:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 01:53:57 2018 +0000"
      },
      "message": "Merge \"Removed redundant autofill response info from ViewState dump()\" into pi-dev"
    },
    {
      "commit": "9ab1da20525d31837b450e5f22243d89f2fbb997",
      "tree": "c38ec8256a43c4d46077f73cc106be6a396bbcd6",
      "parents": [
        "d40c477b2e30e917be218583473e6d048906f815",
        "e0ec992630dbcb39776cf42d1489745abdd4b1d0"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Apr 04 01:23:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 01:23:42 2018 +0000"
      },
      "message": "Merge \"Add settings to configure default multipath quota.\" into pi-dev"
    },
    {
      "commit": "6acf543681182393df713d4a4df9cf42d35a20b4",
      "tree": "51b56fa240715e32aa095facc1c882927c3816b1",
      "parents": [
        "a24ddf58c9b0ba41ee32ce892186ad5b315c9a28",
        "8cc92ac6f3efb57cd5da8def9509f7defe56d50d"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Wed Apr 04 00:32:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 00:32:10 2018 +0000"
      },
      "message": "Merge \"Prevent exception when stack being removed on crash\" into pi-dev"
    },
    {
      "commit": "482633fe81afed63be75fe36c4cd33b5660bd13d",
      "tree": "f71b349fe9129f3cdc1fbedc4c3d663171c18502",
      "parents": [
        "fd533c751b31ea584c1aee29175b74718a191247"
      ],
      "author": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Tue Apr 03 16:47:24 2018 -0700"
      },
      "committer": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Tue Apr 03 17:17:26 2018 -0700"
      },
      "message": "Clean up remaining TODOs in RecoveryController.\n\nBug: 77549752\nTest: apct\nChange-Id: I59014ba1e0bf1191090ea3ca7db96e242b9dc0e5\n"
    },
    {
      "commit": "69c71423ecd1858e1dd6407a96ed7609dc379e85",
      "tree": "0fd67bbb1bb683f39f4b6a6b19ff459d48679d6f",
      "parents": [
        "46eef8d0497d357e5fc2a3e63e7150f2b9372f03"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Mon Apr 02 18:39:01 2018 -0700"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Tue Apr 03 17:00:09 2018 -0700"
      },
      "message": "Hiding windows for suspended packages\n\nSuspended packages get their activities intercepted at start, but they\ncan still show system_alert or toast_windows from other components.\nThese need to be hidden when the app goes into suspend and unhidden when\nit is unsuspended.\n\nTest: atest com.android.server.wm.WindowStateTests\n\nBug: 77498821\nChange-Id: I9ac446f20feb23e2090ba306b4435c46b9aeec95\n"
    },
    {
      "commit": "2bad006b0d2455f45a262b11865b91acbc943c21",
      "tree": "73241f21d87edfa6bc70db2daa28eb57dcc104b9",
      "parents": [
        "3ec4b8ccfdad94f7393743ba0d56602dc9bb4dc3",
        "c43d2f5b1f12dadd8c87c069cd4a13cfbc481699"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 03 23:47:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 23:47:23 2018 +0000"
      },
      "message": "Merge \"Support bypassing TLS in the framework\" into pi-dev"
    },
    {
      "commit": "7694926d37a8684e77c9d806bec6e06324de0965",
      "tree": "7b69faa9bd9a2e6a6bd1d426cf3ef3dc49ec2d8f",
      "parents": [
        "68e89707f449c9859b851e18a3489fd73a6153d2",
        "bd573236f8f419161c56be72876a0546f650f947"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 03 23:17:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 23:17:26 2018 +0000"
      },
      "message": "Merge \"[DO NOT MERGE] Sort A11yService#getWindows by layer descending\" into pi-dev"
    },
    {
      "commit": "68e89707f449c9859b851e18a3489fd73a6153d2",
      "tree": "392d874f4e876695192be89ca3766a3d76d6d21a",
      "parents": [
        "fd533c751b31ea584c1aee29175b74718a191247",
        "14b3de1cd853ea58ce9043cc53e2714048263c3f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 03 23:15:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 23:15:19 2018 +0000"
      },
      "message": "Merge \"Bind to DefaultContainerService early for AIA\" into pi-dev"
    },
    {
      "commit": "806be6b602f9a7fbcb1c918602bfe24107c47c0b",
      "tree": "9750b4c82ebf2f99b29002ae552f720d477b5438",
      "parents": [
        "f3fa01e805ecc857ff18a54188ba96db962f8239",
        "fbc01fcbd5cae80c56745102b40d6b764050d630"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 03 22:50:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 22:50:14 2018 +0000"
      },
      "message": "Merge \"Register broadcast receiver at runtime instead\" into pi-dev"
    },
    {
      "commit": "f3fa01e805ecc857ff18a54188ba96db962f8239",
      "tree": "70f2ecc6d176b80f52165b98bc101a1dcdb77259",
      "parents": [
        "e81e6faf080228ac98aa66e848e60fb8d19af680",
        "d6d5a59ed70af8f3db597ddefba145f271c76e6b"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Apr 03 22:48:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 22:48:05 2018 +0000"
      },
      "message": "Merge \"Ensure that the blocking helper will run\" into pi-dev"
    },
    {
      "commit": "a05b6b05c19ca216790d943eca9b5e0b6e682981",
      "tree": "8be289418946386a22434b9088557b7f3d145651",
      "parents": [
        "e81e6faf080228ac98aa66e848e60fb8d19af680"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Apr 03 15:21:00 2018 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Apr 03 15:40:55 2018 -0700"
      },
      "message": "Fix app switch regression\n\n- SystemUI has STOP_APP_SWITCHES, which meant that\n  checkAppSwitchAllowedLocked() would never block the launch of an\n  activity after hitting the home button when launching from recents.\n  However, Launcher does not have this permission, so quick launches of\n  home/launcher-based-recents activity would be blocked (waiting for the\n  app switch timeout). This is only apparent when we have the fallback\n  3 button nav bar, since we do not stop app switches when swiping up.\n\n  This CL enables the system defined recents activity to manage app\n  switches.\n\nBug: 77152886\nTest: Manual, enable three button nav bar, go home, double tap recents and\n      then tap again to go home.\nTest: atest FrameworksServicesTests:RecentTasksTest\n\nChange-Id: I51959c2b0f8d8b7c5f184a1fdf15294b569f5a50\n"
    },
    {
      "commit": "dfbabe21b2c2cf02ec3ed575b692a5b76ec62d54",
      "tree": "8763b49d443a29d265c9e12ec49b00c408c3a978",
      "parents": [
        "1e0a9b0b1b706e4ef31522cdbc7d3d5232e6c382"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Tue Apr 03 15:30:24 2018 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Tue Apr 03 15:36:04 2018 -0700"
      },
      "message": "Ensure we mark windows as not seamlessly rotating when removing them.\n\nOtherwise we fail to reach mSeamlessRotationCount \u003d 0, this used\nto not be a problem however now that we use the mSeamlesslyRotated\nstate based on it, it causes the system to believe we are still\nseamlessly rotating and refuse to perform new rotation animations.\n\nBug: 77282741\nTest: Manual.\nChange-Id: I5b1f105ec60d5475009ef77ef5b29b0d17f5749c\n"
    }
  ],
  "next": "c43d2f5b1f12dadd8c87c069cd4a13cfbc481699"
}
