)]}'
{
  "log": [
    {
      "commit": "16bcd7219d968602d09c8c86460b31ffb3d46990",
      "tree": "d1fd634a9331e2e98a0414029621fc6097081165",
      "parents": [
        "bf28b01587ff430c415b29fb3af8091ccef02c3a",
        "bc535b11b67821921cb7778cfc0a4dfc0f09d951"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed May 10 02:32:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 10 02:32:54 2017 +0000"
      },
      "message": "Merge \"Merge \"Fixes for handling users + default for USB\" into oc-dev am: 5262ae9b87\" into oc-dev-plus-aosp\nam: bc535b11b6\n\nChange-Id: I6e20b889abbb7d2c037d71c271a733e0639b3e1e\n"
    },
    {
      "commit": "5262ae9b878c5cd7e4fb7de00914ed4c35b10ce9",
      "tree": "f39ab4a8d5dccb201e79d72254f12623639a56ab",
      "parents": [
        "62643dddc7824d33862155d05b19c57cb01b0ef2",
        "d4b09d4e16a9dc2bb08b1e06b87c02de3f46308c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 10 01:39:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 10 01:39:33 2017 +0000"
      },
      "message": "Merge \"Fixes for handling users + default for USB\" into oc-dev"
    },
    {
      "commit": "9507d707189fa75757a3c69c9964ee93e78a0cc2",
      "tree": "6bbfa59a49694c98c7b029ceac50040e35b4c05b",
      "parents": [
        "76bce49d4dada9986632385ed47ecfe4c68f5f14",
        "4fdcb5d6fed9f1c7773162e6470a4e787c2297b8"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue May 09 21:38:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 09 21:38:00 2017 +0000"
      },
      "message": "Merge \"Always force set functions on disconnect\" into oc-dev am: bf783e24cf\nam: 4fdcb5d6fe\n\nChange-Id: I8d7656a046fe2e649c73f4ad1505e9b7cf2625f0\n"
    },
    {
      "commit": "d4b09d4e16a9dc2bb08b1e06b87c02de3f46308c",
      "tree": "6b672fc42e0bf918f7f76ee1d2765175158f396a",
      "parents": [
        "7080fa528272d4353e9979cf693e5b4dc1d0db8b"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Fri Apr 28 17:25:37 2017 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue May 09 10:18:41 2017 -0700"
      },
      "message": "Fixes for handling users + default for USB\n\nOnce a user plugs in a USB device (or accessory) the user can decide\nwhich app should be started by default once the device is plugged in.\nI.e. this app becomes the \"default\" for this USB device. If the user has\na work profile the default app is set for all profiles of the current\nprofile group (i.e. personal and work profile) as at any point in time\none profile group is visible on the screen.\n\nThere were some issues in the code:\n- fix small obvious bugs\n\n- use userPackage (\u003d\u003dpackageName + user) everywhere instead of only\n  packageName as we have to distinguish between apps of different\n  profiles.\n- Stop accessing userPackage.packageName whereever possible to avoid\n  mistakenly ignoring the user\n\n- Monitor packages of all users and deal only with users of the current\n  profile group.\n- Do not react to package changes/updates/modifications. While it is\n  possible that an app gained the ability to deal with new USB devices on\n  update, we should not clear the default app for a default device. This\n  is because (1) this situation is exceedingly rare and (2) we do not\n  easily know when an app gained the ability to deal with a device. The\n  user can still manually clear the USB default app via Settings.\n\n- The old DeviceFilter.matches code did not make sense. An app that\n  wanted to replace the previous default app would have needed to know\n  the serial number of the device.\n\nTest: - Searched for access to UserPackage.packageName and we only use it\n        directly three times now. I checked these occurances and it is save\n        to use.\n      - Ran the following test\n        - Install app that can handle a USB device in personal profile\n\t- make this app the default for this USB device\n\t- Install same app in work profile -\u003e default was be cleared as\n                                              it is not clear if the user\n\t\t\t\t\t      might prefer the other app\n\t- make the work app the default for this USB device\n\t- update non-work app -\u003e default should not be cleared as the the\n                                 update is usually not triggered by the\n\t\t\t\t user and we should just keep the\n\t\t\t\t selection the user made before\n\t- update work app -\u003e App is already default\n\t- uninstall work app -\u003e default should be cleared as the default\n                                app was removed\nFixes: 36610004\nChange-Id: I294b582c36228169ac12a02d8007a4541e386d57\n"
    },
    {
      "commit": "f706fe2f6000d0d7c132c17e622cb96e8eaabc4c",
      "tree": "27860a12e537ed8eb806db98cf65a917ef34aa4b",
      "parents": [
        "5f0e436548ea3bd10cef480c194da7da6080ac1e"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon May 08 15:13:50 2017 -0700"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon May 08 15:17:17 2017 -0700"
      },
      "message": "Always force set functions on disconnect\n\nFunctionfs no_disconnect mode will close the function on\ndisconnect so the current handling won\u0027t suffice for cases\nwhere the mtp process is killed while MtpService is running.\nThis can happen when anything in Media/DownloadProvider ANRs\nor similar.\n\nSolve this by always setting the config at disconnect time.\n\nBug: 38010151\nTest: Connect with MTP, am force-stop com.android.providers.media,\nreconnect\n\nChange-Id: Iaf012f6e2f11151f34d834efe08777dd02c0aec5\n"
    },
    {
      "commit": "405ce17abb7ec9d3f20abf8333314aa2c64d0b8b",
      "tree": "c658400a9a339e93c22125df707079e7991c14ba",
      "parents": [
        "c06c4ad71d3d4d188c0feb7f4237c75e797f7c0a"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Tue Apr 18 18:13:39 2017 -0700"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon May 01 10:30:49 2017 -0700"
      },
      "message": "Notify the user when an unsupported accessory is attached\n\nThis CL pops up a notification to the user when the device does not\nsupport Analog Type-C headphones but the user connects one.\ni.e when the Usb port status reports currentMode\u003daudio_acc, but\naudio_acc is not present in the supportedModes list.\n\nBug: 36604276\nTest: Manually test inserting an Audio accessory\nChange-Id: If514b9f238da196a7157e1aacb6d7690fde66f21\n"
    },
    {
      "commit": "20137dc1481e8efec47d45d8ee0828623b5af8f9",
      "tree": "26f072f8bd1b41ed20227cd7d00d069b99943b86",
      "parents": [
        "02adf09e5b59a2570cc8d34d28cfad1f5774ea9a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 13 09:20:48 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 28 09:13:14 2017 -0700"
      },
      "message": "USB audio: increase protection of member fields\n\nReplace public by private or package access in field declarations,\nand add getters and setters as needed.\n\nTest: compiles OK\nChange-Id: Ief3fffb6a21d2e4d05153839f444617ea5e70846\n"
    },
    {
      "commit": "f9e6e70687afedff4e37b146a542990394e748a3",
      "tree": "ddafe368aff3d85ae6c1542dbd7dee9a113f415a",
      "parents": [
        "04e57d29ffcec119fbc8318ccd4a085ec5be279e",
        "19d6c7a9cd8c3a623fe76e3239be583ad0014b6f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 27 16:33:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 27 16:33:17 2017 +0000"
      },
      "message": "Merge \"Add comments\""
    },
    {
      "commit": "d6247427ac3137555055fda2bed511db4941ed30",
      "tree": "892bd17a202df75b21ac5af3a3dcd1d2b258c964",
      "parents": [
        "ed2986ca915cbcaa362fd86eed67f07905b30e8f",
        "7ee513c27b26b98bd5f2fd5bff5e0bd289736909"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Apr 27 05:15:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 27 05:15:11 2017 +0000"
      },
      "message": "Merge \"Api updates\" into oc-dev am: f84467e19f\nam: 7ee513c27b\n\nChange-Id: Iafbf2f2ca92b288de7bded40772cd15eca2012ee\n"
    },
    {
      "commit": "f84467e19f16a63f47f13bfc9263c70b46816c24",
      "tree": "5e8987721f75664f43d2e4bed093b1127a88ae52",
      "parents": [
        "3ab258c98d1b40bdea2833e9671fae8431d86ec5",
        "bad42976009ffb61010136ed8055f9e0f6d2e416"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 27 04:51:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 27 04:51:46 2017 +0000"
      },
      "message": "Merge \"Api updates\" into oc-dev"
    },
    {
      "commit": "ece721f8cd3a93e4f40ba08ed8047f11c05b3551",
      "tree": "a0f6bc16528257620623cc3c2cd93f758ad1accb",
      "parents": [
        "855254eb55f332e5705c3fb5af9ad622cea258b2",
        "ef4b303fc27056ae137563bc958eb3efd016972e"
      ],
      "author": {
        "name": "Thierry Strudel",
        "email": "tstrudel@google.com",
        "time": "Thu Apr 27 03:28:07 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 27 03:28:12 2017 +0000"
      },
      "message": "Merge \"Update UsbService to V1_1 usb hal\""
    },
    {
      "commit": "ef4b303fc27056ae137563bc958eb3efd016972e",
      "tree": "72ad68f7283a22bbe476c45036b1c1d53307fdf2",
      "parents": [
        "1ff2dbd912fe8c22249a4624ea47a2ec260de33f"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Tue Apr 18 17:56:54 2017 -0700"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "badhri@google.com",
        "time": "Wed Apr 26 21:43:07 2017 +0000"
      },
      "message": "Update UsbService to V1_1 usb hal\n\nThis CL adapts Usb service to V1_1 hal.\nV1_1 hal supports reporting audio_adapter accessory\nand debug accessory.\n\nBug: 36604276\nTest: Manually test inserting an Audio accessory.\nAlso tested to made sure that change is compatible with V1_0\nimplementations\nChange-Id: I8e44f5e9ae14b0e41965e8d355c99ac42af93f23\n"
    },
    {
      "commit": "bad42976009ffb61010136ed8055f9e0f6d2e416",
      "tree": "41c3243187a4e74ddcac2278248fe601c5d2dcb5",
      "parents": [
        "cd68c334bad676e4b29db77c78f61eb48fd75df1"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Apr 25 13:52:49 2017 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Apr 25 17:00:05 2017 -0400"
      },
      "message": "Api updates\n\n- Better documentation on DEFAULT_CHANNEL_ID\n- Renaming getChannel/setChannel/getTimeout/setTimeout\n- Add documentation to getShortcutId\n- @hide parcel constructors\n\nTest: make, make cts\nBug: 37672218\n\nChange-Id: I695b2620c51638a84930e9d1c5fbfd6d85699b55\n"
    },
    {
      "commit": "6f9dbb1203424972850b17d897c2b3d9b803b488",
      "tree": "e1a8736cc841848db51cdd75890ec1180144bc8e",
      "parents": [
        "740ca0f9f03c669b5a4abf33c970a817842bd7a5"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Fri Apr 21 14:48:31 2017 -0700"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon Apr 24 16:58:06 2017 -0700"
      },
      "message": "Reorder USB_STATE updates so config_changed is not replaced.\n\nBecause of flag INTENT.ACTION_REPLACE_PENDING, intents\nsent in rapid succession could replace previous intents\nthat have not been processed, and it is unreliable when\nor whether this happens. Since CONFIG_CHANGED cannot afford\nto be lost, make sure it is sent last, so it is always\nprocessed.\n\nBug: 34873000\nTest: lots of unplugging/plugging\nChange-Id: I9264d5129139cf3f433bbcd068e8b292fec6cd31\n"
    },
    {
      "commit": "740ca0f9f03c669b5a4abf33c970a817842bd7a5",
      "tree": "b824c83de339b5d5f700de4262da8593c189df21",
      "parents": [
        "62daa29f7d7005a26a36089f2c7fdf91ce464003"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Thu Apr 20 13:46:29 2017 -0700"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon Apr 24 14:46:32 2017 -0700"
      },
      "message": "Don\u0027t skip intents where config changed.\n\nSince we are adding ffs.mtp.ready to the init\nscripts, we can no longer skip intents that cause\nthat property to be set.\n\nThis fixes the case where device is disconnected\nand adb is repeatedly enabled/disabled.\n\nTest: enable/disable adb, usb mtp\nBug: 33220530\nChange-Id: I48e687c1af3f9da9e522ebe879285877c0168da8\n"
    },
    {
      "commit": "768dd994f388774dcfcebf4c960f5a27828ff119",
      "tree": "604b1f45955eaac6765e7ad4f3cccae0de7a2c9a",
      "parents": [
        "41bf42a1c73d762856d5a38d7548cf751ae8bd15"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Fri Apr 21 14:48:31 2017 -0700"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon Apr 24 12:40:41 2017 -0700"
      },
      "message": "Reorder USB_STATE updates so config_changed is not replaced.\n\nBecause of flag INTENT.ACTION_REPLACE_PENDING, intents\nsent in rapid succession could replace previous intents\nthat have not been processed, and it is unreliable when\nor whether this happens. Since CONFIG_CHANGED cannot afford\nto be lost, make sure it is sent last, so it is always\nprocessed.\n\nBug: 34873000\nTest: lots of unplugging/plugging\nChange-Id: I9264d5129139cf3f433bbcd068e8b292fec6cd31\n"
    },
    {
      "commit": "58bffb24d74f2cfb03d54432c7521b91fd481172",
      "tree": "c3ea6a497428217422fc537a4c9c8755cff67b9b",
      "parents": [
        "44118a539162d1e211e133ab2acb9ad735b80802",
        "7f986ba87b1e849d0366027e4ebcb66c7cf92cc6"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Sat Apr 22 01:45:19 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Apr 22 01:45:19 2017 +0000"
      },
      "message": "Merge \"Upgrade logging for UsbDeviceManager to narrow down bugs.\" into oc-dev am: 6d3747ebe2\nam: 7f986ba87b\n\nChange-Id: I45d4b1f7fbf9268206e0c90636f02bf0d3ae5d66\n"
    },
    {
      "commit": "c889b4f4eb62ae7ad8de3ff3d98768e71cb3ad5a",
      "tree": "d1ec98cd4c36fdc7df726122e35d32d1d00d2b5d",
      "parents": [
        "435f1dc7a70185054bdc7079dfbc85f6642d4bc3"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Fri Apr 21 12:31:17 2017 -0700"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Fri Apr 21 16:22:13 2017 -0700"
      },
      "message": "Upgrade logging for UsbDeviceManager to narrow down bugs.\n\nWill be reverted once bugs are caught.\n\nBug: 34873000\nTest: None\nChange-Id: Ia43e0ccb1c22c767c6ef3edbf04cef024662cd15\n"
    },
    {
      "commit": "2c284916d7e7ef317fca9a0d86d59a5e7326b967",
      "tree": "c9e212dd7b2dd8c514df29a527be17f45dab1cf2",
      "parents": [
        "16d739da3c1d5112cad4ba6286afe8bcde63709e",
        "bf51f836aee0f7a836a2ee889cd1387c815148bc"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Thu Apr 20 13:11:48 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 20 13:11:48 2017 +0000"
      },
      "message": "Merge \"Only send HOST_STATE intents when host mode is used.\" into oc-dev am: a73f9f874a\nam: bf51f836ae\n\nChange-Id: Ie358c38f98d186ed0197248fcf82db2913cfe97d\n"
    },
    {
      "commit": "41ebde2bb35e8a5df25d9d2edb49e93585a015dd",
      "tree": "848b0bf2ab20bf9a8d4ab5e447c579a5436326ca",
      "parents": [
        "5838563e93022e0d6f733f728a19c3221d2b3c82"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Apr 18 12:00:09 2017 -0700"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Apr 18 12:06:27 2017 -0700"
      },
      "message": "Only send HOST_STATE intents when host mode is used.\n\nPreviously HOST_STATE update intents would broadcast if the\ndevice was in gadget mode but not configured. This would\noverride the sticky intent, causing MtpReceiver to fail.\n\nThis is fixed by only updating host state if host is connected\nor if host is being disconnected (was connected before).\n\nBug: 34873000\nTest: set up lockscreen, reboot device while plugged in, unplug before\nunlocking, verify usb works.\n\nChange-Id: Ic424e678ba72401ee8ec975e915727272edf3767\n"
    },
    {
      "commit": "82d49dfbefab033320ec004df1be5934fa83a585",
      "tree": "a7d5d449c7140c47e61ae58fdec64b70bd58c9bf",
      "parents": [
        "9191faf4eb07883240686f29228fdfc215fe413d"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Fri Apr 14 11:43:22 2017 -0700"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Fri Apr 14 12:01:59 2017 -0700"
      },
      "message": "Repost USB and ADB notification when locale changes\n\nBug: 37266276\nTest: Manually tested the language of active notifications after\nswitching language.\n\nChange-Id: I0cef61fbd155e0c9789f52a140561c71969fbab7\n"
    },
    {
      "commit": "f13eb2e0c7f6c398464620f21c52490ce43f01c7",
      "tree": "9f12069813a5e51fee521ab55b264f0c87881d6c",
      "parents": [
        "1be9766a68ab25d4912aa19859414c8b2af6242b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 13 10:45:47 2017 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 13 15:21:31 2017 -0700"
      },
      "message": "Changed the naming scheme for Treble java libraries (both static and dynamic)\n\nandroid.hardware.foo@1.0-java \u003d\u003e android.hardware.foo-V1.0-java\n\nBug: 37207894\nTest: make\nChange-Id: Ica91a6813956f4ea99001c5f427be94865e48fde\nMerged-In: I2d8912dc752f904188457c3e6dac10da1afd287a\n"
    },
    {
      "commit": "4baa03b3c04411f2f0b2c0c41d004821cde97b4e",
      "tree": "64eb716f911c1b66659e4f795134d7455aa0e3ed",
      "parents": [
        "56909176794151fbb26d252deb328a8bcf397529"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 13 10:45:47 2017 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 13 14:27:10 2017 -0700"
      },
      "message": "Changed the naming scheme for Treble java libraries (both static and dynamic)\n\nandroid.hardware.foo@1.0-java \u003d\u003e android.hardware.foo-V1.0-java\n\nBug: 37207894\nTest: make\nChange-Id: I2d8912dc752f904188457c3e6dac10da1afd287a\n"
    },
    {
      "commit": "19d6c7a9cd8c3a623fe76e3239be583ad0014b6f",
      "tree": "6975a946ec06f798561ba3a9e7c4fcd0d32f8a41",
      "parents": [
        "59d7c621c3e0ef0f43f51010a59b0a15e9d39d83"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 06 17:06:41 2017 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Apr 13 11:32:59 2017 -0700"
      },
      "message": "Add comments\n\nTest: builds OK\nChange-Id: I3745b04473d0a3878845708c9847001d936ba9b2\n"
    },
    {
      "commit": "9a2b5e98285d1c2d11dabe706dbd5fbdb2cee17f",
      "tree": "b0d23cb01c932fc80e75dcf9c6a7baafd1a62de4",
      "parents": [
        "7f6f6226634cb001b7ce5b7d2492db8e41d28edb",
        "8e40723876596db41aa57ece4d80b35c35ab2b86"
      ],
      "author": {
        "name": "David Stevens",
        "email": "stevensd@google.com",
        "time": "Wed Apr 12 01:23:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 12 01:23:07 2017 +0000"
      },
      "message": "Merge \"Reset the default usb package less often\" into oc-dev am: 1654143680\nam: 8e40723876\n\nChange-Id: I041f7fdaf689fde58f7853af075f708b30418201\n"
    },
    {
      "commit": "1654143680f53f857747e3b26bce8c414921b8cd",
      "tree": "6afd07a18a9e05f7ee05f59f88edebe13321eb1e",
      "parents": [
        "116c09f71de7d91a4bfd9cd7c9bb0b8a5fe47ffa",
        "f4a2e1df940f75534af364b7d7dad46a4b25bd44"
      ],
      "author": {
        "name": "David Stevens",
        "email": "stevensd@google.com",
        "time": "Wed Apr 12 00:12:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 12 00:12:15 2017 +0000"
      },
      "message": "Merge \"Reset the default usb package less often\" into oc-dev"
    },
    {
      "commit": "6040887f78c1a5d8911a169cd4f2825cf8bad10c",
      "tree": "b21208c99a7d4d26d4442ec8264b69b2e3bfa64f",
      "parents": [
        "cfeb32287a5882a1c0fcbb26e58953e8b234c899"
      ],
      "author": {
        "name": "puma_hsu",
        "email": "puma_hsu@htc.com",
        "time": "Fri Mar 24 10:41:56 2017 +0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Fri Apr 07 12:35:21 2017 -0700"
      },
      "message": "Just broadcast intent to bring up MTP/PTP as soon as switching function\n\nBug: 36113457\nBug: 34451451\nTest: Turn on tethering\nChange-Id: I3a7ab6fdcd157740b8e55ded67b3d5dddf15b0e0\nSigned-off-by: puma_hsu \u003cpuma_hsu@htc.com\u003e\n(cherry picked from commit 4b3e46c7878f28abe2f3c26c05d55c41eba41227)\n"
    },
    {
      "commit": "f4a2e1df940f75534af364b7d7dad46a4b25bd44",
      "tree": "101b66759c9273380a023979ab91e057110c6861",
      "parents": [
        "8ce439a76861e9e90b5b8ef7fa757bf798ac76fa"
      ],
      "author": {
        "name": "David Stevens",
        "email": "stevensd@google.com",
        "time": "Thu Apr 06 20:48:34 2017 -0700"
      },
      "committer": {
        "name": "David Stevens",
        "email": "stevensd@google.com",
        "time": "Thu Apr 06 22:51:05 2017 -0700"
      },
      "message": "Reset the default usb package less often\n\nThis CL makes logic for resetting the default package for handling USB\nintents less agressive (added in ag/101452). First, instead of listening\nfor package changed events, we now listen for package replaced\nbroadcasts. Second, we don\u0027t reset the default package if the app being\nadded/updated is already the default package.\n\nBug: 35491880\nTest: Manually tested with a work profile\nChange-Id: Id1992239b5d8ace87fefeb4acd6ca1031c3c1085\n"
    },
    {
      "commit": "522737495106a0a6b3569027a2d231adce48f9fb",
      "tree": "8d66b57ff704baea00805f272e69423c029932d9",
      "parents": [
        "b58ce251e3b2df398f6a0a4ba1c646fc987eee97"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Tue Apr 04 18:57:26 2017 -0700"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Wed Apr 05 17:13:34 2017 -0700"
      },
      "message": "Do not show Usb dialog for USB peripherals.\n\nThis CL prevents the USB Dialog to show for peripherals such as\nkeyboard, mouse, flash drives etc. Usb Dialog is redundant in these\ncases as the Type-C stack is expected to manage power automatically\nas these devices are most likely SNK devices.\n\nBug: 36141499\nTest: Manually tested that USB dialog doesnt show up when\na keyboard or mouse is connected.\n\nChange-Id: I3ee45f137817425bf9acd675b044a97d1cb91d7d\n"
    },
    {
      "commit": "d81d8d854a7ed345435bee60a8fabfbcb89aac7e",
      "tree": "c6a6d3a4693e25ad1e8a6991600e86e46359fac5",
      "parents": [
        "49c1a82f939242209d2ad4822dd3321feb6e399c"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Tue Apr 04 15:37:38 2017 -0700"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Tue Apr 04 15:46:37 2017 -0700"
      },
      "message": "Pass the right index to query the descriptors\n\nBug: 36897770\nTest: Manually tested with headset jack plugged in.\nChange-Id: Icd7a983423f3c8986404770a78e3904ee095e758\n"
    },
    {
      "commit": "f63de8831f70dd6ba01ce600b575417c2e947271",
      "tree": "070eb574a614fe9c5394b829929fae20188f5d38",
      "parents": [
        "0988da5ad69327dd57cb3328ea332533f95b2cf6",
        "7dee1a6347bf2c2eb90359399178f07e0d75e6be"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "badhri@google.com",
        "time": "Tue Apr 04 17:16:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 17:16:29 2017 +0000"
      },
      "message": "Merge \"Do not display USB charging dialogue for AUDIO class devices\""
    },
    {
      "commit": "7dee1a6347bf2c2eb90359399178f07e0d75e6be",
      "tree": "c9308969498d6d5bd2cdd71ba8791987c7d42840",
      "parents": [
        "010358f60df3b084893f1d020f1d4fffc7346ae0"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Sat Apr 01 18:19:05 2017 -0700"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon Apr 03 17:24:08 2017 -0700"
      },
      "message": "Do not display USB charging dialogue for AUDIO class devices\n\nThe CL prevents the \"Supplying power to the attached device\"\nnotification from showing up when USB digital headphones are\nconnected. Although, the phone is actually powering the headphones\nhere, there seems to be an opinion that this might confuse the users.\nSo, disabling the notification for better user experience.\n\nAlso, the mode chooser activity might not be applicable here as\nthe headphones are not expected to be a dual role device in the\nnear future. When connected through a hub, the power management\nof the Type-c link is expected to be managed by the Type-C stack\nin the hub and phone\u0027s kernel. So user might not have to manage\nthe direction of power flow.\n\nBug: 36141499\nTest: Manually tested that USB dialog doesnt show up when\ndigital usb headphones are connected but shows up otherwise.\nChange-Id: I187da9c77e294cbbceb633365adbb4623fc14a3d\n"
    },
    {
      "commit": "7530670d337aa69fffb5820c4082974fa0399cf9",
      "tree": "3ebe7f13a20debcf16d72ab8f84bf2474a97a568",
      "parents": [
        "6483c2d5fa47a4f13fee70c6a9a744437357c0f7",
        "09b5ec8ee17f96d4b18a4b89e6f2c9b4869b03c5"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Apr 03 23:57:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 03 23:57:27 2017 +0000"
      },
      "message": "Merge \"Not send switch intents if there is no real intent\" into oc-dev am: 82331f7f73\nam: 09b5ec8ee1\n\nChange-Id: I790378322f543762ef7fda0253e48259e9bf5d3e\n"
    },
    {
      "commit": "09b5ec8ee17f96d4b18a4b89e6f2c9b4869b03c5",
      "tree": "9f4c93898782c39226d5ddd02c6bc470b5c3a9b6",
      "parents": [
        "d6da0d25cbe8d246dff6ecf6198f3420706a6bb1",
        "82331f7f731769390eb5ef0cd6e8e38796bad422"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Apr 03 23:51:02 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 03 23:51:02 2017 +0000"
      },
      "message": "Merge \"Not send switch intents if there is no real intent\" into oc-dev\nam: 82331f7f73\n\nChange-Id: Ief39b33a90bbc6d9428006baccd6b293572d17f3\n"
    },
    {
      "commit": "82331f7f731769390eb5ef0cd6e8e38796bad422",
      "tree": "5321d0503cbb1b7142137c6f86cfafc242bd7495",
      "parents": [
        "5fd39fad261fbe7c3fce8403e2de557990f80aaa",
        "ebc8ee266c8fa99aae5567f9da920f4a81c04c4a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 23:44:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 23:44:45 2017 +0000"
      },
      "message": "Merge \"Not send switch intents if there is no real intent\" into oc-dev"
    },
    {
      "commit": "ebc8ee266c8fa99aae5567f9da920f4a81c04c4a",
      "tree": "96429b04a399bc63bf939adcda07ba0f9b60373e",
      "parents": [
        "fb54aee325cd8c85c1220bfd7cc63b1a83310a71"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Fri Mar 31 12:42:52 2017 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Apr 03 09:06:09 2017 -0700"
      },
      "message": "Not send switch intents if there is no real intent\n\nWhen resolving activtities for the USB device/accessory connection UI a\nspecial intent that allows to switch between profiles get added. This\nalso gets added if there is no activity in the secondary profile that\ncan be started.\n\nFixes: 36544815\nTest: Added work profile. Add USB handling app only to personal profile\n      and plugged in USB device -\u003e no crash anymore\n\nChange-Id: I311ddd53b3ff0c8406e62bac57972d4b790ebddc\n"
    },
    {
      "commit": "558b0dd41866dd0391457197b96b4ace42f2344c",
      "tree": "de5520e6508ccf5e159eecb610b5a9e8199dfd5a",
      "parents": [
        "5b01105ca3764b2466f2887df655fe0058a3bcb0",
        "020de0285422eba50289a264d2125e12c15145b2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 03 06:26:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 03 06:26:04 2017 +0000"
      },
      "message": "Consistent dump() permission checking. am: fe9a53bc45\nam: 020de02854\n\nChange-Id: Iffbf78a7b48cea41ed4b0763f2452738e084225c\n"
    },
    {
      "commit": "020de0285422eba50289a264d2125e12c15145b2",
      "tree": "f256562977b1bc69ff78d7c8561dfd5f864f5393",
      "parents": [
        "5220e58299bd5ff6e49cae97ab23aa1e08ed70da",
        "fe9a53bc45fd0124a876dc0a49680aaf86641d3e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 03 06:19:02 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 03 06:19:02 2017 +0000"
      },
      "message": "Consistent dump() permission checking.\nam: fe9a53bc45\n\nChange-Id: I300f8bc07e1266b9e78f56d085cd458862176a85\n"
    },
    {
      "commit": "fe9a53bc45fd0124a876dc0a49680aaf86641d3e",
      "tree": "56d1ea4b6f0fe98fa628a72f197cefa0fbabcb22",
      "parents": [
        "21a5edcc24cbca1ae3f0855d71737b22ab81ad6d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Mar 31 14:08:23 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Apr 02 22:29:07 2017 -0600"
      },
      "message": "Consistent dump() permission checking.\n\nThis change introduces new methods on DumpUtils that can check if the\ncaller has DUMP and/or PACKAGE_USAGE_STATS access.  It then moves all\nexisting dump() methods to use these checks so that we emit\nconsistent error messages.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsSecurityTestCases -t android.security.cts.ServicePermissionsTest\nBug: 32806790\nChange-Id: Iaff6b9506818ee082b1e169c89ebe1001b3bfeca\n"
    },
    {
      "commit": "1810e88e82071173ce6f18a66ac69b54d579bf73",
      "tree": "83761376d2173723ff0b5ae42b0b87782b7359c1",
      "parents": [
        "cbdd7032a78b5dfe5065655e94038bfe59ff607d",
        "31af86f8ed05e76de08389702ecf238ec1a3664c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 31 23:07:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 31 23:07:56 2017 +0000"
      },
      "message": "Merge \"Persist the functions from the 3rd column in oemOverride\""
    },
    {
      "commit": "e04a449143317c6633a490b60ef6c44523ecab1c",
      "tree": "1d085bbcaeb2818088158645b4d16b85b59353a1",
      "parents": [
        "bfe60bc5633ff0a782ea95939d48d505b0f86c49",
        "b0db4017e538469df0406855715e79c8e74ee7d3"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Fri Mar 31 19:58:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 31 19:58:59 2017 +0000"
      },
      "message": "Merge \"restore the title string un UsbDeviceManager\" into oc-dev\nam: b0db4017e5\n\nChange-Id: Ia3610251a9fa31b179bee8b5bae21dc24c3bed65\n"
    },
    {
      "commit": "a71b5918b0f682a21834be497304fc80f90deb11",
      "tree": "7e2d2fd062f0d3ac438f48f80541712db3150101",
      "parents": [
        "70c429d37a097d4cdbbb1e744a35359b21f9bffb"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Fri Mar 31 15:37:45 2017 -0400"
      },
      "committer": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Fri Mar 31 15:39:12 2017 -0400"
      },
      "message": "restore the title string un UsbDeviceManager\n\nBug: 32584866\nTest: make\nChange-Id: I4e4dea064a1af194db5660b0765cc4c4b666584a\n"
    },
    {
      "commit": "31af86f8ed05e76de08389702ecf238ec1a3664c",
      "tree": "42fc99e58dec20a05542d62705f243a73dae8be9",
      "parents": [
        "1d7d6125a783770d8226fd45542f170537a9d9a6"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Fri Mar 31 10:58:53 2017 -0700"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Fri Mar 31 11:02:59 2017 -0700"
      },
      "message": "Persist the functions from the 3rd column in oemOverride\n\nThe oemOverrides were incorrectly persisted when adb was disabled.\nThis CL makes the functions in the 3rd column to be persisted.\n\nBug: 31947358\nTest: Verify oemOverride\nChange-Id: Iaef19f8ffd0c829a852a33778af96a6772d1c2ad\n"
    },
    {
      "commit": "72eb5da93bbcdbdaea221d371ee6eaf744f884da",
      "tree": "58706383bb2a92c92e81bd0caef0d82cfcb946f0",
      "parents": [
        "52e063ee159b42a00ec87b84ea7882114ab8b53d",
        "441162562b75f8510586e1acdf2009820f25493d"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Fri Mar 31 17:16:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 31 17:16:30 2017 +0000"
      },
      "message": "Merge \"standardize system notification IDs\" into oc-dev\nam: 441162562b\n\nChange-Id: Idb39af001fefa77b6899c3c9d8816532b5e54dea\n"
    },
    {
      "commit": "282cfefea0fbbd299839e353e6d30affdcd4a55c",
      "tree": "ef3c5e95aa4f517f0fb9a9bf7f60aaad4dc7b456",
      "parents": [
        "474662da390937a95ed2e3b3acdae00c92be47d8"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Mon Mar 27 15:01:44 2017 -0400"
      },
      "committer": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Fri Mar 31 11:44:05 2017 -0400"
      },
      "message": "standardize system notification IDs\n\nAll the trivial cases, plus some fixes to try to\nmitigate collisions with the complex ones.\n\nComplex services to follow in another CL,\n\nBug: 32584866\nTest: make framework services\nChange-Id: Ie9663600171d8ede11676e9d66f009dbb06def03\n"
    },
    {
      "commit": "72ec482be00c34d9e8e9486010388e5f347ecdda",
      "tree": "e364d1deaf54b9c5decb54cc6e7cc5e08f31c5e8",
      "parents": [
        "090b311ee5dbb1a78223e667e1c7ec8160ee17f5",
        "dbaabf762acd66faaee00c3d5624381fef0581ed"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Mar 28 19:11:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 28 19:11:52 2017 +0000"
      },
      "message": "Merge \"Just broadcast intent to bring up MTP/PTP as soon as switching function\" am: a0360e38ab am: cb6beee2af\nam: dbaabf762a\n\nChange-Id: I682e7c74c5f5e48ccb3bedbf34a2bdcf85e51c30\n"
    },
    {
      "commit": "cb6beee2afe777be1daa6fb060fe4ceb5c051e7f",
      "tree": "fc719bae908c7fde9359c2b2f3aaa8894135d9d1",
      "parents": [
        "86a70456a6f7ad6f6843dba5741f94c1d0bdf102",
        "a0360e38ab3eb9b5878513e3cd7aca511ebf677f"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Mar 28 18:57:16 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 28 18:57:16 2017 +0000"
      },
      "message": "Merge \"Just broadcast intent to bring up MTP/PTP as soon as switching function\"\nam: a0360e38ab\n\nChange-Id: I862f38f52cef8b2b90125953593774263b862306\n"
    },
    {
      "commit": "f934d17bfbbf8a8b4155596fdc74178d89274fc3",
      "tree": "a3f183d1b12b2dedbb3d724271dd788ad83fab88",
      "parents": [
        "bc44678fb13fbad0b29a92587e9c807a7b185cb5"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Fri Mar 24 16:31:56 2017 +0000"
      },
      "committer": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Tue Mar 28 16:47:18 2017 +0100"
      },
      "message": "Restart USB stack if data transfer becomes unavailable\n\nIf DISALLOW_USB_FILE_TRANSFER is set while the device is\nconnected via USB and data transfer is enabled, restart\nthe USB stack to make sure that data cannot be transferred any more\n\nFix: 34487750\nBug: 34054991\n\nTest: Checked that files cannot be transferred any more as soon as the user restriction is set\nTest: cts-tradefed run cts-dev --module DevicePolicyManager --test com.android.cts.devicepolicy.UserRestrictionsTest\n\nChange-Id: I129c226e57da2d0be356f93436b36b3303cb604c\n"
    },
    {
      "commit": "4b3e46c7878f28abe2f3c26c05d55c41eba41227",
      "tree": "e734a5573919a709c16b8561a988cfaccea12b62",
      "parents": [
        "60865e4a8dcefdf406f94d61121c4bcf13a8bcfb"
      ],
      "author": {
        "name": "puma_hsu",
        "email": "puma_hsu@htc.com",
        "time": "Fri Mar 24 10:41:56 2017 +0800"
      },
      "committer": {
        "name": "Thierry Strudel",
        "email": "tstrudel@google.com",
        "time": "Fri Mar 24 16:53:30 2017 -0700"
      },
      "message": "Just broadcast intent to bring up MTP/PTP as soon as switching function\n\nBug:36113457\nChange-Id: I3a7ab6fdcd157740b8e55ded67b3d5dddf15b0e0\nSigned-off-by: puma_hsu \u003cpuma_hsu@htc.com\u003e\n"
    },
    {
      "commit": "dca36e4e2782dcb9377167037ab9e800cff1f32b",
      "tree": "1e2553754f1876bfd830de1c537116a817596c01",
      "parents": [
        "1514f9a69dcfa65fd14ca8fff95db7b1172b78b0"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon Jan 23 10:55:24 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "badhri@google.com",
        "time": "Mon Mar 20 21:48:55 2017 +0000"
      },
      "message": "Persist functions for oemOverride across reboot\n\npersist OEM specific functions across boot using overlays when\nro.bootmode is NOT unknown\ni.e. when phone boots up into a predefined Oem mode.\n\nThe overlay tuple has 4 columns instead of three where the fourth column\nis optional. When the fourth column is present, the functions mentioned\nthere would be persisted across reboot along with adb(if enabled).\nThe fourth column is read during USB device manager set up\n@readOemUsbOverrideConfig.\n\nWhen trySetEnabled function is called, the override function is applied\nand the actual oem functions are persisted in\npersist.sys.usb.\u003cbootmode\u003e.config.\nThis property is used in an \"on boot\" property trigger to set up the\npersistent function early in the boot.\n(Similar to the way persist.sys.usb.config is used to setup the\nUSB functions during normal boot).\npersist.sys.usb.\u003cbootMode\u003e.func tracks the functions without override.\n\nFor example, when the following tuple,\n\nusbradio:adb:diag,serial_cdev,rmnet_gsi,adb:diag,serial_cdev,rmnet_gsi\n\nwhen ro.bootmode is usbradio, and mCurrentFunctions is adb,\nthe actual functions enabled would be diag,serial_cdev,rmnet_gsi,adb\n(sys.usb.config) and diag,serial_cdev,rmnet_gsi would be\npersisted across reboots through persist.sys.usb.usbradio.config and\nthe functions would be saved in persist.sys.usb.usbradio.func\n\nBug: 31947358\nChange-Id: Ifaef17f6943c1e70721cdc8489f17e3ece03bbfc\n"
    },
    {
      "commit": "60968b97834d3a36ac0ce6379c84945746318abf",
      "tree": "178224d4a65d59f53e7d302c5ffbc274e850bded",
      "parents": [
        "a5c560b328f60144041dd60277ec0158bee9954a",
        "e67d3bb2bab3156e1128e1fc066ddb836efda62e"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Mar 20 17:51:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 20 17:51:14 2017 +0000"
      },
      "message": "Merge \"IUsb uses \"default\" service name\""
    },
    {
      "commit": "b234748565ef3141fed711e776e50ba18a6e2f31",
      "tree": "ed3496921ceffedf6af60cb1b501cfc0f076fc99",
      "parents": [
        "072082d617832d476a59a47d26478b6cdc8ba361",
        "eb26052f3caf57e37d54bd744b2e499270479123"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 17 23:23:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 17 23:24:00 2017 +0000"
      },
      "message": "Merge \"format cleanup(intellij)\""
    },
    {
      "commit": "e67d3bb2bab3156e1128e1fc066ddb836efda62e",
      "tree": "2ff723224f42138d4a62ef65370eca068fd2a57d",
      "parents": [
        "2257285aef5e5b8d43567a40ef7c813c1ec344ad"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Mar 16 16:10:24 2017 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Mar 17 00:40:01 2017 +0000"
      },
      "message": "IUsb uses \"default\" service name\n\nThe getService() and registerAsService() methods of interface objects\nnow have default parameters of \"default\" for the service name. HALs\nwill not have to use any service name unless they want to register\nmore than one service.\n\nTest: pass\n\nBug: 33844934\nChange-Id: I7c1691daf029fb426873be79553a235c43df9f42\n"
    },
    {
      "commit": "24b7831f8bf19cde7b07ed24216b381b1469dbdc",
      "tree": "e3b50bddb214e1dab3d509b78b8e49a28447cb23",
      "parents": [
        "576de9fb774272741601196733843c842a536598",
        "8066b89c487dd5a97dc8442925654b67772bd810"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 16 23:37:36 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 16 23:37:42 2017 +0000"
      },
      "message": "Merge \"USB audio: fix imports\""
    },
    {
      "commit": "967e83220015453d4847fcc36362a3b61e781a73",
      "tree": "20f2d53f2c359b77149a8f4a63b2fcdbf5f30454",
      "parents": [
        "5d0a358b62ef1735c073eefc73561136189a6ff7",
        "615c793c317d1675a3cd47c51037f856a84154f8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 16 23:00:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 16 23:00:29 2017 +0000"
      },
      "message": "Merge \"Add units to variable names\""
    },
    {
      "commit": "eb26052f3caf57e37d54bd744b2e499270479123",
      "tree": "a2aace75209699823967d29108ceaccbb6700c89",
      "parents": [
        "0730328885aeb56390f7952be27af6e9ce5b9e2c"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Thu Mar 16 15:08:40 2017 -0700"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Thu Mar 16 15:08:40 2017 -0700"
      },
      "message": "format cleanup(intellij)\n\nChange-Id: Idfa4cc769ec6726be86086879541476d9ed1d12e\n"
    },
    {
      "commit": "8066b89c487dd5a97dc8442925654b67772bd810",
      "tree": "59d1e7dd7bf2e5e004bcec194345789d75246335",
      "parents": [
        "a5af24cd02f9dadbea7d23c59ce5f04ce045080d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 13 09:20:48 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 13 09:26:11 2017 -0700"
      },
      "message": "USB audio: fix imports\n\nTest: builds OK\nChange-Id: I122e885def74b0f26786eb92a26a8cafed2f65f4\n"
    },
    {
      "commit": "a5af24cd02f9dadbea7d23c59ce5f04ce045080d",
      "tree": "c8515afba9a88ca7dc3c21e8b73ad6efc1c4a77b",
      "parents": [
        "ba1e74cd6ef6f2168a61c7ffab48671db96a57aa",
        "3d61c893055d39f98149cd1d172948a5316c8c2b"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Mar 13 07:40:25 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 13 07:40:25 2017 +0000"
      },
      "message": "Merge \"Minor formatting cleanup to remove overlong line\" am: d6998d4bd6 am: cc935f5e6d\nam: 3d61c89305\n\nChange-Id: I1a4311525a7b9674daa3713ca3ec7001d4bb30fe\n"
    },
    {
      "commit": "cc935f5e6d8d59679e9fc5b4bff79dc9c27bad88",
      "tree": "c49fc28700d4616f0e726301cc38344a4df2a73c",
      "parents": [
        "5c5850d2f0f22f5c268036101eb22d6012931697",
        "d6998d4bd6c4b7a3f87fe8fe6dca42b45f0c6175"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Mar 13 07:31:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 13 07:31:54 2017 +0000"
      },
      "message": "Merge \"Minor formatting cleanup to remove overlong line\"\nam: d6998d4bd6\n\nChange-Id: I3a4582ebfc1cb7436e570e37cacbc3cabf8c0182\n"
    },
    {
      "commit": "d6998d4bd6c4b7a3f87fe8fe6dca42b45f0c6175",
      "tree": "c15b5a75e4348f88869ddf105fd6fb6ff79eef08",
      "parents": [
        "e940d5458d993fa844ec609197646f0a86ce1a71",
        "87d66fd3f1111ffa6d5ba48cf38ccceea11e69cd"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Mar 13 07:23:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 13 07:23:06 2017 +0000"
      },
      "message": "Merge \"Minor formatting cleanup to remove overlong line\""
    },
    {
      "commit": "9fd6645637f416a232b36be4923fe40939894254",
      "tree": "846d9ceae9bba2867b127114787ba5eb894e5d9f",
      "parents": [
        "7e86a8ebf9ee37963ac7b0750dc7c7b0be9c09fc",
        "abd229b71aded9ce3958a60650bced7c991748e9"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "badhri@google.com",
        "time": "Fri Mar 10 23:23:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 10 23:23:51 2017 +0000"
      },
      "message": "Merge \"Introduce debounce to filter rapidly toggling type-c ports\""
    },
    {
      "commit": "7e86a8ebf9ee37963ac7b0750dc7c7b0be9c09fc",
      "tree": "af739ac0182cfb56cd79e1b4e11f17f09cecaa7a",
      "parents": [
        "1e7c18244ea6e072a09cfd0da81692f8f0a233db",
        "843aba77452704837320b5951be819e2fc3dd24f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 10 23:22:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 10 23:22:43 2017 +0000"
      },
      "message": "Merge \"Fix handling usb dialog for wall chargers.\""
    },
    {
      "commit": "763165803e993352d8e15d4bd027e4832aa4cb46",
      "tree": "adc8d3a13271bc5743374de1b9ffab59615555ab",
      "parents": [
        "f26f346a27d72d34d1bd0c9a9f96e9fc3e619847",
        "c4616503b34b7dcc9409339a7f2ac780ed457fee"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "badhri@google.com",
        "time": "Fri Mar 10 20:46:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 10 20:46:29 2017 +0000"
      },
      "message": "Merge \"Reformat code\""
    },
    {
      "commit": "c4616503b34b7dcc9409339a7f2ac780ed457fee",
      "tree": "e0db87ed9a552abced20f58b8a5cef6725e178c5",
      "parents": [
        "bb85be42610fb96aaaf2aec8e61eabfaad5bb710"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Thu Mar 09 11:39:41 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "badhri@google.com",
        "time": "Fri Mar 10 18:48:12 2017 +0000"
      },
      "message": "Reformat code\n\nMoving to Intellij coding format\n\nChange-Id: I412232183f50dcb7f66bce2f07a07e242114eaa8\n"
    },
    {
      "commit": "40cd0544bc8668a6b1037463847d9245f4b599c5",
      "tree": "7f8a5b88d12b02315bfac71c64f5cf4ea04ba518",
      "parents": [
        "c9d44914797be05d783b4a73d6a7a1bacab0451b",
        "bb85be42610fb96aaaf2aec8e61eabfaad5bb710"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 10 00:41:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 10 00:42:01 2017 +0000"
      },
      "message": "Merge \"minor cleanup\""
    },
    {
      "commit": "abd229b71aded9ce3958a60650bced7c991748e9",
      "tree": "2371ff2fed9690acc886cdbe8a6da7adef086ad1",
      "parents": [
        "843aba77452704837320b5951be819e2fc3dd24f"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Thu Feb 09 19:45:21 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "badhri@google.com",
        "time": "Thu Mar 09 23:23:55 2017 +0000"
      },
      "message": "Introduce debounce to filter rapidly toggling type-c ports\n\nType-c ports can quickly toggle between connected/disconnected\nstates. Introduce debounce to prevent sending spurious notifications.\n\nCherry-pick: https://android-review.googlesource.com/#/c/338266/\nBug: 34972898\nTest: notification should not be queued for a pixel-c charger not connected\nto the power outlet.\nChange-Id: I4aa19f9f864fe5b77e65f6a07a3184d8aba1f5fc\n"
    },
    {
      "commit": "843aba77452704837320b5951be819e2fc3dd24f",
      "tree": "1c8e33c80eda8811c105e4911949154feddf9ec9",
      "parents": [
        "a2f8f4970ef852d4b0caf40d7828376e4a4890c2"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon Feb 13 13:14:40 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "badhri@google.com",
        "time": "Thu Mar 09 23:17:23 2017 +0000"
      },
      "message": "Fix handling usb dialog for wall chargers.\n\nUsbPort.POWER_ROLE_SINK is orthogonal to the type of the charger\nattached. POWER_ROLE_SINK would be the case for AC charging and\nUSB charging. Therefore query BatteryManager for the charger\ntype.\n\nCherry-pick: https://android-review.googlesource.com/#/c/338265/\nBug: 34972898\nTest: Charging notification should not show for pixel-c chargers.\nChange-Id: I8dddcd7727b6af973bd173d2c6e325aa4be2ca3a\n"
    },
    {
      "commit": "bb85be42610fb96aaaf2aec8e61eabfaad5bb710",
      "tree": "601708ccf5c47c988ba0cb4bb340f246beaa5fff",
      "parents": [
        "a2f8f4970ef852d4b0caf40d7828376e4a4890c2"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Thu Mar 09 11:38:46 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Thu Mar 09 11:38:46 2017 -0800"
      },
      "message": "minor cleanup\n\nChange-Id: I9531bb03a0bf6e92895caa6b91053445f29b5a46\n"
    },
    {
      "commit": "d929cb1d929451258bdd5ced1e17bfdb759bb3da",
      "tree": "460983b29368110eb16715a8d1225e1bfe181683",
      "parents": [
        "cb8724c572b3059b355707021948305c86687f90",
        "ff6615f653dab13c4ac482430af26ac08c2ba891"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 09 16:22:30 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 09 16:22:34 2017 +0000"
      },
      "message": "Merge \"USB audio: Use \u0027final\u0027 where possible\""
    },
    {
      "commit": "cb8724c572b3059b355707021948305c86687f90",
      "tree": "3881d8da7007a93b5052ec1e3261085ea8d190ae",
      "parents": [
        "e5377dd0236cd9a971f551d459200342a8a56857",
        "3fcf85cd91f01f21b3f9727508fd190898695533"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 09 16:22:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 09 16:22:15 2017 +0000"
      },
      "message": "Merge \"Comment out unused methods\""
    },
    {
      "commit": "e5377dd0236cd9a971f551d459200342a8a56857",
      "tree": "d262a7d3b4e7aace2047e59f6be958238fd217a9",
      "parents": [
        "4df310c69b1ff86bcd224b60ed8b827cf23bfeb0",
        "7f8cf37da3cb983561905c4812e02938cf544044"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 09 16:21:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 09 16:21:45 2017 +0000"
      },
      "message": "Merge \"Fix typo in log\""
    },
    {
      "commit": "eb7ca5ca3a928821117e6f905b01ac927c12584f",
      "tree": "bd4258390fdbd1562ac77acd10adf06dda4a4bde",
      "parents": [
        "66f53ca9370dfe05a3bb6e128bcdc3a91546cbdc",
        "a455dd9f0939f36438b39c0ae6b69e4c82e6ff02"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 08 03:26:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 08 03:26:13 2017 +0000"
      },
      "message": "Merge \"Skip the MTP notification when the system has the default app.\""
    },
    {
      "commit": "615c793c317d1675a3cd47c51037f856a84154f8",
      "tree": "89c2f212f6433dc8706495a17a0c65d39a3322e1",
      "parents": [
        "072d7ac548f783a706e7fcc6644f8b09a5575a40"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 22 15:30:53 2017 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 06 17:43:49 2017 -0800"
      },
      "message": "Add units to variable names\n\nTest: compiles OK\nChange-Id: I11ec8025686aea0068ce4353df6afea3b9fc2d13\n"
    },
    {
      "commit": "3fcf85cd91f01f21b3f9727508fd190898695533",
      "tree": "f01e168dfd2912ad3fee40ff0b148986e85c0c07",
      "parents": [
        "072d7ac548f783a706e7fcc6644f8b09a5575a40"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 22 15:29:50 2017 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 06 17:42:21 2017 -0800"
      },
      "message": "Comment out unused methods\n\nTest: compiles OK\nChange-Id: I6f5513e7c5655e91e4cc3dd8de8ec407b9f7b94e\n"
    },
    {
      "commit": "ff6615f653dab13c4ac482430af26ac08c2ba891",
      "tree": "7ec2d6429beca5f490382f4d5b8fb1dc14c06572",
      "parents": [
        "072d7ac548f783a706e7fcc6644f8b09a5575a40"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 22 15:29:34 2017 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 06 17:41:47 2017 -0800"
      },
      "message": "USB audio: Use \u0027final\u0027 where possible\n\nTest: compiles OK\nChange-Id: I14677ef55b14ae0cc60b6145350e70c475cc987e\n"
    },
    {
      "commit": "7f8cf37da3cb983561905c4812e02938cf544044",
      "tree": "ac693be826433a7bb1c7e90277a2f3674b3a5a48",
      "parents": [
        "072d7ac548f783a706e7fcc6644f8b09a5575a40"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 22 16:52:39 2017 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 06 16:52:20 2017 -0800"
      },
      "message": "Fix typo in log\n\nChange-Id: I5e805f4e4f296e7a9e8d12bf8372515f59099f17\n"
    },
    {
      "commit": "a455dd9f0939f36438b39c0ae6b69e4c82e6ff02",
      "tree": "24f4810926a6bcb1fa0e56d6f038177590fbe41a",
      "parents": [
        "78eed31d2d8da2f6217290da5eee8ca4f5f903ac"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Fri Feb 17 16:12:25 2017 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Fri Mar 03 09:24:34 2017 +0900"
      },
      "message": "Skip the MTP notification when the system has the default app.\n\nBefore N, when MTP device is connected to Android, it opened the\nactivity selector for applications that could handle the MTP device.\nFor N, we updated the behavior to make it consistent with other storage\ndevices like USB mass storage. In N, the system showed the notification\nfirst, then showed the activity selector after a user taps the\nnotification.\n\nThe N behavior causes a problem that the user always needs to tap the\nMTP notification even after the user select a default application for\nthe MTP device.\n\nThe CLs tweaks the behavior for O so that the system can skip the MTP\nnotification if the system has the default app for the connected MTP\ndevice.\n\nThe default app is one of them:\n\n * App selected by a user by clicking \"Always use\" in the activity\n   selector\n * System app that is an only application which can handle the MTP\n   device in the system\n * App that is an only application which can handle the MTP device in\n   the system where config_disableUsbPermissionDialogs\u003dtrue.\n\nBug: 32119378\nTest: Connecting MTP device to Android, which automatically opens system\n      app. Connecting PTP device to Android, which shows a notification.\n      Tapping the notifiction opens the acitivity selector.\nChange-Id: I51f1d55e8c7d1db87d91ddf966631d275a171546\n"
    },
    {
      "commit": "7bf141233b2956fa5ed451265c6c5dcd449024bd",
      "tree": "1a154bfa627a30d03771f714dede7622ea70022f",
      "parents": [
        "485c0feea53199b1d43db8782073044c846424c4",
        "9ecbc04c23fc26534164f4342b5911acf08baf81"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 01 23:05:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 01 23:06:02 2017 +0000"
      },
      "message": "Merge \"IServiceManager/ITokenManager uses \"default\" service name\""
    },
    {
      "commit": "af759c52ce01fe6b5144957e38da956af01a217b",
      "tree": "1964d3bfde2dc051ee569f25f0591f67f2cb5d1a",
      "parents": [
        "9ac082f8bb0c944513af326bda311cea3d153d56"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Feb 15 09:35:38 2017 -0500"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Mar 01 10:17:15 2017 -0500"
      },
      "message": "Channels for Frameworks notifications\n\nAdapts all notifications used by system services to use channels.\nChannels are initialized by SystemServer after the NotificationService\nhas started.\n\nTest: runtest systemui-notification\nChange-Id: I25c45293b786adb57787aeab4c2613c9d7c89dab\n"
    },
    {
      "commit": "4d3453637c5a78ddc1a1bdeab80e57ca825011be",
      "tree": "fb5a2091984d6798bc1c7258af1a89a4e69c387d",
      "parents": [
        "dcb0fb3dfd49d46a2692a6e4201ec74537d84f7e"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Mon Feb 27 14:19:29 2017 -0800"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Tue Feb 28 08:27:52 2017 -0800"
      },
      "message": "Fix few typos.\n\nTest: manual (watching logs)\nBug: b/35805636\nChange-Id: I066e8f94e73232eb59bef86fff4a4eef5d84fbb4\n"
    },
    {
      "commit": "9ecbc04c23fc26534164f4342b5911acf08baf81",
      "tree": "b094969a075871d98bf241b5b52b9b228f5819ef",
      "parents": [
        "3dd51ad2e4e11d0604b9d85e9e498f46d18dfe0b"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Feb 24 17:12:53 2017 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Feb 24 17:12:53 2017 -0800"
      },
      "message": "IServiceManager/ITokenManager uses \"default\" service name\n\nThe getService() and registerAsService() methods of interface objects\nnow have default parameters of \"default\" for the service name. HALs\nwill not have to use any service name unless they want to register\nmore than one service.\n\nTest: boots\nTest: hidl_test\n\nBug: 33844934\nChange-Id: I5774469712d70de4b2629258fe54d7f8c280d9d0\n"
    },
    {
      "commit": "1693d7745605783d198ecd7e6b4ff41dc71e272d",
      "tree": "07717bd9f549b9c8c5c0ac1a526fbac020bb33d4",
      "parents": [
        "ceb250424a32ef45549fa728adcd766cb7c35b54",
        "733d322cf594bb29a57e5e44c5c8100c4cf3ffcc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 21:40:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 21:41:00 2017 +0000"
      },
      "message": "Merge \"Consider priority when launching a USB app\""
    },
    {
      "commit": "c584d77b93a4b9f1f0e216427efa32594a6eea28",
      "tree": "b1476cf0b928f7e202272bf2713f61e4eeb7558d",
      "parents": [
        "1b8e847a8711e4cef316962543faeff7fc4b9180"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Thu Feb 09 19:45:21 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Wed Feb 15 10:21:19 2017 -0800"
      },
      "message": "Introduce debounce to filter rapidly toggling type-c ports\n\nType-c ports can quickly toggle between connected/disconnected\nstates. Introduce debounce to prevent sending spurious notifications.\n\nBug: 34972898\nTest: notification should not be queued for a pixel-c charger not connected\nto the power outlet.\nChange-Id: I4aa19f9f864fe5b77e65f6a07a3184d8aba1f5fc\n"
    },
    {
      "commit": "1b8e847a8711e4cef316962543faeff7fc4b9180",
      "tree": "81f9e647fbb978d47ef61f09bd80c29786f694f6",
      "parents": [
        "b688dd18aba3b0edcebaf789ec5f7e904228801c"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon Feb 13 13:14:40 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Wed Feb 15 10:21:02 2017 -0800"
      },
      "message": "Fix handling usb dialog for wall chargers.\n\nUsbPort.POWER_ROLE_SINK is orthogonal to the type of the charger\nattached. POWER_ROLE_SINK would be the case for AC charging and\nUSB charging. Therefore query BatteryManager for the charger\ntype.\n\nBug: 34972898\nTest: Charging notification should not show for pixel-c chargers.\nChange-Id: I8dddcd7727b6af973bd173d2c6e325aa4be2ca3a\n"
    },
    {
      "commit": "87d66fd3f1111ffa6d5ba48cf38ccceea11e69cd",
      "tree": "c7914b78b843d8163bf9e12b163ef3c212b50e35",
      "parents": [
        "7a42d3ad83cbb3e7f98964eb876b8b21bd46816a"
      ],
      "author": {
        "name": "Hidenari Koshimae",
        "email": "hidenari.koshimae@sonymobile.com",
        "time": "Tue Jan 31 14:12:32 2017 +0900"
      },
      "committer": {
        "name": "Hidenari Koshimae",
        "email": "hidenari.koshimae@sonymobile.com",
        "time": "Wed Feb 15 11:41:34 2017 +0900"
      },
      "message": "Minor formatting cleanup to remove overlong line\n\nChange-Id: If0afb279552bc664ba579badaf35662effbd2a80\n"
    },
    {
      "commit": "fa207eb889c91bb289e1b3341a910bcb7071b8df",
      "tree": "c09f4ddfafdda256cb0370d8eb87bc32b1bd02e7",
      "parents": [
        "c2c718b71785715a7c4a7638f44c6fdc87e2810a",
        "dee514fae3c75f823c9b92a855efdd176c103601"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Tue Feb 14 03:40:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 14 03:40:33 2017 +0000"
      },
      "message": "Merge changes from topic \u0027pixel-c\u0027 into nyc-mr2-dev\nam: dee514fae3\n\nChange-Id: I4038d1fbd429fcedc4a379d764b5ef5c59dcce1d\n"
    },
    {
      "commit": "e8b0e113714e13de200ae41d61c6cff154ca9851",
      "tree": "8b10c3e400941085cb3301059d9d76a6634871e2",
      "parents": [
        "8b0807c789b6c29ee71123c020b680636e9d7d85"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Thu Feb 09 19:45:21 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon Feb 13 17:44:11 2017 -0800"
      },
      "message": "Introduce debounce to filter rapidly toggling type-c ports [DO NOT MERGE]\n\nType-c ports can quickly toggle between connected/disconnected\nstates. Introduce debounce to prevent sending spurious notifications.\n\nBug: 34972898\nTest: notification should not be queued for a pixel-c charger not connected\nto the power outlet.\nChange-Id: I4aa19f9f864fe5b77e65f6a07a3184d8aba1f5fc\n"
    },
    {
      "commit": "8b0807c789b6c29ee71123c020b680636e9d7d85",
      "tree": "14e4cb32ee68700af0ee3a102855b422b44582b3",
      "parents": [
        "5de3e5ab36e5cd21deaab68be2a662a15aaf0053"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon Feb 13 13:14:40 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon Feb 13 17:44:05 2017 -0800"
      },
      "message": "Fix handling usb dialog for wall chargers. [DO NOT MERGE]\n\nUsbPort.POWER_ROLE_SINK is orthogonal to the type of the charger\nattached. POWER_ROLE_SINK would be the case for AC charging and\nUSB charging. Therefore query BatteryManager for the charger\ntype.\n\nBug: 34972898\nTest: Charging notification should not show for pixel-c chargers.\nChange-Id: I8dddcd7727b6af973bd173d2c6e325aa4be2ca3a\n"
    },
    {
      "commit": "45c87d943d301e30696d6a626c6fe4cca189a6e2",
      "tree": "74a118deedfd898c57879489800d5f24c3090d50",
      "parents": [
        "dc5cd8b323b9d5a427cc44d3df8177a3de384bf4",
        "d7ee7d4b340540919a3ae57818ef1b420de4857d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 02 21:57:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 21:57:28 2017 +0000"
      },
      "message": "Merge \"Enabling USB Debugging Connected notification on Android TV\""
    },
    {
      "commit": "d7ee7d4b340540919a3ae57818ef1b420de4857d",
      "tree": "2f39bef383bdac0cb29ca67fd1f930f027bfaecc",
      "parents": [
        "d6bd6b9f649809dfaa2017a4ab54787a584b7748"
      ],
      "author": {
        "name": "Dmitri Plotnikov",
        "email": "dplotnikov@google.com",
        "time": "Tue Jan 31 17:48:43 2017 -0800"
      },
      "committer": {
        "name": "Dmitri Plotnikov",
        "email": "dplotnikov@google.com",
        "time": "Thu Feb 02 10:24:27 2017 -0800"
      },
      "message": "Enabling USB Debugging Connected notification on Android TV\n\nBug: 34859109\nTest: verified that the notification showed up in LeanbackLauncher\nChange-Id: I2d5798e994df74b7d3211ccf7f22a6aff44bd681\n"
    },
    {
      "commit": "26b613028255a2180b8c87e7b792bb257e71bff4",
      "tree": "db81fb6185e316a20027e2c984a954e455bd62cc",
      "parents": [
        "ed642e81b42e4836510dac8ac0d52aa2078c4ab6",
        "307a387f38aedb92e8d0c6475329335b5470a9ab"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Tue Jan 31 01:14:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 31 01:14:33 2017 +0000"
      },
      "message": "Check and send usb state broadcast when devices boots am: af6d473ab0 am: 061bceafee am: df1df40f91\nam: 307a387f38\n\nChange-Id: Icf4b4e4f48fea450b71bd7ccd88db7d089ea286e\n"
    },
    {
      "commit": "ed642e81b42e4836510dac8ac0d52aa2078c4ab6",
      "tree": "308d021198ef0642b4f05405161e05f8a8da1065",
      "parents": [
        "5d6facc89dbe3dacb49fdca47d1297be98f6ccee",
        "1064ee66d50fbc39dda654946454ecabe027bd3d"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Jan 31 01:13:20 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 31 01:13:20 2017 +0000"
      },
      "message": "Only send usb disconnect intents after boot. am: c1bc0a844d am: dc9c094deb am: 9877c70d9d\nam: 1064ee66d5\n\nChange-Id: If501641b5a7cbb4264f40f3bcf2add35e0851f78\n"
    },
    {
      "commit": "af6d473ab06afc5ca60bf61513e1197886d56af6",
      "tree": "38bd32e136c36b6196ea8cd55eb26876014805eb",
      "parents": [
        "c1bc0a844d2e8fdb9bc6f73d80579f69e2701f62"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon Jan 23 16:28:38 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "badhri@google.com",
        "time": "Tue Jan 31 00:41:49 2017 +0000"
      },
      "message": "Check and send usb state broadcast when devices boots\n\nBroadcasts are not sent until BOOT_COMPLETED is received.\nWhen the device boots with usb plugged, the UPDATE_STATE\nfor connted and configured would be received way before\nBOOT_COMPLETED is received. Since, devices can continue\nto stay in same usb configuration(set through persistent\nproperty trigger), check and send a usb state broadcast\nif needed.\n\nBUG: 34451258\nTest: Manually checked to verify the broadcasts sent.\nChange-Id: I8eca5f241ad758f5c4f1afa6c9807868dfd6195a\n"
    },
    {
      "commit": "c1bc0a844d2e8fdb9bc6f73d80579f69e2701f62",
      "tree": "c245e3ec2a7363e59864aa43a89bab367264d5f0",
      "parents": [
        "06aed6950d38f3a66fcdbc7449feb6d0d922fe34"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon Jan 23 14:14:09 2017 -0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon Jan 30 14:34:57 2017 -0800"
      },
      "message": "Only send usb disconnect intents after boot.\n\nThis prevents cases where the device starts up and attempts\nto change the config, but intents cannot yet be sent.\n\nA patch to resend this skipped intent is necessary to\nfinish fixing the bug.\n\nBug: 34451258\nTest: Check that usb state is properly handled on boot\nChange-Id: I9d79c67ce8982fd5b43fa40781b66bb9ae820694\n"
    },
    {
      "commit": "d9793989834ec7dd3dfe645c6bfba50978c16253",
      "tree": "fee409cb03b67e511341d9f219be2722008acd18",
      "parents": [
        "454a9777b84431ad0f3492477d197390eb491508",
        "823287d28ed75f96cee31cf465220fcbcbc5c7ac"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "badhri@google.com",
        "time": "Tue Jan 24 23:46:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 23:46:25 2017 +0000"
      },
      "message": "Merge \"Refactor UsbPortManager to use the binderised USB HAL\""
    },
    {
      "commit": "4882496232a8fc659f7e2fbfb4984d8cdc96013b",
      "tree": "abb9373d71f387620c69d7a0f1b1c2c68a345aa6",
      "parents": [
        "bfc5d563aa19912e2ab103d04329419e8cec6fb2"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Wed Oct 12 15:49:32 2016 -0700"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Jan 24 13:26:51 2017 -0800"
      },
      "message": "Refactored setCurrentFunction and setUsbDataUnlocked into single method.\n\nThis gets rid of an extraneous configuration change when going from\nadb to adb + file transfer as previously the config would have been\nreset once for functions and once for data unlocked.\n\nIt also simplifies some of the code.\n\nBug: 31814300\nTest: manually changing usb configurations\nChange-Id: Ica10a195338b2189db13113f44657393db110bee\n(cherry picked from commit 7a396be6d5ba8914933a54b5bfac25e118db0e9f)\n"
    },
    {
      "commit": "823287d28ed75f96cee31cf465220fcbcbc5c7ac",
      "tree": "1a1767aa62eed4b2ee6ea7fbef3861aab9aa3690",
      "parents": [
        "29d20fc0f9d185ce356a984468142ae5c63e911b"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon Jan 23 17:13:15 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon Jan 23 17:13:15 2017 -0800"
      },
      "message": "Refactor UsbPortManager to use the binderised USB HAL\n\nMove to a USB HAL to handle type-c ports as upstream is\nconsidering in merging a generic type-c interface to mainline\nkernel. However, the new sysfs interface can see minor changes\nin the future as the sysfs interface is sitll going to land\nin testing and it is still under review.\n\nBug: 31015010\nTest: Manually tested on Angler and sailfish for type-c role switches.\nChange-Id: I26771074c4b4f79a133e519bc6d35a4864a696d8\n"
    },
    {
      "commit": "4ca071da2878391cab39c6125503b447e50b67ad",
      "tree": "530131cfecb3dc0b9f33e7b894eb7ee572e4c3d1",
      "parents": [
        "eeb4e1d2193a6a070606870b2a3f3dd4ba608017"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jan 23 14:35:28 2017 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jan 23 14:35:28 2017 -0800"
      },
      "message": "Send USB_STATE broadcast to manifest receivers\n\nBug 34594920\n\nChange-Id: I5d026f469710960b792dcf1bfebc1c07f90c6182\n"
    },
    {
      "commit": "42a386b7717300bf6d75cbd3b4f7ad00f294be0d",
      "tree": "740fd669223d48a609ce52cd0af3e5eff65936d8",
      "parents": [
        "4ea4f63d28efe745051f0887c8a1e70f916fe500"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Nov 07 12:21:21 2016 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jan 19 16:23:02 2017 -0800"
      },
      "message": "Enable background restrictions\n\nApps that target O+ are always subject to background restrictions.\nLegacy apps\u0027 background restriction is subject to the OP_RUN_IN_BACKGROUND\napp op.\n\nApps with these properties are exempted from background restrictions:\n  - persistent process\n  - currently on the idle battery whitelist\n  - global whitelist for things like bluetooth services\n\nBug 30953212\n\nChange-Id: Icc19b2fbc05f40dcf8c3fc4abf718c373dc8d4f6\n"
    },
    {
      "commit": "9e83cbbc10014b3ed560b3181f594868cd89f9ae",
      "tree": "4171a4fb0aac65969c1f46d83614405b70ad008e",
      "parents": [
        "0e39a438bfa5c279d361cf59e745df1d326c57ba"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Thu Jan 19 01:09:52 2017 +0000"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Thu Jan 19 01:12:19 2017 +0000"
      },
      "message": "Revert \"Enable background restrictions\"\n\nThis reverts commit 21f778060badb1e78bffde05e8de7662d275003d.\n\nChange-Id: I65586f9739da84fb32b51b0ea166b8288c41d1b3\n"
    }
  ],
  "next": "21f778060badb1e78bffde05e8de7662d275003d"
}
