diff options
| author | 2024-01-11 01:07:27 +0000 | |
|---|---|---|
| committer | 2024-01-11 01:07:27 +0000 | |
| commit | cd230552a4e95f95d01ce13531d4b1d953c274ac (patch) | |
| tree | aeff875b54a6e5cd109ce9189d00ac7df0136842 | |
| parent | ac89adc3c0465008120bc13d25c48fc88f654ffe (diff) | |
| parent | f712a7ba27c85bd332c5fd437f6be7d5f4a57de7 (diff) | |
Merge "Add synchronization when handling TVINPUT_INFO_ADDED messages in TvInputHardwareManager.ListenerHandler" into main
| -rwxr-xr-x | services/core/java/com/android/server/tv/TvInputHardwareManager.java | 26 |
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(); + } } } } |