From 167d4a3c3321d266f6fc3e713e79af450804f151 Mon Sep 17 00:00:00 2001 From: Ping Fan Date: Tue, 7 Sep 2021 12:17:43 +0800 Subject: [PATCH] Fix onStateChanged issue. [Description] inputState will override by wrong state when call onStateChaned directly. [Test Report] Test pass Bug: 196189979 Change-Id: I13377407c9ea9f4f0727edea5d57135c6569cba0 --- .../java/com/android/server/tv/TvInputHardwareManager.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/tv/TvInputHardwareManager.java b/services/core/java/com/android/server/tv/TvInputHardwareManager.java index 277163a6e3ec2..630317a150f6d 100755 --- a/services/core/java/com/android/server/tv/TvInputHardwareManager.java +++ b/services/core/java/com/android/server/tv/TvInputHardwareManager.java @@ -1265,12 +1265,14 @@ class TvInputHardwareManager implements TvInputHal.Callback { if (inputId != null) { if (connection.updateCableConnectionStatusLocked(cableConnectionStatus)) { if (previousCableConnectionStatus != connection.getInputStateLocked()) { - mListener.onStateChanged(inputId, connection.getInputStateLocked()); + mHandler.obtainMessage(ListenerHandler.STATE_CHANGED, + connection.getInputStateLocked(), 0, inputId).sendToTarget(); } } else { if ((previousConfigsLength == 0) != (connection.getConfigsLengthLocked() == 0)) { - mListener.onStateChanged(inputId, connection.getInputStateLocked()); + mHandler.obtainMessage(ListenerHandler.STATE_CHANGED, + connection.getInputStateLocked(), 0, inputId).sendToTarget(); } } }