summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yixiao Luo <yixiaoluo@google.com> 2024-01-11 01:07:27 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-01-11 01:07:27 +0000
commitcd230552a4e95f95d01ce13531d4b1d953c274ac (patch)
treeaeff875b54a6e5cd109ce9189d00ac7df0136842
parentac89adc3c0465008120bc13d25c48fc88f654ffe (diff)
parentf712a7ba27c85bd332c5fd437f6be7d5f4a57de7 (diff)
Merge "Add synchronization when handling TVINPUT_INFO_ADDED messages in TvInputHardwareManager.ListenerHandler" into main
-rwxr-xr-xservices/core/java/com/android/server/tv/TvInputHardwareManager.java26
1 files changed, 16 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/tv/TvInputHardwareManager.java b/services/core/java/com/android/server/tv/TvInputHardwareManager.java
index 58acbe08acf1..c0e33084f9c4 100755
--- a/services/core/java/com/android/server/tv/TvInputHardwareManager.java
+++ b/services/core/java/com/android/server/tv/TvInputHardwareManager.java
@@ -1339,16 +1339,22 @@ class TvInputHardwareManager implements TvInputHal.Callback {
String inputId = mHardwareInputIdMap.get(deviceId);
if (inputId != null) {
- if (connection.updateCableConnectionStatusLocked(cableConnectionStatus)) {
- if (previousCableConnectionStatus != connection.getInputStateLocked()) {
- mHandler.obtainMessage(ListenerHandler.STATE_CHANGED,
- connection.getInputStateLocked(), 0, inputId).sendToTarget();
- }
- } else {
- if ((previousConfigsLength == 0)
- != (connection.getConfigsLengthLocked() == 0)) {
- mHandler.obtainMessage(ListenerHandler.STATE_CHANGED,
- connection.getInputStateLocked(), 0, inputId).sendToTarget();
+ synchronized (mLock) {
+ if (connection.updateCableConnectionStatusLocked(
+ cableConnectionStatus)) {
+ if (previousCableConnectionStatus
+ != connection.getInputStateLocked()) {
+ mHandler.obtainMessage(ListenerHandler.STATE_CHANGED,
+ connection.getInputStateLocked(), 0, inputId)
+ .sendToTarget();
+ }
+ } else {
+ if ((previousConfigsLength == 0)
+ != (connection.getConfigsLengthLocked() == 0)) {
+ mHandler.obtainMessage(ListenerHandler.STATE_CHANGED,
+ connection.getInputStateLocked(), 0, inputId)
+ .sendToTarget();
+ }
}
}
}