)]}'
{
  "log": [
    {
      "commit": "874a0916fce30da2630ffcfbb4942a3a4d23fec2",
      "tree": "3ef8ccf69bdd13cf328ee9b0b41d446a15e3154b",
      "parents": [
        "b6cee106ed999f631d51e8b291a13799117cd774",
        "7f2afd2dffb232e9ace7e2b50ec0b3dc84a81f08"
      ],
      "author": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Wed Mar 22 17:55:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 17:55:58 2017 +0000"
      },
      "message": "Merge \"Add test configs to apct tests under frameworks/base\""
    },
    {
      "commit": "a94c527736c62dba6224b9bc6f41f735f8c79df7",
      "tree": "1b34917653c67dafafd9c5672f34dab3ab614c69",
      "parents": [
        "c8e2d5bad4a76301c3cf6a277d05dc0662537bd3",
        "f7a7bb6b50cda0d292e55e900f70166e9a1fd6ed"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 17:33:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 17:34:05 2017 +0000"
      },
      "message": "Merge \"Autofill a manual request directly when it only has one dataset.\""
    },
    {
      "commit": "541feb1ccf753a9db24109d38135ef1144080774",
      "tree": "2dbefa56ff2fc059847a91ba7ebf0e99dd2b0dfd",
      "parents": [
        "a359c9846d2fa8bfe2784222be350d2e6046de16",
        "8f4fe6eccbc3849686f08389cb5868f2d59f5fbb"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Mar 22 17:02:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 17:03:00 2017 +0000"
      },
      "message": "Merge \"When snapshots are disabled, fill it with single color.\""
    },
    {
      "commit": "a359c9846d2fa8bfe2784222be350d2e6046de16",
      "tree": "4820ef313dc657cfbff7c4cef66518ddfbf0a887",
      "parents": [
        "6a4486e1c52e6ef3fd67bb081787e5fadfa6ea68",
        "0fe7ce968bc7f0eff64f08e2d51c8b1e6b4a6fc8"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Mar 22 16:42:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 16:42:57 2017 +0000"
      },
      "message": "Merge \"Add API to disable snapshotting of activities\""
    },
    {
      "commit": "b251fad07f5a2188a7a53450131e635114ba30fa",
      "tree": "3bd3ab00f0cb9aa8e6acbe37c65d8d9749f094a6",
      "parents": [
        "c34f786677b08edf6813926d211d22351a7dfd4b",
        "8e87af55337a19cf7242a1bf2f516bc26ae65f9e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 16:11:42 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 16:11:47 2017 +0000"
      },
      "message": "Merge \"Don\u0027t unlock the work profile if it is turned off.\""
    },
    {
      "commit": "8f4fe6eccbc3849686f08389cb5868f2d59f5fbb",
      "tree": "2bc1c8981f728f7f76255e487eaabc12ff33cbcd",
      "parents": [
        "0fe7ce968bc7f0eff64f08e2d51c8b1e6b4a6fc8"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Mar 14 18:21:40 2017 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Mar 22 16:29:15 2017 +0100"
      },
      "message": "When snapshots are disabled, fill it with single color.\n\nTest: Launch DisableScreenshotsActivity, go to recents, make sure\ncontent is blue. Reopen activity from home, make sure starting\nwindow is blue.\n\nBug: 31339431\nChange-Id: I29689774c3cdcb784d8f5bfa4f947a6f35b91e01\n"
    },
    {
      "commit": "2c98e18ce5f82ee8a93fcaa30c038fe0ab52f253",
      "tree": "6d15aca843ce01f5567ef28dd1cdd08343897752",
      "parents": [
        "f03b32a22e95ae6274c491f088a5b735a82bf7a1",
        "8e0eb372c9c5c941609daca554c92a44ee61c063"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 15:20:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 15:20:36 2017 +0000"
      },
      "message": "Merge \"Null check! Now with a test\""
    },
    {
      "commit": "f03b32a22e95ae6274c491f088a5b735a82bf7a1",
      "tree": "ac12c445f6600f83f0ebfb1d12df69ba993747c3",
      "parents": [
        "da596922895f6727c204ea600fa76201f327eefb",
        "361915c727fc2ad137bfeed7ff74b3eadde96597"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 15:06:42 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 15:06:47 2017 +0000"
      },
      "message": "Merge \"Move global actions to sysui and add plugin interface\""
    },
    {
      "commit": "0fe7ce968bc7f0eff64f08e2d51c8b1e6b4a6fc8",
      "tree": "c7032c5de42a5b3fd23f7be2fadbceb9643f3684",
      "parents": [
        "6f9dbcb742ee930151444118dd61c2239efce09d"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Feb 22 16:45:48 2017 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Mar 22 15:59:44 2017 +0100"
      },
      "message": "Add API to disable snapshotting of activities\n\nTest: runtest frameworks-services -c\ncom.android.server.wm.TaskSnapshotControllerTest\nTest: Launch DisableScreenshotsActivity, go to recents, make sure\ncontent is white.\nBug: 31339431\n\nChange-Id: I329925d2fca389e561da3389a67fe888b5bb1033\n"
    },
    {
      "commit": "da596922895f6727c204ea600fa76201f327eefb",
      "tree": "8bcf473b4a0e08199ce5dfb3927e8cd5b8b74995",
      "parents": [
        "9a4b2ab18cc54d954f6d6a3981af10ec13acbb0b",
        "4d0f08578e9f87bb70e647fa3609a0444919defe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 14:51:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 14:51:29 2017 +0000"
      },
      "message": "Merge \"Move Accounts NotificationChannel earlier, before clearCallingIdentity\""
    },
    {
      "commit": "9a4b2ab18cc54d954f6d6a3981af10ec13acbb0b",
      "tree": "cb74aaf690d06fe9a666a8ca857620c68ab38ff8",
      "parents": [
        "26a547d5e4748a00ef1440f9d057bba31de49bd8",
        "85942c2bc69385eb326cfe0e15ad9223bf1cffb5"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Mar 22 14:27:38 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 14:27:42 2017 +0000"
      },
      "message": "Merge \"Allow the Instant App installer to be dynamic\""
    },
    {
      "commit": "26a547d5e4748a00ef1440f9d057bba31de49bd8",
      "tree": "9008f8e8cb6db9d53292b802e7a125177478b951",
      "parents": [
        "1deac6a106a12bda9bcc25f86f07637067265a92",
        "2c891c92fabb0ef8fdb77870b0272c156c71c7f0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 14:03:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 14:04:05 2017 +0000"
      },
      "message": "Merge \"Allow channels to have a user visible description.\""
    },
    {
      "commit": "361915c727fc2ad137bfeed7ff74b3eadde96597",
      "tree": "55598c5be642e8c843a9aa006e7f976d3f0aa386",
      "parents": [
        "c0e002b43071752dcaf3bd464dc3f1a09cd81b80"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Mar 21 20:33:59 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Mar 22 09:41:34 2017 -0400"
      },
      "message": "Move global actions to sysui and add plugin interface\n\n - Move default global actions ui to sysui\n - Add fallback legacy interface in case sysui breaks\n - Switch to fallback if sysui dies or isn\u0027t responding\n\nTest: Long-press power\nChange-Id: I943522611de5dbbee61e66c67cf3a56379091e97\n"
    },
    {
      "commit": "6f517b9d07140d39748b566876c59eda3ddb4069",
      "tree": "57846232dfee77b7da757d24e61f2a933f657bfb",
      "parents": [
        "c0e002b43071752dcaf3bd464dc3f1a09cd81b80",
        "8e4d6d0ef8903e296550372341438d43a5c9cdb8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 13:18:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 13:18:36 2017 +0000"
      },
      "message": "Merge \"Explicitly rebind to a transport after timeout\""
    },
    {
      "commit": "8e87af55337a19cf7242a1bf2f516bc26ae65f9e",
      "tree": "4f7a6641b06ff5638ad9b5d910c4ac92db320b56",
      "parents": [
        "7ba04df38cb5a797d81a2776ee227d126b7dd157"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Fri Mar 03 15:38:48 2017 +0000"
      },
      "committer": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Wed Mar 22 12:23:52 2017 +0000"
      },
      "message": "Don\u0027t unlock the work profile if it is turned off.\n\nTest: Turn off work, lock and unlock device with PIN/password/pattern,\nturn on work and now you get a screen lock prompt.\nTest: runtest frameworks-services -c com.android.server.LockSettingsServiceTests\n\nChange-Id: I0c6946af4ffb1546ffbd4d80c11fa4b8ab5555bc\n"
    },
    {
      "commit": "8e4d6d0ef8903e296550372341438d43a5c9cdb8",
      "tree": "769d570e3f0153ee0bf325bf0f288b8113cbecc3",
      "parents": [
        "3d19f90c3211fc32dae87d33f11f1aa6823f414c"
      ],
      "author": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Mon Mar 06 17:24:57 2017 +0000"
      },
      "committer": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Wed Mar 22 11:37:48 2017 +0000"
      },
      "message": "Explicitly rebind to a transport after timeout\n\nWhen a TransportConnection received onServiceDisconnected() we give automatic rebinding\na chance, but if it doesn\u0027t happen within a few minutes we take matters into our hands\nand attempt to rebind explicitly.\nThe timeout is significantly lower if the device is still unprovisioned - this is to increase\nchances of proper transport binding during the setup process.\n\nBug: 34464359\nBug: 30964151\nTest: manual, by crashing gms and gms.persistent process with \"adb shell cmd activity crash #pid\"\n      and waiting for timeout to kick in\nChange-Id: Ia7e5b0e54faf48ba8566f50057a3cae8bb3ab137\n"
    },
    {
      "commit": "c0e002b43071752dcaf3bd464dc3f1a09cd81b80",
      "tree": "54f34493b17bf2a8f4a0b648c15d416a7d5b7b3f",
      "parents": [
        "527fd14a073c78238b2a7d8d71771485676bdd91",
        "82566807430655f3856836bbd94828706d4972fb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 09:46:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 09:46:49 2017 +0000"
      },
      "message": "Merge \"Use getPackageInfoAsUser in requestBufferForProcess\""
    },
    {
      "commit": "ea3e55fffddf98b99e068e1e80d1c9b7c2f81ade",
      "tree": "cf295597e54e2c8d7128c9afb7f7d2b9317f2467",
      "parents": [
        "8515afe08b38a5d05797027ebef979e7b7b97af3",
        "492495bcbdd3abcab64250f5faa9a84514d408e5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 06:15:34 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 06:15:39 2017 +0000"
      },
      "message": "Merge \"Remove mediacodec from NATIVE_STACKS_OF_INTEREST.\""
    },
    {
      "commit": "f53fbf536115c22708846a6297ecfc7c40176a15",
      "tree": "197a44a73bf2e55722eb80ecfedc8bc57c92d5bc",
      "parents": [
        "a6906adf59808da70f39a9b5db0e6a986fa371d1",
        "4010fe49486338f9aa31aba238c60d1837ce1e74"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 05:09:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 05:09:06 2017 +0000"
      },
      "message": "Merge \"Stop holding mProxyLock while downloading PAC script data.\""
    },
    {
      "commit": "4010fe49486338f9aa31aba238c60d1837ce1e74",
      "tree": "b4272264579d0867cd7a278850dc47d8fd5c1948",
      "parents": [
        "c7da040f22d56b9b8a4d0ecea959d44b313fa7bb"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Fri Mar 17 09:12:12 2017 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Mar 22 05:06:30 2017 +0000"
      },
      "message": "Stop holding mProxyLock while downloading PAC script data.\n\nHolding PacManager#mProxyLock for long time eventually causes ANR when\nlaunching new applications.\n\n1. ActivityThread#handleBindApplication blocks until\n\n   ActivityThread#handleBindApplication\n   -\u003e ConnectivityService#getProxyForNetwork()\n   -\u003e ConnectivityService#getDefaultProxy()\n\n  obtains the lock of ConnectivityService#mProxyLock\n\n2. ConnectivityService#mProxyLock can be held by\n   ConnectivityService#setGlobalProxy() running on another thread until\n\n   ConnectivityService#setGlobalProxy()\n   -\u003e ConnectivityService#sendProxyBroadcast()\n   -\u003e PacManager#setCurrentProxyScriptUrl()\n\n  obtains the lock of PacManager#mProxyLock\n\n3. Before the CL, PacManager#mProxyLock could be held by\n   mPacDownloader#run() on mNetThread until downloading a PAC script\n   completed.\n\nThe CL fixes the step 3 so that mPacDownloader#run does not keep the\nlock of PacManager#mProxyLock. It eventually fixes long blocking at\nActivityThread#handleBindApplication and ANR when launching an\napplication.\n\nBug: 36317236\nTest: Build succeeded and manually set PAC script\nChange-Id: I864e41e1142178681f8f1b4fb7750d37e3ab2076\n"
    },
    {
      "commit": "8a29aecb73c8793fc8e52694cc793361b27aeb2b",
      "tree": "9dc28aefc1488d9f9c82f9b31052c0441993cecc",
      "parents": [
        "e6bd88625b4b8b2c5a532718a5a42a36649009c1",
        "c0cc220e63b4caead383d94ab6423087476b99ba"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 03:16:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 03:17:01 2017 +0000"
      },
      "message": "Merge \"Better ContentProvider error messages.\""
    },
    {
      "commit": "a300ab2746d06b2fd614c2ae76a5d3acfdd69bbd",
      "tree": "b306ae9408fc39a3f0064a9159986164c946c9e4",
      "parents": [
        "ac9e6f74537e76ea5a5bb0aedf818608dc7cd972",
        "3bddadd3e15992598b817ff21783a968875687d8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 02:44:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 02:44:37 2017 +0000"
      },
      "message": "Merge \"Fix logic errors when checking the caller.\""
    },
    {
      "commit": "ac9e6f74537e76ea5a5bb0aedf818608dc7cd972",
      "tree": "afc01871051163274af78adf03e29b6a95972c85",
      "parents": [
        "07bf9630c886dc7b92df3ce27dc87c917c9db74b",
        "8882d881f95f5719a4a9c3eb3f6555b4882e8c4d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 02:19:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 02:19:28 2017 +0000"
      },
      "message": "Merge \"Implement runtime account update notifications.\""
    },
    {
      "commit": "07bf9630c886dc7b92df3ce27dc87c917c9db74b",
      "tree": "f4ed37cca3a465c8fc7e0bc2204de26c41e094f6",
      "parents": [
        "4a7c42a763923236aa5463e2498eb18bf5630b71",
        "22295fdcceb870d6c429512129b0ff94344c8f9f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 02:13:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 02:13:53 2017 +0000"
      },
      "message": "Merge \"Should use getApplicationInfoAsUser instead\""
    },
    {
      "commit": "c1bacbd2f6b273e99a723be8cb786174dffbfb3e",
      "tree": "f2cdda40fa9cb50cb7eeb6512d9e5bdc2a3f58e4",
      "parents": [
        "d00fe5a544a28c0f849eee0d4d7aa9b42ab33106",
        "d225f0bfd5bc8e7767dc000ea5174bddd95bdea8"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Mar 22 01:56:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 01:56:07 2017 +0000"
      },
      "message": "Merge \"Support expiration of preloaded file cache\""
    },
    {
      "commit": "d00fe5a544a28c0f849eee0d4d7aa9b42ab33106",
      "tree": "8d4794de0410bf7a8b098c7c4ba9ebff101f22c7",
      "parents": [
        "c49d7d0158c366091ab40edd68bdccc84845f998",
        "5311206f3434d631c6ea81ab2e76a46ca18119b6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 01:43:34 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 01:43:44 2017 +0000"
      },
      "message": "Merge \"Add custom presentation (RemoteViews) on Dataset values.\""
    },
    {
      "commit": "c0cc220e63b4caead383d94ab6423087476b99ba",
      "tree": "c79825e61adf0d4681ade2971b73fd8453080a1b",
      "parents": [
        "5dd59219e3c04fe871b2eca318222a860c5e564e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Mar 21 19:25:34 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Mar 21 19:25:37 2017 -0600"
      },
      "message": "Better ContentProvider error messages.\n\nHelp guide developers towards ACTION_OPEN_DOCUMENT and related\nAPIs when a Uri is backed by a DocumentProvider.\n\nAlso help developer understand that we expected a valid\nContentProvider for Uri notifications.\n\nTest: builds, boots\nBug: 32642790, 36075317\nChange-Id: I8e0e3cb25b183c4a9a094a53018822a4212bdaf9\n"
    },
    {
      "commit": "e4e40af10b94a82fa2fad0af176a0a5927dc3136",
      "tree": "adb61b5d90ce42f9cf603e1f874c32df79c1b7a6",
      "parents": [
        "9f29617d589b8daccda1d3b37de97662b9147cb1",
        "eddb7c0985e1fac8bdbeaaed40c678c0dc9da321"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 22 00:02:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 00:02:32 2017 +0000"
      },
      "message": "Merge \"Update display contents when metrics change\""
    },
    {
      "commit": "9f29617d589b8daccda1d3b37de97662b9147cb1",
      "tree": "678c776caca6abf98832db5de3bc30dac1af0147",
      "parents": [
        "8c97b51abd1ea867289c8439a98b855dba983929",
        "7c3eef2f3d085bc14f736240896523217a448408"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Tue Mar 21 23:58:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 23:58:35 2017 +0000"
      },
      "message": "Merge \"Add system feature for Companion Device Manager\""
    },
    {
      "commit": "d225f0bfd5bc8e7767dc000ea5174bddd95bdea8",
      "tree": "14205270946c757b8fb211b6cca7afe11c750a73",
      "parents": [
        "daa560ad77d74470e43b99a74d8a371ad8f91047"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Mar 20 16:04:57 2017 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Mar 21 16:51:25 2017 -0700"
      },
      "message": "Support expiration of preloaded file cache\n\nWhen device is provisioned, we delete all files from /data/preloads\nexcept file_cache. We should do best effort to keep file_cache during\nthe first config_keepPreloadsMinDays. After that,\npersist.sys.preloads.file_cache_expired is set to 1, which indicates\nthat cache can be deleted when additional storage space is requested.\n\nBug: 34690396\nTest: Manual + RetailDemoModeServiceTest\nChange-Id: Ie584a9dd6689bcc5e6b3cb448e95dfe5f73d2eeb\n"
    },
    {
      "commit": "492495bcbdd3abcab64250f5faa9a84514d408e5",
      "tree": "766753c0fd7d6a243909c73c636731b02592b795",
      "parents": [
        "7989a3425293e0895ceda1ba09a5845ddf832900"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Feb 27 20:37:12 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Mar 21 16:50:15 2017 -0700"
      },
      "message": "Remove mediacodec from NATIVE_STACKS_OF_INTEREST.\n\nSee also: b/36414311.\n\nTest: Camera, Photos, YouTube, and Play Movies apps.\nBug: 35328855\nChange-Id: I709644669f5bb7a5f3ad686b325f1f9f37f7a3d3\n"
    },
    {
      "commit": "8da5735266da00ccae7ccfcc8567d3dfdafa056e",
      "tree": "f08502db8660c30d6744cdc12ee141b80f452e6a",
      "parents": [
        "6a0b9d43790971b5845a77760c6a64e24952c253",
        "82ea6cb9de38fd20ebcddfd84f0132908beeeab1"
      ],
      "author": {
        "name": "David Stevens",
        "email": "stevensd@google.com",
        "time": "Tue Mar 21 23:29:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 23:29:24 2017 +0000"
      },
      "message": "Merge \"Switch display uid whitelist from task to activity\""
    },
    {
      "commit": "3bddadd3e15992598b817ff21783a968875687d8",
      "tree": "58dd02fab4bcf60825360184e7b47bedd4c44c86",
      "parents": [
        "b94427d2855c4fc5b62890fdb99ceca140b5034d"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Tue Mar 21 16:16:46 2017 -0700"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Tue Mar 21 16:16:46 2017 -0700"
      },
      "message": "Fix logic errors when checking the caller.\n\nA few methods were incorrectly ORing instead of ANDing the frontline\nsecurity check. Fixed and added tests.\n\nTest: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest\nChange-Id: I20531ad5a8df6fe9b9e2225198be25a2a070b603\n"
    },
    {
      "commit": "11f5cf937a0c27eaa5d5e7d0329c587fc0232620",
      "tree": "565e12e40c2998733942e296fde05bca18bda405",
      "parents": [
        "017aee5a6628a5c991c1ddba33f855c7458f206e",
        "b3b43130db1c02493ca881ad95adf27ec0cbe8ad"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 22:55:03 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 22:55:09 2017 +0000"
      },
      "message": "Merge \"Send launch token to activity manager\""
    },
    {
      "commit": "8882d881f95f5719a4a9c3eb3f6555b4882e8c4d",
      "tree": "f12116613c906a8150362393767d6690281e36dc",
      "parents": [
        "1c10a61a97afb889553f7a7a209ac59a580964fb"
      ],
      "author": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Tue Mar 14 17:25:46 2017 -0700"
      },
      "committer": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Tue Mar 21 15:54:00 2017 -0700"
      },
      "message": "Implement runtime account update notifications.\n\nTest: manual, cts.\nChange-Id: Iaf9fe4814c3d3c2ca2dca0a5bfa0f997e060bfeb\n"
    },
    {
      "commit": "85942c2bc69385eb326cfe0e15ad9223bf1cffb5",
      "tree": "8f419733934339734fe22718e67045fa41b8c9ab",
      "parents": [
        "95502300efffd29686f2c9bc4cc1b12edd323a1c"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Mar 21 15:52:08 2017 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Mar 21 15:53:21 2017 -0700"
      },
      "message": "Allow the Instant App installer to be dynamic\n\nChange-Id: I4f8e341dd3cb993099cdcf170141aef37a62604b\nFixes: 33072933\nTest: add/remove/update the instant app installer and see that it changes dynamically\n"
    },
    {
      "commit": "017aee5a6628a5c991c1ddba33f855c7458f206e",
      "tree": "cb209a5cbacb2712f69fc648abfece4afcae6158",
      "parents": [
        "1f08e1369b72f9855b55c257b32bad7864dcfc2a",
        "9a74e5daf074e77c4085322a8eadef4101b790e1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 22:52:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 22:52:53 2017 +0000"
      },
      "message": "Merge \"resolve merge conflicts of 94a93087c68c to master\""
    },
    {
      "commit": "fd9f87cc13088f1f8b532f9202895c1ed77d31f7",
      "tree": "bbb67faf438a2062d3795bd2865617dc4dbf3c64",
      "parents": [
        "713b869aad03c8cb21805ce2d8ab48f9ac5e4bcc",
        "6914f0838e460666e9ec260213e1feb6aa7443dc"
      ],
      "author": {
        "name": "Rob Carr",
        "email": "racarr@google.com",
        "time": "Tue Mar 21 22:50:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 22:50:50 2017 +0000"
      },
      "message": "Merge \"Fix various flashes when moving stacks.\""
    },
    {
      "commit": "7105dd8bfa13bf12e6021d9c082fee4d468e73bd",
      "tree": "f3003c20d530173273e38bfb468f07c262ae4a71",
      "parents": [
        "e6b44f270f7c7f93fe86eccdb0379d05680837ce",
        "6f4b2a3039ac353e1b0bcebfdebba5060ad38cf3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 22:44:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 22:45:02 2017 +0000"
      },
      "message": "Merge \"Shame developers that are calling hidden APIs.\""
    },
    {
      "commit": "327dfaa6592b156bd2a7ecbe311699c557a6b6b8",
      "tree": "4d30dcfca6e80a920127b1a2a288e2ccf575f661",
      "parents": [
        "9016c2c95379791d5508b675e4b56b9850c9d4a8",
        "b70845c708a8c402219f05d26edaea38713e13c3"
      ],
      "author": {
        "name": "Steven Thomas",
        "email": "steventhomas@google.com",
        "time": "Tue Mar 21 22:24:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 22:25:00 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Add remote callbacks for persistent vr mode\"\"\""
    },
    {
      "commit": "eddb7c0985e1fac8bdbeaaed40c678c0dc9da321",
      "tree": "fcdaea46f73a54d164e5d01f3b48b168f639f349",
      "parents": [
        "a5c560b328f60144041dd60277ec0158bee9954a"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Tue Mar 21 10:17:03 2017 -0700"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Tue Mar 21 15:23:47 2017 -0700"
      },
      "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.\nIn most cases there is an override obtained from WM and WM doesn\u0027t\nget new values from LogicalDisplay#getDisplayInfoLocked().\n\n- With this CL:\nDM receives DISPLAY_CHANGED event, it updates internal values and\nresets the override received from WM. WM will receive updated values\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. In both cases WM will eventually update its own override\nand will update the override in DM.\n\nBug: 35258051\nBug: 34164473\nTest: android.server.cts.ActivityManagerDisplayTests\nTest: #testDisplayResize\nTest: #testForceDisplayMetrics\nChange-Id: I80795434a6a35adb0577fbce334d76fabd2fa03d\n"
    },
    {
      "commit": "4d0f08578e9f87bb70e647fa3609a0444919defe",
      "tree": "6d6d481054abb95447a7eba4cc4716bbad40e2ed",
      "parents": [
        "08a86c82a8a33ae8251123907e093c6ccca33549"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Mar 21 17:43:40 2017 -0400"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Mar 21 17:59:05 2017 -0400"
      },
      "message": "Move Accounts NotificationChannel earlier, before clearCallingIdentity\n\nBug: 36122686\nTest: Not sure how to repro, couldn\u0027t be worse than it already is\nChange-Id: I1e5aa9950b765dd3fbf1a01c5f10668761a2bc2e\n"
    },
    {
      "commit": "82ea6cb9de38fd20ebcddfd84f0132908beeeab1",
      "tree": "eb2cdbf11188c18f3344ff7e7724f7872d8716f4",
      "parents": [
        "ecf0582e7deb711b4bd718884a978f7c47a0cf65"
      ],
      "author": {
        "name": "David Stevens",
        "email": "stevensd@google.com",
        "time": "Fri Mar 03 16:18:50 2017 -0800"
      },
      "committer": {
        "name": "David Stevens",
        "email": "stevensd@google.com",
        "time": "Tue Mar 21 14:54:20 2017 -0700"
      },
      "message": "Switch display uid whitelist from task to activity\n\nTasks can contain activities from multiple UIDs, so the uid whitelists\nfor private displays need to be based on activities instead of tasks.\n\nThis change also stops keeping track of uids on public displays, since\nthe uid list is not used for those displays.\n\nTest: android.server.cts.ActivityManagerDisplayTests\nTest: #testPermissionLaunchMultiUidTask\nChange-Id: I38f1434f581af64f0db40221431994fd5a99bab3\n"
    },
    {
      "commit": "8e0eb372c9c5c941609daca554c92a44ee61c063",
      "tree": "2205afd1e1b97cd2b4d33a2c31e1f765fef6cf14",
      "parents": [
        "48926cc1e6146722a12ce741a3e8ebaf2890135f"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Mar 21 15:04:50 2017 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Mar 21 21:50:32 2017 +0000"
      },
      "message": "Null check! Now with a test\n\nTest: runtest systemui-notification\nChange-Id: I0b98b3dd6aeaa7e300bba98b7d7f7f5afae16596\nFixes: 36245468\n"
    },
    {
      "commit": "48926cc1e6146722a12ce741a3e8ebaf2890135f",
      "tree": "ab5e8bf2505bc3fe5e6e0d6cc069d0f9338186a1",
      "parents": [
        "c79d4388de8cd2de15a077bf840ee03194db1c75",
        "a917a1149c8f66636bc579a63c418bbe83bd29ff"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 21:46:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 21:46:36 2017 +0000"
      },
      "message": "Merge \"Channel updates should trigger ranking updates\""
    },
    {
      "commit": "2c891c92fabb0ef8fdb77870b0272c156c71c7f0",
      "tree": "28a75194c28ede1b422f922f40f562f4f26ad6a2",
      "parents": [
        "c79d4388de8cd2de15a077bf840ee03194db1c75"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Mar 17 14:23:47 2017 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Mar 21 17:45:41 2017 -0400"
      },
      "message": "Allow channels to have a user visible description.\n\nTest: runtest systemui-notification, cts\nChange-Id: I0d04b82c99deecad663d8cb0565563f00e8a1f56\n"
    },
    {
      "commit": "9a74e5daf074e77c4085322a8eadef4101b790e1",
      "tree": "4a660c32c4d50027bf0ea7e593d1b6c23700c429",
      "parents": [
        "7ba04df38cb5a797d81a2776ee227d126b7dd157"
      ],
      "author": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Tue Mar 21 13:46:35 2017 -0700"
      },
      "committer": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Tue Mar 21 13:46:35 2017 -0700"
      },
      "message": "resolve merge conflicts of 94a93087c68c to master\n\nChange-Id: Ib2e97ef56b78e4492e1f8392ee294cb293941320\n"
    },
    {
      "commit": "82566807430655f3856836bbd94828706d4972fb",
      "tree": "b3dcb108ad2e28e3098783e35a9b5a1dab14d358",
      "parents": [
        "7ba04df38cb5a797d81a2776ee227d126b7dd157"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Mar 20 18:35:43 2017 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Mar 21 20:44:51 2017 +0000"
      },
      "message": "Use getPackageInfoAsUser in requestBufferForProcess\n\nNotice that the exception is caught now, so it doesn\u0027t crash the app.\nAnd seems the buffer is used for stats only, so seems thing is still\nworking. But it is still good to have it fixed :)\n\nFix: 36349295\n\nTest: Install Avast Passwords in work profile only, launch it.\n      Observe that no more log complaining failed to get application.\n\nChange-Id: I27b213303e9cf08c32e2ffdb7bda131c2b7f9ecb\n"
    },
    {
      "commit": "6914f0838e460666e9ec260213e1feb6aa7443dc",
      "tree": "4addee624e7ae8ec203cb45c6636fa525cc0f0bb",
      "parents": [
        "71e06d9d29f732a9df47702d8ea8db96c378f88f"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Mon Mar 20 19:04:30 2017 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Tue Mar 21 13:38:08 2017 -0700"
      },
      "message": "Fix various flashes when moving stacks.\n\nIn this CL we fix two new pinned stack reparenting flashes and\nimplement a new approach to an old docked stack flash fix, which had\nbeen broken in refactoring.\n\nFirst we examine the case of dismissing the docked stack and\nWindowState#notifyMovedInStack. Previously we invoked this\nwhen reparenting from the docked to the fullscreen stack\n(by way of position in stack). It was used to solve an issue\nwhere we were visually hidden by the docked stack crop, but we were\nstill waiting on an animation pass to set the hidden flag. Our old solution\nwas if mJustMovedInStack was set, we would just defer updating our crop until\none animation pass had occurred.\n\nWe broke this incidentally in refactoring by not calling the\nmethod that sets it anymore. However it\u0027s somewhat brittle so I was\nhesitant to restore it. The fundamental requirement is for the\nActivityManager to perform multiple operations (change stack, update\nvisibility) in a single atomic step and this wasn\u0027t expressed clearly.\n\nThis mirrors some challenges we have with the pinned stack transitions\nas well.\n\n1. When dismissing the pinned stack, we move the task to the\nfullscreen stack. We need a mechanism to prevent its bounds from\nupdating before its visibility is updated.\n2. When moving to fullscreen while over home, we have layering issues\nwith the home stack, as we will be moved to the fullscreen stack before the\nfullscreen stack is brought to the front of the home stack. This may\nnot seem like a visibility issue, but if the home activity were simply\nhidden the layering wouldn\u0027t matter!\n\nEvidently, all three of these issues can be solved with a batching\nmechanism from ActivityManager to WindowManager. As all changes are\nultimately Surface changes, SurfaceControl.open/closeTransaction\nprovides such a mechanism. The only additional complication is that\nnormally visibility updates on SurfaceControl are deferred to the\nanimation thread, which may not execute within the bounds of our\ntransaction. This however, is easily dealt with: In AppWindowToken, if\nwe are becoming hidden without animation, then we simply apply this\nchange without waiting for the UI thread\n\nBug: 35396882\nBug: 34857388\nBug: 36393204\nBug: 36462635\nTest: Intensive manual testing of dismissing docked and pinned stack + pinned-\u003efullscreen transition.\nChange-Id: Ic110797670cc7ff656a580fd186d4deb44fa54dd\n"
    },
    {
      "commit": "6f4b2a3039ac353e1b0bcebfdebba5060ad38cf3",
      "tree": "27ce24691da58891406c4d40fb9873e6e4049768",
      "parents": [
        "5dd59219e3c04fe871b2eca318222a860c5e564e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Mar 21 14:13:41 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Mar 21 14:13:47 2017 -0600"
      },
      "message": "Shame developers that are calling hidden APIs.\n\nTest: builds, boots\nChange-Id: Id3edf1a7890f7dbc4cff2a2699bbeabc247c6e90\n"
    },
    {
      "commit": "b70845c708a8c402219f05d26edaea38713e13c3",
      "tree": "8810b704aefaaa1ca2e5ff745320f874fd9a1401",
      "parents": [
        "3b1ed1cb3d2939059bd4feec145d2ebb7aa959bd"
      ],
      "author": {
        "name": "Steven Thomas",
        "email": "steventhomas@google.com",
        "time": "Thu Mar 16 14:32:37 2017 -0700"
      },
      "committer": {
        "name": "Steven Thomas",
        "email": "steventhomas@google.com",
        "time": "Tue Mar 21 20:01:28 2017 +0000"
      },
      "message": "Revert \"Revert \"Add remote callbacks for persistent vr mode\"\"\n\nThis reverts commit 2abf1c60cc2fc6ec9bc590cb35e94581ecf93c2e.\n\nWe need the ability to register remote callbacks for persistent vr mode,\nso vr flinger can register for persistent vr mode events.\n\nBug: 35885165\n\nTest: Manually confirmed vr flinger can register and receive persistent\nvr mode events.\n\nChange-Id: I7713c4c8acae9a369fd0c06695ef712fddd12be8\n"
    },
    {
      "commit": "e1eae31ff1f20e45d05629b414d850b2666833ab",
      "tree": "3bdeec5385466bb08167a824ecbb0c4668aaf856",
      "parents": [
        "535920da2076ad67e5a9eb1595f1a73c0db0ecb5",
        "c95ff8433a40eafa422fdf56b782350153f605dd"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Mar 21 19:59:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 19:59:38 2017 +0000"
      },
      "message": "Merge \"Prevent updating aspect ratio unless it is different.\""
    },
    {
      "commit": "535920da2076ad67e5a9eb1595f1a73c0db0ecb5",
      "tree": "6311843a78098b11090537a58c1c4ec2490aefab",
      "parents": [
        "356b218a8016cda886b82a671b08f52e070883d8",
        "bb2505465586a1177d84de2faa2470f45cf95441"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Mar 21 19:59:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 19:59:12 2017 +0000"
      },
      "message": "Merge \"Fixing NPE when animating bounds.\""
    },
    {
      "commit": "db1b3cfb2fd5bde20e943d01c521747cb43a8bdd",
      "tree": "d116d9f522d42912739a94439e44fd8458fb22d8",
      "parents": [
        "a9795ca6be9c08479fc2b65643ab7c8eaf3690c3",
        "532ea26c7b66180b09524f96da8bca1110f41197"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 21 19:26:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 19:27:03 2017 +0000"
      },
      "message": "Merge \"Add new \"storage not low\" job scheduler constraint.\""
    },
    {
      "commit": "c95ff8433a40eafa422fdf56b782350153f605dd",
      "tree": "5e9683b6570e059981b83017622ebda0207c3472",
      "parents": [
        "914c4ab1ed31c99886c83d005f255b97a9a70ed5"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Mar 21 10:20:20 2017 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Mar 21 18:11:46 2017 +0000"
      },
      "message": "Prevent updating aspect ratio unless it is different.\n\n- The old check of the bounds assumed there was no expanded state, so when\n  a PiP activity tries to set the aspect ratio from a a menu action, it\n  will cause an animation to the normal bounds again.\n\nBug: 36462497\nTest: Set aspect ratio in pip action handler\nChange-Id: Iba5e9571a3024c8369c2a24d32c2d8f34831ede4\n"
    },
    {
      "commit": "bb2505465586a1177d84de2faa2470f45cf95441",
      "tree": "625377ef4cf55d3c35e6fd817d90585b1b0adaa2",
      "parents": [
        "914c4ab1ed31c99886c83d005f255b97a9a70ed5"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Mar 20 20:06:46 2017 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Mar 21 18:11:25 2017 +0000"
      },
      "message": "Fixing NPE when animating bounds.\n\nBug: 36163225\nTest: android.server.cts.ActivityManagerPinnedStackTests\nChange-Id: I68f807f80768d279cdd55243592f87d3f752b1c6\n"
    },
    {
      "commit": "74cb00696e27924de4fc7052a90aa2348b536b2d",
      "tree": "2d7b4ca74d48ee4a7568f4829b3df183a8797b04",
      "parents": [
        "08a86c82a8a33ae8251123907e093c6ccca33549",
        "088d7aa9c1e9b73ea9dce1616b4958f0c41ca05e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 17:58:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 17:58:55 2017 +0000"
      },
      "message": "Merge \"Exfiltrate cert code from DevicePolicyManager\""
    },
    {
      "commit": "08a86c82a8a33ae8251123907e093c6ccca33549",
      "tree": "d82360f7eeb2f52e4ac470f7dcd9a5f58e20becd",
      "parents": [
        "d5e35f98ece0fd545bf471bd5d5a67761d590df5",
        "6304ec34529865fb76845e215ade3c711bcf7e25"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 21 17:51:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 17:51:39 2017 +0000"
      },
      "message": "Merge \"Clean up logs in DexManager\""
    },
    {
      "commit": "f7a7bb6b50cda0d292e55e900f70166e9a1fd6ed",
      "tree": "7d5ef24ee6e036d429bb805619d4b4a8e54f3bb5",
      "parents": [
        "60b4af5d658a1debaa6af13a2bf1815537300c51"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Mar 21 09:58:40 2017 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Mar 21 10:37:12 2017 -0700"
      },
      "message": "Autofill a manual request directly when it only has one dataset.\n\nTests:\n- renamed testManualAutofill() to testManualAutofillOneDataset()\n- added testManualAutofillTwoDatasetsPickFirst()\n- added testManualAutofillTwoDatasetsPickSecond()\n\nBug: 35708229\nTest: LoginActivityTest pass\nTest: manual verification\nChange-Id: I7aa60ab5df60decaf49d617bf3e9fcf3ab0074fa\n"
    },
    {
      "commit": "71e06d9d29f732a9df47702d8ea8db96c378f88f",
      "tree": "4bc3676b1000ebe082e15b1cf314f65d1eada97c",
      "parents": [
        "41bd1ec4db9318d4a77b0b5689c876c8d955dc90",
        "c8aeef6ae6469c1db5e7a67eb2e968d29c84e908"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 17:35:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 17:35:49 2017 +0000"
      },
      "message": "Merge \"Remove leftover DO/PO check in isPackageSuspended\""
    },
    {
      "commit": "daa560ad77d74470e43b99a74d8a371ad8f91047",
      "tree": "0e4ef7c94ec4a0be941d933ef0010fd83fbba8a5",
      "parents": [
        "fc7f4ceb44c2f18fc112ef53580d5fed520e0f9d",
        "4ce59d45a779cea662dbd56e61a98ba2a966b09b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 17:01:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 17:01:33 2017 +0000"
      },
      "message": "Merge \"Request logs from logd with 3s overlap to avoid missing events.\""
    },
    {
      "commit": "5d37e364dba5769d388483ee677cee3559cedb51",
      "tree": "828b89074e551067ac5368e0822bb48a78a98d67",
      "parents": [
        "2dde2b122f620ba853d950cc1b88ae0596d958f6",
        "beed965c25d6996ed0f7947bf8a569ca4489f79e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 21 16:11:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 16:11:58 2017 +0000"
      },
      "message": "Merge \"Improvements to ActivityManagerService stack dumping\""
    },
    {
      "commit": "2dde2b122f620ba853d950cc1b88ae0596d958f6",
      "tree": "e116502a3b207296674cc02ab4ec3da65fb3a19d",
      "parents": [
        "5c9fb3c5271b3e602d0d018a5bcfd3d6dbb98d9c",
        "6f9dbcb742ee930151444118dd61c2239efce09d"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Mar 21 15:53:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 15:53:52 2017 +0000"
      },
      "message": "Merge changes I7f7a9842,I4c74b269\n\n* changes:\n  Implement new thumbnail loading strategy\n  Also store reduced resolution screenshots\n"
    },
    {
      "commit": "a917a1149c8f66636bc579a63c418bbe83bd29ff",
      "tree": "a8b77d5ce16259d159b1ad1f5c70b0513c0a33f9",
      "parents": [
        "7c8e0918a191fc129c821e4769d9338ad3915908"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Mar 21 11:09:14 2017 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Mar 21 11:23:46 2017 -0400"
      },
      "message": "Channel updates should trigger ranking updates\n\n- Uid, not user id\n- unspecified importance really does mean \u0027don\u0027t override\u0027\n\nChange-Id: Ia60aade179f70cd5d5278eed41c707b9ab6590e0\nFixes: 36007628\nFixes: 36355913\nTest: manual, runtest systemui-notification\n"
    },
    {
      "commit": "4ce59d45a779cea662dbd56e61a98ba2a966b09b",
      "tree": "de86961de0392c696051c74b6ba4e709e0923a81",
      "parents": [
        "d9263306d56bf4c5c9c2e3a62bd44f82dacc0863"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Sat Feb 25 19:45:43 2017 +0000"
      },
      "committer": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Tue Mar 21 14:52:32 2017 +0000"
      },
      "message": "Request logs from logd with 3s overlap to avoid missing events.\n\nExample: If we got a batch with timestamps [1, 4, 8] and an event\nwith timestamp 7 was delayed and was added to the buffer later,\nif we request the next batch starting from timestamp 8 or 9 that\nevent will be lost.\n\nThe last 3 seconds of events are kept and checked against the next\nbatch.\n\nTest: afw-test-tradefed-ci run afw-do-security-logging\nChange-Id: I55727cfc6143c172edc7dabfd995776f9a0f7eab\nBug: 35373582\nBug: 35026180\nBug: 35648675\n"
    },
    {
      "commit": "5c9fb3c5271b3e602d0d018a5bcfd3d6dbb98d9c",
      "tree": "e464bbb8cc8383a5c510093845dbf9c5b6ee934c",
      "parents": [
        "d9263306d56bf4c5c9c2e3a62bd44f82dacc0863",
        "6272c7f83fd1e78ec610d84621abfd0b87680465"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Tue Mar 21 14:33:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 14:33:27 2017 +0000"
      },
      "message": "Merge \"Do not remove the default display during tests.\""
    },
    {
      "commit": "d9263306d56bf4c5c9c2e3a62bd44f82dacc0863",
      "tree": "e48614e855bb024305931e4c179cbf044eebf2f2",
      "parents": [
        "55ff64eac6978a98dc9e95ad5558824b832fc8bc",
        "1f17e024a1152eda828a0e9924daa30cfac1193d"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Mar 21 14:12:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 14:12:22 2017 +0000"
      },
      "message": "Merge \"Delete the Default Channel when an app starts using channels.\""
    },
    {
      "commit": "35e3f53a30588b79e0309fdbeef29a8c18eef65d",
      "tree": "35d4c9d5aeaf21305beed6b7ac1bb2f46a9c8b79",
      "parents": [
        "c9c57d4478b6203ca1f298c39dfcfaadce0a63ef"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Mar 17 17:06:50 2017 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Mar 21 14:58:50 2017 +0100"
      },
      "message": "Also store reduced resolution screenshots\n\nIn order to speed up loading time when scrolling through it\nin recents. They will be used in recents in the next CL. Also, we\nuse JPG instead as loading JPG is much faster than PNG.\n\nTest: TaskSnapshotPersisterLoaderTest\nTest: TaskSnapshotCacheTest\nBug: 34829962\nChange-Id: I4c74b26969ae459bd3b1a42707011a49f425abd9\n"
    },
    {
      "commit": "2bcca1d6242381725614a86cea3e2487347d3a2d",
      "tree": "792fdd69a0c6ceea85c7c34e35c2f108db921f7e",
      "parents": [
        "2c64d5739b444b8ffe6283d8c703ad920fad7a95",
        "7121697a5e2d4458f6f63e9eb3b5deec62ee6202"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 13:40:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 13:40:36 2017 +0000"
      },
      "message": "Merge \"BZZZZZZT! BZZZZZT! New Vibrator APIs\""
    },
    {
      "commit": "c8aeef6ae6469c1db5e7a67eb2e968d29c84e908",
      "tree": "51ad101c867104f902c1f27efbefbb8f699891dc",
      "parents": [
        "c9c57d4478b6203ca1f298c39dfcfaadce0a63ef"
      ],
      "author": {
        "name": "Edman Anjos",
        "email": "edmanp@google.com",
        "time": "Mon Mar 20 19:40:22 2017 +0100"
      },
      "committer": {
        "name": "Edman Anjos",
        "email": "edmanp@google.com",
        "time": "Tue Mar 21 11:49:11 2017 +0100"
      },
      "message": "Remove leftover DO/PO check in isPackageSuspended\n\nWe already check if the caller is a DO, PO, or a delegate in\nenforceCanManageScope, the additional call to\ngetActiveAdminForCallerLocked makes this function inaccessible to\ndelegate applications and was removed.\n\nTest: cts-tradefed run cts-dev --module CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.MixedDeviceOwnerTest#testDelegation\nChange-Id: I5df0f19a017a3b6e130329940c79b12cbb95ec9e\n"
    },
    {
      "commit": "c9c57d4478b6203ca1f298c39dfcfaadce0a63ef",
      "tree": "dd03084e66692d21383838601734db3b81d88aaa",
      "parents": [
        "dce231b2c1917709364cea01d69770144f13a234",
        "d9f71bcf6d4a4d97c6a9308191ee7f5f093ae2b2"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Mar 21 10:29:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 21 10:29:58 2017 +0000"
      },
      "message": "Merge \"add and incorporate TetheringConfiguration.dump()\" am: 9eb959320f am: 9e46faff07\nam: d9f71bcf6d\n\nChange-Id: I6b2a5aa4054fc0a2a465b940aea11194d3bc39a8\n"
    },
    {
      "commit": "d9f71bcf6d4a4d97c6a9308191ee7f5f093ae2b2",
      "tree": "ceee57c382c2c36cf8099e9222566bee2d82383e",
      "parents": [
        "0f127ea9295983b91041cccdd41e358a49016e0e",
        "9e46faff072d51f4b1b0b34f398e082e9f1cf2c1"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Mar 21 10:22:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 21 10:22:21 2017 +0000"
      },
      "message": "Merge \"add and incorporate TetheringConfiguration.dump()\" am: 9eb959320f\nam: 9e46faff07\n\nChange-Id: I227d8bcd27ae2970ee65d6cc83faa37ff4e4f17a\n"
    },
    {
      "commit": "9e46faff072d51f4b1b0b34f398e082e9f1cf2c1",
      "tree": "da084ca5c49b40430fafe8eac580bda9ecaea08a",
      "parents": [
        "dfe1743b3725f4f5b7c047efb274c29d350fc74c",
        "9eb959320f67fb53207f549ad9bc6bdf47abb1a2"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Mar 21 10:14:19 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 21 10:14:19 2017 +0000"
      },
      "message": "Merge \"add and incorporate TetheringConfiguration.dump()\"\nam: 9eb959320f\n\nChange-Id: I29c80b36ddd14e1e03c88c63d35ee9982dcef887\n"
    },
    {
      "commit": "9eb959320f67fb53207f549ad9bc6bdf47abb1a2",
      "tree": "64a502d9c1b85999f2a482fe4fdc1c60404de155",
      "parents": [
        "2d3fb48b392f69b6d986e39c1dc950deeeecc0a1",
        "9db1b546df3934fa0935ed6f434328f4b8d3975b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 10:05:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 21 10:05:43 2017 +0000"
      },
      "message": "Merge \"add and incorporate TetheringConfiguration.dump()\""
    },
    {
      "commit": "84a4895c9c1eb7f381d99fb8eb298d8335d4e480",
      "tree": "69edd72a0e269ee3ebf330cce995c72fc60f424d",
      "parents": [
        "3b1728642d980d2e895c85f61959e061fcb21772"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Wed Mar 08 18:19:01 2017 -0800"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Mar 21 00:22:36 2017 -0700"
      },
      "message": "Update AMS to wait for network state update if requested by the main thread.\n\nBug: 27803922\nTest: runtest -c com.android.server.am.ActivityManagerServiceTest frameworks-services\n      runtest -c com.android.server.am.ActivityManagerInternalTest frameworks-services\n      cts-tradefed run singleCommand cts-dev --module CtsHostsideNetworkTests\n      and manual\nChange-Id: I7d1052b9941c1fae51ff8ab1c9b89dca3919ccd2\n"
    },
    {
      "commit": "7f2afd2dffb232e9ace7e2b50ec0b3dc84a81f08",
      "tree": "c9c5884a5619b0d85663ee2c62d37f70020f5108",
      "parents": [
        "9d755c046af15a126abd6020f46c82241d1263f8"
      ],
      "author": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Fri Mar 17 10:21:28 2017 -0700"
      },
      "committer": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Tue Mar 21 00:05:14 2017 -0700"
      },
      "message": "Add test configs to apct tests under frameworks/base\n\nTouchLatency is needed by test TouchLatencyJankTestWear\nUiBench is needed by test UiBenchJankTests\n\nDetails about test configs changes are tracked in doc\nhttps://docs.google.com/document/d/1EWUjJ7fjy8ge_Nk0YQbFdRp8DSHo3z6GU0R8jLgrAcw/edit#\n\nBug: 35882476\nTest: local test\nmake -j32 TouchLatency TouchLatencyJankTestWear  \u0026\u0026 \\\ntradefed.sh run template/local --template:map test\u003dTouchLatencyJankTestWear \\\n      --test-tag testname --log-level-display VERBOSE\nmake -j32 UiBenchJankTests UiBench  \u0026\u0026 \\\ntradefed.sh run template/local --template:map test\u003dUiBenchJankTests \\\n      --test-tag testname --log-level-display VERBOSE\n\nChange-Id: I63f23e3a21ad1343607953958fb7bb0a5fb8c343\n"
    },
    {
      "commit": "6304ec34529865fb76845e215ade3c711bcf7e25",
      "tree": "547f3eb4f63ec41a46dee82a2abdcfedffdff5ad",
      "parents": [
        "67bdd0f20ecf1c61a7b3a1be4642ecb68c5552f4"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Mar 20 23:46:44 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Mar 20 23:46:44 2017 -0700"
      },
      "message": "Clean up logs in DexManager\n\nThe log notifying that the dex path does not exists for the user was not\naccurate. Also, the symlink debug check was misplaced.\n\nTest: runtest -x .../DexManagerTests.java\nBug: 32871170\nChange-Id: I1e90034da47d71a11efb307df2307951572011ee\n"
    },
    {
      "commit": "51ab3acf270c655ed90706895b43915433d022c7",
      "tree": "92a187c6846902a05ae6918943805f260ae1463d",
      "parents": [
        "67bdd0f20ecf1c61a7b3a1be4642ecb68c5552f4"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Mar 07 15:38:01 2017 -0800"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Mar 20 23:27:49 2017 -0700"
      },
      "message": "Add lastProcStateSeqDispatchedToObservers to UidRecord.\n\nThis will help in identifying the last procStateSeq for which AMS\nnotified NPMS about the process state change.\n\nBug: 27803922\nTest: runtest -c com.android.server.am.ActivityManagerServiceTest frameworks-services\n\nChange-Id: I741a8ffe31de92070f3ebbc9c4f95fc1c0a340cd\n"
    },
    {
      "commit": "4c66f8b20d860bb99bf7a49b9302fe8bafff8bd9",
      "tree": "1da51bc89b6e594fc43aa8a908182526940588ac",
      "parents": [
        "d5da694f833e01c462592573cae8cc43a571f267",
        "e736185ee90e0f19a7092542cadab4cf561a5703"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Mar 21 06:12:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 06:13:03 2017 +0000"
      },
      "message": "Merge \"Update NPMS to notify AMS when network policy rules are updated.\""
    },
    {
      "commit": "1bff34337cf8f5743c5ba6b1b467946b66079465",
      "tree": "d419d1de5f238bb7b54e8200b1250428e85fd013",
      "parents": [
        "1f4497c9c0cc0524765a0a48bb87040f8e15506c",
        "f927f0c52e7df5b057e7d28888c3cfed164d241a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 04:22:34 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 04:22:40 2017 +0000"
      },
      "message": "Merge \"Connectivity metrics: add transports to validation probes\""
    },
    {
      "commit": "afdd4cfc761f396d97647e605d668753788d54c1",
      "tree": "13afdd299e5a3172853028ab1877d8ae290bbf48",
      "parents": [
        "60b4af5d658a1debaa6af13a2bf1815537300c51",
        "948a85948dcccea4aaa9d70a74405308581b0925"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 02:59:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 02:59:20 2017 +0000"
      },
      "message": "Merge changes I8bfabcb1,I563a6a31\n\n* changes:\n  Connectivity metrics: change how interface names are logged\n  Connectivity metrics: serialize networkId, transports, ifname\n"
    },
    {
      "commit": "f927f0c52e7df5b057e7d28888c3cfed164d241a",
      "tree": "e9d6a7e17fedb64ca5175c164fbe9e18121d1de5",
      "parents": [
        "948a85948dcccea4aaa9d70a74405308581b0925"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Mar 17 15:42:40 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Mar 21 11:43:18 2017 +0900"
      },
      "message": "Connectivity metrics: add transports to validation probes\n\nThis patch adds transports info to ValidationProbeEvent and migrates\nnetId logging for this event to the topt-level netId field in\nConnectivityMetricsEvent.\n\nTest: modified unit tests. $ runtest frameworks-net passes\nBug: 3490169\nChange-Id: Ibf51049ba8901ae5ca4ea86e2f500944a4738b5c\n"
    },
    {
      "commit": "5311206f3434d631c6ea81ab2e76a46ca18119b6",
      "tree": "16e72d70485834b67b618ceb3a787e1fadc61f7e",
      "parents": [
        "248278fc8216b2cdeb85ba67aee7b061e5286532"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Mar 20 13:24:10 2017 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Mar 20 18:20:28 2017 -0700"
      },
      "message": "Add custom presentation (RemoteViews) on Dataset values.\n\nNew tests on LoginActivityTest:\n\n- testAutofillOneDatasetCustomPresentation()\n- testAutofillMultipleDatasetsCustomPresentations()\n- testAutofillMultipleDatasetsCustomPresentationSameFields()\n- testAutofillMultipleDatasetsCustomPresentationFirstDatasetMissingSecondField()\n- testAutofillMultipleDatasetsCustomPresentationSecondDatasetMissingFirstField()\n\nFixes: 36067706\nTest: CtsAutoFillServiceTestCases pass\n\nChange-Id: Iacb660bf5a5cf311dea4bfcbfe1b3722aab34715\n"
    },
    {
      "commit": "948a85948dcccea4aaa9d70a74405308581b0925",
      "tree": "d72bc48ef47f75ddffd3201a038a7f1185460887",
      "parents": [
        "73fd4d1fafd0208e843abb6a6ad8a46a6fb18143"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Mar 16 16:33:47 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Mar 21 10:18:56 2017 +0900"
      },
      "message": "Connectivity metrics: change how interface names are logged\n\nThis patch deprecates the ifname field for specific metrics events of\ntypes DhcpClientEvent, DhcpErrorEvent, IpReachabilityEvent and\nIpManagerEvent.\n\nInstead ifnames are logged in ConnectivityMetricsEvent, allowing for\nlink layer inference.\n\nTest: updated unit tests, $ runtest frameworks-net passes\nBug: 34901696\nChange-Id: I8bfabcb115bbd5289471d653c153a40bb48f28cd\n"
    },
    {
      "commit": "73fd4d1fafd0208e843abb6a6ad8a46a6fb18143",
      "tree": "f8c858801a6b8c20b39523c73ac79d9b1677ab39",
      "parents": [
        "b096e588116bea15b1e0ad889cd69bbc78c4cb0f"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Mar 15 23:05:01 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Mar 21 10:18:11 2017 +0900"
      },
      "message": "Connectivity metrics: serialize networkId, transports, ifname\n\nThis patch adds translation from ConnectivityMetricsEvent to\nIpConnectivityEvent of recently added fields:\n - top-level network id\n - top-level ifname\n - transports\n\nAlso adds inference of link layer from transports or ifname.\n\nAt the moment these new fields are not populated in\nConnectivityMetricsEvent. Follow-up patches will fill this gap for\nthe events of the android.net.metrics package.\n\nTest: new unit tests, $ runtest frameworks-net passes\nBug: 34901696\nChange-Id: I563a6a3183470bdfaabb7c781a1beaf6b1058bf0\n"
    },
    {
      "commit": "e736185ee90e0f19a7092542cadab4cf561a5703",
      "tree": "86457e0bf76a44a73e0d22b4d0faaabc71ba577f",
      "parents": [
        "dd1997bc9c7ab36f3fb9f47cc9d111736c50464b"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Mar 07 11:51:46 2017 -0800"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Mar 20 17:34:09 2017 -0700"
      },
      "message": "Update NPMS to notify AMS when network policy rules are updated.\n\nBug: 27803922\nTest: runtest -c com.android.server.am.ActivityManagerInternalTest frameworks-services\n      runtest -c com.android.server.NetworkPolicyManagerServiceTest frameworks-services\n\nChange-Id: I357fd5c80b7e6d3e63df95397e328c52f233958b\n"
    },
    {
      "commit": "248278fc8216b2cdeb85ba67aee7b061e5286532",
      "tree": "f3f71e8eb228576edf1a6641622096571b4a6000",
      "parents": [
        "056d2201d4b86baeff57d621336e692a3b8e6c47",
        "f4ac063f3ea6ce04d413c2f2480f751c7dbb95ad"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Mar 21 00:28:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 00:29:05 2017 +0000"
      },
      "message": "Merge \"Update PiP AppOps flag to enforce all PiP functionality.\""
    },
    {
      "commit": "056d2201d4b86baeff57d621336e692a3b8e6c47",
      "tree": "2a610942516b182bd1d8b35fd3a5cbee053ec97f",
      "parents": [
        "3b1ed1cb3d2939059bd4feec145d2ebb7aa959bd",
        "c81c0ce2e903ae469a532e0537b2f882fd81ec6c"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Mar 21 00:28:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 00:29:05 2017 +0000"
      },
      "message": "Merge \"Showing notification when activity is in PiP.\""
    },
    {
      "commit": "3b1ed1cb3d2939059bd4feec145d2ebb7aa959bd",
      "tree": "55db6ee128ee5f9472f85043e37e1c61cad4bead",
      "parents": [
        "77103b14d84b325de6aee68ed0a47ca630c755b0",
        "2abf1c60cc2fc6ec9bc590cb35e94581ecf93c2e"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Tue Mar 21 00:19:26 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 00:19:32 2017 +0000"
      },
      "message": "Merge \"Revert \"Add remote callbacks for persistent vr mode\"\""
    },
    {
      "commit": "5ad4a9a3968fb1c1a568a6610cbc977316c6a2bd",
      "tree": "65e8b33ee9ca8ea9a5d04bc9841403318ab5a025",
      "parents": [
        "8ab4f6ea0e70cbf9b0c2c32bc9dabbf18944aa1f",
        "0b8756e735e040a889e186e11e912a6c4b802c72"
      ],
      "author": {
        "name": "Jeremy Klein",
        "email": "jlklein@google.com",
        "time": "Tue Mar 21 00:10:46 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 21 00:10:46 2017 +0000"
      },
      "message": "Merge \"In isTetheringSupported, call isAdmin user from system.\" am: 4a8953094f am: 23d6ba12f1\nam: 0b8756e735\n\nChange-Id: I76d02e97382c0332e3d93383d60e8e7fc9951a08\n"
    },
    {
      "commit": "2abf1c60cc2fc6ec9bc590cb35e94581ecf93c2e",
      "tree": "15df219891dc3b680bb8b8881beb63c22e2059fb",
      "parents": [
        "504c6d67d0c2e4cda5201372551914f94acce710"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Tue Mar 21 00:04:53 2017 +0000"
      },
      "committer": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Tue Mar 21 00:04:53 2017 +0000"
      },
      "message": "Revert \"Add remote callbacks for persistent vr mode\"\n\nThis reverts commit 504c6d67d0c2e4cda5201372551914f94acce710.\n\nChange-Id: Ia0f8d508272211736d421cf097abaa0bcbc3abab\n"
    },
    {
      "commit": "8ab4f6ea0e70cbf9b0c2c32bc9dabbf18944aa1f",
      "tree": "e63664d23255dc7e83ee64d0a369804cd5f098ee",
      "parents": [
        "de2ea835636e2c6d8c39fd5926dd44867ce43ad7",
        "0e6e3bd1dc210d6e949046d62be80b01a5f10de6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 00:04:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 00:04:29 2017 +0000"
      },
      "message": "Merge \"Fine-grained systrace for NetworkPolicyManagerService\""
    },
    {
      "commit": "0b8756e735e040a889e186e11e912a6c4b802c72",
      "tree": "c59814ff1167af602a58860154a5855a33b60cde",
      "parents": [
        "d7714c45e00e419ed5c418f7785a6705f41e4c39",
        "23d6ba12f14d07fa892b7e1f1ee1d9da307f5c94"
      ],
      "author": {
        "name": "Jeremy Klein",
        "email": "jlklein@google.com",
        "time": "Tue Mar 21 00:04:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 21 00:04:11 2017 +0000"
      },
      "message": "Merge \"In isTetheringSupported, call isAdmin user from system.\" am: 4a8953094f\nam: 23d6ba12f1\n\nChange-Id: I35f45927c564773c10da78e1476814f0a1c7f1be\n"
    },
    {
      "commit": "23d6ba12f14d07fa892b7e1f1ee1d9da307f5c94",
      "tree": "e951d15e88f6550cf0563b53dec4bcd95533a04f",
      "parents": [
        "375741e99a884e7fd103fe2fe966ee342da87698",
        "4a8953094f89b4dc15567c019b2e75958ab00979"
      ],
      "author": {
        "name": "Jeremy Klein",
        "email": "jlklein@google.com",
        "time": "Mon Mar 20 23:58:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 20 23:58:09 2017 +0000"
      },
      "message": "Merge \"In isTetheringSupported, call isAdmin user from system.\"\nam: 4a8953094f\n\nChange-Id: Ibefe655ed377c55322d871e02d87c0d001327da8\n"
    },
    {
      "commit": "de2ea835636e2c6d8c39fd5926dd44867ce43ad7",
      "tree": "d10ba39f05cf1365de967e099fb4a868e2e44d3a",
      "parents": [
        "a540460e7b113179965dfa37b092dda82ff75b50",
        "504c6d67d0c2e4cda5201372551914f94acce710"
      ],
      "author": {
        "name": "Steven Thomas",
        "email": "steventhomas@google.com",
        "time": "Mon Mar 20 23:43:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 20 23:43:53 2017 +0000"
      },
      "message": "Merge \"Add remote callbacks for persistent vr mode\""
    },
    {
      "commit": "22295fdcceb870d6c429512129b0ff94344c8f9f",
      "tree": "5d60875b51c7028f09c9e8791735a745db0fcf84",
      "parents": [
        "95502300efffd29686f2c9bc4cc1b12edd323a1c"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Mar 20 16:17:54 2017 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Mar 20 23:30:08 2017 +0000"
      },
      "message": "Should use getApplicationInfoAsUser instead\n\nThe second argument of getApplicationInfo is flags, not user id.\nTo specify user id, we should use getApplicationInfoAsUser.\n\nFix: 36349295\nTest: Installed an app that called addWindow in work profile only.\n      And verify that it can be launched.\nChange-Id: I9a36b8218082ffce9d903845357666c8366e6ed0\n"
    },
    {
      "commit": "b3b43130db1c02493ca881ad95adf27ec0cbe8ad",
      "tree": "05a16328e711de5278058155747f7d4588192962",
      "parents": [
        "d3c5106940838f2867afbbbfe251aaad38ab24b5"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Mar 20 16:05:48 2017 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Mar 20 16:05:48 2017 -0700"
      },
      "message": "Send launch token to activity manager\n\nWhen an instant app is installed, control passes from the platform\nto the instant app installer. However, when the instant app is\nlaunched, the original launch token needs to be associated with that\nlaunch. Do this by sending the launch token along with the original\nlaunch intent\n\nChange-Id: I5741be343862d4e5c8bfb6b4a81d0bac8e53ea9c\nFixes: 35445667\nTest: Build and manully inspect the event logs to ensure the launch token is sent on instant app launch\n"
    },
    {
      "commit": "a540460e7b113179965dfa37b092dda82ff75b50",
      "tree": "6ca8ca259c330b5276656e2e7b6f9ff04fbad2c4",
      "parents": [
        "6e8e022d0d7564a3478bfa1e38d835b4e4e80afb",
        "6a7006a9683ba5a79ca338050c7c50b346b04de0"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Mon Mar 20 23:04:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 20 23:04:16 2017 +0000"
      },
      "message": "Merge \"Register PackageMonitor for CompanionDeviceManagerService\""
    },
    {
      "commit": "7bd4ea53e943b09cb9be2fc4b45f4f7ed24173d6",
      "tree": "8521d7c9296b58a6d882a416c6f623003cae7a48",
      "parents": [
        "4b9f18f00236e14e0647fa7ddf255d2487c0b38c",
        "dc4796c209c1b604f3dfe0615c04c0fcf69f55c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 20 22:35:36 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 20 22:35:41 2017 +0000"
      },
      "message": "Merge \"Allow setting a persistent VR thread.\""
    },
    {
      "commit": "0e6e3bd1dc210d6e949046d62be80b01a5f10de6",
      "tree": "b5b2ea7aaece154ad89bc1a8362cf0edef0b9132",
      "parents": [
        "9367f750712dee2757f0d9fc2cb9a34456f7fa2a"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Mar 20 14:53:00 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Mar 20 15:18:22 2017 -0700"
      },
      "message": "Fine-grained systrace for NetworkPolicyManagerService\n\nBug 34961340\nTest: manual test with systrace.py\n\nChange-Id: I6b0e53758d80db1ed9e522f82fff9ccc16301fb0\n"
    }
  ],
  "next": "4b9f18f00236e14e0647fa7ddf255d2487c0b38c"
}
