Merge "cec: resolve HdmiCecTvPowerToggleTest issue [1/1]"
This commit is contained in:
10
services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java
Executable file → Normal file
10
services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java
Executable file → Normal file
@@ -1125,6 +1125,16 @@ abstract class HdmiCecLocalDevice {
|
|||||||
removeActionExcept(clazz, null);
|
removeActionExcept(clazz, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remove all running actions.
|
||||||
|
@ServiceThreadOnly
|
||||||
|
void removeAllActions() {
|
||||||
|
assertRunOnServiceThread();
|
||||||
|
for (HdmiCecFeatureAction action : mActions) {
|
||||||
|
action.finish(false);
|
||||||
|
}
|
||||||
|
mActions.clear();
|
||||||
|
}
|
||||||
|
|
||||||
// Remove all actions matched with the given Class type besides |exception|.
|
// Remove all actions matched with the given Class type besides |exception|.
|
||||||
@ServiceThreadOnly
|
@ServiceThreadOnly
|
||||||
<T extends HdmiCecFeatureAction> void removeActionExcept(
|
<T extends HdmiCecFeatureAction> void removeActionExcept(
|
||||||
|
|||||||
@@ -229,6 +229,14 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
|
|||||||
super.disableDevice(initiatedByCec, callback);
|
super.disableDevice(initiatedByCec, callback);
|
||||||
assertRunOnServiceThread();
|
assertRunOnServiceThread();
|
||||||
mService.unregisterTvInputCallback(mTvInputCallback);
|
mService.unregisterTvInputCallback(mTvInputCallback);
|
||||||
|
// Removing actions and invoking the callback is similar to
|
||||||
|
// HdmiCecLocalDevicePlayback#disableDevice and HdmiCecLocalDeviceTv#disableDevice,
|
||||||
|
// with the difference that in those classes only specific actions are removed and
|
||||||
|
// here we remove all actions. We don't expect any issues with removing all actions
|
||||||
|
// at this time, but we have to pay attention in the future.
|
||||||
|
removeAllActions();
|
||||||
|
// Call the callback instantly or else it will be called 5 seconds later.
|
||||||
|
checkIfPendingActionsCleared();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user