)]}'
{
  "log": [
    {
      "commit": "347cf3ea9e59edcc8612e7f211381e21b75b6eea",
      "tree": "4649dcae88337a18b80eeb4b84a786c1f0580a7e",
      "parents": [
        "47f4948d017830111789fe2fcb9f223e162e04be",
        "2c9e94aa3e9614f0d202ee008c08a9011fa7f75f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 31 19:15:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 31 19:15:33 2017 +0000"
      },
      "message": "Merge \"Refactor bootanimation into a shared lib.\""
    },
    {
      "commit": "2c9e94aa3e9614f0d202ee008c08a9011fa7f75f",
      "tree": "ccc7e6d62479007774b6d58effcff4994298d987",
      "parents": [
        "0ed316b7f147401d158bd07f188ed2e598b337ba"
      ],
      "author": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Wed May 31 10:08:28 2017 -0700"
      },
      "committer": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Wed May 31 10:24:52 2017 -0700"
      },
      "message": "Refactor bootanimation into a shared lib.\n\nWe would like to reuse the animation parts of it in Android things.\nThis refactors the audio part into the _main and gets callbacks from\nthe BootAnimation class at interesting times. This will be the same\napproach we take to integrate with it.\n\nBUG: 37992717\nTest: Built locally and pushed to a bullhead, works with sound.\nChange-Id: I5eaca07c25eeb5edeab07d7ae7a29945e0e2cd37\n"
    },
    {
      "commit": "b562e539504c3eb72d1200a0e3dc67e9b2f0409b",
      "tree": "839c8b1b787448f48ce481b4b55b53a4eeae3397",
      "parents": [
        "a63d9b8d9afe951b0fb709f57b941702cb1689db",
        "3c3d9d815856e8e22961c0092d34ff7b9c5b6e2c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 31 14:54:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 31 14:54:24 2017 +0000"
      },
      "message": "Merge commit \u002706951ac74d9e74b29037b0a5d8e3b9ad85983b5b\u0027 into mergeit\nam: 3c3d9d8158\n\nChange-Id: Ia4c7f1792c9b6e8e72b4ffe742249b02b82d0817\n"
    },
    {
      "commit": "3c3d9d815856e8e22961c0092d34ff7b9c5b6e2c",
      "tree": "e9de195f74ccd5061636d8bffba5962250ab48bc",
      "parents": [
        "3fb0e7555f15d38e58bb8e289afdb72fddc655ff",
        "06951ac74d9e74b29037b0a5d8e3b9ad85983b5b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 31 08:43:51 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 31 08:43:51 2017 -0600"
      },
      "message": "Merge commit \u002706951ac74d9e74b29037b0a5d8e3b9ad85983b5b\u0027 into mergeit\n\nChange-Id: Ifa69c7bb53de94312e2b32607fa098c194a4c72c\n"
    },
    {
      "commit": "ddff807b762a8a455287abc97aea8f97b98fb104",
      "tree": "9f5dc24ea84eb9d64e575d7210b99718ff318fd3",
      "parents": [
        "1399d3abf51265915a3d6cbd2b04be2a3142c609"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 26 13:10:46 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 30 22:17:23 2017 -0600"
      },
      "message": "Consistent \"low storage\" behavior.\n\nWhen answering the question \"how much space is free\", use the same\nlogic for Settings UI and StorageManager.getAllocatableBytes().  That\nis, the reported free space is usable bytes plus any cached data the\nsystem is willing to delete automatically.\n\nThis does *not* include any reserved cache space, since we don\u0027t want\nabusive apps to penalize other well-behaved apps that are storing\ntheir data in cache locations.  Callers freeing cached data need to\nnow explicitly request defiance of the reserved cache space.  (Most\ncallers are already doing this by using FLAG_ALLOCATE_AGGRESSIVE.)\n\nRewrite the core logic of DeviceStorageMonitorService to understand\nthis new \"reserved\" cache space, and to be easier to understand.  It\nalso now handles cached data on adopted storage volumes, which had\nbeen ignored until now.  Also fix bug where we had skipped \"low\"\nbroadcasts when the device skipped directly from/to \"full\" state.\n\nBug: 38008706\nTest: cts-tradefed run commandAndExit cts-dev -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.StorageConstraintTest\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest\nChange-Id: Icbdcf3b52775f7ada1ceaeff2f96094c8d8052f9\n"
    },
    {
      "commit": "fa45e4364c65cb812afcec0a6b38d6b01b569db9",
      "tree": "3c0b0f8a0debc09d66637fc75f3323378fca529b",
      "parents": [
        "697f2dd3d497bc5d321fcfef3340d6de2bf4ed74",
        "58dc4c8dcdb90754660ef8f35b2a3a5436c672f5"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 31 01:46:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 31 01:46:12 2017 +0000"
      },
      "message": "Merge \"Use LOCAL_ADDITIONAL_DEPENDENCIES instead of build system internals\" am: a4982eb5dd am: aa92f80288 am: 2aa649593b\nam: 58dc4c8dcd\n\nChange-Id: I579b6cfb6edec74da4149f1cf9cee9a061802ff8\n"
    },
    {
      "commit": "58dc4c8dcdb90754660ef8f35b2a3a5436c672f5",
      "tree": "ff7ffe5d115b3c2c3564829eedf3268168bc2219",
      "parents": [
        "541f9cf57691bae562415ca89e6e333c8114bc48",
        "2aa649593be8ff1d2aa838fa2b4ea2f45ff4deda"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 31 01:37:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 31 01:37:26 2017 +0000"
      },
      "message": "Merge \"Use LOCAL_ADDITIONAL_DEPENDENCIES instead of build system internals\" am: a4982eb5dd am: aa92f80288\nam: 2aa649593b\n\nChange-Id: Ie28b57bd8ed157a7a34a5224bf3f52d7818b6205\n"
    },
    {
      "commit": "0b81f9727f5f67192058bbe82c8ce23467971924",
      "tree": "984edfd15dac89446e4c3ca03bf2b26c61c28025",
      "parents": [
        "8e7057ccf3824d1421a12abad7a2ba8b07e877c6"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 30 10:57:34 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 30 10:57:34 2017 -0700"
      },
      "message": "Use LOCAL_ADDITIONAL_DEPENDENCIES instead of build system internals\n\nInstead of directly adding dependencies to full_classes_compiled_jar\nand full_classes_jack, just use LOCAL_ADDITIONAL_DEPENDENCIES and\nlet the build system take care of where the dependencies are needed.\n\nTest: builds\nChange-Id: Ia3078fe0aa54b2d69821a9879cfe43414e1e9c4f\n"
    },
    {
      "commit": "e958cebff21e944564f209322fb9f31508c4ea59",
      "tree": "1bcccb79729109ee310d64fef8d6245d7d76c98f",
      "parents": [
        "a34a481037332f519dd149992f6ad43f41697f5c",
        "a3bf175d8a3a8d56a6789f91e90079ceb5fcf006"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu May 25 22:17:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 25 22:17:44 2017 +0000"
      },
      "message": "Merge \"Add a function to verify if idmap is made from given target/overlay packages\" into oc-dev am: a941e29c55\nam: a3bf175d8a\n\nChange-Id: Id12f519492f588c53206f6ee035e0ee9943eca72\n"
    },
    {
      "commit": "a3bf175d8a3a8d56a6789f91e90079ceb5fcf006",
      "tree": "345724d95dd019ef19152fe334b0548e8bab2bba",
      "parents": [
        "f4968f3c987769430ecfb6f97e5059da2addaf34",
        "a941e29c5517bceca538545f00fe7fdb1eda6576"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu May 25 22:05:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 25 22:05:51 2017 +0000"
      },
      "message": "Merge \"Add a function to verify if idmap is made from given target/overlay packages\" into oc-dev\nam: a941e29c55\n\nChange-Id: I47bf589cf849a81a310d0890156bf7c937dd354a\n"
    },
    {
      "commit": "a941e29c5517bceca538545f00fe7fdb1eda6576",
      "tree": "619f59d37c68a6d065432319b2b7b9223393927c",
      "parents": [
        "78ee090f782de5ec99c2c7bfc26bb1b7e90bb0fe",
        "71693e6683cd925b8fdf06c2431b6fe187df6f40"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 25 21:50:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 25 21:50:57 2017 +0000"
      },
      "message": "Merge \"Add a function to verify if idmap is made from given target/overlay packages\" into oc-dev"
    },
    {
      "commit": "04f7fafdeb3d9b80a257f9d6dd461ae1724760b6",
      "tree": "2b7d72304c38448db7b8f3d4e0ae48046586e563",
      "parents": [
        "af8c2571da2c42b2df009c16a8fdc6f52f533447",
        "dcc539f6ceb6940e937a29a82bdced9090249121"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Wed May 24 17:50:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 24 17:50:15 2017 +0000"
      },
      "message": "Merge \"reduce flunctuation in boot animation start / stopping time\" into oc-dev am: 06fe82293e\nam: dcc539f6ce\n\nChange-Id: I634fb90882b73e7a0bfaebd34f619f0476af16ca\n"
    },
    {
      "commit": "dcc539f6ceb6940e937a29a82bdced9090249121",
      "tree": "98f1b04e03142a73b6d2bf08d6f1246984a75c61",
      "parents": [
        "38b7320e5d339b42fdeec1497c1933b39e0e3eb2",
        "06fe82293e9c81e6fa7660a7850239c2728f6e73"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Wed May 24 17:39:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 24 17:39:21 2017 +0000"
      },
      "message": "Merge \"reduce flunctuation in boot animation start / stopping time\" into oc-dev\nam: 06fe82293e\n\nChange-Id: I188fab63708e67b70baa2b8e7fb798866f47c9ec\n"
    },
    {
      "commit": "721c9dc1253db9a713063674d196d57b83536d6a",
      "tree": "6188bdbd9a8a5efe4f4163f31f2250582de08797",
      "parents": [
        "1ba237d237830bf97b97b1cf1d7bd205b2c4fc90"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Fri May 19 17:13:04 2017 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Tue May 23 09:34:24 2017 -0700"
      },
      "message": "reduce flunctuation in boot animation start / stopping time\n\n- Add separate 100ms interval polling for SurfaceFlinger. Otherwise,\n  it can be blocked with 1 sec polling and cause 1 sec of additional\n  delay frequently.\n\nbug: 38450031\nbug: 35253872\nTest: many reboots and check time to finish boot animation, python packages/services/Car/tools/bootanalyze/bootanalyze.py -r -c packages/services/Car/tools/bootanalyze/config.yaml -n 100 -f -e 15 -w 30 -v\n\nChange-Id: I353ca04183cbe59b82da99dc3fecfce63314cd2f\n"
    },
    {
      "commit": "71693e6683cd925b8fdf06c2431b6fe187df6f40",
      "tree": "9305cbae4c087b2227179153d7224ba3df1ba4e2",
      "parents": [
        "52f57cb7201ade08fb69cd7ee99671811c937be0"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu May 18 00:10:57 2017 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu May 18 00:10:57 2017 +0900"
      },
      "message": "Add a function to verify if idmap is made from given target/overlay packages\n\n\"--verify\" will be used to verify if idmap corresponding to given fd is maded\nfrom given target and overlay packages.\n\nTest: building succeeded and tested on sailfish.\nBug: 37179531\nChange-Id: Id19bdfd9c61670437f3e1a5c29762ce93586590f\n"
    },
    {
      "commit": "55656e4cb923d1aeef4445b3aaa3a6ce3f35c90a",
      "tree": "323e1b593b44221d81b24b43c7fbe237a6710396",
      "parents": [
        "97208056febe682001bef70988105dcdb5d52316"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Mar 31 17:23:39 2017 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri May 12 21:01:02 2017 +0000"
      },
      "message": "Fix GamepadTestCase#testButtonA CTS test\n\nHid command, JNI layer:\n- Removed dependency of the hid device on libandroid_runtime\nand libutils. Using ALooper from libandroid to process callbacks from\n/dev/uhid file descriptor.\n- Switched to using \"CREATE2\" and \"INPUT2\" constructs in uhid driver\n\nHid command, Java layer:\n- Removed delay workarounds, user now responsible for waiting for\nonInputDeviceChanged notification prior to using the hid commands.\n\nUiAutomation:\n- Added a new executeShellCommandRw function that allows bidirectional\ncommunication to shell command\n\nplatform.xml:\n- Added uhid permissions to bluetooth stack for /dev/uhid access\n\n- CTS test now consistently passes\n\nBug: 34052337\nTest: CTS test case invoked with the following command:\nrun cts -t android.hardware.input.cts.tests.GamepadTestCase\n-m CtsHardwareTestCases --skip-system-status-check\ncom.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker\n\nChange-Id: Ic916c513b7e652b1e25675f0f38f0f1f3a65d214\n"
    },
    {
      "commit": "ec1f2bcad213a6ac74595d5d6d4b43c82241f5ad",
      "tree": "188995d7b97bed4ebaea293a870aaee314583545",
      "parents": [
        "07017f2ebe325cb0b17fbcd1f2fadc24a34a24c4",
        "6fa0f075e2c4b05badf7f228a5969f1471c34d63"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri May 12 04:19:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 12 04:19:07 2017 +0000"
      },
      "message": "Merge \"Merge \"Only spawn one binder thread for screencap.\" into oc-dev am: b1edc48db0\" into oc-dev-plus-aosp\nam: 6fa0f075e2\n\nChange-Id: Iac9144bacbd7ee247fae3f01408687d8f13b0479\n"
    },
    {
      "commit": "eb6c916533e124a50001417805aacd7e11b22a21",
      "tree": "f1c8de351d2c7695481b5f379a4ac1b5e3944267",
      "parents": [
        "b78aad827cb1a74e2746b9ebd320857714c33646",
        "b1edc48db005800dc6ed15901b1c9aba691b1935"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri May 12 02:09:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 12 02:09:15 2017 +0000"
      },
      "message": "Merge \"Only spawn one binder thread for screencap.\" into oc-dev\nam: b1edc48db0\n\nChange-Id: I251c7b72196f8996051b538a59fd466b65757ce4\n"
    },
    {
      "commit": "b1edc48db005800dc6ed15901b1c9aba691b1935",
      "tree": "1ef2b33433314830fa10ea5b3fcd195ce5107f0a",
      "parents": [
        "7d75f491756973fd68a0e3ed8b462c1d2e88163b",
        "3b53fc5a84c4db40830d1810dee309accce66f09"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu May 11 22:07:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 11 22:07:37 2017 +0000"
      },
      "message": "Merge \"Only spawn one binder thread for screencap.\" into oc-dev"
    },
    {
      "commit": "a54a0df59606e89ef072b7759ba060f567cf07e8",
      "tree": "17a2193f7dd4619ddea753d1106562e02a5fbb02",
      "parents": [
        "89d7802252f61d49b8248dd489b661faadf5851e",
        "8b4c4f09f607879ee94be70a879b682522f2c535"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 11 19:34:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 11 19:34:30 2017 +0000"
      },
      "message": "Merge \"Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist\" into oc-dev am: c3b938ca5e\nam: 8b4c4f09f6\n\nChange-Id: Ia6dd41e08ea31ccc902c4d9ba714e6448898fac4\n"
    },
    {
      "commit": "8b4c4f09f607879ee94be70a879b682522f2c535",
      "tree": "361add9119ba58cba99482b66967d60ad132b2f9",
      "parents": [
        "8e160c0e16a350d52b08238e259c7bf5ae9646f4",
        "c3b938ca5ed1385ea07a500abfba31ee4943c096"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 11 18:45:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 11 18:45:00 2017 +0000"
      },
      "message": "Merge \"Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist\" into oc-dev\nam: c3b938ca5e\n\nChange-Id: I585bf57074064761c7d216f05be23d7f044208fa\n"
    },
    {
      "commit": "3b53fc5a84c4db40830d1810dee309accce66f09",
      "tree": "e8fe59b1d6197fe6529c0ba0ab5f88c020ea3304",
      "parents": [
        "a22a5d83c2ec9d4b0549e92c1d3af7550896e7ee"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu May 11 09:40:45 2017 -0700"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu May 11 17:44:45 2017 +0000"
      },
      "message": "Only spawn one binder thread for screencap.\n\nTo work around race conditions in libbinder when\nspawning new threads while being shut down.\n\nBug: 36066697\nTest: screencap still works\nChange-Id: I774d3dc2491bb578a12dede90cc7fcded976f13f\n"
    },
    {
      "commit": "983055231b999e450def3e3df377fb4e23420711",
      "tree": "f38ad992b49e239ff775a2601ec5ee8129f52c59",
      "parents": [
        "2af0676b2d89938a69eab85ba52d9902d32a7e1e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 05 17:53:53 2017 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 10 17:23:02 2017 -0700"
      },
      "message": "Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist\n\nThere is now an IBinder \"token\" that must be specified when setting\nthe whitelist duration for an Intent.  To have the whitelist supplied,\nthe caller to send a PendingIntent must pass in the same token.  The\nPendingIntent and IntentSender classes now internally maintain this token\nto pass in when their send() is called.\n\nThe big complexity for making this work is we now need to associate this\nwhitelist token correctly with the actual PendingIntent objects that\napplications and other code is getting.  To do this, we propagate the\ntoken in the Notification object, and have a new API on Parcel that allows\nus to make it available to PendingIntent when it is unmarshalled.  And\nthis allows to deal with PendingIntents appearing in nested bundles, as\nwe can propagate that information from the original Parcel to the new\nParcel that Bundle keeps to delay unmarshalling.\n\nTest: manual\nChange-Id: Idda00490ccfe2be37e4ab21354b9ab7528a52750\n"
    },
    {
      "commit": "fa6f8a76fb582d1629845e0e23d44fc60fedcb2d",
      "tree": "a582c5d980c5e32a2cba28715bf41634a0a96e39",
      "parents": [
        "168bffa03982e01d8c8f68026f4f89acb2f718ff"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Mar 01 13:21:10 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed May 10 09:42:29 2017 +0100"
      },
      "message": "Prepare for removal of junit and android.test classes from Android API (step 1)\n\nIn preparation for removing junit and android.test classes from\nthe Android API this change adds explicit dependencies on junit\nand/or legacy-android-test to ensure that modules will compile\nproperly once it is removed.\n\nCare was taken to ensure that any targets that depended,\ndirectly or indirectly, on android-support-test did not also\ndepend on junit or hamcrest as they conflict with the versions\nembedded within android-support-test.\n\nBug: 30188076\nTest: make checkbuild\n\n(cherry picked from commit 00229bc6cfd74c3221d02af6df07960a0f36af1a)\n\nChange-Id: I7fea20f92a5a92885733bc6ecb83b7276a48fbc2\nMerged-In: Ifc3ee3dc804074a3c572bf2600cfb1fe1b6fa749\n"
    },
    {
      "commit": "702d506d5788e39e83cc7ba6495f0d5410b46e7a",
      "tree": "efa1ca0be77119c15076d0b15729ea349102f806",
      "parents": [
        "d308803b82f5317eebafdf3a97baff3bcd460e60"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Mar 01 13:21:10 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon May 08 19:33:27 2017 +0100"
      },
      "message": "Prepare for removal of junit and android.test classes from Android API (step 1)\n\nIn preparation for removing junit and android.test classes from\nthe Android API this change adds explicit dependencies on junit\nand/or legacy-android-test to ensure that modules will compile\nproperly once it is removed.\n\nCare was taken to ensure that any targets that depended,\ndirectly or indirectly, on android-support-test did not also\ndepend on junit or hamcrest as they conflict with the versions\nembedded within android-support-test.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ice80a29b420061f5d0af6eb46426455abf890e5e\nMerged-In: Ifc3ee3dc804074a3c572bf2600cfb1fe1b6fa749\n"
    },
    {
      "commit": "00229bc6cfd74c3221d02af6df07960a0f36af1a",
      "tree": "544f4014f488875b01994f521e03d540ea1cd658",
      "parents": [
        "547a7ec9dbbf38651c0fefc1c7577362de326496"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Mar 01 13:21:10 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon May 08 13:27:51 2017 +0100"
      },
      "message": "Prepare for removal of junit and android.test classes from Android API (step 1)\n\nIn preparation for removing junit and android.test classes from\nthe Android API this change adds explicit dependencies on junit\nand/or legacy-android-test to ensure that modules will compile\nproperly once it is removed.\n\nCare was taken to ensure that any targets that depended,\ndirectly or indirectly, on android-support-test did not also\ndepend on junit or hamcrest as they conflict with the versions\nembedded within android-support-test.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ifc3ee3dc804074a3c572bf2600cfb1fe1b6fa749\n"
    },
    {
      "commit": "d1294465fbbf05b831d4e5d718bae229314635de",
      "tree": "688dfbc166333efd1e2eb103ff571528a26a0aca",
      "parents": [
        "38b67a482c50ddf81f751dffc8481d9316a4663c",
        "8c921a8f14fadb9da17c2885b75a22a71f237cd2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Sat May 06 02:29:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat May 06 02:29:03 2017 +0000"
      },
      "message": "Merge \"Offer to wait until broadcasts have drained.\" into oc-dev am: 6f4aab2c01\nam: 8c921a8f14\n\nChange-Id: Ia55b3b9666b2683e880e07071b53645ba309a57c\n"
    },
    {
      "commit": "fd65813157e4dd7fa9f0b7c5dd4c8f536cc6316a",
      "tree": "5e475f046b4815f6b8bdb01eb96550d2608113c7",
      "parents": [
        "e44125cd3a5fc25306285bdfcacc00459e01307b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 03 11:38:01 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 05 14:58:47 2017 -0600"
      },
      "message": "Offer to wait until broadcasts have drained.\n\nWe\u0027ve seen evidence of lab devices racing with other apps that are\nusing cache space immediately after tests wipe it clean, which can\ncause test failures.  To mitigate this, try our best to wait for the\ndevice to go \"idle\" by watching for broadcast queues to fully drain.\n\nAlso improve javadocs along the way.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest\nBug: 37486230, 37566983, 37913442, 37914374\nChange-Id: I4d430db443b6fa6d33a625fe07b90279b5d51c12\n"
    },
    {
      "commit": "60df13e750ff65c583f66460dccfc817f96e7b19",
      "tree": "e377558216e9c0ff8ab936d7f9579f1595d69f29",
      "parents": [
        "21d9aeb74618830f161806e67399f2508892dc9a",
        "c4d7248cdd84eab690e69cf2f2b56d399144dab8"
      ],
      "author": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Thu May 04 05:29:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 04 05:29:12 2017 +0000"
      },
      "message": "Merge \"Rename CompatibilityDisplay to Vr2dDisplay\" into oc-dev am: 1d01f9cf67\nam: c4d7248cdd\n\nChange-Id: I8714be5933827c015f1446d5231f5c1f704b53c3\n"
    },
    {
      "commit": "2b9aaedf6310694de31301659ce604ff195b32ee",
      "tree": "22d0090b97ecf33adbce6eac6b76c98fa59f5ca5",
      "parents": [
        "e4e953ae4c42c10efe0c578a8dcfa5726bf8c6f7"
      ],
      "author": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Mon May 01 01:34:19 2017 -0700"
      },
      "committer": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Wed May 03 22:16:02 2017 -0700"
      },
      "message": "Rename CompatibilityDisplay to Vr2dDisplay\n\nCompatibilityDisplay used for displaying 2D activities in Vr world. This\nis confusing in more than one way. To clarify what it really means,\nrename it to Vr2dDisplay.\n\nChanges in this CL -\n\n- /s/CompatibilityDisplay/Vr2dDisplay\n- /s/Compatibility/Vr2d - in CompatibilityDisplay context.\n\nBug: 37851944\nTest: cts/hostsidetests/services/activityandwindowmanager/util/run-test\nCtsServicesHostTestCases android.server.cts.ActivityManagerDisplayTests\npasses on Marlin.\n\nChange-Id: I0a442302fa9d0f48bbd0c01a7766b94369e04386\nSigned-off-by: Karthik Ravi Shankar \u003ckarthikrs@google.com\u003e\n"
    },
    {
      "commit": "5fd001ac82c4780bd40bd07d3e0d2c732df3a843",
      "tree": "0c54f49e457feb1658a38c16bdd10b339db7872a",
      "parents": [
        "1f14b1509c27b227991399d0e7e5e5dc00a608ae",
        "875c8445a86d3f4862e1bf8bffcfe4d972ff6912"
      ],
      "author": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Mon Apr 24 22:45:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 24 22:45:33 2017 +0000"
      },
      "message": "Merge changes from topic \u0027virtual-display-api\u0027 into oc-dev am: 13ba34bf37\nam: 875c8445a8\n\nChange-Id: I12f88b60d82fba4227c9f565009e6c3e42f6798c\n"
    },
    {
      "commit": "13ba34bf3789a33a0ab62947b12445820dffa945",
      "tree": "8a93de92360956ad5ae0ae493001124aba94d640",
      "parents": [
        "880f4f4cc2982f63674167fc9b38b970997b6594",
        "33f70c16eb99534ffd9338f7bf03f23d19fe6611"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 24 21:33:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 24 21:33:59 2017 +0000"
      },
      "message": "Merge changes from topic \u0027virtual-display-api\u0027 into oc-dev\n\n* changes:\n  Add command line option to set compatibility display properties\n  Make VR mode virtual display properties customizable\n"
    },
    {
      "commit": "1957ffcfb4e27bcf1be9ccd0911f2d5f36218243",
      "tree": "2d20fcf03aaad5d0198a3064e4024d59c2c79a0b",
      "parents": [
        "3dc5f0f073e644d55cba9da86de7ff9e2732d98b",
        "1181074805a043646f5f025632dc51619ae4b56a"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Apr 20 17:29:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 20 17:29:15 2017 +0000"
      },
      "message": "Merge \"Stop hwbinder threads from app_process.\" into oc-dev am: fd25662e03\nam: 1181074805\n\nChange-Id: I2c442d25a3083c697c5306b8230710f7e5b9a37e\n"
    },
    {
      "commit": "b69ffdb2078e2272fa5637a8c8f2b58020946e20",
      "tree": "433c9fbd1461dfcd484c1824022254edb9bfc6ee",
      "parents": [
        "f9f8120e56caf757e4a995c6a62273f9210c041d"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Apr 19 16:40:49 2017 -0700"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Apr 19 16:40:49 2017 -0700"
      },
      "message": "Stop hwbinder threads from app_process.\n\nTo prevent it from hanging up.\n\nBug: 37500397\nBug: 34085250\nTest: DismissDialogsInstrumentation test\nChange-Id: Ia69f6a5676666bc9286272b82f242d7b1d0ee286\n"
    },
    {
      "commit": "695489762023063a7284bba8d9a36ec7ede198a5",
      "tree": "75d6b5d88ef1b4a0ef3f319548e003acc20f571a",
      "parents": [
        "9e9d929ed892321727cfc7dfdde37541a6ef35ab",
        "7c0ae0f58b9f258560088b670d3a4cb3ec5d832a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 18 18:35:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 18 18:35:20 2017 +0000"
      },
      "message": "Merge \"bitmaps and pixelrefs no longer need lock/unlock\""
    },
    {
      "commit": "7c0ae0f58b9f258560088b670d3a4cb3ec5d832a",
      "tree": "dcbf7f79e0d6ad941c77cfc0e70299295678c76a",
      "parents": [
        "8e3b1a63f9cd76a71ecbfc8c6a0c68b4cbecab90"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Apr 17 17:05:48 2017 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Apr 18 10:22:42 2017 -0400"
      },
      "message": "bitmaps and pixelrefs no longer need lock/unlock\n\nTest: covered by CtsGraphicsTestCases and hwui_unit_tests\n\nChange-Id: I42a25961a2eb3755d2fd22a617aa21a24ec0994f\n"
    },
    {
      "commit": "ab16ea9094d2f26291f5d8f8652950b3ed76e7ee",
      "tree": "350396bd6f9ecfcf15be20a3bb3254d35b304586",
      "parents": [
        "89e8b7b58efe9a8b986c937dbb9ac806d34d2bf8",
        "3e5a34ea8e90e013c7edd39675746130a6eea954"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Tue Apr 18 00:32:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 18 00:32:58 2017 +0000"
      },
      "message": "Merge \"Revert \"MediaSession: Add methods for setting shuffle and repeat modes\"\" into oc-dev"
    },
    {
      "commit": "33f70c16eb99534ffd9338f7bf03f23d19fe6611",
      "tree": "558c13938e10d310319d5d88489b3b641543fef8",
      "parents": [
        "cdf9ce7229e791fe345b0860fe32433f15c95db8"
      ],
      "author": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Thu Apr 13 19:27:43 2017 -0700"
      },
      "committer": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Mon Apr 17 14:25:25 2017 -0700"
      },
      "message": "Add command line option to set compatibility display properties\n\nTo be able to control the Vr compatibility virtual display\u0027s is useful.\nIn this case, it will be useful to control and test the\nCompatibilityDisplayProperties API in VrManager.\n\nBug: 37260266\nTest: adb shell set-compatibility-display-properties 500 500 500\n      adb shell dumpsys display\n\n      \u003e\u003e  mBaseDisplayInfo\u003dDisplayInfo{\"VR 2D Display\", uniqueId\n      \"virtual:android,1000,VR 2D Display,0\", app 500 x 500, real 500\n      x 500, largest app 500 x 500, smallest app 500 x 500, mode 6,\n      defaultMode 6, modes [{id\u003d6, width\u003d500, height\u003d500, fps\u003d60.0}],\n      colorMode 0, supportedColorModes [0], hdrCapabilities null,\n      rotation 0, density 500 (500.0 x 500.0) dpi...\n\nChange-Id: Ice5bc569f380154bf2d9e9f9b9387e801d678774\nSigned-off-by: Karthik Ravi Shankar \u003ckarthikrs@google.com\u003e\n"
    },
    {
      "commit": "ea2f3be7aae9435ce21743c959b62731c87a36b8",
      "tree": "6fb9cfc2337347fbb05e545cbd40e61bf784ee86",
      "parents": [
        "5fc6e63e2ea80aafeb5802d50e6d3e7dbc6215ae"
      ],
      "author": {
        "name": "Todd Lee",
        "email": "leetodd@google.com",
        "time": "Thu Mar 16 14:00:52 2017 -0700"
      },
      "committer": {
        "name": "Todd Lee",
        "email": "leetodd@google.com",
        "time": "Mon Apr 17 14:12:00 2017 +0000"
      },
      "message": "OEM single-build/multi-SKU via dynamic RRO support\n\nThe purpose here is to provide support for selectively\nenabling Runtime Resource Overlays (RROs) (specifically\nthose pertaining to a specific SKU, within a OEM\u0027s \"single\nbuild\" covering multiple SKUs) at boot based on the value\nof a pre-defined system property.\n\nThis mechanism is designed to be compatible with other,\nrecent changes to Runtime Resource Overlays - specifically:\n\n- has no effect on \u0027isStatic\u0027. Resource overlays must be\n  attributed as static in order to qualify for loading into\n  the system_server. The \u0027requiredSystemPropertyName/\n  requiredSystemPropertyValue\u0027 mechanism operates\n  independent of this and can be used on both static and\n  non static overlays. The effect of specifying a conditional\n  property on any overlay is that it will ONLY be enabled\n  in the event that the system reflects both the property\n  and the specified value (Note that in the ABSENCE of a\n  conditional property, overlays are assumed to be enabled).\n\n- has no effect on OverlayManagerService (OMS) API. The\n  OMS provides the system with an interface through which\n  overlays can be enabled/disabled and even rearranged at\n  runtime. This provides the basis of support for various\n  user-level features (e.g. dynamic theme selection).\n  The \u0027requiredSystemPropertyName/requiredSystemPropertyValue\u0027\n  mechanism operates independent of this -\n  with enablement being completely coupled to the available\n  system properties on the device and NOT subject to change\n  at runtime.\n\nNote: as part of this change, original overlay tests have been\nupdated (fixed) and expanded to include tests to cover the\nconditional property implementation.\n\nIssue: http://b/35100249\nTest: frameworks/base/core/tests/overlaytests/testrunner.py\n\nChange-Id: I1990ce21a27a385db1e2f53294b69dd03988351e\n(cherry picked from commit d5566c6c47faa6b9dda282741e25ac78c9487d58)\n"
    },
    {
      "commit": "d5566c6c47faa6b9dda282741e25ac78c9487d58",
      "tree": "fc666ea0f61f1e82909cd5a4f90a0774b9de9c8c",
      "parents": [
        "f9993a7b4490df05381a0a097100233f70adcdac"
      ],
      "author": {
        "name": "Todd Lee",
        "email": "leetodd@google.com",
        "time": "Thu Mar 16 14:00:52 2017 -0700"
      },
      "committer": {
        "name": "Todd Lee",
        "email": "leetodd@google.com",
        "time": "Thu Apr 13 19:33:11 2017 -0700"
      },
      "message": "OEM single-build/multi-SKU via dynamic RRO support\n\nThe purpose here is to provide support for selectively\nenabling Runtime Resource Overlays (RROs) (specifically\nthose pertaining to a specific SKU, within a OEM\u0027s \"single\nbuild\" covering multiple SKUs) at boot based on the value\nof a pre-defined system property.\n\nThis mechanism is designed to be compatible with other,\nrecent changes to Runtime Resource Overlays - specifically:\n\n- has no effect on \u0027isStatic\u0027. Resource overlays must be\n  attributed as static in order to qualify for loading into\n  the system_server. The \u0027requiredSystemPropertyName/\n  requiredSystemPropertyValue\u0027 mechanism operates\n  independent of this and can be used on both static and\n  non static overlays. The effect of specifying a conditional\n  property on any overlay is that it will ONLY be enabled\n  in the event that the system reflects both the property\n  and the specified value (Note that in the ABSENCE of a\n  conditional property, overlays are assumed to be enabled).\n\n- has no effect on OverlayManagerService (OMS) API. The\n  OMS provides the system with an interface through which\n  overlays can be enabled/disabled and even rearranged at\n  runtime. This provides the basis of support for various\n  user-level features (e.g. dynamic theme selection).\n  The \u0027requiredSystemPropertyName/requiredSystemPropertyValue\u0027\n  mechanism operates independent of this -\n  with enablement being completely coupled to the available\n  system properties on the device and NOT subject to change\n  at runtime.\n\nNote: as part of this change, original overlay tests have been\nupdated (fixed) and expanded to include tests to cover the\nconditional property implementation.\n\nIssue: http://b/35100249\nTest: frameworks/base/core/tests/overlaytests/testrunner.py\n\nChange-Id: I1990ce21a27a385db1e2f53294b69dd03988351e\n"
    },
    {
      "commit": "3e5a34ea8e90e013c7edd39675746130a6eea954",
      "tree": "9d4daab7f1fd6a9ef230e9b1a8d493736e13e196",
      "parents": [
        "7066c9e446bb626804789ac29f0e494aaf94f1bf"
      ],
      "author": {
        "name": "Sungsoo",
        "email": "sungsoo@google.com",
        "time": "Tue Apr 04 13:35:24 2017 +0900"
      },
      "committer": {
        "name": "Sungsoo",
        "email": "sungsoo@google.com",
        "time": "Thu Apr 13 09:43:23 2017 +0900"
      },
      "message": "Revert \"MediaSession: Add methods for setting shuffle and repeat modes\"\n\nThis reverts commit ba11085635ea3ef9383b34dd44c43f2a6cd832ff.\n\nBug: 36844917, Bug: 36525228, Bug: 36525325\nTest: Pass MediaSessionTest and MediaControllerTest\nChange-Id: I4805ea58107b5fab8c9f5f0fcaffd1e0e4882ed8\n"
    },
    {
      "commit": "b4c2e6f468edcdd18359a5eaf71f545676e878b5",
      "tree": "aa70becfa7840094e79b7bc742a720a15f96c0a0",
      "parents": [
        "f74210c3a3e4e158822651f86795e1dc90dea5a4",
        "a56ba60c944c82265906f40088fddecb65705733"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 12 21:10:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 12 21:10:37 2017 +0000"
      },
      "message": "Merge \"\"bmgr restore\" really should wait until operation finishes.\" into oc-dev"
    },
    {
      "commit": "a56ba60c944c82265906f40088fddecb65705733",
      "tree": "971e02a5b84befdaaccf5595d87589516b71f493",
      "parents": [
        "6acaa0382c86ac1e557c92e4d8dd83fb2c4972f2"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 12 10:10:22 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 12 11:08:49 2017 -0700"
      },
      "message": "\"bmgr restore\" really should wait until operation finishes.\n\nTest: manual test\nBug 37246838\n\nChange-Id: Ice381dc250e2d2a59cff48152dd3c8d6897d0804\n"
    },
    {
      "commit": "9d5f8e11e11e93fbf0d9cbcbb68b7b0062695e5d",
      "tree": "f149fe5a2fc1a38080be1d53a038a1c648782b60",
      "parents": [
        "62abe8f8027ccc5a98133b93582ad23ff0573d0c"
      ],
      "author": {
        "name": "Johan Toras Halseth",
        "email": "johanth@google.com",
        "time": "Tue Apr 11 11:49:34 2017 +0100"
      },
      "committer": {
        "name": "Johan Toras Halseth",
        "email": "johanth@google.com",
        "time": "Tue Apr 11 11:49:34 2017 +0100"
      },
      "message": "Add helptext to bu command.\n\nbu is used by adb backup/restore, but since flags passed to these adb\ncommands are just forwarded to bu, we have no guarantee that the help\ntext for adb shows an up to date description of what bu can do. We\ntherefore add the help text to bu, such that it is easier to keep in\nsync.\n\nTest: adb shell bu help\n\nBug: 36170696\nChange-Id: I8155d17b5c942ce19b981f4a157e7cc7810490ce\n"
    },
    {
      "commit": "b706bb7e52a43ce79bc348bc19354c904dfe7d31",
      "tree": "dc63d1696b569f33ada102b22c11d3d465a211e4",
      "parents": [
        "4a306894145340a4fe08b70b569eaa31641b38e6"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Fri Apr 07 09:31:01 2017 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Mon Apr 10 20:55:03 2017 +0000"
      },
      "message": "ignore RemoteException from pm if shutdown is already on-going\n\n- In new shutdown flow, adb is guaranteed to be alive while system server\n  is alive.\n- power manager can be killed before system server is killed.\n- This leads into RemoteException for shutdown request to power manager.\n- If shutdown is already on-going (\u003dsys.powerctl set), the RemoteException\n  should be ignored.\n\nbug: 37096155\nTest: adb shell svc power reboot|shutdown and check output to adb\nChange-Id: Ia90a900d55123bd7c1bf57c90c49d35332ebfdf5\n"
    },
    {
      "commit": "4b8c7f67aca0825203338a066b3148c2fbb98587",
      "tree": "e9fca4609601faa5f65805bcb90fd5d9d90ebaf0",
      "parents": [
        "c85aa306c1a106cab7d486a4134de5acd3c6369a"
      ],
      "author": {
        "name": "Johan Toras Halseth",
        "email": "johanth@google.com",
        "time": "Wed Apr 05 20:37:52 2017 +0100"
      },
      "committer": {
        "name": "Johan Toras Halseth",
        "email": "johanth@google.com",
        "time": "Wed Apr 05 20:45:32 2017 +0100"
      },
      "message": "Change flag from -includekeyvalue to -keyvalue/-nokeyvalue\n\nThe original flag was added in ag/1946677. As pointed out\nin ag/2065837 we ought to stick to the syntax used for\nother flags.\n\nTest: adb backup -keyvalue -all\nChange-Id: Ie2c7ee3d85740abadaa4119d23470cd9470bd981\n"
    },
    {
      "commit": "d1794cdbb4183774ac68e9d445ca87835fbe6461",
      "tree": "9d6b930c88fceab8792cadec7e6ea6dc58b116da",
      "parents": [
        "7a7e415967ace2d554cedb4ceb76123324c0ef94"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Tue Apr 04 12:21:19 2017 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Tue Apr 04 22:21:32 2017 +0000"
      },
      "message": "show different timing log for shutdown animation\n\nbug: 36873098\nTest: reboot and check log\nChange-Id: Ic3adaba383cc29dba039a7fb5adcb01d4c0c963b\n"
    },
    {
      "commit": "b593842063770f9e75c623a4bc7bb41b4c1830c6",
      "tree": "25c843fbdf41d802f73265c700e6574b60508b85",
      "parents": [
        "3f2bbcbe92cd2500746153ed2378278c1b2a53e2"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Thu Mar 23 13:46:24 2017 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Mon Apr 03 14:43:14 2017 -0700"
      },
      "message": "support shutdown animation from bootanim\n\n- init will set sys.powerctl property and run bootanim.\n- Use /oem/media/shutdownanimation.zip or\n  /system/media/shutdownanimation.zip for animation file.\n  If none of them exist, android animation will be used.\n- Disable audio playing for shutdown animation.\n- Disable TimeCheckThread for shutdown animation. It\n  accesses /data partition and can block umount.\n\nbug: 36526187\nTest: many reboots\n\nChange-Id: If02c73cda2015317d88d056cd45201208da49946\n"
    },
    {
      "commit": "74db2a3667e69138e2af8ea4ff053a43cc262aa8",
      "tree": "b6e48f7dcc0ed10cbb223b4c7a984e09becaf779",
      "parents": [
        "99493dbc94989d4493ca6acb0db265a02f49f62e"
      ],
      "author": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Sun Mar 26 02:46:48 2017 -0700"
      },
      "committer": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Fri Mar 31 08:37:12 2017 -0700"
      },
      "message": "Add vr persistent mode enable/disable\n\nPersistent vr mode toggle control is needed sometimes from command line.\nThis also adds the infrastructure for future vr commands.\n\nBug: 36071574\nTest: adb shell vr set-persistent-vr-mode-enabled true\n      adb shell dumpsys vrmanager\n      \u003e\u003e Persistent VR mode is currently: enabled\n      adb shell vr set-persistent-vr-mode-enabled false\n      adb shell dumpsys vrmanager\n      \u003e\u003e Persistent VR mode is currently: disabled\n\nChange-Id: I47a858e0696a907e746d50e2c6ca3d18197864a7\nSigned-off-by: Karthik Ravi Shankar \u003ckarthikrs@google.com\u003e\n"
    },
    {
      "commit": "72ba815ca41e72a3d12ae8dff1d6806220060b11",
      "tree": "315fd928d3263d0114755e9700da25fc7eecba27",
      "parents": [
        "2858ad3a4b9d6c0a715ce1506eaec257b5d7cebd",
        "e53e2d9576cbcf6fc2bd9c8674e162bef7297226"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Mar 27 15:22:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 27 15:22:52 2017 +0000"
      },
      "message": "Merge \"Add a new \"virtual disk\" feature.\""
    },
    {
      "commit": "e53e2d9576cbcf6fc2bd9c8674e162bef7297226",
      "tree": "e53df1468009a650d8719220756b7feca63e6fa2",
      "parents": [
        "20fd49d8c76fb93e721388f7e66761cb1c2d1c20"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Mar 25 23:14:06 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Mar 25 23:26:21 2017 -0600"
      },
      "message": "Add a new \"virtual disk\" feature.\n\nIt\u0027s extremely difficult to test storage related logic on devices\nthat don\u0027t have physical SD card slots.  So to support better\ndebugging and testing, add a new \"virtual disk\" feature which mounts\na 512MB file through loop device.\n\nAlso move ParcelFileDescriptor.open() over to using Os.open() so\nthat it gets StrictMode treatment.\n\nBug: 34903607\nTest: builds, boots, virtual disk works\nChange-Id: I072a3a412cfcc8a2a3472919b7273a1ed794fd98\n"
    },
    {
      "commit": "b59a4b85ade3f1f408def6a0dd3dbb146225bdd7",
      "tree": "c0591b4086fde7cfcab9654a3cffff12cc9a5a75",
      "parents": [
        "b1c88ecf05bd8992dccd17e6f0b59db7e7ac819f"
      ],
      "author": {
        "name": "Johan Toras Halseth",
        "email": "johanth@google.com",
        "time": "Fri Mar 03 15:37:43 2017 +0000"
      },
      "committer": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Fri Mar 24 23:51:48 2017 +0000"
      },
      "message": "Add support for key-value packages to adb backup/restore.\n\nFor adding CTS tests for packages having key-value backup agents, we add\nsupport for key-value backups to the adb backup/restore command.\nPreviously, packages not supporting fullbackup would just be skipped on\nthis command. Now, by adding the -keyvalue flag to the adb backup command,\npackages supporting key-value will also be added to the resulting\ntarball. Similarly, if the tarball being supplied to adb restore\ncontains data from key-value packages, it will be restored.\n\nThis will later be utilized for writing CTS tests for such packages.\n\nTest: adb backup -includekeyvalue -all \u0026\u0026 adb restore backup.ab\n\nChange-Id: I7b4ccfb7072d01d29a888952145d7cce90a4f59e\n"
    },
    {
      "commit": "24d5893b25ce62b7bc9ed9f35fa72b9d47f23cdd",
      "tree": "5968cc7096b6951b770b3a5b3d8a92fbbe406edd",
      "parents": [
        "f9747661698a60e1d1af9ad3c7afcc1d16eac403"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Mar 21 14:13:58 2017 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Mar 22 17:20:48 2017 -0700"
      },
      "message": "Added a UserManager.DISALLOW_AUTOFILL restriction.\n\nbug: 35710740\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases -t android.autofillservice.cts.LoginActivityTest#testUserRestriction\nTest: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedDeviceOwnerTest#testDisallowAutofill_allowed\nTest: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedProfileOwnerTest#testDisallowAutofill_allowed\nTest: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testDisallowAutofill_allowed\n\nChange-Id: I41b2bf9fe3bc8df627c6650960bd11346c430a7e\n"
    },
    {
      "commit": "1665d0f028e3a225cb117d3e227bef5c5dace2d4",
      "tree": "176d355b285d5d210ea8238f2dc59444a1a7964a",
      "parents": [
        "f18cec265d471d7b6f3a738bc478b66b149692d7"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Mar 10 14:46:57 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Mar 16 15:45:10 2017 -0700"
      },
      "message": "Add support for configForSplit\n\nApplications with the android:isolatedSplits\u003d\"true\" attribute in\ntheir AndroidManifest.xml would have their Split APKs loaded in\nisolation of each other, based on a set of dependencies.\n\nConfiguration Splits generated for a Feature split would not be properly\nloaded before, so this change, along with a tools change, fixes this\nissue and completes support for isolatedSplits.\n\nBug: 30999713\nTest: CTS test coming (depends on some tool changes)\nChange-Id: Ia4e7b0e69168a9d6637867558e306f7031720fb3\n"
    },
    {
      "commit": "0434289c45bc18f81f26d66e6bcbf8facf128665",
      "tree": "a055cae26bc507d8182663a5e89337c9aa64fe60",
      "parents": [
        "58277fab89c22ab7a9ac1f77da37a4368c91582f"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu Mar 02 15:24:19 2017 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Wed Mar 15 00:07:34 2017 +0900"
      },
      "message": "Apply static RRO\n\nStatic RRO package is designed to support resource overlay for system\nserver and they shouldn\u0027t be disabled or changed by a user.\nThe design details are in go/treble-static-rro.\n\nSelection method for static RROs will be applied later when its design\nis determined.\n\nTest: building succeeded and tested on sailfish.\nBug: 35742444\nChange-Id: I8cbf2fd37a73a24bf6ad291e2c5cf75a0fc757fc\n"
    },
    {
      "commit": "8ee7285128c3843401d4c4d0412cd66e86ba49e3",
      "tree": "ea62692565464d21383179f5a1923e26c7effe28",
      "parents": [
        "83c4712abdd89ca60c9916e72e755b2548e6b922"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Mar 10 10:36:45 2017 -0800"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Mar 10 18:34:18 2017 -0800"
      },
      "message": "Move rotation tracking to DisplayContent\n\nThis CL moves rotation tracking from WindowManagerService to\nDisplayContent. This way displays can be rotated independently and\nrotation of the main display won\u0027t affect rotation of secondary\nones.\n\nBug: 34242678\nTest: android.server.cts.ActivityManagerDisplayTests\nTest: testRotationNotAffectingSecondaryScreen\nChange-Id: Ic46aaa523482b31ff5ec77f0c2908ceda1156fc0\n"
    },
    {
      "commit": "2ba0df0374e79f0196293431bcbacd555a10b688",
      "tree": "7658172d6f7dbd1ee8264b51439caca078fdedc6",
      "parents": [
        "3660504f149c9b7641d33d14bfc2eaa2ab84bd8a",
        "bd401a77f8e1e132fb2f632086a435dac71303bf"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Mar 08 21:59:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 08 21:59:13 2017 +0000"
      },
      "message": "Merge \"update uiautomator doclava build to use new location for templates as per: https://googleplex-android-review.git.corp.google.com/#/c/1524290/\""
    },
    {
      "commit": "bd401a77f8e1e132fb2f632086a435dac71303bf",
      "tree": "93dd6dc646ef7619cfbc74811e388d65ccd0c333",
      "parents": [
        "076b6c901fa78c965605d0413522d63b2a511893"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Mar 08 11:18:50 2017 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Mar 08 11:21:03 2017 -0800"
      },
      "message": "update uiautomator doclava build to use new location for templates\nas per:\nhttps://googleplex-android-review.git.corp.google.com/#/c/1524290/\n\nChange-Id: Ib8588f01005a691474622e6ca81f63234f796f82\n"
    },
    {
      "commit": "7de2f9c73fbe93bfb7dff3c046cf7a3137599f6c",
      "tree": "d1db83724b9bc9f6e3dd82856d71675f65ed4a39",
      "parents": [
        "cb0629eaa1a63684b1e6dbb366d42e80a26a5da9"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu Mar 02 12:45:10 2017 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Fri Mar 03 07:23:23 2017 +0900"
      },
      "message": "Reinstate codes to enable RRO on system server\n\nTest: building succeeded and tested with sailfish\nBug: 35742444\nChange-Id: I99d0f1d097525d3eb46255d6cf823f6ae2a02385\n"
    },
    {
      "commit": "6d7cb232362d8036875d1d3c3f0e8f5d47a2ad25",
      "tree": "5fe52ea9b5bd9e0b0aa7e3dbc312733858d7d8ed",
      "parents": [
        "894b5b9998a9c8417cd7c9cbd4bdf03074475160"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Mon Jan 30 10:43:18 2017 -0800"
      },
      "committer": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Tue Feb 28 12:55:59 2017 -0800"
      },
      "message": "Sending explicit broadcast to the launcher when a package is installed\n\nTest: Manually tested on device and add CTS tests\nBug: 32920609\nChange-Id: Ic23c077a469fb41d6c4e123d4bc022899f634198\n"
    },
    {
      "commit": "2e0d0f311100d8e0bb40d7d60b8498237f011f0c",
      "tree": "00377afd35d28d384d4ad735b250051481debe31",
      "parents": [
        "8716ef94194ad715ef596de4a38abb5b2a5c8186"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonymobile.com",
        "time": "Thu Jun 02 09:35:31 2016 +0200"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Feb 23 14:01:38 2017 -0800"
      },
      "message": "OMS: integrate OverlayManagerService into framework\n\nHand over ownership of overlays to OverlayManagerService.\n\nChanges to a package\u0027s overlays are propagated using the activity life\ncycle. Affected activities will be recreated as needed. This provides a\nwell-defined point to modify an application\u0027s assets while the\napplication is paused.\n\nConsolidate how overlays targeting the system and overlays targeting\nregular applications are handled. Previously, system overlays were\nhandled as a special case. Now, everything is handled identically. As a\nside effect, the call to idmap --scan during Zygote boot has become\nobsolete and is removed.\n\nInformation on what overlays to use is recorded in\nApplicationInfo.resourceDirs. The PackageManagerService is responsible\nfor the creation of ApplicationInfo objects. The OverlayManagerService\nis responsible for informing the PackageManagerService in advance about\nwhat resourceDirs to use.\n\nWhen launching an application, the ApplicationInfo is already populated\nwith up-to-date information about overlays.\n\nWhen enabling or disabling an overlay for a running application, the\nOverlayManagerService first notifies the PackageManagerService about the\nupdated resourceDirs. It then tells the ActivityManagerService to push\nthe new ApplicationInfo object to the application\u0027s ActivityThread.\nFinally the application requests its ResourcesManager to create new\nResourcesImpl objects based on the updated paths.\n\nChange-Id: Ib8afa05ccab4e2db558f89ce4423983c086bb61a\nCo-authored-by: Martin Wallgren \u003cmartin.wallgren@sonymobile.com\u003e\nSigned-off-by: Zoran Jovanovic \u003czoran.jovanovic@sonymobile.com\u003e\nBug: 31052947\nTest: run tests from \u0027OMS: tests for OverlayManagerService\u0027\n"
    },
    {
      "commit": "df0824ad4cd31a3e96653fe82ce969b08cd00be2",
      "tree": "12d8acb544a545a2bf061640de58d4ebfb6f3bad",
      "parents": [
        "6dd3529aa6ba6feaaaedfec3327846cdac0854e8",
        "95459806920dec34abb3214ab6e1a9b9213a2a61"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Feb 23 07:36:12 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 07:36:16 2017 +0000"
      },
      "message": "Merge \"Revert \"OMS: integrate OverlayManagerService into framework\"\""
    },
    {
      "commit": "95459806920dec34abb3214ab6e1a9b9213a2a61",
      "tree": "1e4d0a136606788c633f5b823daca0caa4334499",
      "parents": [
        "21a3d1ad686dee97b9cf0ed80389ee2ab0d48013"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Feb 23 07:35:39 2017 +0000"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Feb 23 07:35:39 2017 +0000"
      },
      "message": "Revert \"OMS: integrate OverlayManagerService into framework\"\n\nBug: 31052947\nBug: 35697944\n\nThis reverts commit 21a3d1ad686dee97b9cf0ed80389ee2ab0d48013.\n\nChange-Id: I2d86931020301524c26cf8c8e80d557c97fdd6c3\n"
    },
    {
      "commit": "0f09817859b19054aee3feded1dbf9757a5ec131",
      "tree": "c58d8246d55ef36eedcf1be7c75c7fb039c53782",
      "parents": [
        "a49777092042b1b36712d174bbb469f9fb396e26",
        "21a3d1ad686dee97b9cf0ed80389ee2ab0d48013"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 23 03:58:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 03:59:01 2017 +0000"
      },
      "message": "Merge \"OMS: integrate OverlayManagerService into framework\""
    },
    {
      "commit": "21a3d1ad686dee97b9cf0ed80389ee2ab0d48013",
      "tree": "79a415bcc73f60cda6dbac4ca414b22741c47266",
      "parents": [
        "f9bd2944694539f1dce74d420156cc50bbb4af14"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonymobile.com",
        "time": "Thu Jun 02 09:35:31 2016 +0200"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 21 14:29:43 2017 -0800"
      },
      "message": "OMS: integrate OverlayManagerService into framework\n\nHand over ownership of overlays to OverlayManagerService.\n\nChanges to a package\u0027s overlays are propagated using the activity life\ncycle. Affected activities will be recreated as needed. This provides a\nwell-defined point to modify an application\u0027s assets while the\napplication is paused.\n\nConsolidate how overlays targeting the system and overlays targeting\nregular applications are handled. Previously, system overlays were\nhandled as a special case. Now, everything is handled identically. As a\nside effect, the call to idmap --scan during Zygote boot has become\nobsolete and is removed.\n\nInformation on what overlays to use is recorded in\nApplicationInfo.resourceDirs. The PackageManagerService is responsible\nfor the creation of ApplicationInfo objects. The OverlayManagerService\nis responsible for informing the PackageManagerService in advance about\nwhat resourceDirs to use.\n\nWhen launching an application, the ApplicationInfo is already populated\nwith up-to-date information about overlays.\n\nWhen enabling or disabling an overlay for a running application, the\nOverlayManagerService first notifies the PackageManagerService about the\nupdated resourceDirs. It then tells the ActivityManagerService to push\nthe new ApplicationInfo object to the application\u0027s ActivityThread.\nFinally the application requests its ResourcesManager to create new\nResourcesImpl objects based on the updated paths.\n\nCo-authored-by: Martin Wallgren \u003cmartin.wallgren@sonymobile.com\u003e\nSigned-off-by: Zoran Jovanovic \u003czoran.jovanovic@sonymobile.com\u003e\nBug: 31052947\nTest: run tests from \u0027OMS: tests for OverlayManagerService\u0027\nChange-Id: Idc96dae6fc075d5373aa055bbf50e919136d7353\n"
    },
    {
      "commit": "ed4cd7a1ba0e05bf89d750d88194504ec14d63ab",
      "tree": "ceda119aae9ab6c7455c6372d8bdf37657916557",
      "parents": [
        "830d4b422db2f2ae4af17403ccd1d34fd6f0bd6f",
        "4b4ce6fa177b52c99b87c4d45c0a85860eb267a0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 21 21:01:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 21 21:01:20 2017 +0000"
      },
      "message": "Merge \"Log pm install time and package name\""
    },
    {
      "commit": "4b4ce6fa177b52c99b87c4d45c0a85860eb267a0",
      "tree": "21cc44f4b11938cf955cc2bc5eba38001d5ca133",
      "parents": [
        "a722a2ea38f65eda5e7cfaaff29465d396e6f1a3"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Thu Feb 16 18:29:46 2017 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Feb 17 16:30:00 2017 -0800"
      },
      "message": "Log pm install time and package name\n\nBug: 32559349\nTest: manual\nChange-Id: Ibfbea8cab2ab085109ee4d5a248bfacf82cdfbbb\n"
    },
    {
      "commit": "8c9a6b0089ff712df4e06454ade1443b77a4a9f4",
      "tree": "7a29cd634245b4b76d0d87f102e4f36c56d32c82",
      "parents": [
        "2acd0cfaf09cd826d8dc6a1885d7452d9017609b",
        "be0b8896d1bc385d4c8fb54c21929745935dcbea"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 20:46:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 20:46:12 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Per user setting for instant app\"\"\""
    },
    {
      "commit": "9c78253b75c926ef28dbdd7b2d1dc618da98d2df",
      "tree": "3dcde33a350bc34cd26aa6b7f336c2415bcd224a",
      "parents": [
        "535ee425c19631b8663697e823ddb201f8901477",
        "fba74d6c61c3e3afc092d34d07b066ec0293a399"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Fri Feb 17 04:41:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 04:41:32 2017 +0000"
      },
      "message": "Merge changes from topic \u0027svcusb\u0027 am: 5e2a2ee39e am: 6f44072d03 am: 35f8d6cfd0\nam: fba74d6c61\n\nChange-Id: I190467cba81aca56f32a0a6ff6d8e798e1e7ac30\n"
    },
    {
      "commit": "fba74d6c61c3e3afc092d34d07b066ec0293a399",
      "tree": "2f77e3870846845bd3f6e39d0b8feba2717173bd",
      "parents": [
        "3edeec530f8e075e5845fd180ff1c5da51764772",
        "35f8d6cfd0bbca4fbb3e46a2d52437a99bfbe4c4"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Fri Feb 17 02:24:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 02:24:44 2017 +0000"
      },
      "message": "Merge changes from topic \u0027svcusb\u0027 am: 5e2a2ee39e am: 6f44072d03\nam: 35f8d6cfd0\n\nChange-Id: I10c0be37b583f1670cb98e926aefb9dc8b986843\n"
    },
    {
      "commit": "35f8d6cfd0bbca4fbb3e46a2d52437a99bfbe4c4",
      "tree": "cf12fc15f0b9c138dd6467647e29aed418cad0f5",
      "parents": [
        "8c89daceafc7d638f6cc015fa144806acc83ad84",
        "6f44072d036578adb04334ca8f052157a6d051c8"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Fri Feb 17 02:16:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 02:16:11 2017 +0000"
      },
      "message": "Merge changes from topic \u0027svcusb\u0027 am: 5e2a2ee39e\nam: 6f44072d03\n\nChange-Id: Ic30bca41e088c2d077dc5aa09e373a02acb60be6\n"
    },
    {
      "commit": "ca1663a093b43e0d1211017adeb77a8ecd53b9f2",
      "tree": "ef12e85942af2b294bedeee8165316b29727784c",
      "parents": [
        "30a2d638c0fa8e48bc27494b22ae6e49c231809a"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Wed Feb 15 14:15:30 2017 -0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Thu Feb 16 13:14:50 2017 -0800"
      },
      "message": "Add data unlock argument to set function command.\n\nThis allows automated switches into file transfer mode,\nwhich makes automated Mtp testing possible.\n\nTest: adb shell svc setFunction mtp true\nBug: 25596495\nChange-Id: I67be58853b002789dc22b75d82af9eb6cfb7a361\n"
    },
    {
      "commit": "be0b8896d1bc385d4c8fb54c21929745935dcbea",
      "tree": "5351f9c3a01b53695c3b9abd2208b105a919b144",
      "parents": [
        "78e1375a6799df4d3e2595b8d00786bd7b1427ec"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Feb 15 14:13:52 2017 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Feb 16 12:43:37 2017 -0800"
      },
      "message": "Revert \"Revert \"Per user setting for instant app\"\"\n\nThis reverts commit be9ffa15af9e1906e9ffb505768328d62d4a3793.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest\nChange-Id: Ib21321cf157a79890de487060a093840f7182047\n"
    },
    {
      "commit": "7a627206d4e040e449421a9d29b99be3fe2b00be",
      "tree": "af7fabbad39063552948290aecc9233dea077713",
      "parents": [
        "9809b8fdd66d47accc68ccf94d144ac1642954bb",
        "f88ebeb2506d3daed3fe0a71f6e1f5cde34406cd"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Thu Feb 16 00:51:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 00:51:49 2017 +0000"
      },
      "message": "Merge \"Use correct packageName for checking if it belongs to callingUid.\""
    },
    {
      "commit": "be9ffa15af9e1906e9ffb505768328d62d4a3793",
      "tree": "a3fcdf3b49962bf0e2dfb132511094b20a74340a",
      "parents": [
        "2f5811dcfd840e149851a9333e27ef3cdddf7a46"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Feb 15 21:43:48 2017 +0000"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Feb 15 21:43:48 2017 +0000"
      },
      "message": "Revert \"Per user setting for instant app\"\n\nBug: 35390781\n\nThis reverts commit 2f5811dcfd840e149851a9333e27ef3cdddf7a46.\n\nChange-Id: Ibb1c8dacbdc6908fc7fa2bc5dca664f2455162bf\n"
    },
    {
      "commit": "f88ebeb2506d3daed3fe0a71f6e1f5cde34406cd",
      "tree": "24d04fc08560de712dceaffcb751149b9ccb0fd3",
      "parents": [
        "d725de1e863db7f001e423b6262c9c7b8b7d1167"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Feb 14 18:30:40 2017 -0800"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Feb 14 18:35:05 2017 -0800"
      },
      "message": "Use correct packageName for checking if it belongs to callingUid.\n\nIn AccountManagerService.getAccountsAsUser, we check if opPackageName\nbelongs to calling uid by calling AppOpsManager.checkPackage. But when\nAccountManagerService.getAccountsAsUser is called from\nAccountManagerService.addSharedAccountsFromParentUser, we\u0027re using the\nopPackageName from system context instead of calling context.\n\nBug: 35258008\nTest: cts-tradefed run singleCommand cts-dev --module CtsMultiUserHostTestCases \\\n      -t android.host.multiuser.CreateUsersPermissionTest#testCanCreateRestrictedUser\nChange-Id: I5c425d9314beb86f7c64a5b5c64b7d879711879a\n"
    },
    {
      "commit": "2f5811dcfd840e149851a9333e27ef3cdddf7a46",
      "tree": "f6ff287b2eab2be7efecd10aaa4d34e865b8c59a",
      "parents": [
        "710a285110c9fbe4296a7afc9b2923d66f00806b"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Jan 30 14:51:23 2017 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Feb 14 13:42:01 2017 -0800"
      },
      "message": "Per user setting for instant app\n\nThe same application can run as either an instant app or an installed\napp. Store this setting per-user instead of based upon the install\nlocation.\n\nBug: 25119046\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest\nChange-Id: Iff565bb1ac10d631499f0bd0f69b401cb073c10e\n"
    },
    {
      "commit": "c3704427c9a34397fd90bf5438adae2eebcc97f6",
      "tree": "8b72d3ecfea34539e7b35ed942d2b30b2aafdd0f",
      "parents": [
        "f49f3482de64b44c9c6d3132521c5ed54b64a2f1"
      ],
      "author": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Sat Jan 28 16:50:09 2017 +0000"
      },
      "committer": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Tue Feb 14 13:51:59 2017 +0000"
      },
      "message": "BackupManager#cancelBackups() API\n\nIntroduces a cancelBackups() API for\nBackupManager. When this function returns,\nit is guaranteed that currently running\nbackup operations won\u0027t interact with\nthe active transport.\n\nBug: 34760860\n\nRef: https://docs.google.com/document/d/18MnfwkDfKNtXQBPRmL8vpVgfLgSWJsDja1Nm1QV5hOw/edit#heading\u003dh.9p6yo0wx44k3\n\nTest: GTS tests at ag/1893365\n\nChange-Id: I67f78699bbe763ea71c85937fbc01a5b48694eed\n"
    },
    {
      "commit": "f4e237c6855fcbb8767695f072174ace1cf801bc",
      "tree": "6c55b206a12cf32050f8f39b5cd0cbfa2d3dcc6e",
      "parents": [
        "b1f573dca3ccdd113ca513f32c9964211ca71c78"
      ],
      "author": {
        "name": "Stefanot",
        "email": "stefanot@google.com",
        "time": "Mon Feb 06 21:14:05 2017 +0000"
      },
      "committer": {
        "name": "Stefanot",
        "email": "stefanot@google.com",
        "time": "Fri Feb 10 13:52:02 2017 +0000"
      },
      "message": "Add instrumentation for BackupManager during restore.\n\nThis CL adds more instumentation to\nbackup/restore operation in the BackupManager. For more details please\npoint to:\nhttps://docs.google.com/document/d/1sUboR28LjkT1wRXOwVOV3tLo0qisiCvzxIGmzCVEjbI/edit#\nThis first Cl introduces 3 events that we sent to the monitor.\nThe base cl is ag/1835775\n\nTest: TODO\n\nBUG: 34873525\nChange-Id: I127fe739a7522078eecce2ae689a4607203a98da\n"
    },
    {
      "commit": "b1f573dca3ccdd113ca513f32c9964211ca71c78",
      "tree": "5baf30a11c5ee9acf7405867a69a2df1b68ebd1c",
      "parents": [
        "570661486882ab2690b62176e83c23a4b2d6a796"
      ],
      "author": {
        "name": "Stefanot",
        "email": "stefanot@google.com",
        "time": "Fri Jan 27 12:03:53 2017 +0000"
      },
      "committer": {
        "name": "Stefanot",
        "email": "stefanot@google.com",
        "time": "Fri Feb 10 11:03:08 2017 +0000"
      },
      "message": "Add monitoring to backup in BackupManager.\n\nThis is the first CL of many that will add instumentation to\nbackup/restore operation in the BackupManager. For more details please\npoint to:\nhttps://docs.google.com/document/d/1sUboR28LjkT1wRXOwVOV3tLo0qisiCvzxIGmzCVEjbI/edit#\nThis first Cl introduces 3 events that we sent to the monitor.\n\nTest: ag/1858962 (same topic)\n\nBUG: 34873525\n\nChange-Id: I6c338b6fd9f4d7c8670dac201897250b6b170677\n"
    },
    {
      "commit": "00f033f23463f23591eb9565615014062cb6d041",
      "tree": "aa5b5dad7ce0f19187fb5c2e8d006fc7ccbbab04",
      "parents": [
        "4127c138e11e9657e6ea6ee3edc189faf3c050df",
        "8d2d9d758fd8752b0a5864124f3d92c370f7fcb3"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Wed Feb 08 20:37:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 08 20:37:32 2017 +0000"
      },
      "message": "Merge \"Add support for wait-on-handlers command.\" am: da6d683caa am: a3b4985ad4 am: 3e086be542\nam: 8d2d9d758f\n\nChange-Id: Ib2373609eb15e65ae86e14e081c72909d1fd5808\n"
    },
    {
      "commit": "c02f6bb64b3cdca50e5eca27c73f24c8f747c480",
      "tree": "4ec3497a0e1bc36bfb2220cac66085e6e3e46bd1",
      "parents": [
        "e0c1cde9c2cbfd5ea1c4828d7dce0cf7f9b3421b",
        "9250814fd2df286a25450fea1b493e77d152ae92"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Feb 08 20:18:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 08 20:18:34 2017 +0000"
      },
      "message": "Merge \"Replace com.android.internal.util.Predicate with java.util.function.Predicate\" am: 78a20be77a am: 9e99b9ee45\nam: 9250814fd2\n\nChange-Id: Ifd924bdb62102657bf0c6d4b07ab919cf0f96c0c\n"
    },
    {
      "commit": "8d2d9d758fd8752b0a5864124f3d92c370f7fcb3",
      "tree": "980b3dfc2e176e797c94e73de188fe1f1dce1d28",
      "parents": [
        "39c36cab3a7d1994008a92a289c0a119fa66dad5",
        "3e086be542f406d42f1274b33e4425748dd07c1b"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Wed Feb 08 20:16:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 08 20:16:15 2017 +0000"
      },
      "message": "Merge \"Add support for wait-on-handlers command.\" am: da6d683caa am: a3b4985ad4\nam: 3e086be542\n\nChange-Id: Ib704d3d5c67b987e4daa375c6ca7f2b1a5d8fdbb\n"
    },
    {
      "commit": "9250814fd2df286a25450fea1b493e77d152ae92",
      "tree": "91e8385148fcf22286d7bce0bca9dc9c99deaecd",
      "parents": [
        "e9799155c9596e7ec634709c5854aa53a8355f78",
        "9e99b9ee45ebf0fb0d8e617f8a12c28b890e2ef9"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Feb 08 18:30:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 08 18:30:17 2017 +0000"
      },
      "message": "Merge \"Replace com.android.internal.util.Predicate with java.util.function.Predicate\" am: 78a20be77a\nam: 9e99b9ee45\n\nChange-Id: I289950cff0cdc6b5ad301936c7b55eadee5fd0f8\n"
    },
    {
      "commit": "3e086be542f406d42f1274b33e4425748dd07c1b",
      "tree": "1fdd2f5a8c4dad3f6896641c81ee672851f4814a",
      "parents": [
        "290274df0d005a88c2d350514afb6ea86f95f1b0",
        "a3b4985ad41a9237c9598345a842412f88e1a84d"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Wed Feb 08 18:27:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 08 18:27:37 2017 +0000"
      },
      "message": "Merge \"Add support for wait-on-handlers command.\" am: da6d683caa\nam: a3b4985ad4\n\nChange-Id: I80669c442c53a49687974851dccf0c9c9b500e96\n"
    },
    {
      "commit": "78a20be77acb6595ed112f2a2642ed569f6082b5",
      "tree": "1b7a514eb3b41e73e88e25ffa3a2f46997a9d8b6",
      "parents": [
        "fd77a331eb46ad106331d644e53d5f7945031e30",
        "3e5fbca0c57742f28f5c7e6bda6c3500b9471b47"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Feb 08 18:06:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 08 18:06:08 2017 +0000"
      },
      "message": "Merge \"Replace com.android.internal.util.Predicate with java.util.function.Predicate\""
    },
    {
      "commit": "ca4964ccbef5f2c85855fc14577c7c25d0e0588d",
      "tree": "943851d59bf0846528feca4893e94b423f228d91",
      "parents": [
        "80f42edfc7333d8a2a3d8fa529b85ed6763f8cc0"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Feb 07 15:04:10 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Feb 08 11:55:39 2017 +0000"
      },
      "message": "Replace com.android.internal.util.Predicate with java.util.function.Predicate\n\nBug: 35089332\nBug: 30188076\nTest: make checkbuild\nChange-Id: I0a5b4bf520fc39b59d8d790b01e9cff0d54e6d21\n"
    },
    {
      "commit": "dbdda2b60ec440f2b140343e08aeff2d9c6cbcc5",
      "tree": "0193bdb46799da0a8686df09e843d45eaaa39079",
      "parents": [
        "cbfae3e15c5863dc6e8ed2294c54ecbfaf55d412"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Feb 07 18:59:58 2017 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Feb 07 18:59:58 2017 -0800"
      },
      "message": "BootAnimation: change log format when animation starts\n\nBug: 34499826\nTest: on marlin\nChange-Id: I719485d399406abc08360620c09d90f4b87934a6\n"
    },
    {
      "commit": "3e5fbca0c57742f28f5c7e6bda6c3500b9471b47",
      "tree": "5bee6ac83dc3cc0b8f9421a61b2108b994c587a9",
      "parents": [
        "97fca8c035c7daa9cb1058aa37f0d8fb3ec73f70"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Feb 07 15:04:10 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Feb 07 16:57:54 2017 +0000"
      },
      "message": "Replace com.android.internal.util.Predicate with java.util.function.Predicate\n\nBug: 35089332\nBug: 30188076\nTest: make checkbuild\nMerged-In: I0a5b4bf520fc39b59d8d790b01e9cff0d54e6d21\nChange-Id: I58e4e35e7b7315033d893748f7c79e1ba6732f39\n"
    },
    {
      "commit": "18dfc36012a7604ef4bf4436f979739be470324d",
      "tree": "c053e870bab9243fc14f06aa893ec37fe6d08124",
      "parents": [
        "97fca8c035c7daa9cb1058aa37f0d8fb3ec73f70"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Feb 06 20:47:04 2017 -0800"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Feb 06 20:47:04 2017 -0800"
      },
      "message": "Add support for wait-on-handlers command.\n\nAdd support for wait on handlers adb telecom command.  Used in CTS\ntests to ensure work is completed once all Telecom handlers have finished\ntheir current work.\n\nTest: CTS, Manual\nBug: 34159263\nChange-Id: I14acc0a04710b445c172629c2327813ee73a5a55\n"
    },
    {
      "commit": "a90c54c90e1cb668cd74f218370f868763bbd009",
      "tree": "514c887267cf35b61d0401cf7f3f139719aab641",
      "parents": [
        "ddb80216b9d536be0f2af287f44a41872aa1d809"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Feb 02 11:35:21 2017 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Feb 02 20:17:54 2017 -0800"
      },
      "message": "BootAnimation: Add log when animation starts\n\nBug: 34499826\nTest: on marlin\nChange-Id: I04e4663daf4b30e2ab3c1ddda215127cf7faef9f\n"
    },
    {
      "commit": "5c34fa8ae7be0222c9a42a976a6d3a5ae55fc7d6",
      "tree": "90927f4084d05752e813ff4de419e84397971380",
      "parents": [
        "a5d2e18d95a7912f3e85e92d3a73c521ba1039ce",
        "a917353da0ed6079d45487a8c96b892c5d754637"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 01 15:45:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 15:46:01 2017 +0000"
      },
      "message": "Merge \"Initialize bootanimation sound on separate thread\""
    },
    {
      "commit": "a917353da0ed6079d45487a8c96b892c5d754637",
      "tree": "fc1514cfdd649543301b3b1ead2690a03d5b7a39",
      "parents": [
        "45250aca6d55988a58fdcb4ba0e8a58d36b1f34b"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Jul 19 14:56:39 2016 -0400"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Jan 31 15:49:06 2017 -0800"
      },
      "message": "Initialize bootanimation sound on separate thread\n\nBlocks when it\u0027s time to play the first sound.\nBug: 30189706\nTest: on marlin\nChange-Id: Ib3666fbfb5f109c633ed59edad4a283b8ada8ae2\n"
    },
    {
      "commit": "db7ecbe6994c5ec2cc46a6468300c927ebf7db37",
      "tree": "021cbaaae66499ce1bd33cf5b0b96ae49e25f85a",
      "parents": [
        "cb07efbf74e99dd92230de5394834561bdba3326"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Tue Jan 31 11:02:58 2017 -0800"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Tue Jan 31 11:02:58 2017 -0800"
      },
      "message": "Correct Screencap utility code.\n\nScreenshot interface now takes signed parameters.\n\nBug: 34758075\nTest: None\nChange-Id: I884456ce7f22a9e57990371ad66f6bb55d09e999\n"
    },
    {
      "commit": "bb44e42de93e2e02d4314ffdee4cbc4d0df7ecc2",
      "tree": "3a93b2b04edf99efd88bb7527cd2b2aa60d42792",
      "parents": [
        "95451d53907ca8befe2ae362947643cf983a0497"
      ],
      "author": {
        "name": "Shukang Zhou",
        "email": "shukang@google.com",
        "time": "Tue Jan 24 15:30:29 2017 -0800"
      },
      "committer": {
        "name": "Shukang Zhou",
        "email": "shukang@google.com",
        "time": "Mon Jan 30 13:07:40 2017 -0800"
      },
      "message": "[Frameworks] Add an \u0027am\u0027 cmd option to enable streaming in profiling.\n\nAdd option \u0027--streaming\u0027 to \u0027am start\u0027 and \u0027am profile\u0027 commands.\nIf the option is given, the output of method trace profiling\nwill be streamed into the specified file, so the output is no\nlonger limited by the buffer size.\n\nTest: m -j48 test-art-host;\nm -j48 ART_TEST_TRACE\u003dtrue ART_TEST_TRACE_STREAM\u003dtrue test-art-host;\nI also tested manually. Tried all 8 combinations of\n    sampling/instrumention\n    streaming/non-streaming\n    \u0027am start --start-profiler\u0027 / \u0027am profile start\u0027\nThe output files are all in expected shape.\n\nBug: 33300765\n\nMerged-In: I8a5136a1c7330c8260b7c6c8da63f42a73aee275\n\nChange-Id: I8a5136a1c7330c8260b7c6c8da63f42a73aee275\n"
    },
    {
      "commit": "221e58fe9561c5f942c029d7ad6466a1a6dc4bc0",
      "tree": "ee77f60b68fef52bf01f6ca84dfeff08982e347f",
      "parents": [
        "7c230c6f3c9f1ece465b83f3c03643b606f9d843",
        "b0f03a64ea7e897bd93dc2e4e6b2e211f8004623"
      ],
      "author": {
        "name": "Shukang Zhou",
        "email": "shukang@google.com",
        "time": "Fri Jan 27 19:01:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 27 19:01:44 2017 +0000"
      },
      "message": "Merge \"[Frameworks] Add an \u0027am\u0027 cmd option to enable streaming in profiling.\" am: e924640c4b\nam: b0f03a64ea\n\nChange-Id: I35fa80e43cd4f6af76099848714f838f217b7989\n"
    },
    {
      "commit": "e924640c4b82c705e42e766681eff76175e8a3dd",
      "tree": "d4e7ebe746854dc6b5cb16eae520facce96c4ff7",
      "parents": [
        "b8bbd302030253dc860df69406403e4e06e84da5",
        "6ec0b7e21d0f6fdee9f24d91b33c0c71e50cafc4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 27 18:49:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 27 18:49:45 2017 +0000"
      },
      "message": "Merge \"[Frameworks] Add an \u0027am\u0027 cmd option to enable streaming in profiling.\""
    },
    {
      "commit": "0ce4b0e4c31a65864e0cda3c9d3fb6fe8a40f2ed",
      "tree": "0312b321b8ac943de7d2a2613bfa95d3842c2812",
      "parents": [
        "e3d08aebdcf2ab939b9f9e8c65105594db7dd720",
        "9b21265b2ce0f57796bffb241c008fff459d4b05"
      ],
      "author": {
        "name": "Elliot Waite",
        "email": "elliotwaite@google.com",
        "time": "Thu Jan 26 04:49:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 26 04:49:33 2017 +0000"
      },
      "message": "Fix @links in reference docs. am: 54de77470d am: ab978c035e am: 28ba4722a9\nam: 9b21265b2c\n\nChange-Id: If246ebdb36cf2832d5a6c42cbe752e290b6fb6e8\n"
    },
    {
      "commit": "9b21265b2ce0f57796bffb241c008fff459d4b05",
      "tree": "482772e30f52d984b41e3bddd68c5614c3c5449a",
      "parents": [
        "0946c26b39d66e89fb83d1d51e7c68d7fb3e8f16",
        "28ba4722a9e77ce98de454ed2ac862e44f496632"
      ],
      "author": {
        "name": "Elliot Waite",
        "email": "elliotwaite@google.com",
        "time": "Thu Jan 26 04:44:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 26 04:44:54 2017 +0000"
      },
      "message": "Fix @links in reference docs. am: 54de77470d am: ab978c035e\nam: 28ba4722a9\n\nChange-Id: I98177a8cf0a20677e140406bb7371474ca259e5b\n"
    },
    {
      "commit": "28ba4722a9e77ce98de454ed2ac862e44f496632",
      "tree": "e1076bdad7d328e800841a3c13244dbc6974601d",
      "parents": [
        "e667f7795f74ea129c82297dae7bd3fd4275e13a",
        "ab978c035eda5e6e42f3856d5edf132e76e45994"
      ],
      "author": {
        "name": "Elliot Waite",
        "email": "elliotwaite@google.com",
        "time": "Thu Jan 26 04:39:57 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 26 04:39:57 2017 +0000"
      },
      "message": "Fix @links in reference docs. am: 54de77470d\nam: ab978c035e\n\nChange-Id: If0d0613362e0ea95cf48eaf9a16d3eea48b589ea\n"
    }
  ],
  "next": "ab978c035eda5e6e42f3856d5edf132e76e45994"
}
