summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-20gti: fix the race between irq and pmandroid-u-qpr1-beta-2.2_r0.6android-u-qpr1-beta-2.2_r0.5android-u-qpr1-beta-2.2_r0.4android-u-qpr1-beta-2.2_r0.3android-u-qpr1-beta-2.2_r0.2android-u-qpr1-beta-2.2_r0.1android-u-qpr1-beta-2.1_r0.7android-u-qpr1-beta-2.1_r0.5android-u-qpr1-beta-2.1_r0.4android-u-qpr1-beta-2.1_r0.3android-u-qpr1-beta-2.1_r0.2android-u-qpr1-beta-2.1_r0.1android-14.0.0_r0.44android-14.0.0_r0.43android-14.0.0_r0.42android-14.0.0_r0.41android-14.0.0_r0.40android-14.0.0_r0.39android-14.0.0_r0.37android-14.0.0_r0.36android-14.0.0_r0.35android-14.0.0_r0.34android-14.0.0_r0.33android-14.0.0_r0.31android-14.0.0_r0.25android-14.0.0_r0.23android-14.0.0_r0.22android-14.0.0_r0.21android-14.0.0_r0.19android-gs-tangorpro-5.10-u-qpr1-beta2android-gs-tangorpro-5.10-android14-qpr1-betaandroid-gs-tangorpro-5.10-android14-qpr1android-gs-raviole-5.10-u-qpr1-beta2android-gs-raviole-5.10-android14-qpr1-betaandroid-gs-raviole-5.10-android14-qpr1android-gs-pantah-5.10-u-qpr1-beta2android-gs-pantah-5.10-android14-qpr1-betaandroid-gs-pantah-5.10-android14-qpr1android-gs-lynx-5.10-u-qpr1-beta2android-gs-lynx-5.10-android14-qpr1-betaandroid-gs-lynx-5.10-android14-qpr1android-gs-felix-5.10-u-qpr1-beta2android-gs-felix-5.10-android14-qpr1-betaandroid-gs-felix-5.10-android14-qpr1android-gs-bluejay-5.10-u-qpr1-beta2android-gs-bluejay-5.10-android14-qpr1-betaandroid-gs-bluejay-5.10-android14-qpr1Super Liu
In the context of the TDDI project, the vendor driver will handle wake-up gestures without requiring a prior request for an IRQ wakelock. This situation may potentially lead to a race condition of input_process() between the release_all_fingers() and the irq_thread_fn(). The changes is to keep IRQ wakelock logic to avoid the race between. Bug: 298137746 Test: verify wake-up gesture. Test: keeps persistent fingers to reproduce issue along with suspend and resume. Change-Id: I358f386fe6a428b07158c09f447dcab030ea9127 Signed-off-by: Super Liu <supercjliu@google.com>
2023-09-20gti: refine mutex lock for heatmap protection and frame reservingYen-Chao Chen
Use differerent mutex lock for heatmap protection and frame reserving. Bug: 299220425 Test: Cannot reproduce the issue. Change-Id: If65b7981307f6bbeb4f491bed7cc3f1b8fb60ab6 Signed-off-by: Yen-Chao Chen <davidycchen@google.com> (cherry picked from commit f64ddf4ab6423810776918c6c40e6cda8c3c06ad)
2023-05-30gti: Default enable the touch features of cancel and rotation reportingandroid-u-qpr1-beta-2_r0.7android-u-qpr1-beta-2_r0.5android-u-qpr1-beta-2_r0.4android-u-qpr1-beta-2_r0.3android-u-qpr1-beta-2_r0.2android-u-qpr1-beta-2_r0.1android-u-qpr1-beta-1_r0.7android-u-qpr1-beta-1_r0.5android-u-qpr1-beta-1_r0.4android-u-qpr1-beta-1_r0.3android-u-qpr1-beta-1_r0.2android-u-qpr1-beta-1_r0.1Super Liu
Test: TH build pass. Bug: 284790341 Change-Id: I566a5b1219609befea9f3fdf20fe5e95d4765e81 Signed-off-by: Super Liu <supercjliu@google.com>
2023-05-19gti: request GTI_PM_WAKELOCK_TYPE_IRQ when TBN enabledandroid-u-beta-5.3_r0.7android-u-beta-5.3_r0.5android-u-beta-5.3_r0.4android-u-beta-5.3_r0.2android-u-beta-5.3_r0.1android-u-beta-4_r0.7android-u-beta-4_r0.5android-u-beta-4_r0.4android-u-beta-4_r0.3android-u-beta-4_r0.2android-u-beta-4_r0.1android-14.0.0_r0.7android-14.0.0_r0.6android-14.0.0_r0.5android-14.0.0_r0.4android-14.0.0_r0.3android-14.0.0_r0.2android-14.0.0_r0.17android-14.0.0_r0.16android-14.0.0_r0.15android-14.0.0_r0.14android-14.0.0_r0.13android-14.0.0_r0.11android-gs-tangorpro-android14-releaseandroid-gs-tangorpro-5.10-u-beta5.3android-gs-tangorpro-5.10-u-beta4android-gs-tangorpro-5.10-android14android-gs-raviole-android14-releaseandroid-gs-raviole-5.10-u-beta5.3android-gs-raviole-5.10-u-beta4android-gs-raviole-5.10-android14android-gs-pantah-android14-releaseandroid-gs-pantah-5.10-u-beta5.3android-gs-pantah-5.10-u-beta4android-gs-pantah-5.10-android14android-gs-lynx-android14-releaseandroid-gs-lynx-5.10-u-beta4android-gs-lynx-5.10-android14android-gs-felix-android14-releaseandroid-gs-felix-5.10-u-beta5.3android-gs-felix-5.10-u-beta4android-gs-felix-5.10-android14android-gs-bluejay-android14-releaseandroid-gs-bluejay-5.10-u-beta5.3android-gs-bluejay-5.10-u-beta4android-gs-bluejay-5.10-android14Super Liu
Bug: 283181865 Test: check the touch functionality during suspend and resume. Change-Id: I1b33e616d536e194894510c6bedc0d070a7ea0c2 Signed-off-by: Super Liu <supercjliu@google.com>
2023-05-10gti: add IRQ wakelockandroid-u-beta-3_r0.3android-u-beta-3_r0.2android-u-beta-2.1_r0.4android-u-beta-2.1_r0.3android-u-beta-2.1_r0.2android-gs-raviole-5.10-u-beta3android-gs-raviole-5.10-u-beta2android-gs-pantah-5.10-u-beta2android-gs-bluejay-5.10-u-beta3android-gs-bluejay-5.10-u-beta2Yen-Chao Chen
Add IRQ wake lock to avoid the suspending process before IRQ handler finishes. Bug: 281463326 Test: Put fingers on the screen and suspend/resume the device. Change-Id: Id98013ac1d87deebd3d5028113946cfda3b7171e Signed-off-by: Yen-Chao Chen <davidycchen@google.com>
2023-04-20gti: Acquire the wakelock before applying FW settingsandroid-u-beta-2_r0.4android-u-beta-2_r0.3android-u-beta-2_r0.2Super Liu
Bug: 278972191 Change-Id: Ib743a289289a59a031699a951b65cc987c8bf32b Signed-off-by: Super Liu <supercjliu@google.com>
2023-04-07gti: Adjust the panel_bridge_enable logs level to debugSuper Liu
Bug: 277236770 Change-Id: I0ea2f2c78469ec60c6b4a0a12d1c5ad14550f00a Signed-off-by: Super Liu <supercjliu@google.com>
2023-03-22Merge android14-gs-pixel-5.15 into android13-gs-pixel-5.10-udcWendly Li
Change-Id: I7d71ff1eb648b32d7b68e54f8c52111e8662185a Signed-off-by: Wendly Li <wendlyli@google.com>
2023-03-21touch/common: add TBN mock modeWendly Li
Bug: 266093523 Test: Check mock mode works properly Change-Id: I2ae3ba4a91882d93f8f657f483b7829310ef12a3 Signed-off-by: Wendly Li <wendlyli@google.com>
2023-03-21gti: support predefined dev id to create deviceSuper Liu
Bug: 272408020 Change-Id: I6c6300189782ceef4f9a7897e669abd6f72b385d Signed-off-by: Super Liu <supercjliu@google.com>
2023-03-21goog_touch_interface: Add power supply statusSteve Pfetsch
Subscribe GTI to update notifications from the power_supply interface. Updates are filtered to identify when the USB power supply is attached as it significantly increases the phone's grounding relative to the touch sensor. The charger status is routed out through touch_offload driver status. Bug: 265278190 Change-Id: I019f45f69bddfc2771df2eff71155e8d0bd857d2 Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2023-03-17gti: report driver status every frameSuper Liu
Bug: 273826479 Change-Id: I820d169026d8880386c1a86ef17ce6d907ba4e0f Signed-off-by: Super Liu <supercjliu@google.com>
2023-03-16gti: update display status instead of pm_state for screen_stateYen-Chao Chen
1. Update the display status instead of pm_state to touch_offload. 2. Only update the frame if active slot(s) update or slot(s) state change or resetting frame data. Bug: 265870152 Test: Run example algorithm. Change-Id: I1d3bc0a1b768a564e63a05464b6464c7aa11a84c Signed-off-by: Yen-Chao Chen <davidycchen@google.com>
2023-03-12Merge android13-gs-pixel-5.10-tm-qpr3 into android13-gs-pixel-5.10-udcandroid-u-beta-1_r0.5android-u-beta-1_r0.4android-u-beta-1_r0.3android-gs-raviole-5.10-u-beta1android-gs-pantah-5.10-u-beta1android-gs-bluejay-5.10-u-beta1PixelBot AutoMerger
SBMerger: 478053055 Change-Id: Ic9e3906ef3f7edd186f8ecd50ab0a9381482bac9 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2023-03-09touch_offload: fix delete cdev twiceWendly Li
Bug: 269173418 Test: Check touch_offload_cleanup works fine Change-Id: If5a76c3620cc05fd3896033bbdae8bd0c848925e Signed-off-by: Wendly Li <wendlyli@google.com>
2023-03-08touch/gti: Add coordinate filterWendly Li
Bug: 269560488 Test: Check fw_coord_filter works properly Change-Id: I7fc4113a2ecf100d786c0dff856e9334c584fc84 Signed-off-by: Wendly Li <wendlyli@google.com>
2023-03-08input: touch_offload: interface updatesWendly Li
- Added capabilities for coordinate filter Bug: 269560488 Test: check coordinate filter works properly Change-Id: I215541854e0248b72ad9e005a571d3e29df67ffb Signed-off-by: Wendly Li <wendlyli@google.com>
2023-03-06gti: add firmware setting logsYen-Chao Chen
Bug: 242559052 Test: check kernel logs. Change-Id: Idbbe3cd2ddbf6ed07d4b3c0eabda85264a6eb7ad Signed-off-by: Yen-Chao Chen <davidycchen@google.com>
2023-03-02gti: update the screen state when the driver suspend.Yen-Chao Chen
Update the screen state when the driver suspend no matter there is finger on the screen or not. Also restore the driver status every time the offload is enabled. Bug: 271200380 Test: adb shell twoshay -s Change-Id: I45e0dba6b8f58dce375387d15cd2fe5b8e83833a Signed-off-by: Yen-Chao Chen <davidycchen@google.com>
2023-02-19Merge android13-gs-pixel-5.10-tm-qpr2 into android13-gs-pixel-5.10-tm-qpr3android-t-qpr3-beta-3_r0.5android-t-qpr3-beta-3_r0.4android-t-qpr3-beta-3_r0.3android-t-qpr3-beta-3.1_r0.5android-t-qpr3-beta-3.1_r0.4android-t-qpr3-beta-3.1_r0.3android-t-qpr3-beta-2_r0.4android-t-qpr3-beta-2_r0.3android-13.0.0_r0.92android-13.0.0_r0.85android-13.0.0_r0.84android-13.0.0_r0.83android-13.0.0_r0.82android-13.0.0_r0.127android-13.0.0_r0.126android-13.0.0_r0.125android-13.0.0_r0.124android-13.0.0_r0.123android-13.0.0_r0.121android-13.0.0_r0.117android-13.0.0_r0.116android-13.0.0_r0.115android-13.0.0_r0.114android-13.0.0_r0.113android-13.0.0_r0.112android-13.0.0_r0.107android-13.0.0_r0.106android-13.0.0_r0.105android-13.0.0_r0.104android-13.0.0_r0.103android-13.0.0_r0.100android-gs-tangorpro-5.10-android13-qpr3android-gs-raviole-5.10-t-qpr3-beta-3android-gs-raviole-5.10-t-qpr3-beta-2android-gs-raviole-5.10-android13-qpr3android-gs-pantah-5.10-t-qpr3-beta-3android-gs-pantah-5.10-android13-qpr3android-gs-lynx-5.10-android13-qpr3android-gs-felix-5.10-android13-qpr3-candroid-gs-felix-5.10-android13-qpr3android-gs-bluejay-5.10-t-qpr3-beta-3android-gs-bluejay-5.10-t-qpr3-beta-2android-gs-bluejay-5.10-android13-qpr3PixelBot AutoMerger
SBMerger: 478053055 Change-Id: If4fd49d427561272170d506b26d7fc3e6f162b90 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2023-02-16gti: remove ignore_screenoff_heatmapdavidycchen
Remove ignore_screenoff_heatmap because the use case is covered by pm.state and pm.lock. Bug: 242559052 Test: build pass. Change-Id: I8fbb1c98caf4c310f4e6dfcb74eecd0bc0aefb87 Signed-off-by: davidycchen <davidycchen@google.com>
2023-02-15gti: remove touch rawdata sysfs command.davidycchen
Use proc command to read touch rawdata instead of sysfs command. Bug: 242559052 Test: build pass. Change-Id: I8c14cbf7b497960034a24d3fbb865b28a289ec79 Signed-off-by: davidycchen <davidycchen@google.com>
2023-02-14gti: Correct the probe sequence to initialize the input.Super Liu
Bug: 244371891 Change-Id: Iceba50d04b6a7af72e035c3b7b9601ee9c33cf3f Signed-off-by: Super Liu <supercjliu@google.com>
2023-02-14gti: Correct the probe sequence to initialize the input.android-t-qpr3-beta-2_r0.5android-t-qpr3-beta-1_r0.5android-gs-pantah-5.10-t-qpr3-beta-2android-gs-pantah-5.10-android13-qpr3-beta1Super Liu
Bug: 244371891 Change-Id: Iceba50d04b6a7af72e035c3b7b9601ee9c33cf3f Signed-off-by: Super Liu <supercjliu@google.com>
2023-02-14gti: Correct the probe sequence to initialize the input.android-13.0.0_r0.91android-13.0.0_r0.77android-13.0.0_r0.75android-13.0.0_r0.74android-13.0.0_r0.73android-13.0.0_r0.70android-13.0.0_r0.69android-13.0.0_r0.68android-gs-tangorpro-5.10-android13-d2android-gs-raviole-5.10-android13-qpr2android-gs-pantah-5.10-android13-qpr2android-gs-lynx-5.10-android13-qpr2-bandroid-gs-bluejay-5.10-android13-qpr2Super Liu
Bug: 244371891 Change-Id: Iceba50d04b6a7af72e035c3b7b9601ee9c33cf3f Signed-off-by: Super Liu <supercjliu@google.com>
2023-02-09gti: update driver status for touch_offloaddavidycchen
Update the driver context for touch_offload and clear after the data was populated. Bug: 265870152 Test: build pass. Change-Id: I2730c6e74b6574d23faeed9493ec5dc1d54d4500 Signed-off-by: davidycchen <davidycchen@google.com>
2023-02-09gti: support fw water mode status changedavidycchen
Bug: 265870152 Test: build pass. Change-Id: Iea647f07bb6b71647e5c149bdc9d4f8becf1eddb Signed-off-by: davidycchen <davidycchen@google.com>
2023-02-08gti: fix heatmap protectionWendly Li
The goodix driver read heatmap in vendor_irq_thread_fn. We need to protect it as well. Bug: 262053705 Test: check heatmap works properly Change-Id: I2d5d285634c34da6dd82993b6ca1dc255d72cf5b Signed-off-by: Wendly Li <wendlyli@google.com>
2023-02-02Merge android13-gs-pixel-5.10-tm-qpr3 into android14-gs-pixel-5.15davidycchen
Fixed build breaks and merge conflicts. Change-Id: I7ab1f1889e6566c94a4d7fcf2431e33280c89cdc Signed-off-by: davidycchen <davidycchen@google.com>
2023-01-09kleaf: add AOC dependencyWill McVicker
Fully define the dependencies for kleaf. This helps with determining which modules to rebuild based on changes made. In addition, it fixes these warnings: WARNING: modpost: "aoc_tbn_service_read" [.../touch_bus_negotiator.ko] undefined! WARNING: modpost: "aoc_tbn_service_write" [.../touch_bus_negotiator.ko] undefined! WARNING: modpost: "aoc_tbn_service_ready" [.../touch_bus_negotiator.ko] undefined! Change-Id: I8fffc31848a33d4a8915cd6dfeb786e24c183f5c Signed-off-by: Will McVicker <willmcvicker@google.com>
2023-01-08Merge android13-gs-pixel-5.10-tm-qpr3 into android13-gs-pixel-5.10-udcandroid-u-preview-2_r0.4android-u-preview-2_r0.3android-u-preview-2_r0.2android-gs-raviole-5.10-u-preview-2android-gs-pantah-5.10-u-preview-2android-gs-bluejay-5.10-u-preview-2PixelBot AutoMerger
SBMerger: 478053055 Change-Id: I790a50c83a5772f2aad9ed1f1291907e15fe64d4 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2023-01-08Merge android13-gs-pixel-5.10-tm-qpr2 into android13-gs-pixel-5.10-tm-qpr3android-t-qpr3-beta-1_r0.4android-t-qpr3-beta-1_r0.3android-t-qpr3-beta-1_r0.1android-13.0.0_r0.93android-gs-raviole-5.10-android13-qpr3-beta1android-gs-felix-5.10-android13-d3android-gs-bluejay-5.10-android13-qpr3-beta1PixelBot AutoMerger
SBMerger: 478053055 Change-Id: Ie4cb9d5c1baa014429a45d1a39976c430688f667 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2023-01-06touch/common: refine debugging messageWendly Li
Bug: 177329320 Test: TBN works properly Change-Id: Ic1937feead923d6ba121d977a4d012040f52d6e6 Signed-off-by: Wendly Li <wendlyli@google.com>
2023-01-04touch/common: fix crash when tbn is disabledWendly Li
Bug: 263981627 Test: touch works properly when tbn is disabled Change-Id: I59f320cfc2b409d988197df3212f99cf90b2f08f Signed-off-by: Wendly Li <wendlyli@google.com>
2023-01-03Revert^2 "touch/common: suppport aoc cannel mode for tbn"Wendly Li
d6634b1c1094c528d342fc690af53482ce77bcad Change-Id: I13b1b0cf6fe7c1b7d01caab4a142e79c32bc91b0
2023-01-01Merge android13-gs-pixel-5.10-tm-qpr3 into android13-gs-pixel-5.10-udcandroid-u-preview-1_r0.3android-gs-bluejay-5.10-u-preview-1PixelBot AutoMerger
SBMerger: 478053055 Change-Id: I6b69b23e139cb323dc7e6a757fd0fac26ca5f319 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2023-01-01Merge android13-gs-pixel-5.10-tm-qpr2 into android13-gs-pixel-5.10-tm-qpr3PixelBot AutoMerger
SBMerger: 478053055 Change-Id: I62aad251bb6d0949b47987957c8343d08b427365 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2022-12-30Revert "touch/common: suppport aoc cannel mode for tbn"Super Liu
Revert submission 2355036-tbn-aoc-channel Reason for revert: <unblock b/263981627> Reverted changes: /q/submissionid:2355036-tbn-aoc-channel Change-Id: I9b4eb5c1687048366a45713338a3f533f1dab48b
2022-12-30gti: add atrace for offload input report.android-t-qpr2-beta-3_r0.5android-t-qpr2-beta-3_r0.4android-t-qpr2-beta-3_r0.3android-t-qpr2-beta-3.2_r0.6android-t-qpr2-beta-3.2_r0.5android-13.0.0_r0.64android-gs-raviole-5.10-android13-qpr2-betaandroid-gs-pantah-5.10-t-qpr2-beta-3.2android-gs-pantah-5.10-android13-qpr2-betaandroid-gs-bluejay-5.10-t-qpr2-beta-3android-gs-bluejay-5.10-android13-qpr2-betaSuper Liu
Bug: 263444046 Change-Id: If852d8ca661db78712e44bb8305537ddf415688b Signed-off-by: Super Liu <supercjliu@google.com>
2022-12-29gti: Support procfs to get heatmap.Super Liu
Introduce proc to resolve the sysfs PAGE_SIZE limitation. Bug: 262796907 Change-Id: I2c2c12f8360fc46895416efd7d94d5e1e7570546 Signed-off-by: Super Liu <supercjliu@google.com> (cherry picked from commit 23cdd7fcb0f9eddab00a081064c0df6cc8ca2db0)
2022-12-29gti: change the default mode for dumpstate logs.Super Liu
Bug: 262796907 Change-Id: I23470887a3f06df17f496ef8c68c3571a158f1ec Signed-off-by: Super Liu <supercjliu@google.com>
2022-12-25Merge android13-gs-pixel-5.10-tm-qpr2 into android13-gs-pixel-5.10-tm-qpr3PixelBot AutoMerger
SBMerger: 478053055 Change-Id: I4dc01b1065bcad695baf3615f874ca33f5d0d6f1 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2022-12-26gti: change the default mode for dumpstate logs.Super Liu
Bug: 262796907 Change-Id: I23470887a3f06df17f496ef8c68c3571a158f1ec Signed-off-by: Super Liu <supercjliu@google.com>
2022-12-23gti: Check VRR is enabled or not before setting touch report ratedavidycchen
Bug: 256086224 Test: build pass. Change-Id: I5a82da2a6bf1d3052abf4ace3cb6d2fc65656b75 Signed-off-by: davidycchen <davidycchen@google.com>
2022-12-22kleaf: add AOC dependenciesWill McVicker
We need to include the AOC headers as part of the touch sources. Bug: 177329320 Change-Id: I12badc052bad3ce9c630bb4fefc9ba506da8bfe0 Signed-off-by: Will McVicker <willmcvicker@google.com>
2022-12-22kleaf: switch to generic label_flagsWill McVicker
To allow for this project to be shared by multiple devices, let's switch to generic labels for the kernel_build, SoC module, and SoC headers. The flags are defined by the specific flags in their top-level bazel build file. Bug: 257343887 Change-Id: I453451d70ced99da44822b7c8a95f4c78b9138a2 Signed-off-by: Will McVicker <willmcvicker@google.com>
2022-12-22touch/common: return EPROBE_DEFER when the GPIO is invalid.davidycchen
The GPIO may be invalid when this module loads before pinctrl module so return EPROBE_DEFER for retry. Bug: 263205231 Test: no kernel panic Change-Id: Ibe4910ce2015ab464faf3ee35b4fb06524a6512a Signed-off-by: davidycchen <davidycchen@google.com>
2022-12-22touch/common: return EPROBE_DEFER when the GPIO is invalid.android-u-preview-1_r0.4android-u-preview-1_r0.2android-gs-raviole-5.10-u-preview-1android-gs-pantah-5.10-u-preview-1davidycchen
The GPIO may be invalid when this module loads before pinctrl module so return EPROBE_DEFER for retry. Bug: 263205231 Test: no kernel panic Change-Id: Ibe4910ce2015ab464faf3ee35b4fb06524a6512a Signed-off-by: davidycchen <davidycchen@google.com>
2022-12-22gti: Support procfs to get heatmap.Super Liu
Introduce proc to resolve the sysfs PAGE_SIZE limitation. Bug: 262796907 Change-Id: I2c2c12f8360fc46895416efd7d94d5e1e7570546 Signed-off-by: Super Liu <supercjliu@google.com>
2022-12-22touch/common: suppport aoc cannel mode for tbnWendly Li
Bug: 177329320 Test: Wakeup gesture works properly Change-Id: I233c4c89a985b9279a0833c734c834a262eabe22 Signed-off-by: Wendly Li <wendlyli@google.com>