From d78dd9b184cc700b9a887820056e5ed6a4c0ea56 Mon Sep 17 00:00:00 2001 From: Linnan Li Date: Tue, 15 Oct 2024 15:50:01 +0000 Subject: Copy KeyCharacterMap object when we fill InputDeviceInfo(1/n) Currently, in InputDeviceInfo, we store the KeyCharacterMap object, which is actually the original KeyCharacterMap from the EventHub. This could potentially lead to issues where two threads operate on the same KeyCharacterMap object simultaneously, resulting in thread safety problems. To avoid potential risks in the future, we make a copy of the original KeyCharacterMap when generating InputDeviceInfo. This change should not introduce any behavioral changes. Bug: 373011069 Flag: EXEMPT refactor Test: presubmit Signed-off-by: Linnan Li (cherry picked from https://partner-android-review.googlesource.com/q/commit:1be9c1ce7400e38cf3f45921d7181e947929f91c) Merged-In: I0d0155133f95b0f1dc925422eda0da04c6f196ea Change-Id: I0d0155133f95b0f1dc925422eda0da04c6f196ea --- include/input/KeyCharacterMap.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/input/KeyCharacterMap.h') diff --git a/include/input/KeyCharacterMap.h b/include/input/KeyCharacterMap.h index 7ea34c2566..0a9e74f73b 100644 --- a/include/input/KeyCharacterMap.h +++ b/include/input/KeyCharacterMap.h @@ -72,7 +72,7 @@ public: }; /* Loads a key character map from a file. */ - static base::Result> load(const std::string& filename, + static base::Result> load(const std::string& filename, Format format); /* Loads a key character map from its string contents. */ -- cgit v1.2.3-59-g8ed1b