)]}'
{
  "log": [
    {
      "commit": "b28e1e68d2e3623d2a526654817e0d695e0a8440",
      "tree": "1d26238d80c106658a9752f344bd2da892915a10",
      "parents": [
        "0e59ab04084f53a4a2c460dac94c08334495425f",
        "3daefb4b102a92fc9bf3ea9c382e8e673bb070d9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 05 00:37:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 05 00:37:52 2017 +0000"
      },
      "message": "Merge \"Don\u0027t broadcast PACKAGE_REMOVED for InstantApps\" into oc-dev"
    },
    {
      "commit": "5379b05256166b7ec01da3f8776a23340fabf9f5",
      "tree": "3e197771cc583a0af6830a1f8fa85c74163ff84d",
      "parents": [
        "a5c6ba347317ac6103da87ab7fbc250bc2c748ee",
        "d46a1604b7e95f7c04966d2961f59858651495c2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 22:38:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 22:39:01 2017 +0000"
      },
      "message": "Merge \"Change name of the intent fields\" into oc-dev"
    },
    {
      "commit": "3daefb4b102a92fc9bf3ea9c382e8e673bb070d9",
      "tree": "96c18110fce08786a7c244cd2b2fd3462a89e079",
      "parents": [
        "46f847fb76850c3e05c469a47f5ee14c1cbff690"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Apr 04 07:33:34 2017 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Apr 04 15:21:12 2017 -0700"
      },
      "message": "Don\u0027t broadcast PACKAGE_REMOVED for InstantApps\n\nChange-Id: I7f054bbf844ad6c1b9a8aa20c5ba91cbf9a5db04\nFixes: 36444594\nTest: Manual; uninstall AIA and see that the broadcast isn\u0027t sent\n"
    },
    {
      "commit": "ba2e284a62eaf79b70a84d3e648ad144a7dea344",
      "tree": "91dbadaf9fc7b03a0089d14660b9e5e775f30633",
      "parents": [
        "8788f64b8db61de8ce4ef3ea2f604a370edeaf40",
        "f43ca7968fed9fe8862d9b7217c94687dbb12e0a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 21:42:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 21:42:52 2017 +0000"
      },
      "message": "Merge \"Initial implementation of autofill partitioning.\" into oc-dev"
    },
    {
      "commit": "359ce10912dcf2f9ccdbb5e3dfd5afad055a25c1",
      "tree": "8ccbc1779d2f63f97b0d178cb99b71b6df52882d",
      "parents": [
        "2b285566a4fd99640be5f029ffa78320d265b22f",
        "1566233bfdb994cd41d21ffb2615af8d0e29166f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 21:18:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 21:18:21 2017 +0000"
      },
      "message": "Merge \"Offer to \"fixup\" GIDs used for app data.\" into oc-dev"
    },
    {
      "commit": "2b285566a4fd99640be5f029ffa78320d265b22f",
      "tree": "0c5d76dde568246b0b303f60ea06677d48641a66",
      "parents": [
        "56a090bf377714d6f95841721c6db625037cebe8",
        "09546ff639d8838b896da2d6a27ee7d930401e1c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 20:40:43 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 20:40:48 2017 +0000"
      },
      "message": "Merge \"Dump PackageInstaller state outside of mPackages lock\" into oc-dev"
    },
    {
      "commit": "d46a1604b7e95f7c04966d2961f59858651495c2",
      "tree": "229237b163e2fde82eace57041f82b46d8e24c96",
      "parents": [
        "5879d28f4df66e0222476226ce7a8e8b62314d04"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Apr 03 15:22:38 2017 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Apr 04 13:33:13 2017 -0700"
      },
      "message": "Change name of the intent fields\n\nChange-Id: I67d3f5c7fb3189fdb35908011e92cc82c24b9154\nFixes: 36594944\nTest: cts-tradefed run commandAndExit cts-dev -m CtsSignatureTestCases -t android.signature.cts.IntentTest#shouldNotFindUnexpectedIntents\n"
    },
    {
      "commit": "dff13a0bb1e36783662d432cd4ba97309a489f22",
      "tree": "cae68924a7e25a1dea0993d820a2065d48ff4659",
      "parents": [
        "5879d28f4df66e0222476226ce7a8e8b62314d04",
        "16c3a3e7e811f44b257d1ee557e5e2ac7bb67e52"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 20:23:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 20:23:36 2017 +0000"
      },
      "message": "Merge \"rebind if the connection drops\" into oc-dev"
    },
    {
      "commit": "5879d28f4df66e0222476226ce7a8e8b62314d04",
      "tree": "77861e8466e0bdacc213040ee71a29ff4a3b611f",
      "parents": [
        "baa9a3f4b9d7390ef8ad41cb4ae7f97b09b0caf3",
        "6cd1026807e427895b7dcfb8bbf010eaa005730c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 19:52:05 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 19:52:09 2017 +0000"
      },
      "message": "Merge \"Make shutdown use the UI context.\" into oc-dev"
    },
    {
      "commit": "0bbde28dd41a3488ba211caa31588641543de33b",
      "tree": "f5ef303b4489617a9326a7650dffd1187f6fab9c",
      "parents": [
        "dd7414a6442a40cfd9ecbae567ae217dd92f3f2e",
        "b0fe21782f2d4f9101aed3455b0c8f8632698e88"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 19:37:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 19:37:20 2017 +0000"
      },
      "message": "Merge \"Migrate the NETWORK_SCORER_APP Setting.\" into oc-dev"
    },
    {
      "commit": "02e5b5c6da1808496eeb3f202f2c64d5e1d2d5c4",
      "tree": "163fb4959117976b375205ca5e7f980f1e1f9133",
      "parents": [
        "765a1b78576c94c316bb270ee11f153f1b2fedaa",
        "0e02127c7c40636095b12c175c2e3b7a6ad76f23"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 18:53:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 18:53:10 2017 +0000"
      },
      "message": "Merge \"Temporary fix for themes\" into oc-dev"
    },
    {
      "commit": "765a1b78576c94c316bb270ee11f153f1b2fedaa",
      "tree": "0af91d6f0043b000007b7c1eb10562d8c12d8a66",
      "parents": [
        "a16859114d27643c121cb393ad55391dd6c9f762",
        "b0be09922cc7647b005c4ef657b96470fecc5ddb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 18:52:04 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 18:52:14 2017 +0000"
      },
      "message": "Merge \"Fix PackageManagerService passing usesLibraryFiles to dexOpt.\" into oc-dev"
    },
    {
      "commit": "7f654b277673204b659d988fbfd0f82aa61db69a",
      "tree": "c75544cca5a59fa437a1b2f4c149f0f4e87c6636",
      "parents": [
        "6df90fa53beda112e3abb1d4046fe47ee4e60049",
        "aadbb7fab0cc543a3a5c998587539650169339dd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 17:48:36 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 17:48:40 2017 +0000"
      },
      "message": "Merge \"Load IA resolver settings from resolver package\" into oc-dev"
    },
    {
      "commit": "f43ca7968fed9fe8862d9b7217c94687dbb12e0a",
      "tree": "96b2bbd8b0ed736f92c558b0234cb60eb2d5d2b0",
      "parents": [
        "a52fc49845d1103dea2380f34b96e2a22ea1801e"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Mar 31 10:16:17 2017 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Apr 04 10:30:54 2017 -0700"
      },
      "message": "Initial implementation of autofill partitioning.\n\nBUG: 35707731\nTest: existing CtsAutoFillServiceTestCases pass\nTest: PartitionedActivityTest\n\nChange-Id: If9df5fe63249f0b9e9da058d1c9327dfd3c09cf3\n"
    },
    {
      "commit": "b0fe21782f2d4f9101aed3455b0c8f8632698e88",
      "tree": "44898a80f36505586fc95f3c14bb3e00846d92bf",
      "parents": [
        "644648ebfd93d11405b23cb667ac625653221b69"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Fri Mar 31 10:38:31 2017 -0700"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Tue Apr 04 10:25:57 2017 -0700"
      },
      "message": "Migrate the NETWORK_SCORER_APP Setting.\n\nMigrate the value of NETWORK_SCORER_APP to the USE_OPEN_WIFI_PACKAGE\nSetting if the following conditions are true:\n  * NETWORK_SCORER_APP has a value\n  * An active scorer/recommender is present.\n  * The active scorer specifies a valid UseOpenWifiActivity.\n  * The NETWORK_SCORER_APP value matches the package name of the\n    UseOpenWifiActivity or the active scorer.\n\nTest: runtest frameworks-services -c com.android.server.NetworkScorerAppManagerTest\nBug: 36718516\nChange-Id: I7d7a56c62b4a7f4a0e43824fbb2075e80d7a753b\n"
    },
    {
      "commit": "16c3a3e7e811f44b257d1ee557e5e2ac7bb67e52",
      "tree": "60194e7abb496a5d4da2c29f881657dd28eaf6ce",
      "parents": [
        "2ac969827115c1b8bc86d9017eb1c7c1d5421b10"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Apr 03 12:03:35 2017 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Apr 04 10:11:18 2017 -0700"
      },
      "message": "rebind if the connection drops\n\nChange-Id: I9d91e9080b99690ff1e50dc28b01df0dcda4e97a\nFixes: 36566927\nTest: Manual; stop gms:persistent process using \"kill -9\"\nTest: Manual; stop process using \"adb shell am force-stop com.google.android.gms\"\nTest: Manual; stop process using \"adb install -r PrebuiltGmsCore.apk\"\n"
    },
    {
      "commit": "2ac969827115c1b8bc86d9017eb1c7c1d5421b10",
      "tree": "bf0fdccaef8e5bd12406c70e8194007a94f32bab",
      "parents": [
        "adc160553092883c07ca34490f3f77eb662af562",
        "ff55115121a7a2753ba2265cb3201a3a14c0874d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 16:49:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 16:49:56 2017 +0000"
      },
      "message": "Merge \"Reorganize font enumeration API.\" into oc-dev"
    },
    {
      "commit": "b0be09922cc7647b005c4ef657b96470fecc5ddb",
      "tree": "f5f7240a45c93a861abc216e5b03239173a97663",
      "parents": [
        "adc160553092883c07ca34490f3f77eb662af562"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Mar 28 15:24:14 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Apr 04 16:49:46 2017 +0000"
      },
      "message": "Fix PackageManagerService passing usesLibraryFiles to dexOpt.\n\nThe shared libraries for the package need to be updated before calling\nperformDexOpt so that they can be populated and passed down to dexOpt.\nThis isn\u0027t missing in the AOSP version, so the fix is only for master.\n\nBug: 36698836\nTest: cts-tradefed run singleCommand cts -d --module\nCtsAppSecurityHostTestCases -t\nandroid.appsecurity.cts.UsesLibraryHostTest\n\nChange-Id: Id58bd50a13e5115af03c9167d4eb7f4b1d1dc9da\n(cherry picked from commit 1d643dabe543f3f1b7d96485d6317eece7836a4e)\n"
    },
    {
      "commit": "6cd1026807e427895b7dcfb8bbf010eaa005730c",
      "tree": "719c6dadbd9468cd87e36cfa7ace3ee34ef8bc0d",
      "parents": [
        "31a6d784d66e9c9ba0b7059d48820c9605bd92a0"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Tue Apr 04 17:44:56 2017 +0100"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Tue Apr 04 17:45:49 2017 +0100"
      },
      "message": "Make shutdown use the UI context.\n\nTest: manual\nBug: 36879116\nChange-Id: Id2d6257a5a462573c3481c886778f51b429117d7\n"
    },
    {
      "commit": "0e02127c7c40636095b12c175c2e3b7a6ad76f23",
      "tree": "1f4b310815eccc7def5df12d40a438cb85d82c22",
      "parents": [
        "adc160553092883c07ca34490f3f77eb662af562"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Mar 14 09:28:20 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Apr 04 16:39:28 2017 +0000"
      },
      "message": "Temporary fix for themes\n\nWill need a better optimization written by someone who knows the\ncode better than me.\n\nBug: 36099320\nTest: Try to change theme, twice\nChange-Id: Ief50bb98725de5a281c13d6d6572867925228d62\n"
    },
    {
      "commit": "49028f019976cef2db02ce2c9e03fc1f65466bf3",
      "tree": "45765fc91049ebb5c99a209fdc5954e6fa152f7f",
      "parents": [
        "31a6d784d66e9c9ba0b7059d48820c9605bd92a0",
        "c8c4a8e2c181394467427ff80f669cac134f3698"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 15:22:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 15:22:44 2017 +0000"
      },
      "message": "Merge \"Recompute focus in showLw if needed\" into oc-dev"
    },
    {
      "commit": "aadbb7fab0cc543a3a5c998587539650169339dd",
      "tree": "2210da4bba2d27ff0b690ced8e4907db1a4aa8ba",
      "parents": [
        "31a6d784d66e9c9ba0b7059d48820c9605bd92a0"
      ],
      "author": {
        "name": "Jesse Evans",
        "email": "jsje@google.com",
        "time": "Mon Apr 03 08:15:56 2017 -0700"
      },
      "committer": {
        "name": "Jesse Evans",
        "email": "jsje@google.com",
        "time": "Tue Apr 04 14:46:31 2017 +0000"
      },
      "message": "Load IA resolver settings from resolver package\n\nChanges the logic of getEphemeralResolverSettingsLPr() to resolve\na settings component in any of the packages whitelisted to provide\nthe instant apps installer.\n\nTest: Boots\n\nBug: 36840581\nChange-Id: Iac5e3dfa2cb97a630092212322f9c983c2d29926\n(cherry picked from commit d4310934905aea48079dd5e3a590cd4e2427dcac)\n"
    },
    {
      "commit": "31a6d784d66e9c9ba0b7059d48820c9605bd92a0",
      "tree": "e688e1d299788a331836a0cfbf1910fd5dcfa30c",
      "parents": [
        "acd2827f3e8a0505f2f70b4010982027082088e4",
        "717a8815c2298dcecdcf674122f0afecfae01918"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 14:35:30 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 14:35:35 2017 +0000"
      },
      "message": "Merge \"standardize account manager notification IDs\" into oc-dev"
    },
    {
      "commit": "acd2827f3e8a0505f2f70b4010982027082088e4",
      "tree": "19d112e855ef545af9dbdf61b7352b24b7921066",
      "parents": [
        "c027f941770bc9531fc6536689df79656a5dd43d",
        "9ba2e109a915928c73e646949629fc66876b0f54"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 14:21:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 14:21:26 2017 +0000"
      },
      "message": "Merge \"Fix NPE when status bar isn\u0027t available\" into oc-dev"
    },
    {
      "commit": "c8c4a8e2c181394467427ff80f669cac134f3698",
      "tree": "3b8083481e9eb0d0b8272d5a927eb47b266edad9",
      "parents": [
        "de95d544cde13a7c8d0624c92f445b43cb8cef24"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Apr 04 15:09:51 2017 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Apr 04 15:23:23 2017 +0200"
      },
      "message": "Recompute focus in showLw if needed\n\nWhen the status bar window was relayouted it wasn\u0027t visible by\npolicy (yet). Thus, it couldn\u0027t get focus even though\nFLAG_NOT_FOCUSABLE was not set. Shortly after, it was made\nvisible and thus able to receive focus, but nobody actually\nkicked off another focus calculation.\n\nTest: Set device password, open camera from lockscreen,\nadb shell wm dismiss-keyguard\nFixes: 36242569\n\nChange-Id: Iafbeac45d25490243b701434008e65f545cebbdf\n"
    },
    {
      "commit": "717a8815c2298dcecdcf674122f0afecfae01918",
      "tree": "7573666df1061d028444b97ecf84ab5c729d6295",
      "parents": [
        "de95d544cde13a7c8d0624c92f445b43cb8cef24"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Fri Mar 31 15:34:39 2017 -0400"
      },
      "committer": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Tue Apr 04 08:20:58 2017 -0400"
      },
      "message": "standardize account manager notification IDs\n\nBug: 36807942\nTest: frameworks/base/services/tests/runtests/py\nChange-Id: Iad5383ebbf9cf1765da5ad7405da1f79a3761c63\n"
    },
    {
      "commit": "36db127e4733ea8ef41a96be5b683e1a2e705677",
      "tree": "f406753e2124b9dd46f49a8aa05253c8343be228",
      "parents": [
        "de95d544cde13a7c8d0624c92f445b43cb8cef24"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Mar 28 00:43:31 2017 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Apr 04 12:54:09 2017 +0200"
      },
      "message": "Boost thread priority when holding the WM lock\n\nTest: Take systrace of open app, make sure thead is boosted while\ndoing stuff in WM\nTest: Run WmSlam with and without boosting. Observe an\nimprovement.\nBug: 36631902\nChange-Id: Iadb036f8d12bbf59091466500e82207cf6fa85d5\n"
    },
    {
      "commit": "9ba2e109a915928c73e646949629fc66876b0f54",
      "tree": "1fc10b6503d8aed285d34b6f369b5258aa32b976",
      "parents": [
        "de95d544cde13a7c8d0624c92f445b43cb8cef24"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Apr 04 12:51:03 2017 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Apr 04 12:51:03 2017 +0200"
      },
      "message": "Fix NPE when status bar isn\u0027t available\n\nStatus bar isn\u0027t there in CryptKeeper.\n\nTest: Boot non-direct-boot device\nChange-Id: I8cbf1bfbebc917b03f528f040bb019d193228bbb\nFixes: 36407040\n"
    },
    {
      "commit": "de95d544cde13a7c8d0624c92f445b43cb8cef24",
      "tree": "7377706a9193095b727da4a63867e3ec30d1bf03",
      "parents": [
        "1edadac465f70629c66b0c9b053b8ac154133ec9",
        "d6d6de6da4c7c32babd65c23804d9fdc6eeed740"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Apr 04 09:26:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 09:26:03 2017 +0000"
      },
      "message": "Merge \"Schedule window animations at vsync-sf\" into oc-dev"
    },
    {
      "commit": "1edadac465f70629c66b0c9b053b8ac154133ec9",
      "tree": "2c564b2d46fa480bed0811927b5f1850f99c7f45",
      "parents": [
        "7e5d2c23a4359606af441b5d97789989a98124df",
        "aea6b74e17a0f7b105999adad50dd20eac17df35"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Apr 04 09:14:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 09:14:38 2017 +0000"
      },
      "message": "Merge \"Handle case when snapshot dimensions don\u0027t match\" into oc-dev"
    },
    {
      "commit": "3bf7c7634ac5e2aa47eae46a549fd467a8ead370",
      "tree": "48c2fc8845063ece82b48b3a22981c7f35a101bd",
      "parents": [
        "d2778f32e2ca4f81fd8a2ea39e567db6bb035f92",
        "0dd5b944efd13668b92ea058afc7604d4802fe6c"
      ],
      "author": {
        "name": "Casey Burkhardt",
        "email": "caseyburkhardt@google.com",
        "time": "Tue Apr 04 04:29:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 04:29:27 2017 +0000"
      },
      "message": "Merge \"Fix AccessibilityManager returning duplicate services\" into oc-dev"
    },
    {
      "commit": "a52fc49845d1103dea2380f34b96e2a22ea1801e",
      "tree": "83ee5d2cc21dfa3119e67f9955be7f0f42034e8b",
      "parents": [
        "0f20dcdcb0c0f5c94af454fc98a6c60d02271d2f",
        "a82b62678a0e1eaba50ec5adce93862683dac065"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 03:25:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 03:25:29 2017 +0000"
      },
      "message": "Merge \"Themes: Apply themes to system_server safely\" into oc-dev"
    },
    {
      "commit": "9f467df80493159c2a367ef8d08c79a14a7d52aa",
      "tree": "9e3ef6b56de19f1bf48eaaf25e292eace88a9e9f",
      "parents": [
        "641691901e743e52f7b69fc253e5bbe4eda88d89",
        "af691c0be7bbfea63e880dd717c51a38a0bc874a"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Tue Apr 04 03:01:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 03:01:50 2017 +0000"
      },
      "message": "Merge \"Clean up activity/stack associations.\" into oc-dev"
    },
    {
      "commit": "4d52ae97070d91ed61c383aec17cf6bcf17767b0",
      "tree": "327b5bf93ad78403e5b0291a4b16340c8bf20afb",
      "parents": [
        "c56defe9c0e2652deecd993186f5e8a6a132c8db",
        "126cf03f7c8e825a23e47dd133e77eb1b3b7633d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 02:39:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 02:40:02 2017 +0000"
      },
      "message": "Merge \"Audio focus: API for external audio focus policy\" into oc-dev"
    },
    {
      "commit": "d6f0b0fc4f3d9eadf607ffeeeae15c92f6c28292",
      "tree": "8b57f29333179a6ac95d2c66f560217076964417",
      "parents": [
        "19627d678bae7aa707990c1e0122579e47ff63c2",
        "cd097993399f94aa663c5fad50e444b75e6ee5dd"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Tue Apr 04 01:38:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 01:38:25 2017 +0000"
      },
      "message": "Merge \"Update display contents when metrics change\" into oc-dev"
    },
    {
      "commit": "19627d678bae7aa707990c1e0122579e47ff63c2",
      "tree": "c2b7eb92dc12053640c8a592a0ae9d329a2760ed",
      "parents": [
        "d017221a52b36c919d96cd0807a7bbaaa633357d",
        "0751546c16d1aae0632220dbaca6a29722708617"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 01:33:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 01:33:28 2017 +0000"
      },
      "message": "Merge \"Emit fingerprints during OTA upgrades.\" into oc-dev"
    },
    {
      "commit": "df9cf5450cec9bc8b92d25a66c1f348cdc4b3498",
      "tree": "24dfafc46cd1d00d91a69274953a24ef190483b8",
      "parents": [
        "5efad86b916cb506b57bacfe48d7ddb8639507fb",
        "938ab4fa3942398e942d98aa7b16dd87dfb7ff11"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Apr 04 00:50:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 00:50:24 2017 +0000"
      },
      "message": "Merge \"Move back networking policy logic into NetworkPolicyManagerService\" into oc-dev"
    },
    {
      "commit": "09546ff639d8838b896da2d6a27ee7d930401e1c",
      "tree": "4360d804482304df47a8548262ee59c3921ac0e7",
      "parents": [
        "644648ebfd93d11405b23cb667ac625653221b69"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Apr 03 17:45:50 2017 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Apr 03 17:48:19 2017 -0700"
      },
      "message": "Dump PackageInstaller state outside of mPackages lock\n\nOtherwise it may cause a deadlock.\n\nAlso removed new line before instant attribute.\n\nTest: manual\nChange-Id: I2812a6fe76c638f12728ca6850918eb3a98e3158\nFixes: 36813032\n"
    },
    {
      "commit": "5efad86b916cb506b57bacfe48d7ddb8639507fb",
      "tree": "8cd6e1d91dfe1f34a8219682e451435b869708d1",
      "parents": [
        "afb6b504b230cdbdc78d66c4b21e0f85145bf901",
        "7c6e8e6c00d36f2c232c6c30ba8373a5ab665d5c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 00:39:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 00:39:56 2017 +0000"
      },
      "message": "Merge \"Fixed NPE when FillService replies with a null FillResponse.\" into oc-dev"
    },
    {
      "commit": "afb6b504b230cdbdc78d66c4b21e0f85145bf901",
      "tree": "6470afc83a0da5b16dfc586148cc40c54ff97540",
      "parents": [
        "f2764a4aedf5daea911900f99d5cd0a314185123",
        "19c85406cc993076dc93570dddee7e9d116a7f16"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 00:39:05 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 00:39:09 2017 +0000"
      },
      "message": "Merge \"Fixing issue with activity incorrectly auto-entering PiP.\" into oc-dev"
    },
    {
      "commit": "82331f7f731769390eb5ef0cd6e8e38796bad422",
      "tree": "5321d0503cbb1b7142137c6f86cfafc242bd7495",
      "parents": [
        "5fd39fad261fbe7c3fce8403e2de557990f80aaa",
        "ebc8ee266c8fa99aae5567f9da920f4a81c04c4a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 23:44:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 23:44:45 2017 +0000"
      },
      "message": "Merge \"Not send switch intents if there is no real intent\" into oc-dev"
    },
    {
      "commit": "af691c0be7bbfea63e880dd717c51a38a0bc874a",
      "tree": "4d32d4010f55af4cd74b1b00f7c4ad28925f352b",
      "parents": [
        "21a5edcc24cbca1ae3f0855d71737b22ab81ad6d"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Mon Mar 20 14:20:22 2017 -0700"
      },
      "committer": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Mon Apr 03 16:33:36 2017 -0700"
      },
      "message": "Clean up activity/stack associations.\n\nThe stack currently holds a reference to resuming and pausing\nactivities. These are usually cleaned up when the activity ends or\nthe task is reparented. However, it is possible for an activity to\nlose its reference to its task in other areas (such as\nActivityStarter), which can lead to the stack not being updated\ncorrectly.\n\nThis changelist adds a method to the ActivityStack to disassociate\nthe stack from an ActivityRecord. In addition to places where this is\ncalled when an activity ends, this method is invoked on the children\nof a task when the task is reparented. The task member variable of\nActivityRecord is also now surrounded by a setter/getter, with the\nsetter always invoking the dissociation logic on a previous stack.\n\nTest: bit FrameworksServicesTests:com.android.server.am.ActivityRecordTests\nChange-Id: Iffeccdb6f011958896271673946acfed28856f53\nFixes: 36387417\n"
    },
    {
      "commit": "5fd39fad261fbe7c3fce8403e2de557990f80aaa",
      "tree": "39ef52cf58cf407af21614804195373afe4dc3c4",
      "parents": [
        "fcfb396f5ec65f0053c67941cd236568236b9758",
        "3cc7cd1c18f5d5b2df0f8aebb22fdb3feb23ecd0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 23:31:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 23:32:00 2017 +0000"
      },
      "message": "Merge \"Don\u0027t wtf() for reverse profile access; make it a warning.\" into oc-dev"
    },
    {
      "commit": "0751546c16d1aae0632220dbaca6a29722708617",
      "tree": "24eb2aa45df07fcfbc02d5f4d676a18922a33dcd",
      "parents": [
        "644648ebfd93d11405b23cb667ac625653221b69"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 03 17:22:35 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 03 17:28:19 2017 -0600"
      },
      "message": "Emit fingerprints during OTA upgrades.\n\nCan be used to help confirm diagnosis of bugs like 34525014.\n\nTest: builds, boots\nBug: 36795529\nChange-Id: Ie2517061ef031716c493b2544b0fb95628f20737\n"
    },
    {
      "commit": "1566233bfdb994cd41d21ffb2615af8d0e29166f",
      "tree": "566180ba963894b1e4afad7da282349f9094efc1",
      "parents": [
        "644648ebfd93d11405b23cb667ac625653221b69"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 03 16:41:29 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 03 16:41:32 2017 -0600"
      },
      "message": "Offer to \"fixup\" GIDs used for app data.\n\nWe recently started tracking cached app data using a per-app GID for\nthe \"cache\" and \"code_cache\" directories and their contents.  For\nupgraded devices, we ideally want to \"fixup\" the GIDs of any existing\ndata while the device is still showing the boot animation, instead of\nblocking the user when they unlock the device.\n\nThis fixup operation has the nice side-effect of priming the dentry\ncache with all the directories that we\u0027ll be validating when unlocking\na user, so by always running fixup we speed up onBeforeUnlockUser()\nfrom about ~540ms to ~220ms.\n\nTest: /data/nativetest/installd_service_test/installd_service_test\nBug: 34201111, 35084485\nChange-Id: If40244d0356beb11df25d3052097c3c5a90d010f\n"
    },
    {
      "commit": "78e8ac9c141ca2b3fb99520dc627919bc2f97ba4",
      "tree": "d30f6624b1bf470054e3478bc66eaac64e88ca83",
      "parents": [
        "a73aee4cdc6a010aed63bbb65187f684e1c6911e",
        "9484603c0fa738b67980c18b4abfd3505778ae74"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 22:25:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 22:26:01 2017 +0000"
      },
      "message": "Merge \"Framework support to improve bg check CTS tests.\" into oc-dev"
    },
    {
      "commit": "6a7a967b712145a84771de2920082d3647de2d24",
      "tree": "1c3c996fbee5a0691ca3c5c0fe1877a2ea42818a",
      "parents": [
        "9077faab1fa6d8ecfc6da8e283388d7a3468ddfa",
        "c4361e34ad6fbc1bab34271ece668ebf79232a64"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 22:13:26 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 22:13:34 2017 +0000"
      },
      "message": "Merge \"Remove/fix broken test due to change to DUMP permission check.\" into oc-dev"
    },
    {
      "commit": "19c85406cc993076dc93570dddee7e9d116a7f16",
      "tree": "c27f8e58c291e8aab7ab8292d83defbd21ac000a",
      "parents": [
        "974b5b13b253a38862a81258e9ba29946b73df76"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Apr 03 15:04:20 2017 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Apr 03 15:07:59 2017 -0700"
      },
      "message": "Fixing issue with activity incorrectly auto-entering PiP.\n\n- When the PiP menu activity was brought forward, we were inadvertently\n  setting the auto-enter supported flag for the PiP base activity as\n  well, which would trigger auto-enter PiP once the activity is moved\n  back to fullscreen and then subsequently finished.\n\nBug: 36352343\nBug: 36364010\nTest: android.server.cts.ActivityManagerPinnedStackTests\nChange-Id: Id1b800bf392d03b55562fb13374e33a5ff0ebda6\n"
    },
    {
      "commit": "7c6e8e6c00d36f2c232c6c30ba8373a5ab665d5c",
      "tree": "49565364ae275762dc1bcf9edc81b3a6e9763e92",
      "parents": [
        "64731b1d41eccdf53450195d63ff9e3bd8c57fd7"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Apr 03 13:53:21 2017 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Apr 03 15:03:17 2017 -0700"
      },
      "message": "Fixed NPE when FillService replies with a null FillResponse.\n\nThis problem was not detected by CTS tests because the exception is\n\"harmless\" (it\u0027s just ignored), but it can be verified at logcat:\n\nW Binder  : Caught a RuntimeException from the binder stub implementation.\nW Binder  : java.lang.NullPointerException: Attempt to invoke virtual method \u0027android.content.IntentSender android.service.autofill.FillResponse.getAuthentication()\u0027 on a null object reference\nW Binder  : \tat com.android.server.autofill.ViewState.maybeCallOnFillReady(ViewState.java:159)\n\nBug: 35707731\nTest: CtsAutoFillServiceTestCases pass\nTest: manual verification\nChange-Id: I58330a7e91b2c186bf97897b7d39640010ca630b\n"
    },
    {
      "commit": "126cf03f7c8e825a23e47dd133e77eb1b3b7633d",
      "tree": "c3f979ffd4bfed9644bcc3aaa79f9ff2aa5e3727",
      "parents": [
        "8371f96e9967c93e482dfb995c6092b2e7b78cec"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Apr 02 23:19:02 2017 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 03 14:44:47 2017 -0700"
      },
      "message": "Audio focus: API for external audio focus policy\n\nSystem API for an external audio focus policy. Extends\n the system focus listener with interception of\n focus requests and abandons. Adds method for the focus\n policy to dispatch focus grants and losses.\n\nTest: gts-tradefed run gts -m GtsGmscoreHostTestCases -t \u0027com.google.android.gts.audio.AudioHostTest#testFocusPolicy\u0027\nBug: 30258418\nChange-Id: If408569a2dce07a774e0e2f1be9f1af8e426d2d3\n"
    },
    {
      "commit": "3cc7cd1c18f5d5b2df0f8aebb22fdb3feb23ecd0",
      "tree": "27405b7351df0c8c14a6c06480908b363a5ceb03",
      "parents": [
        "a906fb7b43ba26984b8ef304c894244a8ef19188"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Apr 03 12:48:42 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Apr 03 14:04:11 2017 -0700"
      },
      "message": "Don\u0027t wtf() for reverse profile access; make it a warning.\n\nBug:36003688\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests\nChange-Id: I6d6a73e1d9281dc0b92186dd0666865b0f6b3f1c\n"
    },
    {
      "commit": "ff55115121a7a2753ba2265cb3201a3a14c0874d",
      "tree": "151c60917705792e4afa5bfc5b7820228a72cc50",
      "parents": [
        "be436bdefe1947c01eb4b42bf1b864b1e86b7fb9"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Mar 28 16:16:41 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Apr 03 13:55:07 2017 -0700"
      },
      "message": "Reorganize font enumeration API.\n\nThis CL cleans up APIs around font variation settings.\n- Remove FontConfig and FontManager public API.\n- Remove FontManagerService from system service.\n- Extract inner class FontConfig.Axis as top-level class FontVariationAxis.\n  This is used by Typeface.Builder public API to create new Typeface.\n- Introduce and expose FontVariationAxis utility functions from/to string.\n- Throws if the invalid font variation settings is passed.\n\nTest: android.text.cts.FontVariationAxisTest passes\nTest: android.graphics.cts.TypefaceTest passes\nTest: android.graphics.cts.PaintTest passes\nChange-Id: I9ccafe7a53935960566243e2856e166878ca59ae\n"
    },
    {
      "commit": "dcc792a13feeb6c79d8740c1fcb875fbeb76b4bc",
      "tree": "ca8650070746efbc2e58fe552de24677801694e0",
      "parents": [
        "ef7dff2563ccbe74564ab3b417d810a04df556e7",
        "fc73d799e95f512628da326b0e69ea314f92a5aa"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 20:35:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 20:35:18 2017 +0000"
      },
      "message": "Merge \"Persistent connection to DO/PO service.\" into oc-dev"
    },
    {
      "commit": "c4361e34ad6fbc1bab34271ece668ebf79232a64",
      "tree": "9866b4c0e1486dec5d78ffc8a890967ec5a3981d",
      "parents": [
        "a906fb7b43ba26984b8ef304c894244a8ef19188"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Apr 03 11:24:25 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Apr 03 13:00:39 2017 -0700"
      },
      "message": "Remove/fix broken test due to change to DUMP permission check.\n\nBug 36854321\nTest: adb shell am instrument -e class \u0027com.android.server.pm.ShortcutManagerTest2\u0027 -w com.android.frameworks.servicestests\n\nChange-Id: I80f2a326b70f8d0598246732510e3725a0c58871\n"
    },
    {
      "commit": "ef7dff2563ccbe74564ab3b417d810a04df556e7",
      "tree": "9012b4e8e14c48e348971fc241b511a1ee586cfb",
      "parents": [
        "3f2bbcbe92cd2500746153ed2378278c1b2a53e2",
        "99302b55c6a960c9078ad2c84ae9be3296bd32f3"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Apr 03 19:45:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 19:45:18 2017 +0000"
      },
      "message": "Merge \"Revert \"Push chooser targets to the shortcut manager.\"\" into oc-dev"
    },
    {
      "commit": "cd097993399f94aa663c5fad50e444b75e6ee5dd",
      "tree": "df8fcde4f7132ba91c512da86eb5150d8ed702b8",
      "parents": [
        "3f2bbcbe92cd2500746153ed2378278c1b2a53e2"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Mar 23 18:31:59 2017 -0700"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Mon Apr 03 19:45:14 2017 +0000"
      },
      "message": "Update display contents when metrics change\n\nThere are two separate overrides for display metrics in DisplayManager\nand WindowManager:\n- In DM - LogicalDisplay#mOverrideDisplayInfo, in most cases not null.\n- In WM - DisplayContent#mBaseDisplayWidth/Height/Density, different\nfrom #mInitialDisplayWidth/Height/Density values when some metrics are\nforced.\n\nWhen display was resized its windows weren\u0027t updated because of\ntwo problems: old LogicaDisplay#mOverrideDisplayInfo was preventing\nWM from detecting the change and override (base) display metrics were\nnever updated by resize.\n\nWhen display size changes:\n- Before this CL:\nDM receives DISPLAY_CHANGED event, it updates internal values and\nWM is notified about them with a message. In most cases there is an\noverride obtained from WM and WM doesn\u0027t get new values from\nLogicalDisplay#getDisplayInfoLocked().\n\n- With this CL:\nWM will requests real updated values from DM without any overrides\nand will decide whether to apply them or not: if there is no override\nin WM - it will apply values from WM, otherwise it will keep the\noverride. Also it will always update initial display metrics if there\nis a real change detected.\n\nBug: 35258051\nBug: 34164473\nBug: 36518752\nTest: android.server.cts.ActivityManagerDisplayTests\nTest: #testDisplayResize\nTest: #testForceDisplayMetrics\nChange-Id: I2495c27797f11f9aaee4ea06648a8ccd29ac5b62\n"
    },
    {
      "commit": "be436bdefe1947c01eb4b42bf1b864b1e86b7fb9",
      "tree": "be8a45fb2b199de4a28f80257c57cbc98dc0ea2c",
      "parents": [
        "38344ac4e923704bb121de6c2c59ef14d6d32619",
        "213eb4f162b55f4ae5efd52aefb7bad5cfe73663"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Apr 03 19:11:36 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 19:11:44 2017 +0000"
      },
      "message": "Merge \"Add test API for if the device supports QS\" into oc-dev"
    },
    {
      "commit": "34ecbaa9910685012e7688bd9cf92a6163d1e0c2",
      "tree": "0891697b9f26a8d75885c9b114277cda35279cc8",
      "parents": [
        "244e4854c34385e6e27bb0f94fd9dbff0c9eb09f",
        "5af42fc3052ecaf35c937278a986143a65f6ce5f"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Apr 03 18:23:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 18:23:31 2017 +0000"
      },
      "message": "Merge \"Ensuring multi-window callbacks contain new configuration and are in order\" into oc-dev"
    },
    {
      "commit": "244e4854c34385e6e27bb0f94fd9dbff0c9eb09f",
      "tree": "19e8e5bdab616bea93e5042a405fac422f8460a4",
      "parents": [
        "57132a15137f9d43a276cbadc93dbdd76ef12e06",
        "d62acec309161783f7079b9ff99dee03136c21c3"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Apr 03 18:22:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 18:22:41 2017 +0000"
      },
      "message": "Merge \"Fixing regression in PiP TV.\" into oc-dev"
    },
    {
      "commit": "e35d50622c8387919e42b81c7b052c64decb0615",
      "tree": "468c4269256d475871c83277a2eb5d10c01d0f2b",
      "parents": [
        "2c93764bee6c00526fda24a26f8a472c26d908c3",
        "0c1651f2899ae3d13db005315ed3709f56ab3db3"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Mon Apr 03 17:34:03 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 17:34:13 2017 +0000"
      },
      "message": "Merge \"Rename READ_PHONE_NUMBER to READ_PHONE_NUMBERS\" into oc-dev"
    },
    {
      "commit": "2c93764bee6c00526fda24a26f8a472c26d908c3",
      "tree": "99886cee578290d88c751346f442a62c378a07fe",
      "parents": [
        "e8165eb4ba3c951c21950921196314f0f177179a",
        "a95bfff74604bbf05a66ff37947b1b2fb2fdcaa2"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Mon Apr 03 17:33:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 17:34:01 2017 +0000"
      },
      "message": "Merge \"Fix some WM unit tests\" into oc-dev"
    },
    {
      "commit": "a906fb7b43ba26984b8ef304c894244a8ef19188",
      "tree": "498bd65d16ee9ea9f580c0f61060f09870e4be54",
      "parents": [
        "644648ebfd93d11405b23cb667ac625653221b69",
        "326eb2ee802958b53455affbf4a6adb34d3fa6e4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 16:53:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 16:53:54 2017 +0000"
      },
      "message": "Merge \"Fix deleting Misc channel for o-aps\" into oc-dev"
    },
    {
      "commit": "644648ebfd93d11405b23cb667ac625653221b69",
      "tree": "7c27d02a2611397672cd13c29cf0232efca9d1cd",
      "parents": [
        "5c8832a983d14295028f3ee496f116697584d598",
        "63ee64cca76a6f12d29695b31d0a9a594cc0ea86"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 16:43:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 16:43:08 2017 +0000"
      },
      "message": "Merge \"Expose instant app to exposed providers\" into oc-dev"
    },
    {
      "commit": "d62acec309161783f7079b9ff99dee03136c21c3",
      "tree": "05ad722e987c990f70de466ac004e2b96bca7f4e",
      "parents": [
        "ddd95360a2ed0e5fb2f1e0473ff2ff39c8b0d4bc"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Mar 31 19:42:32 2017 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Apr 03 09:30:42 2017 -0700"
      },
      "message": "Fixing regression in PiP TV.\n\n- Don\u0027t clobber the state if we are deferring resizing due to finishing\n  activities.\n- Fix issue with PiP tasks being visible after the stack is removed, due\n  to it being put below a non-fullscreen task in the fullscreen stack.\n  Instead just move it to the back of the stack.\n\nBug: 36592307\nTest: android.server.cts.ActivityManagerPinnedStackTests\n\nChange-Id: Ia18fe155b8a045a8ffea84612fd08af3ef3982d8\n"
    },
    {
      "commit": "ebc8ee266c8fa99aae5567f9da920f4a81c04c4a",
      "tree": "96429b04a399bc63bf939adcda07ba0f9b60373e",
      "parents": [
        "fb54aee325cd8c85c1220bfd7cc63b1a83310a71"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Fri Mar 31 12:42:52 2017 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Apr 03 09:06:09 2017 -0700"
      },
      "message": "Not send switch intents if there is no real intent\n\nWhen resolving activtities for the USB device/accessory connection UI a\nspecial intent that allows to switch between profiles get added. This\nalso gets added if there is no activity in the secondary profile that\ncan be started.\n\nFixes: 36544815\nTest: Added work profile. Add USB handling app only to personal profile\n      and plugged in USB device -\u003e no crash anymore\n\nChange-Id: I311ddd53b3ff0c8406e62bac57972d4b790ebddc\n"
    },
    {
      "commit": "35110948b7ada496bb4bd8af2a5c9b721275f971",
      "tree": "a0d222272838e3bc8f0fc00d1a96e184d04e1b2d",
      "parents": [
        "7efe56b779d4c44399513c4c92142df2bb8cc51f",
        "51b3aaccfe7f8d7a97fb1218c40a37428f26a6a1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 14:45:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 14:45:57 2017 +0000"
      },
      "message": "Merge \"Implement service filtering\" into oc-dev"
    },
    {
      "commit": "7efe56b779d4c44399513c4c92142df2bb8cc51f",
      "tree": "81ba716b8e166a344b1c8d893fddd3459b84c289",
      "parents": [
        "ef3a28cb92039c198ed8e78a69d00bd9c8322dab",
        "7566d76c618a48b8dcc981dac3cab1e42f864063"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Mon Apr 03 14:30:42 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 14:30:49 2017 +0000"
      },
      "message": "Merge \"Add app bounds to configuration.\" into oc-dev"
    },
    {
      "commit": "326eb2ee802958b53455affbf4a6adb34d3fa6e4",
      "tree": "e2031b6046b5f3d21e21e948c716480ebf1c54f2",
      "parents": [
        "398b37539b9e412e61bb58f31980cde096e3da32"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Mon Apr 03 10:19:11 2017 -0400"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Mon Apr 03 10:19:11 2017 -0400"
      },
      "message": "Fix deleting Misc channel for o-aps\n\nChange-Id: If5ebebcd1b983e12dee860801db578dfe882bd9c\nFixes: 36816111\nTest: runtest systemui-notification\n"
    },
    {
      "commit": "ef3a28cb92039c198ed8e78a69d00bd9c8322dab",
      "tree": "50a61f018ba7de8f1a855ee17f4eab4307dd1f56",
      "parents": [
        "de8cd0e8f58aeb87c80f076db27ba4755fbc4856",
        "193ae6bc785170516a8c67174ddab2cc254c57a2"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Mon Apr 03 13:42:38 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 13:42:44 2017 +0000"
      },
      "message": "Merge \"standardize network policy notification IDs\" into oc-dev"
    },
    {
      "commit": "aea6b74e17a0f7b105999adad50dd20eac17df35",
      "tree": "80f9df98eb54ec096a2d56061f78c10012264b31",
      "parents": [
        "91232840aa1cebd4586ab2437243345a05f34fa4"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Mar 21 17:36:26 2017 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Apr 03 15:36:29 2017 +0200"
      },
      "message": "Handle case when snapshot dimensions don\u0027t match\n\nIf the snapshot starting window has different dimensions than the\nsnapshots we have taken, we do the following:\n\n- Create a child Surface that has exactly the dimensions of the\nsnapshot.\n- We fill the parent surface with the app background color, as well\nas all screen background decorations (status bar background,\nnavigation bar background).\n- We also clip of the status bar/navigation bar background in some\ncases, as it looks ugly if it\u0027s not behind the system bars.\n- Furthermore, we inherit all layout flags on the window and all\nlayout relevant SystemUI flags on the window such that it\u0027s very\nlikely that the size will match, and the system bars are drawn\ncorrectly.\n- In order to make the transition from the snapshot to the real\nwindow a bit more predictable/less messy, we enforce a minimum\nduration the snapshot is visible, which is slightly more than our\napp transitions.\n\nTest: TaskSnapshotSurfaceTest\nTest: Open app, go home, go landscape, open app again\nTest: Go to multi-window, open app from recents with a snapshot\ntaken in fullscreen.\n\nFixes: 36703868\nChange-Id: Ia2d4add6971a18ab7aa2942d2b644d6e87a402af\n"
    },
    {
      "commit": "d6d6de6da4c7c32babd65c23804d9fdc6eeed740",
      "tree": "51608025313237ffae7626f4db186b8bd4d91f05",
      "parents": [
        "91232840aa1cebd4586ab2437243345a05f34fa4"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Mar 31 15:05:13 2017 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Apr 03 15:27:16 2017 +0200"
      },
      "message": "Schedule window animations at vsync-sf\n\nTest: Run window animation, make sure it\u0027s smooth\nTest: Take systrace, make sure it runs at vsync-tick\nTest: Move divider, make sure it\u0027s still smooth\n\nChange-Id: I1600618e074be811134fe4ccb1dfbd5034820c71\nFixes: 36583867\n"
    },
    {
      "commit": "91232840aa1cebd4586ab2437243345a05f34fa4",
      "tree": "712974d6b0e8f6ff4c2c2564aa600f6015fc313f",
      "parents": [
        "0c224f96746828b113fc3ac62266bc0f293c95c2"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Apr 03 14:40:39 2017 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Apr 03 14:40:39 2017 +0200"
      },
      "message": "Revert \"Temporarily bg-whitelist the default container package-cleaning service\"\n\nCauses bootloop.\n\nThis reverts commit f16e7423c79c4ccccf43265a5b1966eb8e7f7be7.\n"
    },
    {
      "commit": "713b7c6b53ba693f77b53784d8f7dfae588612e0",
      "tree": "68242971b943821460af0e739ad84891624f5b35",
      "parents": [
        "fd463121c64643557af5324a8f480677facab15b",
        "8231146d4ede7f0c0767da2bfdea58745611417c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 08:36:04 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 08:36:09 2017 +0000"
      },
      "message": "Merge \"Lower-level user enumeration; fix disabled bug.\" into oc-dev"
    },
    {
      "commit": "fd463121c64643557af5324a8f480677facab15b",
      "tree": "384675fe9a54b7092e58ef5758f6a64bcd25048c",
      "parents": [
        "e1df48d3a0922f928c0d3270324663c7b7f2fa2a",
        "dafb17e7eb9a15862ed1314dff2b82d29ad23632"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 07:37:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 07:37:49 2017 +0000"
      },
      "message": "Merge \"We really want f_frsize and f_bavail.\" into oc-dev"
    },
    {
      "commit": "8231146d4ede7f0c0767da2bfdea58745611417c",
      "tree": "709207baa80fccb1e0f4f0f43c127461e36772e9",
      "parents": [
        "21a5edcc24cbca1ae3f0855d71737b22ab81ad6d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Apr 02 23:42:17 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Apr 02 23:42:29 2017 -0600"
      },
      "message": "Lower-level user enumeration; fix disabled bug.\n\nUserManager may not have been started yet, so discover users by\nlooking at filesystem.\n\nFix disabled bug where default should be \"false.\"\n\nTest: builds, boots\nBug: 36794413\nChange-Id: If91fd27b955175072228a93aab4b8ac3b27df0bf\n"
    },
    {
      "commit": "dafb17e7eb9a15862ed1314dff2b82d29ad23632",
      "tree": "768124a417e92a6b51f3844967dcc70581d81edc",
      "parents": [
        "21a5edcc24cbca1ae3f0855d71737b22ab81ad6d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Apr 02 23:24:40 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Apr 02 23:33:38 2017 -0600"
      },
      "message": "We really want f_frsize and f_bavail.\n\nIt\u0027s confusing, but f_bsize is not the value you\u0027re looking for; the\nreal block size is f_frsize.  Fix all those bugs.\n\nAlso, the vast majority of clients are interested in the usable\ndisk space, not including reserved space.\n\nTest: builds, boots\nBug: 36840579\nChange-Id: Ib1470389afd49c14cab62282ec1e978ebb2c4791\n"
    },
    {
      "commit": "6df866a8510af2776c48425a361f708ae7f5d7d6",
      "tree": "1e1db7717b7a7dc6e030c2f2eefb6c01ce541893",
      "parents": [
        "fe9a53bc45fd0124a876dc0a49680aaf86641d3e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Mar 31 14:08:23 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Apr 02 22:29:07 2017 -0600"
      },
      "message": "Enforce PACKAGE_USAGE_STATS for usage data.\n\nSome system services are offering package usage data through both\npublic/system APIs and through dump() calls.  In principle, usage\ndata hould always be protected with PACKAGE_USAGE_STATS, so start\nenforcing that.  (Otherwise if a user blocked PACKAGE_USAGE_STATS\naccess to an app, that app could still obtain the data via dump()\nif they held the DUMP permission.)\n\nBottom line, let\u0027s respect the user\u0027s wishes.\n\nProtecting the entire output like this is pretty blunt, but future\nCLs can add more nuance to the output if desired.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsSecurityTestCases -t android.security.cts.ServicePermissionsTest\nBug: 32806790\nChange-Id: I46173562713bea7d89e12a4313c78eb52ea8d77d\n"
    },
    {
      "commit": "fe9a53bc45fd0124a876dc0a49680aaf86641d3e",
      "tree": "56d1ea4b6f0fe98fa628a72f197cefa0fbabcb22",
      "parents": [
        "21a5edcc24cbca1ae3f0855d71737b22ab81ad6d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Mar 31 14:08:23 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Apr 02 22:29:07 2017 -0600"
      },
      "message": "Consistent dump() permission checking.\n\nThis change introduces new methods on DumpUtils that can check if the\ncaller has DUMP and/or PACKAGE_USAGE_STATS access.  It then moves all\nexisting dump() methods to use these checks so that we emit\nconsistent error messages.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsSecurityTestCases -t android.security.cts.ServicePermissionsTest\nBug: 32806790\nChange-Id: Iaff6b9506818ee082b1e169c89ebe1001b3bfeca\n"
    },
    {
      "commit": "fb54aee325cd8c85c1220bfd7cc63b1a83310a71",
      "tree": "fb213eda5b26316e0b507ccd0170caa73d5f0e57",
      "parents": [
        "187e0108ff92ca9263887a8b7f0d44131bf0b7be",
        "f8c4f620cac68dd81cf53a6402d7ed08b39978a3"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Sat Apr 01 16:15:30 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 01 16:15:34 2017 +0000"
      },
      "message": "Merge \"move network notification IDs to central registry\" into oc-dev"
    },
    {
      "commit": "7566d76c618a48b8dcc981dac3cab1e42f864063",
      "tree": "aa34d69d39a9e42db2b0f96dce2d86f0f8e68093",
      "parents": [
        "8371f96e9967c93e482dfb995c6092b2e7b78cec"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Mar 30 09:34:15 2017 -0700"
      },
      "committer": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Fri Mar 31 21:34:30 2017 -0700"
      },
      "message": "Add app bounds to configuration.\n\nThe system previously overrode the display size for a specific scope\n(task/activity/etc.) by setting the associated Configuration\u0027s\nscreenWidthDp/screenHeightDp. This leads to two issues. First, the\nconversion of screen size from pixels to display independent pixels\nand then upconverting later on leads to rounding errors. Secondly,\nthe screenWidthDp and screenHeightDp values account for insets, such\nas the status bar. These however are not reflected in the display\nsize when returned from Display#getMetrics/getSize.\n\nThis changelist addresses the issue by adding a Rect value to\nConfiguration which stores the app display bounds. This is always set\nat the display level and overridden as appropriate. As the proper\napp insets are accounted for at the root configuration, all overrides\n(outside of specific exceptions) are the result of the intersection\nbetween the requested bound and the parent bound.\n\nChange-Id: I2c4fcd0bee92af12aabbca258de05b4ec061d0e1\nFixes: 34338931\nBug: 36812336\nBug: 36676979\nTest: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsAppTestCases android.app.cts.AspectRatioTests\nTest: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerDisplayTests\nTest: bit FrameworksServicesTests:com.android.server.wm.AppBoundsTests\n"
    },
    {
      "commit": "2f8f5ffc4bba842333d9597b4153cb27094ab529",
      "tree": "296fa4a2ad9ab8f26ea334a7b252201eaa601e71",
      "parents": [
        "0a198d10347ef30fbd0d066faaebbed40621fa19",
        "82fb2eb057032bb7f38f547fb3667c7bf2547517"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 01 03:16:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 01 03:16:38 2017 +0000"
      },
      "message": "Merge \"Handle disabled packages as removed.\" into oc-dev"
    },
    {
      "commit": "b9dedd43cff7f0c6d0c652f198759f98fc50bfa2",
      "tree": "df43186f4e69bf8b5508ac3d94d3831831589aea",
      "parents": [
        "4d558930c8fe9381a208715c73e665ab5f9baa0d",
        "f53497cfcfc1eda84553f3f79ad6b93af6b16aa9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 01 02:52:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 01 02:52:11 2017 +0000"
      },
      "message": "Merge changes from topic \u0027fix_activity_changed_cb-oc-dev_style_things\u0027 into oc-dev\n\n* changes:\n  Switch ActivityRecord to use static imports.\n  Fix configuration change state transitions.\n"
    },
    {
      "commit": "a95bfff74604bbf05a66ff37947b1b2fb2fdcaa2",
      "tree": "e1048c7e611a8a262d585ba1cf6ac86742f4b4b3",
      "parents": [
        "670e750b2e750a648d8d6ef6f076142780bf6eb4"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Mar 30 19:00:41 2017 -0700"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Mar 31 19:00:57 2017 -0700"
      },
      "message": "Fix some WM unit tests\n\nWindowFrameTests#testLayoutNonfullscreenTask and\nsizes because test assumed that frame for window was always\nbigger than screen size. Now we calculate all frames relative\nto real display size.\n\nTestWindowManagerPolicy used in WM unit tests reported incorrect\nvalue from rotationHasCompatibleMetricsLw(), which lead to\nDisplayContent#mAltOrientation set to \"true\" after any rotation\nand resulted in shrinked display metrics.\n\nDisplayContentTests#testDefaultDisplayOverrideConfigUpdate was\nnot restoring the config applied to default display because\nit was trying update values in config from non-empty to empty,\nwhich is considered a no-diff.\n\nTest: com.android.server.wm.WindowFrameTests\nTest: #testCalculatePolicyCrop\nTest: #testLayoutNonfullscreenTask\nTest: com.android.server.wm.AppWindowTokenTests\nTest: #testLandscapeSeascapeRotationByApp\nTest: com.android.server.wm.DisplayContentTests\nTest: #testDefaultDisplayOverrideConfigUpdate\nChange-Id: Ia0ed46307f67f6b47859209ebcf13253b59b8002\n"
    },
    {
      "commit": "24ced03e018822b142034d0a1cbd502314ae1b79",
      "tree": "b55349da9e03b48d016c32365109ad196c4fb69f",
      "parents": [
        "8371f96e9967c93e482dfb995c6092b2e7b78cec",
        "6544099f10a927025850f0da641f609221191313"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 01 01:44:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 01 01:44:29 2017 +0000"
      },
      "message": "Merge \"CTS doesn\u0027t like swiping.\" into oc-dev"
    },
    {
      "commit": "8371f96e9967c93e482dfb995c6092b2e7b78cec",
      "tree": "3d8029129a63d073c6d2aa8029882ef290f5a811",
      "parents": [
        "3d1d01a708677c9a79ae71eb30130a020c4dc75f",
        "2a6c55f01dd3b97a0c23ee19d9931d1c4e656760"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 01 01:01:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 01 01:01:55 2017 +0000"
      },
      "message": "Merge \"Be more lenient about live wallpaper unavailability\" into oc-dev"
    },
    {
      "commit": "9484603c0fa738b67980c18b4abfd3505778ae74",
      "tree": "f8ac16f372c3a101f4f40c9b46171fefc7b1f8cf",
      "parents": [
        "474662da390937a95ed2e3b3acdae00c92be47d8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 31 17:55:23 2017 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 31 17:58:38 2017 -0700"
      },
      "message": "Framework support to improve bg check CTS tests.\n\n(Finally) introduce a new ServiceConnection callback to\ntell you when the binding has died.  This allows you to robustly\nhave a weak service monitoring, and also is an easy way to find\nout about breakages due to app updates etc.\n\nAlso clean up some debug output.\n\nTest: moved to own suite and ran them.\n\nChange-Id: I526cc00816c384fa9eb1312b92406f38085cbff9\n"
    },
    {
      "commit": "435da2c435f5b7ba32ee692956e6add98c5f88b6",
      "tree": "99ce3a9ff198b22c96a55d36e3301cfa2ceff181",
      "parents": [
        "13df64aa8ea86a423d21c5e4c07e5d41dd811c0b",
        "a2249ac4e0a516f169ea6a79683623d548e989f9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 01 00:41:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 01 00:41:25 2017 +0000"
      },
      "message": "Merge \"Fixing rotation issues.\" into oc-dev"
    },
    {
      "commit": "13df64aa8ea86a423d21c5e4c07e5d41dd811c0b",
      "tree": "3d518c9cc4a48d0fe0541794999aac0422aaf395",
      "parents": [
        "f9f1f1c1c3dbb50a718edba5a149f2577fffb7cc",
        "a67a45958fa2763ff9ee51d3baa23d1f9b908bbb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 01 00:06:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 01 00:07:00 2017 +0000"
      },
      "message": "Merge \"Use correct binding flags when reconnecting to IME\" into oc-dev"
    },
    {
      "commit": "5af42fc3052ecaf35c937278a986143a65f6ce5f",
      "tree": "d38d504758676a4749e64cae399b1c739aa69fa5",
      "parents": [
        "ddd95360a2ed0e5fb2f1e0473ff2ff39c8b0d4bc"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Mar 24 17:11:33 2017 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Mar 31 17:04:26 2017 -0700"
      },
      "message": "Ensuring multi-window callbacks contain new configuration and are in order\n\n- This CL has two main changes:\n  1) It modifies the activity multi-window and picture-in-picture mode\n     changed callbacks to provide the configuration of the activity with\n     the mode applied.\n  2) It modifies the order in which the multi-window and picture-in-picture\n     mode callbacks are made, to ensure that when going in and out of\n     picture-in-picture: first PiP, then MW, and then the config change.\n- Previously, the ordering of the two callbacks was inconsistent.  When\n  calling moveActivityToPinnedStack(), we reparent the task into the pinned\n  stack (triggering the picture-in-picture mode change), followed by the\n  resize animation (causes configuration changes).  Inversely, when we\n  expand the task to fullscreen (and not just remove it), we run the\n  animation first, which resizes the task to the final size (causes\n  configuration changes) then reparent after the animation completes\n  (triggering the picture-in-picture mode change).\n\n  In this CL, we ensure that for both the transition in and out of PiP, we\n  defer to the bounds animation to trigger the PiP mode change.  Normal\n  calls to reparent or adding a new task are unchanged.  When the PiP\n  mode change is called from the animation, it provides the final target\n  bounds which we use to calculate the target configuration of the activity\n  for the callback.  If the bounds animation is interrupted, an update will\n  also be scheduled if we change the fullscreen state we are animating to.\n\n  To work around the issue where we are scheduling MW/PiP mode changes in\n  both the animation and the configuration change, we also now keep track\n  of each state internally in the ActivityRecord.\n\nBug: 36099777\nTest: android.server.cts.ActivityManagerPinnedStackTests\nTest: #testConfigurationChangeOrderDuringTransition\n\nChange-Id: I03513bc3a4d4a72c250983f22f079ce9d7a2cb40\nSigned-off-by: Winson Chung \u003cwinsonc@google.com\u003e\n"
    },
    {
      "commit": "82fb2eb057032bb7f38f547fb3667c7bf2547517",
      "tree": "7ab88cfad7264b78d1514805407ec05798697514",
      "parents": [
        "9220ff1f5a5793c3414ca823534a27ff19ed0801"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Mar 31 16:58:26 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Mar 31 16:58:26 2017 -0700"
      },
      "message": "Handle disabled packages as removed.\n\nBug 36600272\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests\n\nChange-Id: I272334cef00337d5ba01ce4b878c799d9476432f\n"
    },
    {
      "commit": "92f76ba95879fb55c21b870646bc9430fda8390d",
      "tree": "baa1760c0f2c8eb87c6dbf407aacb7f9a4b459ef",
      "parents": [
        "f04d039584b933c705c7e9d319579d4385bd6cb7",
        "78696bfeb7ac5ae298765bfb9f82cf24d12b7dcc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 31 23:51:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 31 23:52:02 2017 +0000"
      },
      "message": "Merge \"Moar pre-partitioning refactoring.\" into oc-dev"
    },
    {
      "commit": "f04d039584b933c705c7e9d319579d4385bd6cb7",
      "tree": "0d4f608321ba1e29bc5b2aca3aca1fc256fe498f",
      "parents": [
        "2d161b1d3fd8ceae065d8a475d2ca13de1b48dc2",
        "ebc1b48922d5cb7abcf0bc51e9a092079a837556"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 31 23:48:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 31 23:48:22 2017 +0000"
      },
      "message": "Merge changes from topic \u0027launch-2d-activities-vr\u0027 into oc-dev\n\n* changes:\n  Allow shell uid to access Vr APIs\n  Add vr persistent mode enable/disable\n  Launch 2D activities in VR mode\n"
    },
    {
      "commit": "2d161b1d3fd8ceae065d8a475d2ca13de1b48dc2",
      "tree": "b3bfb20a2c574c3f28651e26841ff0260981553d",
      "parents": [
        "cf6fa5e9512305ce19cdb61d72660f7200e3e48e",
        "a47223f99b6b7ade4ae909c458d975eb487062b3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 31 23:21:07 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 31 23:21:11 2017 +0000"
      },
      "message": "Merge \"Implement issue #36590595: Add ability to associated a ClipData with JobInfo\" into oc-dev"
    },
    {
      "commit": "2af994ec034040a69e41cc89df7ed6b994aaad89",
      "tree": "35fe0ec28dc08a4b53745ee167907e881f9cfc19",
      "parents": [
        "4eb9a6dbcb7775f833aa9a66dd14b39295f7136a",
        "ac52f2892d5c72c26387d510093ddfc741a8a632"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 31 23:07:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 31 23:07:23 2017 +0000"
      },
      "message": "Merge \"Ensure we show the PiP menu in response to KEYCODE_WINDOW.\" into oc-dev"
    },
    {
      "commit": "f53497cfcfc1eda84553f3f79ad6b93af6b16aa9",
      "tree": "e6c79d08bb958a9b1e4280009751c6e64d82cde1",
      "parents": [
        "f64af33b38c235483ce3e55bce8a4d483d6558b5"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Mar 27 20:26:17 2017 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Mar 31 16:05:20 2017 -0700"
      },
      "message": "Switch ActivityRecord to use static imports.\n\n- Per comments from ogunwale,jjaggi on ag/2016938, static imports\n  are preferred when possible, and are part of Android\u0027s tacit style guide.\n\nBug: 36662390\nTest: Covered by existing unit tests.\n\nChange-Id: Ic3897dd7a4a9cb665fc3d8c7a171f74494f02a2e\n"
    },
    {
      "commit": "f64af33b38c235483ce3e55bce8a4d483d6558b5",
      "tree": "036bc5c6f3cf5b3b94ee559a13a7e350abbe99de",
      "parents": [
        "9220ff1f5a5793c3414ca823534a27ff19ed0801"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Mar 22 22:03:25 2017 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Mar 31 16:04:18 2017 -0700"
      },
      "message": "Fix configuration change state transitions.\n\n- Do not ever do onDestroy/onCreate cycle for VR activities when\n  configuration is changed due to VR mode UI change.\n- Do not gate on global configuration change check, as updates\n  to the global UI mode configuration can race with activity\n  lifecycle changes.\n\nBug: 36491752\nBug: 36515684\n\nTest: Manually checked activity lifecycle for pre-O, O VR apks.\n\nChange-Id: Ic2739c6e78c1bdfe876bf1302cd0adeaadece15c\n"
    },
    {
      "commit": "99302b55c6a960c9078ad2c84ae9be3296bd32f3",
      "tree": "43558e9f05da3b2cfbd694fd26cd38ab5521f68c",
      "parents": [
        "9220ff1f5a5793c3414ca823534a27ff19ed0801"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Mar 29 12:42:26 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Mar 31 15:16:43 2017 -0700"
      },
      "message": "Revert \"Push chooser targets to the shortcut manager.\"\n\nThis reverts commit 58fc95dc578244b7beb687a48184045dcce788b8.\n\nBug 36186790\nTest: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsShortcutHostTestCases\nTest: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsShortcutManagerTestCases\n\nAlso all unit tests, except for the known failrues.\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests\n\nChange-Id: I733ee7e12a419ee7ea17ca67c56afe7b039d189a\n"
    },
    {
      "commit": "fc73d799e95f512628da326b0e69ea314f92a5aa",
      "tree": "68bbe2eba535df1bc15b161215b1a596b48073e7",
      "parents": [
        "6f3bc05868061cfcc63e8fe8cb00147b03c1c64a"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Mar 22 14:22:35 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Mar 31 14:50:20 2017 -0700"
      },
      "message": "Persistent connection to DO/PO service.\n\nTest: Manual test with customize API tests; CTS coming.\nChange-Id: I1d7eaa4b1fdd20726c1832c736d32f934c6a82f9\n"
    },
    {
      "commit": "51b3aaccfe7f8d7a97fb1218c40a37428f26a6a1",
      "tree": "1383921248997bfb5920178dceaba80226eac585",
      "parents": [
        "9220ff1f5a5793c3414ca823534a27ff19ed0801"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Mar 30 17:50:42 2017 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Mar 31 14:30:42 2017 -0700"
      },
      "message": "Implement service filtering\n\nInstant apps can no longer see services that haven\u0027t been\nexposed to them via the visibleToInstantApps attribute.\n\nChange-Id: I6fd78067d1253825668d67b9e17dd3a0703f5d57\nFixes: 35871716\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest\n"
    },
    {
      "commit": "63ee64cca76a6f12d29695b31d0a9a594cc0ea86",
      "tree": "5e29cfdefa91549080ea05d992d876c7ee78193e",
      "parents": [
        "9220ff1f5a5793c3414ca823534a27ff19ed0801"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Mar 31 14:10:18 2017 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Mar 31 14:18:55 2017 -0700"
      },
      "message": "Expose instant app to exposed providers\n\nBug: 36814248\nTest: Manual\nChange-Id: Ia919bcb2d9c8a52c7277429004ad09be2db03a43\n"
    }
  ],
  "next": "a2249ac4e0a516f169ea6a79683623d548e989f9"
}
