)]}'
{
  "log": [
    {
      "commit": "3fdbfef367514df07b0cf158fc24fe72aca0541f",
      "tree": "ef7afcbe6f8f35ccd83c55a1511019c3240b072e",
      "parents": [
        "97792f96d7760311383ca9c94590d5039a025583"
      ],
      "author": {
        "name": "Chris Ye",
        "email": "lzye@google.com",
        "time": "Wed Jan 06 18:45:18 2021 -0800"
      },
      "committer": {
        "name": "Chris Ye",
        "email": "lzye@google.com",
        "time": "Mon Feb 22 16:19:29 2021 -0800"
      },
      "message": "Support Inputdevice LightsManager feature in frameworks.\n\nAdd lights manager support to input frameworks.\n\nBug: 161633625\nTest: atest LightsManagerTest, atest InputDeviceLightsManagerTest\nChange-Id: Ie00357bce0f6c98e9eada5e0a79f93f48e7a4d1b\n"
    },
    {
      "commit": "03ea035572c55fb3ab460acfebc703ca4ad6aa34",
      "tree": "22e12f9082547cdb90312b9140f8eb2f1a25c2de",
      "parents": [
        "917c81d6fcb903078194be115451e3acb6f4ac22"
      ],
      "author": {
        "name": "Kim Low",
        "email": "kim-huei.low@sony.com",
        "time": "Fri Nov 06 12:45:07 2020 -0800"
      },
      "committer": {
        "name": "Chris Ye",
        "email": "lzye@google.com",
        "time": "Tue Feb 02 01:17:14 2021 +0000"
      },
      "message": "Added the ability to read external batteries\n\nExtended InputDevice and EventHub with capabilites to detect and read\nexternal battery status and capacity. This allows devices such as\nwireless gamepads to provide battery information to applications.\n\nBug: 161633432\nTest: atest InputDeviceBatteryTest\n\nChange-Id: I3c65166a1f0b055c5b85bad286afd5beb60bb303\nMerged-In: I3c65166a1f0b055c5b85bad286afd5beb60bb303\n"
    },
    {
      "commit": "f59a2f484d4765edd74c9bb3f911f66c4eb7a3f4",
      "tree": "b91d1eb60a4d61bf4a7bc44f2f170633f61b176f",
      "parents": [
        "ef7705d5695070d62ed58047021af5318d91d494"
      ],
      "author": {
        "name": "Chris Ye",
        "email": "lzye@google.com",
        "time": "Fri Oct 16 12:55:26 2020 -0700"
      },
      "committer": {
        "name": "Chris Ye",
        "email": "lzye@google.com",
        "time": "Wed Dec 16 15:42:57 2020 -0800"
      },
      "message": "Add SensorManager support in inputflinger.\n\nAdd sensor device, sensor input mapper, sens event dispatcher support\ninto inputflinger.\n\nBug: 161634265\nTest: atest inputflinger_tests\n\nChange-Id: I2dcb2c35d9dccefc4cd8d939b79cf340931a9410\n"
    },
    {
      "commit": "3a1e446866d905223e731cf1319f41152cd629c3",
      "tree": "164bd13d0aaa6f72691d2c130b7f2f990c8bfe4b",
      "parents": [
        "1abffbd101f77f100789dc7fb8b33f729bb64dc9"
      ],
      "author": {
        "name": "Chris Ye",
        "email": "lzye@google.com",
        "time": "Wed Aug 12 10:13:15 2020 -0700"
      },
      "committer": {
        "name": "Chris Ye",
        "email": "lzye@google.com",
        "time": "Fri Aug 28 22:39:47 2020 -0700"
      },
      "message": "Move KeyCharacterMap from RefBase to shared_ptr.\n\nMove KeyCharacterMap from RefBase and make it shared_ptr in EventHub\ndevice when loaded from file.\nA shared_ptr of KeyCharacterMap is returned by EventHub getKeyCharacterMap\nto be shared in InputdeviceInfo.\nRemove extra KeyCharacterMap in EventHub to save memory sapce.\n\nBug: 160010896\nTest: atest inputflinger, atest libinput_tests\n\nChange-Id: Ibb317ea0684e6af6e7a6d808f816fc4a05c7b421\n"
    },
    {
      "commit": "1d927aa2377c9e1fa57f9e2e409dc9a33d1bcc7a",
      "tree": "5b031bdd96c6dcc79d9f9468c46348cc7491d9f9",
      "parents": [
        "12d24c504621cc5ff117b41726d734475eb8836c"
      ],
      "author": {
        "name": "Chris Ye",
        "email": "lzye@google.com",
        "time": "Sat Jul 04 18:22:41 2020 -0700"
      },
      "committer": {
        "name": "Chris Ye",
        "email": "lzye@google.com",
        "time": "Sat Jul 04 18:24:49 2020 -0700"
      },
      "message": "Convert InputDeviceConfigurationFileType to enum class.\n\nConvert InputDeviceConfigurationFileType to enum class and the reference\nto it accordingly.\n\nTest: atest inputflinger_tests\nChange-Id: I9a7c0371aa3c519ca69cc4e019079f9645d4ff09\n"
    },
    {
      "commit": "a7b82e1d297a3a5aa1150ac9556361856e681351",
      "tree": "61b58f40b2e39b65be87258c0625e0447e252eb8",
      "parents": [
        "0cab12d4d25fb809ab333f03266682af97647ab7"
      ],
      "author": {
        "name": "Nathaniel R. Lewis",
        "email": "nathaniel.lewis@sony.com",
        "time": "Wed Feb 12 15:40:45 2020 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Feb 19 18:07:14 2020 -0800"
      },
      "message": "Support multiple EventHub devices per InputDevice\n\nSome physical devices contain more functions than can be addressed by\na single Linux evdev device. Examples of such devices are the Sony\nDualShock 4 and Wacom Tablets, which appear as multiple evdev devices\nsharing the same value for the EVIOCGUNIQ ioctl. As more instances of\nsuch devices hit the market, apps need a way of figuring out which\nInputDevices are part of the same physical device.\n\nPer conversation with the android input team, a solution proposed to\nthis problem is to merge multiple EventHub devices (which have a 1:1\nrelation with evdev) into a single android InputDevice.\n\nChanges:\n\nDecouple the EventHub device id (\"eventHubId\") from the InputDevice\ndevice id (\"deviceId\"). This requires InputDeviceContext to track the\nthe EventHub devices it represents. Most logic changes are inside\nInputDeviceContext, so there are minimal changes to InputMappers.\n\nAdded enum value END_RESERVED_ID to represent the first available\nid that can be assigned to a normal InputDevice. The android\nframework assumes specific values for the virtual keyboard and\nbuilt-in hardware keyboard, so for these two cases, the \"deviceId\"\nmust match the \"eventHubId.\"\n\nAdded \"EVENTHUB_ID\" constants to tests and changed where applicable.\n\nCherry-picked from pa/1475694.\n\nBug: 38511270\nTest: atest inputflinger_tests libinput_tests\nChange-Id: I89df085fadc1c09bc999599ac5db35c9277c4a2a\n"
    },
    {
      "commit": "7c3ae9c745ec325690cd60d791bde7ec1183da42",
      "tree": "7cf26e19242068225ce9772e03ea1488a85c8fcc",
      "parents": [
        "106155a2395c539762fb37e5d045fd021352f499"
      ],
      "author": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Mon Mar 11 11:23:03 2019 +0800"
      },
      "committer": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Thu Mar 21 16:03:14 2019 +0000"
      },
      "message": "Use std::vector over Vector for InputFlinger (1/3)\n\nReplace Vector\u003cT\u003e with std::vector\u003cT\u003e.\n\nBug: 112399697\nTest: atest inputflinger_tests\nChange-Id: I8baec68f7a684d97210077f3e387ca1096586a25\n"
    },
    {
      "commit": "b45635c8a3f4b38298ebe60922a6f61c4b99e491",
      "tree": "c643e6f1cddc7527a7742538e4bca258ac32a875",
      "parents": [
        "3e78decd5e6fe3590da3e91680aae51d43c62d5f"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Feb 20 19:22:09 2019 -0600"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Feb 21 14:03:06 2019 -0600"
      },
      "message": "Replace non-alphanumerics with _ in VirtualKeyMap\n\nWe currently rewrite device name for finding the matching .idc, .kl,\n.kcm files, but we aren\u0027t allowing this for virtual key maps.\n\nRewrite the name for virtual devices to provide some flexibility in\nmatching for the right files in sys/board_properties.\n\nBug: 113575658\nTest: atest libinput_tests inputflinger_tests\nChange-Id: I54d159e9ecf02327cae388ae14c0bcf21c415e6e\n"
    },
    {
      "commit": "cae4b3ae7e92ee6243dbed83ff2ffcf2c7a78915",
      "tree": "e9db2781f6bf9e5cb78907770114a060f7c79664",
      "parents": [
        "5ef8f96efceb28869dbe56b2583128fedada1b56"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 05 18:51:32 2019 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Feb 06 18:10:37 2019 -0800"
      },
      "message": "Remove EventHub header from include dir\n\nSince the EventHub header does not need to be exported, this removes the\nheader from the include directory.\n\nThis also moves the reserved input device ids from EventHub to\ninput/InputDevice.h.\n\nBug: None\nTest: None\nChange-Id: I272878245ee60c85e4539b381a20962ca9236cfd\n"
    },
    {
      "commit": "ec8f725bcc099ae63c95a5d725f3ccd63eb4ebe3",
      "tree": "889412e90feec46767f5c3bd6f54558ccf8d66b1",
      "parents": [
        "24d971f469272b59b45490487247f7c4d876c0ab"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Jul 06 11:19:32 2018 +0100"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Sep 05 09:27:25 2018 -0700"
      },
      "message": "Prefer std::string over String8\n\nString8 is deprecated, so use proper C++ std::string instead.\nChange DisplayViewport.uniqueId to std::string.\nThe current usage of String8 in\nDisplayViewport hinders refactoring of the code to use viewport types\ninside the viewports themselves.\nMost of the dependency on String8 is now removed. Once the xml for\nproperties patch is added, almost all String8 should be gone from the\ninput system.\n\nTest: atest libinput_tests inputflinger_tests\nBug: 111108021\nChange-Id: I580dc27b0449e664a7c9db2cdec1a0c18bf71a09\n"
    },
    {
      "commit": "063ff53d0b0a0d670ea0185e687526d8fd302820",
      "tree": "3b658ea2501e1bf1ed204570a030288b94d67d10",
      "parents": [
        "82f393aad651fbf06d8c6872ac10a739ff2a3e42"
      ],
      "author": {
        "name": "Tim Kilbourn",
        "email": "tkilbourn@google.com",
        "time": "Wed Apr 08 10:26:18 2015 -0700"
      },
      "committer": {
        "name": "Tim Kilbourn",
        "email": "tkilbourn@google.com",
        "time": "Thu Apr 09 10:02:16 2015 -0700"
      },
      "message": "Pass through availability of audio mic for input devices.\n\nBug: 15374820\nChange-Id: Id2ca6da10165e3a887ebfbb18f663a3bf316ac79\n"
    },
    {
      "commit": "ec2a15a26f7c50b23a4196d17f106b5efa68560d",
      "tree": "2dee943367e6137a90be880757693db22e5cec59",
      "parents": [
        "b281d8140461322d2a9808244ce9ce3d31b35b9d"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Dec 19 11:54:29 2013 -0800"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Dec 19 11:54:29 2013 -0800"
      },
      "message": "b/12068020 add nonce to InputDeviceDescriptor\n\nAdds a nonce field to allow generation of unique descriptors for\ninput devices.\n\nChange-Id: I978b6c5e9edc9e0a6aa60f85cd8d4efc42ac2999\n"
    },
    {
      "commit": "0415d63b1adf15f6546fea902c66f8bd508afbfc",
      "tree": "3349ffdb7be9514bf645ab3bfd6b1d65c3138cd9",
      "parents": [
        "7ffaa7c60d51cc0eb731158de2ac3df9c50cc0b4"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Jul 17 13:23:26 2013 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Jul 22 16:37:28 2013 -0700"
      },
      "message": "Add controller numbers for gamepads / joysticks\n\nChange-Id: I5294aabbadb836a6a4c7ce76a670abcf50c1f885\n"
    },
    {
      "commit": "931fd6dee7891e94650353c09956ccf24b4dfff3",
      "tree": "bf2115128cdad1b2973aa4c894a09ffae1213700",
      "parents": [
        "bb7272f137ad3558bba5ee3a31dcfe4f41cc797f"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Jul 10 18:05:15 2013 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Jul 11 15:24:09 2013 -0700"
      },
      "message": "Add input device property for buttons under touchpads\n\nBug: 8990644\nChange-Id: I6df5fb9e11199173d62523928082db428af55394\n"
    },
    {
      "commit": "5912f95d26f77d2b6df13e1f2672e48e3f9b871c",
      "tree": "552318f9477af6cddc8dd5e26958a733a9a23fbe",
      "parents": [
        "23e81a2103b08fa14f208fec1d1e2e16347f8b2f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 01 19:10:31 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 01 20:11:26 2013 -0700"
      },
      "message": "Move input library code from frameworks/base.\n\nChange-Id: I4983db61b53e28479fc90d9211fafff68f7f49a6\n"
    }
  ]
}
