)]}'
{
  "log": [
    {
      "commit": "d3878b5e124920cc89ef6cb4c7fad68a03b896b8",
      "tree": "05ba4a14f99d45ba52b6d0ea8eedb954a945dc1e",
      "parents": [
        "57c60d3b8cc6620184b79c0335f39754f7e5d03c",
        "369907f02efd7f25d8063f38ecef6cf65c703572"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Jul 20 11:22:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 20 11:22:39 2017 +0000"
      },
      "message": "Merge \"Keyguard: Factor out Screen and Wakefulness lifecycles\" into oc-dr1-dev"
    },
    {
      "commit": "8cee0336bbb5bf0f6d82fc99f2f331bf3a7cf34f",
      "tree": "09d24d373314c72341f80354e636f1d52737add9",
      "parents": [
        "acdcf37e4b2d6fb99f6d895b382942c199162fc8"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Jul 18 06:33:01 2017 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Jul 20 07:43:55 2017 +0000"
      },
      "message": "Don\u0027t move stack to bottom when creating task at bottom\n\nWhen creating a task, only move the parents of the task if we are creating\nthe task at the top of the stack. i.e. creating the task at the top of its\nstack will move the stack forward and creating the task at the bottom of\nthe stack shouldn\u0027t move the stack backwards. Creating a task at the bottom\nis used for things like restoring a task from recents to use for other things\nand for background user, so shouldn\u0027t affect visibility of its parent stack.\n\nChange-Id: Ifcaf7c5a95294631dff675ac5c7d87f059b1792a\nFixes: 62352722\nTest: go/wm-smoke\n(cherry picked from commit 1f5b92fd53ad0193235ae3e6cbc54a4120ac2457)\n"
    },
    {
      "commit": "c3a503d8fd505d3f14b52d4af1c6e2509de7d6b5",
      "tree": "8da0e358c0dd6f5ccc312d313a07e1992eadcc93",
      "parents": [
        "8d51d3e512d8dd5f695c262cc29e4854058c65c6"
      ],
      "author": {
        "name": "Philip Quinn",
        "email": "pquinn@google.com",
        "time": "Tue Jul 18 23:23:41 2017 -0700"
      },
      "committer": {
        "name": "Philip Quinn",
        "email": "pquinn@google.com",
        "time": "Thu Jul 20 03:51:51 2017 +0000"
      },
      "message": "Ping the StatusBar about power key events.\n\nBug: 63183852\nTest: runtest systemui\n\nChange-Id: I5d8209396e3e761b404c1071a7004f34c6e6c927\n"
    },
    {
      "commit": "5512504bba679ad14f9df31d6583bbf241a64381",
      "tree": "77d4c3272a10fa0ec47e7e694fcde2adccd977ab",
      "parents": [
        "1659b400b539dd7955e98673aae8f6f7db8ba862",
        "307edcd9c29ebc5c0b382f04cdee900bb9729a7b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 02:37:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 20 02:37:56 2017 +0000"
      },
      "message": "Merge \"Fix format of subsystem power stats\" into oc-dr1-dev"
    },
    {
      "commit": "7b3bd1d5472046f79ecfb4367f28ce2391edb837",
      "tree": "487b243ac6fee4bd44fab7d63613c9c9fa7e47b9",
      "parents": [
        "f113a07d9e7f1a706ac70aabf74f0e560f9b1fe3",
        "59579ce59d6e2c42e6ea1b389ba7e228aaa9122f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 00:18:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 20 00:18:20 2017 +0000"
      },
      "message": "Merge \"MediaRouter: Introduce and use getFallbackRoute method\" into oc-dr1-dev"
    },
    {
      "commit": "e6685b2bcdddd68087c02b9231cd19ccd75db3e0",
      "tree": "57b295465c26f701c846b130a5b20eace86d6699",
      "parents": [
        "8ffa981686dbf0f118ba14946811d33004f00f4c",
        "82871bdcfcc250e4aeeb731dfedeb0a23623244a"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Jul 19 23:54:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 19 23:54:11 2017 +0000"
      },
      "message": "Merge \"Fix race condition of removing surface.\" into oc-dr1-dev"
    },
    {
      "commit": "307edcd9c29ebc5c0b382f04cdee900bb9729a7b",
      "tree": "07e5c282809653d80cd26acfdc29d7245147ecbe",
      "parents": [
        "dc7b2bc5e3b1d00f02b5c9a9dc8fde2a3c459bff"
      ],
      "author": {
        "name": "Ahmed ElArabawy",
        "email": "arabawy@google.com",
        "time": "Fri Jul 07 17:48:13 2017 -0700"
      },
      "committer": {
        "name": "Ahmed ElArabawy",
        "email": "arabawy@google.com",
        "time": "Wed Jul 19 16:25:46 2017 -0700"
      },
      "message": "Fix format of subsystem power stats\n\nThe Subsystem power stats string in batteryStats dumpsys has an extra\nnewline that is causing PowerBug to skip the line when parsing the\nhistory information.\nAlso, the string for subsystem power stats is missing a heading title\nand has some redundant text\n\nThis commit fixes these format errors so powerbug can read and parse that\nline successfully\n\nBug: 63447034\nTest: Manual testing + Read the bugreport by historian and verify output\n\nChange-Id: Idf971823dd5f769e653b4788b00fc025593d0d3d\nSigned-off-by: Ahmed ElArabawy \u003carabawy@google.com\u003e\n"
    },
    {
      "commit": "1a7d4c25b3eade8aabf6e4d60753ee705b374c00",
      "tree": "26fd67c2a9da36f554a4ded14e518c3e9a296b74",
      "parents": [
        "1da6af31ffb67e43a004ba2dddc4be0a0cb7edce",
        "60b07cd3452eee5324568027b564e6468e2c13bd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 22:40:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 19 22:40:32 2017 +0000"
      },
      "message": "Merge \"Select correct oat/odex when pinning the Camera APK\" into oc-dr1-dev"
    },
    {
      "commit": "1da6af31ffb67e43a004ba2dddc4be0a0cb7edce",
      "tree": "32bd51e78d13a665137ee5a8e0ae89a2517cb05c",
      "parents": [
        "4dfb200d1b13d52da53b9849e813550af8778b4f",
        "4dd7c58fc8fcc5a2c50de5e8eff05ddc5c3b0b8b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 22:02:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 19 22:02:09 2017 +0000"
      },
      "message": "Merge \"Add Configuration to APF Policy\" into oc-dr1-dev"
    },
    {
      "commit": "82871bdcfcc250e4aeeb731dfedeb0a23623244a",
      "tree": "f58ef3a6db44412861438c7826cb5c4bc6e9e550",
      "parents": [
        "dc7b2bc5e3b1d00f02b5c9a9dc8fde2a3c459bff"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Jul 17 20:22:44 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Jul 19 11:22:45 2017 -0700"
      },
      "message": "Fix race condition of removing surface.\n\nmContainer.startingSurface can be replaced between posting\nmRemoveStartingWindow and actually surface.remove() is called.\n\n1. removeStartingWindow is called, then mRemoveStartingWindow is posted\n   to mHandler\n2. transferStartingWindow is called, then mContainer.startingWindow is\n   replaced with new surface.\n3. mHandler pops the callback and surface.remove() is called.\n\nHere the remove is only called for replaced surface and never called for\nolder surface.\n\nTo fix this issue, surely removes the surface when the\nremoveStartingWindow is called.\n\nBug: 63156080\nBug: 63784898\nTest: Watch /proc/\u003cpid\u003e/fd\nChange-Id: I55e2c1b8fba32b3a19603e6ad4743f07576abd48\n"
    },
    {
      "commit": "d5f442d65b943247ace54e601f811e0f579c3cf5",
      "tree": "5932fd546d7d23bd1d29fabf71a4ffca923d5e85",
      "parents": [
        "dc7b2bc5e3b1d00f02b5c9a9dc8fde2a3c459bff",
        "5e79cbb2913c28ca6d79001ddaa0c8cec78b3eed"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 18:01:26 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 19 18:01:26 2017 +0000"
      },
      "message": "Merge \"Always reevaluate whether to show the notification for USB_DEVICE_* intents\" into oc-dr1-dev"
    },
    {
      "commit": "369907f02efd7f25d8063f38ecef6cf65c703572",
      "tree": "66beca70cac7520de68cfd9a277f6108bff166f1",
      "parents": [
        "73f94e789664a7cf8d7f48643146277f280220ba"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Jul 14 14:53:39 2017 +0200"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Jul 19 18:26:51 2017 +0200"
      },
      "message": "Keyguard: Factor out Screen and Wakefulness lifecycles\n\nTest: runtest systemui\nBug: 62446740\nChange-Id: Ife34c1f4299b152a6352445adc8c9fc3c757e87c\n"
    },
    {
      "commit": "3dc5e0ae3ab8b69f52dc43f3515d77891dc47e23",
      "tree": "14798a7b1c1c4bbbe9b02a34d595086424ba67f6",
      "parents": [
        "f2dc5c69a4bd6bbf12291b22f41df269f8e05ce9",
        "ff46d4c935752f22808865b2fb60f883ae02a1c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 14:19:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 19 14:19:54 2017 +0000"
      },
      "message": "Merge \"Fixes for increased usage of light navigation bar\" into oc-dr1-dev"
    },
    {
      "commit": "f89512c7316167de114c9865283253d9071c9e53",
      "tree": "27c04f965f3afa484036c78ea8d257caa6978f45",
      "parents": [
        "790e3ff6e3b040ce5ef0779b13aa93f270b826a5",
        "5583fbf0e693bc24a7f72dd2623b00a2ca3ef9b5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 13:11:26 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 19 13:11:26 2017 +0000"
      },
      "message": "Merge \"Add log when we are trying to dismiss keyguard\" into oc-dr1-dev"
    },
    {
      "commit": "790e3ff6e3b040ce5ef0779b13aa93f270b826a5",
      "tree": "a997027b38c671db125c78b1ba27a8e78c16788f",
      "parents": [
        "f5304ad7be35a42b41a4e1e79ce2c62747e67bfc",
        "dbaad384bb79579eb3dfff965b344073ee193572"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 11:45:50 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 19 11:45:50 2017 +0000"
      },
      "message": "Merge \"Send app transition starting event at right time\" into oc-dr1-dev"
    },
    {
      "commit": "ff46d4c935752f22808865b2fb60f883ae02a1c5",
      "tree": "6468557a1a9cf0a1a0818d858e1beac1ec8ce2aa",
      "parents": [
        "f54dbc525397fa20ba2c9512c8424c2dd8c7f03e"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Jul 17 16:46:00 2017 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 19 13:06:35 2017 +0200"
      },
      "message": "Fixes for increased usage of light navigation bar\n\n- Fix an issue where IME doesn\u0027t really cover nav area but still\nbecame window to deterine light navigation.\n- Only invert nav bar icons when expanding the shade if the scrim\nis dark.\n- Fix logic such that status bar always becomes the window to\ndermine light nav bar on lockscreen.\n\nTest: Open shade with light nav\nTest: Open Keyguard in landscape in all apps\nTest: Unlock phone with light nav\n\nChange-Id: If024a8b81942a6675243b703c0509cd88de8d932\nFixes: 63539478\nFixes: 63533427\nFixes: 63577858\n"
    },
    {
      "commit": "ffc3f50b021f10fa9ecb58dade18ad4534c0b90b",
      "tree": "54e74e62442404715053272577aa0ff6d61fe8ec",
      "parents": [
        "73f94e789664a7cf8d7f48643146277f280220ba",
        "a338219a269f4f9a5fd648bf8113e1180ff4083a"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 19 10:17:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 19 10:17:37 2017 +0000"
      },
      "message": "Merge \"Fix threading issue with splash screens\" into oc-dr1-dev"
    },
    {
      "commit": "dbaad384bb79579eb3dfff965b344073ee193572",
      "tree": "781909d732ffbf03ba36b0d4f806c7f6e4a20169",
      "parents": [
        "73f94e789664a7cf8d7f48643146277f280220ba"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 18 13:22:52 2017 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 19 09:19:37 2017 +0000"
      },
      "message": "Send app transition starting event at right time\n\nOtherwise we are skipping an important section of the code that\nmight contain delays.\n\nTest: Go to recents, check app transition delay in eventlog\nChange-Id: Ie9ccc1dd37f1a0ffeb7c18a410a5148dbfb02ccf\nFixes: 63793419\n"
    },
    {
      "commit": "5e79cbb2913c28ca6d79001ddaa0c8cec78b3eed",
      "tree": "020d1347f0e7bce78df7f8a367a7b2fb215a4b89",
      "parents": [
        "f99ac67bdb19c96eedc9ce274ded306e9f658371"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Tue Jul 18 17:29:10 2017 -0700"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Tue Jul 18 17:44:47 2017 -0700"
      },
      "message": "Always reevaluate whether to show the notification for USB_DEVICE_* intents\n\nThe decision whether to show or hide the \"Usb supplying power..\"\nnotification is based on two different broadcasts\n1. USB_DEVICE_ATTACHED/DETACHED\n2. USB_PORT_CHANGED\n\nDepending on how long the port takes to enumerate, the required\nintents might arrive in different order. Previously, it was assumed\nthat the ATTACHED broadcast would arrive before the PORT_CHANGED\nbroadcast and the code was aggressive to reduce the number of\ntimes the decision to display/hide the notification is made.\nThis might cause the notification to be displayed in some instances\nwhen it is not supposed to be displayed. This CL makes the usb service\nto always reevaluate whenever USB_DEVICE_ATTACHED/DETACHED is\nreceived.\n\nAlso, adding logs to print whenever the notification in enqueued/\ndequeued.\n\nBug: 63785369\nTest: Verified that the notification is displayed when connecting\nto another pixel device and hidden when mouse or headset is\nconnected.\nChange-Id: I30650a2d9923d01a1fce4b9450e65ec7f4e6557b\n"
    },
    {
      "commit": "f80ec1583d1e534340fe035fe72c153dc4b25db8",
      "tree": "4795e7abb6367275e77d2663b63c29817ff03f50",
      "parents": [
        "df83b8cfcf5327f83e1de75848502436a4c0e082",
        "ccbfbc78bf34992c93b10314b9ee2e737bcdf9de"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Jul 18 19:30:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 18 19:30:28 2017 +0000"
      },
      "message": "Merge \"Do not register for broadcasts within NoMan test.\" into oc-dr1-dev"
    },
    {
      "commit": "560acb043d22f3a9c8d7dc42a1b2faf156aec89a",
      "tree": "618cb69f42aa3c9e963023146417fbcccf86577e",
      "parents": [
        "331a2876564e18c5b89e67d72ba594909003ef39",
        "4ff7da964737331b65419f6f91cad7693f3265fc"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Tue Jul 18 16:59:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 18 16:59:10 2017 +0000"
      },
      "message": "Merge \"Ensure home activity always is on home stack.\" into oc-dr1-dev"
    },
    {
      "commit": "ccbfbc78bf34992c93b10314b9ee2e737bcdf9de",
      "tree": "4f72e2a6d061b3d6568d4ff355bad073ba683025",
      "parents": [
        "331a2876564e18c5b89e67d72ba594909003ef39"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Jul 18 10:35:22 2017 -0400"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Jul 18 12:43:35 2017 -0400"
      },
      "message": "Do not register for broadcasts within NoMan test.\n\nFixes potential flake when broadcasts come in after Looper has\nterminated.\n\nChange-Id: Id63d27970b1ffacccfa8f1b074f744b6547ffcf9\nFixes: 63797731\nTest: runtest systemui-notification\n"
    },
    {
      "commit": "5583fbf0e693bc24a7f72dd2623b00a2ca3ef9b5",
      "tree": "a0d0bb3debcbd489fa66088ab043d6b915657b02",
      "parents": [
        "331a2876564e18c5b89e67d72ba594909003ef39"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 18 14:05:19 2017 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 18 15:22:44 2017 +0000"
      },
      "message": "Add log when we are trying to dismiss keyguard\n\nSuch that we can blame the app!\n\nTest: call requestDismissKeyguard, inspect logs\nBug: 63745706\nChange-Id: Ie257db2276839ba3491ee1b3cb642486331544c1\nMerged-In: Ie257db2276839ba3491ee1b3cb642486331544c1\n"
    },
    {
      "commit": "a338219a269f4f9a5fd648bf8113e1180ff4083a",
      "tree": "430b3fd347cf3e5fff1fb73c9bbf62b396686d33",
      "parents": [
        "331a2876564e18c5b89e67d72ba594909003ef39"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 18 14:33:21 2017 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 18 12:43:04 2017 +0000"
      },
      "message": "Fix threading issue with splash screens\n\nIf we use a different thread to remove the view than we added it,\nit leads to suffering. WindowManagerGlobal.removeView ends up\nsetting mParent of the DecorView to null, without any locking,\nwhich can lead to crashes.\n\nTest: Device boots, starting windows work. Otherwise: Pray\nChange-Id: Ifc1e0d0236746aef4ed2b63e08af7de695ce69aa\nFixes: 63664477\n"
    },
    {
      "commit": "479b762f995c2cfc5938124681ab8f5a8e33b519",
      "tree": "5d4eed01bdec96c46b38cf4cd03140553d9a86eb",
      "parents": [
        "8aaa5adae6520685212a970bfc8e3830a544bdf1",
        "118c0da035af48cef3792d32511d66ce1da2d19f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 18 00:07:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 18 00:07:16 2017 +0000"
      },
      "message": "Merge \"Fix typo in sync log.\" into oc-dr1-dev"
    },
    {
      "commit": "59579ce59d6e2c42e6ea1b389ba7e228aaa9122f",
      "tree": "e6ab316bda606d000aba61c9a950111c921a20ec",
      "parents": [
        "ca007e525b5bf52b89bf884f78d79dedf4495564"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Fri Jul 14 10:28:51 2017 -0700"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Mon Jul 17 23:21:34 2017 +0000"
      },
      "message": "MediaRouter: Introduce and use getFallbackRoute method\n\nInstead of selecting default route, select the fallback route to avoid\nmaking sound via the default route while a BT route is available.\n\nBug: 63582431\nTest: manual\nChange-Id: I2cb8fbf6c518294fcec2bf14a5d8175c7302396f\n"
    },
    {
      "commit": "4ff7da964737331b65419f6f91cad7693f3265fc",
      "tree": "4ae66a7fee69ef8d8f18df256b60664df78f8f7a",
      "parents": [
        "2ecc1988771caed870ba2b7bfd069e68d53f2adb"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Mon Jul 17 10:39:24 2017 -0700"
      },
      "committer": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Mon Jul 17 14:32:58 2017 -0700"
      },
      "message": "Ensure home activity always is on home stack.\n\nIt is possible to start a home activity on a non-home stack. For\nexample, an activity that handles the home intent may be started with\nvia a different intent, landing it on the fullscreen stack. This\nbecomes problematic later on due to our assumptions about the home\nstack state and handling of tasks within it.\n\nTo ensure proper behavior, this changelist moves the activity\nhandling the home intent to the home stack if it is not already\npresent there.\n\nFixes: 36606833\nTest: Move home activity to fullscreen stack, launch another\n      activity, press home button.\nTest: go/wm-smoke\n\nChange-Id: If88550a24dca3eabc0c60940937e6a1e6f133cae\n"
    },
    {
      "commit": "1abbe60880645aa8f15c09e5b46f59d20450c8ea",
      "tree": "13655ce39d8582beb47c36a5b72d0cee726e0a3f",
      "parents": [
        "f99ac67bdb19c96eedc9ce274ded306e9f658371"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Fri Jul 14 13:54:37 2017 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Mon Jul 17 12:35:00 2017 -0700"
      },
      "message": "power: throttle interaction hints\n\nDon\u0027t send power HAL interaction hints more than every 100ms. Also can send userActivity\ncalls every 100ms too (down from 500ms).\n\nTest: power HAL doesn\u0027t run every 8ms\nbug 63632697\n\nChange-Id: Ic986f6fc51e58f8060f7bf2d2ac61a9906be5c1f\n"
    },
    {
      "commit": "bd2d9f8fdfb74f5872f4de1c219dc93c8abe567e",
      "tree": "0b45658b8bdb59707013598d893cdf27ae938547",
      "parents": [
        "f54dbc525397fa20ba2c9512c8424c2dd8c7f03e",
        "77ca4f8508c276de7ca9bd012fe7db71122101b0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 17 14:21:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 17 14:21:01 2017 +0000"
      },
      "message": "Merge \"Improved GNSS state debug logs\" into oc-dr1-dev"
    },
    {
      "commit": "f54dbc525397fa20ba2c9512c8424c2dd8c7f03e",
      "tree": "7eecd56e051591c35fcd90439991c496961034e3",
      "parents": [
        "a77bc91b55c971eed9bc3d3118d7d3d3b3034aed",
        "a99154d3cf72911d4a237b6d7916a8125f23cbe5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jul 16 22:45:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 16 22:45:29 2017 +0000"
      },
      "message": "Merge \"Use new powerHintAsync when available\" into oc-dr1-dev"
    },
    {
      "commit": "90bf56da0d71cf19bf137a1fc0e0efd343bc1da8",
      "tree": "0d9b078b57abbcb4f518573b59af0b44fe4bac7d",
      "parents": [
        "43e249ff270b07fa25298a9e085022cef5ff21d9",
        "16f8384fe3e264445f17036186b6dfd081ae64b8"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Jul 15 19:38:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 15 19:38:00 2017 +0000"
      },
      "message": "Merge \"Make failure to set addrgenmode a non-fatal error.\" into oc-dr1-dev"
    },
    {
      "commit": "cf70671a75a3d44d260b6248a50f29ca92adb797",
      "tree": "c395cd530d4518d596adaf3a4b32928eb3e982b3",
      "parents": [
        "8d5b83109566c51e79c9f1b04dd9a66a3fcf2ea1",
        "c3a76d099d2dd17b54fe3d7747befbe69daeb8b6"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Fri Jul 14 20:42:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 14 20:42:23 2017 +0000"
      },
      "message": "Merge \"SystemServiceManager: Change from wall time to boottiime\" into oc-dr1-dev"
    },
    {
      "commit": "a99154d3cf72911d4a237b6d7916a8125f23cbe5",
      "tree": "53fcc337c1887318d3f018a8ae4e5764e4f29749",
      "parents": [
        "bc15a1e3ee8940cacdf64b69c76b44f24df8de3b"
      ],
      "author": {
        "name": "Philip Cuadra",
        "email": "philipcuadra@google.com",
        "time": "Tue Jul 11 17:01:06 2017 -0700"
      },
      "committer": {
        "name": "Philip Cuadra",
        "email": "philipcuadra@google.com",
        "time": "Fri Jul 14 20:21:11 2017 +0000"
      },
      "message": "Use new powerHintAsync when available\n\nUse the async version of powerHint when available.\n\nBug: 62377008\nTest: Run systrace, confirm powerHints are async HIDL transactions\nChange-Id: I3bb4022b78d380b054bf13008bb8b0d399bf1955\nMerged-In: I3bb4022b78d380b054bf13008bb8b0d399bf1955\n"
    },
    {
      "commit": "c3a76d099d2dd17b54fe3d7747befbe69daeb8b6",
      "tree": "f113f2d567d8fd9b109c29d5e228ef34327c8387",
      "parents": [
        "b78661052c440067a67d73486c066b82b6326098"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Fri Jul 14 11:39:30 2017 -0700"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Fri Jul 14 11:39:30 2017 -0700"
      },
      "message": "SystemServiceManager: Change from wall time to boottiime\n\nelapsedRealtime is milliseconds since boot, including time spent in sleep\n\nBug: 63707383\nTest: Build\nChange-Id: I7db77565f2af6277f05400398044fad297872ea4\n"
    },
    {
      "commit": "118c0da035af48cef3792d32511d66ce1da2d19f",
      "tree": "c24a3481e8610e6dd0725ec6fea7a3ac20356de8",
      "parents": [
        "717765f0f3de2ef9ae79eb032d41dc009ad8dbe6"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Jul 14 10:27:03 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Jul 14 10:27:03 2017 -0700"
      },
      "message": "Fix typo in sync log.\n\nBug: 62052247\nTest: build\nChange-Id: I760f634e137bcc70059ca4f2ff99e2df9618365a\n"
    },
    {
      "commit": "280165118d8ac3d83ad597cf4083d95938827f86",
      "tree": "2f0fe49f083a902bafacd2d233406ee1f4a297be",
      "parents": [
        "3fbe9d737a1c161e5474cd8a6745a2ddae52abba",
        "31ad8a3dcba33beb93dee851cb484b0da683e102"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 14 17:17:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 14 17:17:47 2017 +0000"
      },
      "message": "Merge changes from topic \u0027camera-tron\u0027 into oc-dr1-dev\n\n* changes:\n  CameraServiceProxy: Log camera usage metrics\n  CameraServiceProxy: Add CameraStatsLoggingService, event dumping\n"
    },
    {
      "commit": "16f8384fe3e264445f17036186b6dfd081ae64b8",
      "tree": "5672e6a24e0897762785ed2335e218d4271751f2",
      "parents": [
        "0c0fd0375c6efae3afcdd43a1b21b4c29cd93408"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jul 10 19:05:13 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Jul 14 23:42:55 2017 +0900"
      },
      "message": "Make failure to set addrgenmode a non-fatal error.\n\nBug: 17613910\nTest: bullhead builds, boots, connects to wifi\nChange-Id: I310dcacc6784c13904fca79b839b5f4d94bfc45e\n"
    },
    {
      "commit": "5a0958ed0be108585f4dccfd8f911b26e53b64bb",
      "tree": "b62bc51fe5c58093f48f399b02ed5b2c5059681d",
      "parents": [
        "0c0fd0375c6efae3afcdd43a1b21b4c29cd93408",
        "0f17000fb3b417fbc6129b47385c5f3c3dfd2de5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 14 13:40:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 14 13:40:44 2017 +0000"
      },
      "message": "Merge \"Fix system crash\" into oc-dr1-dev"
    },
    {
      "commit": "3756636ad67e50262400e6670f0f15883935b158",
      "tree": "fa26df40a3e20f838bc8f5078cf7373352f0a785",
      "parents": [
        "dd74c1a8cd36d9a41a8ac3f38b4c296738132298",
        "c2519c5feae397e18561e00acea9d5e456bfaabe"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Jul 14 00:51:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 14 00:51:56 2017 +0000"
      },
      "message": "Merge changes Icc5aa605,If744f2e0,Ie1b5a5e4 into oc-dr1-dev\n\n* changes:\n  Add code to dump OffloadController state.\n  Fetch tethering offload stats.\n  Allow more than one source of tethering statistics.\n"
    },
    {
      "commit": "f34b4633bd7f723eee6b91069ad322282323848d",
      "tree": "aacca7ae41411bdd867691cc6305e9d0aadd2555",
      "parents": [
        "2098c83afb961899cb19438962860585e01219cc",
        "baa2125a3df7bedb7aba8e90268346b36e7ae46f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 13 23:14:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 23:14:31 2017 +0000"
      },
      "message": "Merge \"Fix issue with double vibration trigger\" into oc-dr1-dev"
    },
    {
      "commit": "2098c83afb961899cb19438962860585e01219cc",
      "tree": "ba0a1743879186b254309887ff0c84b47ecdbc8c",
      "parents": [
        "9f675cee281b831c7a84e4b482baecedb1e3c09b",
        "102122fbe060dd47c42e78bbc73b82509fc43310"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 13 23:01:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 23:01:11 2017 +0000"
      },
      "message": "Merge \"Add sensor HAL process into dump list\" into oc-dr1-dev"
    },
    {
      "commit": "baa2125a3df7bedb7aba8e90268346b36e7ae46f",
      "tree": "80ec94e68b5bcb78555f0491a464df56a74cea9e",
      "parents": [
        "ac77186d349480edaea3c513dc4cae672fda7d0c"
      ],
      "author": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Thu Jul 13 12:20:44 2017 -0700"
      },
      "committer": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Thu Jul 13 13:43:53 2017 -0700"
      },
      "message": "Fix issue with double vibration trigger\n\nThis patch fixes an issue that cause duplicated calls to HAL even when\nthe first call succeeded.\n\nBug: 63667425\nTest: manual test\nChange-Id: I4c29e3c9872cc42ea143b3adda3a3defca728e71\n"
    },
    {
      "commit": "be1577ae599a4bd63bf8646a1f318dd9aabd4ae6",
      "tree": "9ddd82ee0396632243883d5e23ce665b7779f4eb",
      "parents": [
        "479d915db525e59af3fbbddb303d178dd9b58869",
        "96e3b2afb0b172a568ab180b6e71cedf071f9545"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Jul 13 20:13:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 20:13:33 2017 +0000"
      },
      "message": "Merge \"Also go to sleep when dozing\" into oc-dr1-dev"
    },
    {
      "commit": "47303ec66bfd47510435d739ef4e602c6d144dcf",
      "tree": "4cc5ac68ae18ccbc97790e02f8817325a91798eb",
      "parents": [
        "6a6d63be45e03b383235e29b712893891e2c2af0",
        "e989348ca34d6714d9a8ddd5a9dac2b61a91e9bf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 13 19:49:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 19:49:28 2017 +0000"
      },
      "message": "Merge \"Tear down agent after preflight rejection\" into oc-dr1-dev"
    },
    {
      "commit": "bcc35f5ae6cb864f04b83c53c9377fbe2e76673c",
      "tree": "bbab5fee1b2069b42d27e6a29cbd3198c2b6f144",
      "parents": [
        "b7febbb727f0efc28a0c43664323222674f34576",
        "080361ee313c4eae07ca1d17edafb371672fc76e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 13 19:03:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 19:03:48 2017 +0000"
      },
      "message": "Merge \"Fix nomanservice notificationrecord leak\" into oc-dr1-dev"
    },
    {
      "commit": "fa62d79a02be7b3c116de79ab598d5b2d5bbc032",
      "tree": "2829ab126cb835bbcc9f6a1d6a47723bdbe2cdab",
      "parents": [
        "84a60bf9e827d1872bdadb939deb65ba3412cb2e",
        "248fbb180db7cc1f57ab3a8d0387e1c18caf668d"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Jul 13 18:28:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 18:28:09 2017 +0000"
      },
      "message": "Merge \"Do not use rotation as indicator to relaunch from config change.\" into oc-dr1-dev"
    },
    {
      "commit": "31ad8a3dcba33beb93dee851cb484b0da683e102",
      "tree": "fe946391a48868051a5b8eab294bdc0e60838bba",
      "parents": [
        "e91012ba881659e7777aedb60f580384cb0925dd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 10 16:23:50 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 13 11:14:10 2017 -0700"
      },
      "message": "CameraServiceProxy: Log camera usage metrics\n\n- Add new events for camera usage by camera facing\n- Dump stored camera events into metrics logs\n- Shuffle event ordering for privacy\n- Limit history to 100 entries at most\n\nTest: Verify event log collection includes camera events\nBug: 32449509\nChange-Id: I2e80b84f9bba3691893dca653ac085fef0b6c98c\n"
    },
    {
      "commit": "e91012ba881659e7777aedb60f580384cb0925dd",
      "tree": "5df6083955f069d26817292da01faf157fe4bf77",
      "parents": [
        "fb9b64cf2b49624b024261545ef68e7be4e0dc12"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jul 10 15:27:24 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 13 11:14:09 2017 -0700"
      },
      "message": "CameraServiceProxy: Add CameraStatsLoggingService, event dumping\n\n- Collect camera usage events (facing, client, duration)\n- Create a JobService that triggers roughly daily to dump events\n\nTest: Verify that \u0027adb shell cmd jobscheduler run android 13254266\u0027\n   prints out all camera usage since last run\nBug: 32449509\nChange-Id: I13172e6e68f5cdb94685a112c74d270d1dda45bf\n"
    },
    {
      "commit": "84a60bf9e827d1872bdadb939deb65ba3412cb2e",
      "tree": "4e5180ff83f16edf0472be4983c5d04b50275098",
      "parents": [
        "c8c121757e74596004e5748d13d7ceb2bf570830",
        "20568917af6d2a6c569d7f0f0155e80c3bcd1b78"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 13 17:48:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 17:48:23 2017 +0000"
      },
      "message": "Merge \"More fine-grained exception handling so we can still use non-excepting descriptors.\" into oc-dr1-dev"
    },
    {
      "commit": "20568917af6d2a6c569d7f0f0155e80c3bcd1b78",
      "tree": "4cfea8b02f7d0b0a69210f2157d98b37fd829ee7",
      "parents": [
        "b82963f3e038cf12708374c78aff3f57619d02b7"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Tue Jul 11 11:18:59 2017 -0600"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 13 15:53:42 2017 +0000"
      },
      "message": "More fine-grained exception handling so we can still use non-excepting descriptors.\n\nBug: 63655391\nTest: Manual - connect various devices and verify the connection state is correct.\nChange-Id: Iae6143d2e853e916c8588e0c6f771c00714b3a8a\n"
    },
    {
      "commit": "0f17000fb3b417fbc6129b47385c5f3c3dfd2de5",
      "tree": "8f1143338cba478b948ac78c2a26a480986d65e0",
      "parents": [
        "080361ee313c4eae07ca1d17edafb371672fc76e"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Jul 10 10:51:01 2017 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Jul 13 11:35:46 2017 -0400"
      },
      "message": "Fix system crash\n\nChange-Id: I47d6d79682bfe907544f9282c26e350576618ce2\nFixes: 63474899\nTest: runtest systemui-notification\n"
    },
    {
      "commit": "080361ee313c4eae07ca1d17edafb371672fc76e",
      "tree": "29519acd31452e91353219f0c9bf5c72ca5e9206",
      "parents": [
        "3fbd93056e3b142080a2313158d2b0e7ef84061e"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Jul 13 11:23:12 2017 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Jul 13 11:23:12 2017 -0400"
      },
      "message": "Fix nomanservice notificationrecord leak\n\nTest: runtest systemui-notification\nChange-Id: Ic5761b917edd000bf73b3291b0ca95bbb0b9bedb\nFixes: 63585648\n"
    },
    {
      "commit": "c2519c5feae397e18561e00acea9d5e456bfaabe",
      "tree": "b2116732bc7d3b3b0e8d954f964855a061413af1",
      "parents": [
        "5a7dea1a8eb2cf53fc1d5a52004647de94150e62"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jul 13 01:48:26 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jul 13 23:56:08 2017 +0900"
      },
      "message": "Add code to dump OffloadController state.\n\nBug: 29337859\nBug: 32163131\nTest: observed output of \"adb shell dumpsys connectivity tethering\"\nChange-Id: Icc5aa605cd64a4a2bb5993941dcc4010cc0b1d8e\n"
    },
    {
      "commit": "5a7dea1a8eb2cf53fc1d5a52004647de94150e62",
      "tree": "fe6bdf78e8ddfe9c2bded036351d99a91d510557",
      "parents": [
        "ef7b2a13ce4c34950b52de27dcf65b74388d7b3d"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jul 12 15:48:07 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jul 13 23:54:51 2017 +0900"
      },
      "message": "Fetch tethering offload stats.\n\nMake tethering offload register an ITetheringStatsProvider and\nfetch tethering stats from the hardware.\n\nCurrently we fetch stats in the following cases:\n\n1. Just after changing upstreams, we fetch stats from the\n   previous upstream.\n2. When we are polled by NetworkStatsService.\n\nBug: 29337859\nBug: 32163131\nTest: builds, boots\nTest: stats appear in tethering logs\nChange-Id: If744f2e06cb6a3095a40199936b9afb76eff7b56\n"
    },
    {
      "commit": "ef7b2a13ce4c34950b52de27dcf65b74388d7b3d",
      "tree": "8198db1c8e7e5c588322cf939f34a4bab0bf1ce2",
      "parents": [
        "aa7b8b532271797ebaca6c816e95530d28fc995f"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jul 10 19:06:57 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jul 13 23:34:25 2017 +0900"
      },
      "message": "Allow more than one source of tethering statistics.\n\nCurrently, netd is the only source of tethering statistics.\nIn order to support multiple sources, define a new\nITetheringStatsProvider interface that can be registered with\nNetworkManagmentService. Convert the existing code into the\nfirst ITetheringStatsProvider.\n\nBug: 29337859\nBug: 32163131\nTest: builds, boots\nTest: tethering stats continue to be collected\nChange-Id: Ie1b5a5e47ae4bf5af922365b09fa241e834236e4\n"
    },
    {
      "commit": "aa7b8b532271797ebaca6c816e95530d28fc995f",
      "tree": "d08a3fed37669c2e290c4a84f996b4548f07a930",
      "parents": [
        "a40af83c3244ad1d3061ef539ddb6f2cbfea6081",
        "32179ff81511e00aef31e8fda705be3df074ece6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 13 07:31:13 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 07:31:13 2017 +0000"
      },
      "message": "Merge \"Program offload-exempt local prefixes into the HAL\" into oc-dr1-dev"
    },
    {
      "commit": "32179ff81511e00aef31e8fda705be3df074ece6",
      "tree": "5ebbf92f6698230b94b785b28f9da301cc332d11",
      "parents": [
        "a781d471e2a9ac3f4e99934cd7e4b276f21b3493"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jul 04 18:28:11 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Jul 13 13:45:49 2017 +0900"
      },
      "message": "Program offload-exempt local prefixes into the HAL\n\nAdditionally:\n    - move mOffloadController into MasterTetherSM\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - \"runtest frameworks-net\" passes\n    - observed calls to the HAL setLocalPrefixes in tethering log\nBug: 29337859\nBug: 32163131\nChange-Id: Ifaf23c6179ead9de6ccfcf41e0c203025153167b\n"
    },
    {
      "commit": "a40af83c3244ad1d3061ef539ddb6f2cbfea6081",
      "tree": "0bf50a5cf933ac26a3af87d542bcea33e27f57bb",
      "parents": [
        "a781d471e2a9ac3f4e99934cd7e4b276f21b3493",
        "3a1619d68e829829848cf0c41fcf86e4671042d8"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Jul 13 03:34:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 03:34:52 2017 +0000"
      },
      "message": "Merge \"Position app with short aspect ratio opposite of nav bar\" into oc-dr1-dev"
    },
    {
      "commit": "a781d471e2a9ac3f4e99934cd7e4b276f21b3493",
      "tree": "d0bfc7c89abc2f1b84e2e47850607fdff168948b",
      "parents": [
        "7968af4873ab1219c8eea808c87039a64576a138",
        "e5ab450cca8164563684b84d55b8e32784ac8dab"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Jul 13 02:15:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 02:15:49 2017 +0000"
      },
      "message": "Merge \"Do not apply maxAspectRatio to bounds when in VR mode.\" into oc-dr1-dev"
    },
    {
      "commit": "7968af4873ab1219c8eea808c87039a64576a138",
      "tree": "17e484410b6d4f28387ee658bf9a1441a48815a5",
      "parents": [
        "3de5101c128774b43c46eced8f4865b844ab8655",
        "6311c4b2e1d833bd63d36ed5c841364bcc597148"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Jul 13 02:12:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 02:12:29 2017 +0000"
      },
      "message": "Merge \"Do not gate updating allDrawn on all child WindowStates.\" into oc-dr1-dev"
    },
    {
      "commit": "6311c4b2e1d833bd63d36ed5c841364bcc597148",
      "tree": "e0fb8f5b46110be1156283f27de01b2ac575cdae",
      "parents": [
        "037503dfa02e1278f5d43b5710340f89e0ae379c"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Jul 06 14:09:29 2017 -0700"
      },
      "committer": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Jul 13 02:10:54 2017 +0000"
      },
      "message": "Do not gate updating allDrawn on all child WindowStates.\n\nA recent change prevents allDrawn in AppWindowToken from being\nupdated until all child WindowStates have been considered. However,\nchildren that are not visible do not affect allDrawn and therefore\nneed to be excluded.\n\nThis changelist adds an additional check to make sure the child can\naffect the allDrawn state before considering blocking on it. It also\nadds additional logs to the WindowState dump to better understand\nthis scenario.\n\nChange-Id: I76d0f75496ed3da6a16c4a1d7bf2e7dc5b8bbe1e\nBug: 63380251\nTest: go/wm-smoke\n"
    },
    {
      "commit": "3de5101c128774b43c46eced8f4865b844ab8655",
      "tree": "79f1b42375ba2680529e7ebe5ffd5df39e6b6b5b",
      "parents": [
        "6a29ad5edef604e1f2ab2fb72538955503213d13",
        "8c3cf38592e0e197606cf0ce1b1d6e85b7e55711"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Jul 13 01:44:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 01:44:17 2017 +0000"
      },
      "message": "Merge \"Use configuration delta to determine if still in orientation change.\" into oc-dr1-dev"
    },
    {
      "commit": "6a29ad5edef604e1f2ab2fb72538955503213d13",
      "tree": "00fbd8a1361d5747503f82dfe3f588a1c2b8bfc5",
      "parents": [
        "717765f0f3de2ef9ae79eb032d41dc009ad8dbe6",
        "fb9b64cf2b49624b024261545ef68e7be4e0dc12"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 13 00:44:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 13 00:44:46 2017 +0000"
      },
      "message": "Merge \"CameraServiceProxy: Cleanups and receive more information from CameraService\" into oc-dr1-dev"
    },
    {
      "commit": "e7f5c6aa38b0e5ba9c5dab036688a5817cec7a55",
      "tree": "6a1d955b1c9e9080b9cd59faafa25f64094e32c6",
      "parents": [
        "fbb85140f847e3cff946c7c742e467692f4c73c4",
        "168f12a056f7ef3adb9f9d52aaa51977b4082213"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 22:38:43 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 22:38:43 2017 +0000"
      },
      "message": "Merge \"Average of top 4 CNO\" into oc-dr1-dev"
    },
    {
      "commit": "fbb85140f847e3cff946c7c742e467692f4c73c4",
      "tree": "7cd11f9582a51cc91c9fc0831fcc8c87c0dd6001",
      "parents": [
        "d24ed58bc267bacee91c91c7098dc70b1180a398",
        "1cebea61ac756ea1aaddb8c8c9bb43fe813bbf55"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Jul 12 22:32:42 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 22:32:42 2017 +0000"
      },
      "message": "Merge \"Fixing some issues with the assistant stack\" into oc-dr1-dev"
    },
    {
      "commit": "d24ed58bc267bacee91c91c7098dc70b1180a398",
      "tree": "aea26bcbaa5e24efb6b3d815220993d3b9dfd662",
      "parents": [
        "3d0a74a9e4f54851f223ca70488b249c2acaa226",
        "942a85c6d608dd6a4a31937fe0b57ae43105d5b2"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Jul 12 22:04:43 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 22:04:43 2017 +0000"
      },
      "message": "Merge \"Prevent non-fullscreen activities from triggering auto-enter PiP\" into oc-dr1-dev"
    },
    {
      "commit": "fb9b64cf2b49624b024261545ef68e7be4e0dc12",
      "tree": "9ba97da28922ed15a89bbd45d61f5f3c3ec184e6",
      "parents": [
        "3d0a74a9e4f54851f223ca70488b249c2acaa226"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 28 12:44:03 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 12 14:56:15 2017 -0700"
      },
      "message": "CameraServiceProxy: Cleanups and receive more information from CameraService\n\n- Use constants directly from ICameraServiceProxy\n- Collect more information in camera device status updates\n\nTest: Verify manually that correct information is received, no camera CTS regressions\nBug: 32449509\nChange-Id: I9b5b70a306ef0d15834291e3e752224bbf7b74b6\n"
    },
    {
      "commit": "102122fbe060dd47c42e78bbc73b82509fc43310",
      "tree": "e14be57d6345b247f7f94f0e7d1eb205b40a79ab",
      "parents": [
        "c424b22979010b4c3462a51f6bff616bd8b0865e"
      ],
      "author": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Tue Jul 11 21:12:11 2017 -0700"
      },
      "committer": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Wed Jul 12 21:21:56 2017 +0000"
      },
      "message": "Add sensor HAL process into dump list\n\nTest: use \"adb shell am hang --allow-restart\" to trigger an ANR, \n      trace of /vendor/bin/hw/android.hardware.sensors@1.0-service\n      shows up in /data/anr/traces.txt\nBug: 63096400\nChange-Id: If2996eeb215c5339602babd84595107aa4402aed\n"
    },
    {
      "commit": "3a1619d68e829829848cf0c41fcf86e4671042d8",
      "tree": "d924a3a5d671a51ac33b5e4521422bcccae2de63",
      "parents": [
        "9e419d30825934f4f3a38dde6832221f54ef03d2"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Jul 07 14:38:09 2017 -0700"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Wed Jul 12 14:04:35 2017 -0700"
      },
      "message": "Position app with short aspect ratio opposite of nav bar\n\nWhen an application doesn\u0027t support tall aspect ratio of the\nscreen where it\u0027s displayed, it should be positioned on the\nopposite side from navigation bar. It\u0027s supposed to create\nan effect of extended black nav bar.\n\nBug: 62893418\nTest: go/wm-smoke\nTest: ActivityRecordTests#testPositionLimitedAspectRatioNavBarBottom\nTest: ActivityRecordTests#testPositionLimitedAspectRatioNavBarLeft\nTest: ActivityRecordTests#testPositionLimitedAspectRatioNavBarRight\nChange-Id: I2cd3d236ee8d0cc263fee4c0a436d78c755eb9b7\n"
    },
    {
      "commit": "3d0a74a9e4f54851f223ca70488b249c2acaa226",
      "tree": "945896494fb158b84482636557828fb7a7a009e3",
      "parents": [
        "997e4ac2bbe46a635ffc214a20b497622b1d6083"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Jul 12 12:37:19 2017 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Jul 12 12:37:19 2017 -0700"
      },
      "message": "Fix egregious state check for window focusability.\n\n- The original check should have not assumed that these are only app\n  windows.\n\nBug: 63614176\nTest: Ensure that you can unlock with password\nChange-Id: I71a9959378bbd98a8ed6715d67119d38c3daceb5\n"
    },
    {
      "commit": "942a85c6d608dd6a4a31937fe0b57ae43105d5b2",
      "tree": "f74a75f83b3c22123f2dcac93384d710b6f567ee",
      "parents": [
        "b544b81b53ae6e3679a7f90f5437e9ad31a45d31"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Jul 11 15:07:45 2017 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Jul 12 12:25:35 2017 -0700"
      },
      "message": "Prevent non-fullscreen activities from triggering auto-enter PiP\n\nBug: 63581685\nTest: android.server.cts.ActivityManagerPinnedStackTests\nTest: #testAppOpsDenyPipOnPause\nTest: Launch screenshot from notification tray above auto-enter PiP\n      activity\n\nChange-Id: I0bddfd5c47d6053d079b9bd426003d526e8bb0dd\n"
    },
    {
      "commit": "b6f946c081774152bcb5e2eac29051b0dc7a55f2",
      "tree": "039608a5318eb8fea031f28543dd32b2a6b3ec88",
      "parents": [
        "4a82979153047bad5ad9e747378b644e5ad61d8c",
        "403bd3429bff82e4926694d0c02d08bf4a6ca277"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 17:35:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 17:35:49 2017 +0000"
      },
      "message": "Merge \"audioservice: modify default music volume\" into oc-dr1-dev"
    },
    {
      "commit": "60b07cd3452eee5324568027b564e6468e2c13bd",
      "tree": "3539eb1ed744c526d14758643f33f1851ba172ed",
      "parents": [
        "8d10791f5b979a5343f462d1b0e9ab1cbbfe8346"
      ],
      "author": {
        "name": "John Eckerdal",
        "email": "john.eckerdal@sonymobile.com",
        "time": "Thu Nov 03 14:04:47 2016 +0100"
      },
      "committer": {
        "name": "Carmen Jackson",
        "email": "carmenjackson@google.com",
        "time": "Wed Jul 12 10:33:24 2017 -0700"
      },
      "message": "Select correct oat/odex when pinning the Camera APK\n\nMake sure that if a primary ABI is set for an application that this\nABI is properly taken into account when comparing the VM runtime\nbitness.\n\nWithout this change a 32-bit camera running application running on a\ndevice where the primary ABI is 64-bit the code would assume create\na path to a non-existant 64-bit binary.\n\nTest: Enable debug prints in pinning service and check if all parts\n  of camera is pinned.\nBug: 32633857\nChange-Id: Iabf7ab890628fa92b0afd3e315a2d74073afde41\n"
    },
    {
      "commit": "fcceb3ada4c633fcd7eb43c04c5546373d2f04bf",
      "tree": "ac8f1e2cc412b49d3d310d3628bee7e0f3e91d6a",
      "parents": [
        "ea0beea5dd941bc53748787dc8c60c30e0d382c5",
        "a0885000f227ebf15f0b78d1d28c7a5de4afa8ea"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 15:23:04 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 15:23:04 2017 +0000"
      },
      "message": "Merge \"Avoid exposing OffloadCallbackEvent values\" into oc-dr1-dev"
    },
    {
      "commit": "49a16f0998267d6ce60a0d1b931a33b6f53ba0aa",
      "tree": "e4fb2ad585b668dd86212ce92dc132903472755a",
      "parents": [
        "9df88e1fe7740df26d01a52fa6272627c46e62bc",
        "6ee73daa0aa90620e4b2cb13ead4b53d16f45010"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 14:43:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 14:43:53 2017 +0000"
      },
      "message": "Merge \"Stop unnecessary tethering reconfigurations\" into oc-dr1-dev"
    },
    {
      "commit": "9df88e1fe7740df26d01a52fa6272627c46e62bc",
      "tree": "80f9520f39ff41629c7d98f2f79674af6535e77d",
      "parents": [
        "f33b1eda888af82ae00c60ee64bd053c700a6a57",
        "9a5b02a89c02d5ff633d8456b22d3d5b7a15bd44"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 14:06:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 14:06:52 2017 +0000"
      },
      "message": "Merge \"Add OffloadHardwareInterface.getForwardedStats() wrapper\" into oc-dr1-dev"
    },
    {
      "commit": "96e3b2afb0b172a568ab180b6e71cedf071f9545",
      "tree": "b27c71635d2cf64100ec2f2a0b7e259a330c655b",
      "parents": [
        "8b44d3722dde9fcd85acce2e190135c1684759d9"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 12 15:32:18 2017 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 12 15:44:25 2017 +0200"
      },
      "message": "Also go to sleep when dozing\n\nSince always-on-screen shows over an occluded activity, we also\nneed to go to sleep to in that case. Now, we could introduce\nanother sleep token that\u0027s controlled by SystemUI. But that\u0027s a\nbit complicated. It\u0027s much simpler to unconditionally go to sleep\nwhenever we are dozing.\n\nTest: With always-on-device, open occluded activity, turn off\nscreen, make sure activity pauses.\nFixes: 62679291\n\nChange-Id: Icd64037d33cc523e498a0a9f5f7df939304e02ed\n"
    },
    {
      "commit": "9a5b02a89c02d5ff633d8456b22d3d5b7a15bd44",
      "tree": "b4635728a14c78a1eec822b310d4484fbe58fecb",
      "parents": [
        "d8fdb26ebfd5c9037ad4e0b97995f280d7a83b8f"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Jul 12 15:46:54 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Jul 12 21:05:36 2017 +0900"
      },
      "message": "Add OffloadHardwareInterface.getForwardedStats() wrapper\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - \"runtest frameworks-net\" passes\nBug: 29337859\nBug: 32163131\n\nChange-Id: Id831bc99cadbd59d280b026866707dbbe3b0e542\n"
    },
    {
      "commit": "5e7b01c8236b51fb9e413594afdec176cea89281",
      "tree": "ea7809552bdaae2807f7a819445f3a1b3cc0afcc",
      "parents": [
        "09a93b97392f69449cf20f37ef6126c655df1453",
        "3ee447c5a6b639ae25682bf9e353cd20746be501"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jul 12 07:57:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 07:57:49 2017 +0000"
      },
      "message": "Merge \"Use RFC 7217 stable privacy addresses\" into oc-dr1-dev"
    },
    {
      "commit": "09a93b97392f69449cf20f37ef6126c655df1453",
      "tree": "9c8417903fdc5663b500d9e741d5302f833284d0",
      "parents": [
        "d8fdb26ebfd5c9037ad4e0b97995f280d7a83b8f",
        "b378a13a2fe3a7a35f014f70ace611e5cae03d0e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 03:38:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 03:38:14 2017 +0000"
      },
      "message": "Merge \"audioservice: fix media volume reset at boot\" into oc-dr1-dev"
    },
    {
      "commit": "d8fdb26ebfd5c9037ad4e0b97995f280d7a83b8f",
      "tree": "2b5cc1aa4a98092f052eca1b40574b937830bb05",
      "parents": [
        "bd2682d0568cb5730c8749e7749698ed1d60f45f",
        "c87cd411843484225897ebdf91cd05073c1c5f35"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 03:05:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 03:05:18 2017 +0000"
      },
      "message": "Merge \"Restructure use of absent tether_offload_disabled setting\" into oc-dr1-dev"
    },
    {
      "commit": "bd2682d0568cb5730c8749e7749698ed1d60f45f",
      "tree": "adf57a507a037b06d033d959dd821dd445fe5e8e",
      "parents": [
        "b822ad3e06a353a38e4013b3fd6c6c26123e2720",
        "b1549341be7383def94dd3d9c1388732141cc822"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Jul 12 02:53:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 02:53:59 2017 +0000"
      },
      "message": "Merge \"Fix z-order issue with text cursors and PiP.\" into oc-dr1-dev"
    },
    {
      "commit": "a249de50d11d023f764edf245ba634ee43fa7e00",
      "tree": "f39f1dd8159d64412aa09c7826e74721e4377f84",
      "parents": [
        "d622be1754fc1e10b998246c0fddec1ed6785c09",
        "e060ffd2ca90d998550dcd9501cc7a567fbf6bb1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 02:17:42 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 02:17:42 2017 +0000"
      },
      "message": "Merge \"Move eSIM factory reset implementation to RecoverySystem\" into oc-dr1-dev"
    },
    {
      "commit": "d622be1754fc1e10b998246c0fddec1ed6785c09",
      "tree": "55128d896641c4f1e2a42bc3f68afa1e1db068a2",
      "parents": [
        "4c66a1dd0d905373df475d64bb5f0c00e51da382",
        "dfa1a47f22a017f99f1eb2146c8b54c91900c778"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 02:09:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 02:09:00 2017 +0000"
      },
      "message": "Merge \"Avoid a race in autofill manager service.\" into oc-dr1-dev"
    },
    {
      "commit": "4c66a1dd0d905373df475d64bb5f0c00e51da382",
      "tree": "a1068a6bb2ade921445ab39f5bf51d08a9e1b3dc",
      "parents": [
        "8d10791f5b979a5343f462d1b0e9ab1cbbfe8346",
        "efd326cfcfb517829f06abb0a54a8160dd72807a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 01:48:36 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 01:48:36 2017 +0000"
      },
      "message": "Merge \"Use DisplayListener instead of WindowRotationListener in AudioService.\" into oc-dr1-dev"
    },
    {
      "commit": "b378a13a2fe3a7a35f014f70ace611e5cae03d0e",
      "tree": "54ec679aba0a55bf12913944a1bf6be7632b2c51",
      "parents": [
        "2f87ca16377a0069d473edb38d199b701181ec49"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 14:08:11 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 17:34:17 2017 -0700"
      },
      "message": "audioservice: fix media volume reset at boot\n\nmSafeUsbMediaVolumeIndex must be initialized after createStreamStates()\nbecause it relies on audio policy having correct ranges for volum indexes.\n\nAlso change the safe volume threshold for USB headset from -15dBFs to\n-30dBFs to account for max EQ gain.\n\nBug: 63462140\nBug: 63388412\nTest: Verify USB headset media volume is unchanged after reboot\nwhen no SIM is present.\n\nChange-Id: I5252d97e3f3dcde7568681abb066752ef0d936d2\n"
    },
    {
      "commit": "1cebea61ac756ea1aaddb8c8c9bb43fe813bbf55",
      "tree": "fcba3827f30307c3579f05076127f3687cf92384",
      "parents": [
        "b544b81b53ae6e3679a7f90f5437e9ad31a45d31"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Jun 26 17:22:27 2017 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Jul 11 17:20:44 2017 -0700"
      },
      "message": "Fixing some issues with the assistant stack\n\n- Only boost window layers for the docked stack above the windows for\n  stacks that are split with the docked stack. In addition, only adjust\n  the assistant windows if the docked stack windows are boosted.\n- In addition, mark activities in the fullscreen stack as invisible when\n  they are under another task that returns to another stack. This prevents\n  all the fullscreen tasks from being visible when a translucent activity\n  is started from the assistant stack.\n- Also fix an issue where returning from the assistant after launching a\n  fullscreen task would incorrectly being the fullscreen stack forward\n  (since the assistant stack is finishing and considered translucent).\n  In such cases, use the return-type of the assistant stack task to bring\n  the home stack forward instead.\n\nBug: 37527727\nTest: android.server.cts.ActivityManagerAssistantStackTests\nTest: go/wm-smoke\n\nChange-Id: Ie81fbebe016f4854c7edebf382c0c3255f1b6471\nSigned-off-by: Winson Chung \u003cwinsonc@google.com\u003e\n"
    },
    {
      "commit": "8d10791f5b979a5343f462d1b0e9ab1cbbfe8346",
      "tree": "c987a3b1576f02686501281aa019d0243a209bef",
      "parents": [
        "81977b8929c1b258cfb91d02821cbc68ee4589c7",
        "dd7593ac21bf0ba1cd8c946f305a21345d3d5afe"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Jul 12 00:01:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 00:01:48 2017 +0000"
      },
      "message": "Merge \"Ensure transparent assistant works with PiP\" into oc-dr1-dev"
    },
    {
      "commit": "b1549341be7383def94dd3d9c1388732141cc822",
      "tree": "03ae5d145261a5ea556296dcd333df29fc4a18c9",
      "parents": [
        "b544b81b53ae6e3679a7f90f5437e9ad31a45d31"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Jul 11 09:59:56 2017 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Jul 11 16:55:52 2017 -0700"
      },
      "message": "Fix z-order issue with text cursors and PiP.\n\n- When an activity is in PiP, its windows are top most and always\n  computed incorrectly as the IME target. As a result, the popup\n  windows for the cursors don\u0027t find the right parent and are not\n  promoted to be above the IME.\n\nBug: 63546389\nTest: Enter PiP, open app with bottom anchored input, and select\n      some text.  Ensure that the cursors are top-most.\nTest: go/wm-smoke\n\nChange-Id: I1267504e10544b0a075bbf73e41e001d07a5f74c\n"
    },
    {
      "commit": "efd326cfcfb517829f06abb0a54a8160dd72807a",
      "tree": "14099f23bb71251c12a51130616e58d96795166e",
      "parents": [
        "81977b8929c1b258cfb91d02821cbc68ee4589c7"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Mon Jun 26 13:48:14 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 23:37:54 2017 +0000"
      },
      "message": "Use DisplayListener instead of WindowRotationListener in AudioService.\n\nIn AudioService should use a DisplayListener to listen for the default\ndisplay\u0027s orientation, not handling window orientation in AudioService.\n\nBug: 62460024\nTest: Manually test on Marlin.\nChange-Id: I0b7280f9e851b10e8c23406cae3407b45c97bdda\n(cherry picked from commit 383c1cefd112c0cd56a3b34a9891ce095d3013de)\n"
    },
    {
      "commit": "403bd3429bff82e4926694d0c02d08bf4a6ca277",
      "tree": "197c7d86649d101683053d93d7b4ed41959081a7",
      "parents": [
        "2f87ca16377a0069d473edb38d199b701181ec49"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 16:21:44 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 16:21:44 2017 -0700"
      },
      "message": "audioservice: modify default music volume\n\nDefault music volume is changed from 3/4 of max to 1/3 of max to\nreduce initial volume over headphones percieved as too agressive.\n\nAlso add a property ro.config.media_vol_default to modify this\ndefault value.\n\nBug: 62608451\nTest: verify default music volume over headphones after factory reset.\nChange-Id: Icadb99e1bafe88984d3a3a05014d4d4648830693\n"
    },
    {
      "commit": "4dd7c58fc8fcc5a2c50de5e8eff05ddc5c3b0b8b",
      "tree": "5047b723e68a665a9b598e90d79aaa12ac068756",
      "parents": [
        "0a2ada5416e01f762909c676b7edacb2a4104eac"
      ],
      "author": {
        "name": "Ahmed ElArabawy",
        "email": "arabawy@google.com",
        "time": "Mon Jun 12 18:01:11 2017 -0700"
      },
      "committer": {
        "name": "Ahmed ElArabawy",
        "email": "arabawy@google.com",
        "time": "Tue Jul 11 22:16:16 2017 +0000"
      },
      "message": "Add Configuration to APF Policy\n\nin b/37702435 battery was drained due to reception of\nEthernet frames with Eth-type \u003c 0x600 (non ehternet II frames)\n\nThis change adds an XML file to drop/allow these frames\nDropping helps tp avoid acquiring a wakelock for the\nreception of these packets, while allowing them may be needed\nfor some protocols\nThe Change allow the OEM to override the system settings\n\nBug: 37702435\nTest: runtest frameworks-net\nMerged-In: Idb6c215896ef230a8136ff4ecefc90ccdc5c1c6d\n\nChange-Id: Idb6c215896ef230a8136ff4ecefc90ccdc5c1c6d\nSigned-off-by: Ahmed ElArabawy \u003carabawy@google.com\u003e\n"
    },
    {
      "commit": "e060ffd2ca90d998550dcd9501cc7a567fbf6bb1",
      "tree": "d6ee3a503a586a616d1bbae8ae377b5929b2e831",
      "parents": [
        "b544b81b53ae6e3679a7f90f5437e9ad31a45d31"
      ],
      "author": {
        "name": "qingxi",
        "email": "qingxi@google.com",
        "time": "Fri Jun 23 15:32:53 2017 -0700"
      },
      "committer": {
        "name": "qingxi",
        "email": "qingxi@google.com",
        "time": "Tue Jul 11 13:09:40 2017 -0700"
      },
      "message": "Move eSIM factory reset implementation to RecoverySystem\n\nThis CL reverts the implementation of eSIM factory reset in\nMasterClearReceiver and uses RecoverySystem#rebootWipeUserData to erase\neSIM data. Besides this, when the eSIM data isn\u0027t erased, we should call\nEuiccManager#retainSubscriptionsForFactoryReset to let the fastboot know\nthat.\n\nBug: 62957212\nTest: TreeHugger\nMerged-In: I08ab9d53ec4fc73a65e8e7d0c39ac95b2d44d012\nChange-Id: I08ab9d53ec4fc73a65e8e7d0c39ac95b2d44d012\n"
    },
    {
      "commit": "e5ab450cca8164563684b84d55b8e32784ac8dab",
      "tree": "13460b5c28d4f6a461d8859991974cc5fba381c5",
      "parents": [
        "2f87ca16377a0069d473edb38d199b701181ec49"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Tue Jul 11 08:58:05 2017 -0700"
      },
      "committer": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Tue Jul 11 09:47:32 2017 -0700"
      },
      "message": "Do not apply maxAspectRatio to bounds when in VR mode.\n\nVR applications use fullscreen always and should not have any aspect\nratio limitations applied. This CL addresses the issue by checking\nthe current mode before applying appBounds.\n\nChange-Id: If8118833315af22917e5731cbc13bacb58a71a44\nFixes: 63024874\nTest: launch VR activity, observe activity layout and nav bar placement\nTest: go/wm-smoke\n"
    },
    {
      "commit": "a0885000f227ebf15f0b78d1d28c7a5de4afa8ea",
      "tree": "6a7fd7406e7a792fc8dcfc388a78146593597e4e",
      "parents": [
        "8b44d3722dde9fcd85acce2e190135c1684759d9"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Jul 12 00:15:26 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Jul 12 00:24:38 2017 +0900"
      },
      "message": "Avoid exposing OffloadCallbackEvent values\n\nKeep the android.hardware.tetheroffload.control.V1_0.OffloadCallbackEvent\nimport from leaking outside of OffloadHardwareInterface by converting each\nevent type into a separate callback.\n\nAdd basic logging implementation in OffloadController. Seems like every\ncall just needs to log save for two that actually need to do work:\n\n    - onSupportAvailable()\n      * poll stats and notify NetworkStatsService\n      * (re)push all state, as the hardware now supports offload (again)\n\n    - onStoppedLimitReached()\n      * poll stats and notify NetworkStatsService\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - \"runtest frameworks-net\" passed\nBug: 29337859\nBug: 32163131\nChange-Id: I46c2e5252ae72a09a1550862847c1af441ece072\n"
    },
    {
      "commit": "c87cd411843484225897ebdf91cd05073c1c5f35",
      "tree": "938b764ca0976050e0e0c43148cb404cbd762bc9",
      "parents": [
        "8b44d3722dde9fcd85acce2e190135c1684759d9"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Jul 07 17:38:30 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jul 11 23:46:58 2017 +0900"
      },
      "message": "Restructure use of absent tether_offload_disabled setting\n\nThis restructures the fetching of the default disposition such\nthat we disable (and enable) the feature with only a single\ncharacter change.\n\nAdditionally: fix unittests with proper use of FakeSettingsProvider.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - \"runtest frameworks-net\" passed with developer enabled and disabled\nBug: 29337859\nBug: 32163131\nBug: 63250751\n\nChange-Id: Ib32489d07778465134bca52c589baddbd78ab129\n"
    },
    {
      "commit": "2f87ca16377a0069d473edb38d199b701181ec49",
      "tree": "97053ce831e8f7193988812ac68a23fb4fc1e318",
      "parents": [
        "b02cbdeeb3cb4d7989d93649daac01d4ebb89fd6",
        "361b825c0dc0d2b0bb1726da7c31c92f3c4e8a35"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Tue Jul 11 14:37:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 11 14:37:06 2017 +0000"
      },
      "message": "Merge \"Support demo mode and demo users\" into oc-dr1-dev"
    },
    {
      "commit": "361b825c0dc0d2b0bb1726da7c31c92f3c4e8a35",
      "tree": "9e243d9c2e4725d3e64306c54d423d8e5d8b9a3d",
      "parents": [
        "037503dfa02e1278f5d43b5710340f89e0ae379c"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Fri Jun 23 18:12:46 2017 -0700"
      },
      "committer": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Mon Jul 10 17:49:42 2017 -0700"
      },
      "message": "Support demo mode and demo users\n\nBug: 62712426\nTest: run cts -m CtsDevicePolicyManagerTestCases -t \\\ncom.android.cts.devicepolicy.DeviceOwnerTest#testCreateAndManageEphemeralUser\nand\nrun cts -m CtsDevicePolicyManagerTestCases -t \\\ncom.android.cts.devicepolicy.DeviceOwnerTest# \\\ntestCreateAndManageEphemeralUserFailsWithoutSplitSystemUser\nand\nruntest -c com.android.server.devicepolicy.DevicePolicyManagerTest \\\nframeworks-services\nChange-Id: I77a71a994fe0f4f1f8c5df7c4ccf493aafa8fefe\n"
    },
    {
      "commit": "22d4bf2283537d7fe34871ce7e1c8f23595ea21c",
      "tree": "052bccf5b124f0de9dcaa47cec2e168df3450197",
      "parents": [
        "150fec445a4f7db666a899de73f739d90397748a",
        "b82963f3e038cf12708374c78aff3f57619d02b7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 11 00:46:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 11 00:46:11 2017 +0000"
      },
      "message": "Merge \"Catch exception in descriptor parser causes device connection to be skipped.\" into oc-dr1-dev"
    },
    {
      "commit": "e989348ca34d6714d9a8ddd5a9dac2b61a91e9bf",
      "tree": "55965a7f000273749f15046ca281d04b18afd36a",
      "parents": [
        "150fec445a4f7db666a899de73f739d90397748a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jul 10 16:19:41 2017 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jul 10 17:25:19 2017 -0700"
      },
      "message": "Tear down agent after preflight rejection\n\nWe were failing to tear down a full-backup target process in several\nerror situations (preflight, quota exceeded, unforeseen), leaving the\napp in an incoherent execution state for general operation.  Now we\nproperly tear down the target in all full-backup early exits.\n\nFix #63540605\nTest: run cts -m CtsBackupTestCases -t android.backup.cts.BackupQuotaTest\n\nChange-Id: Id8f6fe0381e85a8d8e4015fc6fd34bb840859e7a\n"
    }
  ],
  "next": "248fbb180db7cc1f57ab3a8d0387e1c18caf668d"
}
