From dd233f3d25386ecd2ddb1b48c58f2a84e11f4286 Mon Sep 17 00:00:00 2001 From: Jinsuk Kim Date: Mon, 14 Jul 2014 07:39:32 +0900 Subject: [PATCH] Make sure to finish routing control action After HdmiControlService performs routing control action, make sure it is finished all the time. Change-Id: I38e130ee5d8712a18aac7a46cad0950a23713469 (cherry picked from commit 7d05469196721aaa888447149d3b93c8689ff72e) --- .../android/server/hdmi/RoutingControlAction.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/hdmi/RoutingControlAction.java b/services/core/java/com/android/server/hdmi/RoutingControlAction.java index 46dc453115948..8296f695c1fcc 100644 --- a/services/core/java/com/android/server/hdmi/RoutingControlAction.java +++ b/services/core/java/com/android/server/hdmi/RoutingControlAction.java @@ -114,9 +114,8 @@ final class RoutingControlAction extends FeatureAction { tv().updateActivePortId(tv().pathToPortId(mCurrentRoutingPath)); } } - invokeCallback(HdmiControlManager.RESULT_SUCCESS); - finish(); - } + finishWithCallback(HdmiControlManager.RESULT_SUCCESS); + } private int getTvPowerStatus() { return tv().getPowerStatus(); @@ -132,6 +131,11 @@ final class RoutingControlAction extends FeatureAction { mCurrentRoutingPath)); } + private void finishWithCallback(int result) { + invokeCallback(result); + finish(); + } + @Override public void handleTimerEvent(int timeoutState) { if (mState != timeoutState || mState == STATE_NONE) { @@ -152,6 +156,7 @@ final class RoutingControlAction extends FeatureAction { }); } else { tv().updateActivePortId(tv().pathToPortId(mCurrentRoutingPath)); + finishWithCallback(HdmiControlManager.RESULT_SUCCESS); } return; case STATE_WAIT_FOR_REPORT_POWER_STATUS: @@ -159,8 +164,7 @@ final class RoutingControlAction extends FeatureAction { tv().updateActivePortId(tv().pathToPortId(mCurrentRoutingPath)); sendSetStreamPath(); } - invokeCallback(HdmiControlManager.RESULT_SUCCESS); - finish(); + finishWithCallback(HdmiControlManager.RESULT_SUCCESS); return; } } @@ -177,6 +181,7 @@ final class RoutingControlAction extends FeatureAction { } else { tv().updateActivePortId(tv().pathToPortId(mCurrentRoutingPath)); sendSetStreamPath(); + finishWithCallback(HdmiControlManager.RESULT_SUCCESS); } }