From b509c2ecd99619248b7a07fb0fa978bb27f25cc3 Mon Sep 17 00:00:00 2001 From: Jungshik Jang Date: Thu, 7 Aug 2014 13:45:01 +0900 Subject: [PATCH] Rename FeatureAction into HdmiCecFeatureAction Change-Id: I92ca11e513f8cf520e84399fe688397f2d9f714a --- .../server/hdmi/DeviceDiscoveryAction.java | 2 +- .../server/hdmi/DevicePowerStatusAction.java | 2 +- .../server/hdmi/DeviceSelectAction.java | 2 +- ...eAction.java => HdmiCecFeatureAction.java} | 46 +++++++++---------- .../server/hdmi/HdmiCecLocalDevice.java | 34 +++++++------- .../server/hdmi/HotplugDetectionAction.java | 2 +- .../android/server/hdmi/NewDeviceAction.java | 2 +- .../server/hdmi/OneTouchPlayAction.java | 2 +- .../server/hdmi/OneTouchRecordAction.java | 2 +- .../android/server/hdmi/RequestArcAction.java | 2 +- .../server/hdmi/RoutingControlAction.java | 2 +- .../android/server/hdmi/SendKeyAction.java | 2 +- .../hdmi/SetArcTransmissionStateAction.java | 2 +- .../server/hdmi/SystemAudioAction.java | 2 +- .../hdmi/SystemAudioAutoInitiationAction.java | 2 +- .../server/hdmi/SystemAudioStatusAction.java | 2 +- .../server/hdmi/TimerRecordingAction.java | 2 +- .../server/hdmi/VolumeControlAction.java | 2 +- 18 files changed, 55 insertions(+), 57 deletions(-) rename services/core/java/com/android/server/hdmi/{FeatureAction.java => HdmiCecFeatureAction.java} (82%) diff --git a/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java b/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java index 924d7aa6e7322..d67b8f15dba44 100644 --- a/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java +++ b/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java @@ -39,7 +39,7 @@ import java.util.List; *
  • Gather "Vendor id" of all acknowledge devices * */ -final class DeviceDiscoveryAction extends FeatureAction { +final class DeviceDiscoveryAction extends HdmiCecFeatureAction { private static final String TAG = "DeviceDiscoveryAction"; // State in which the action is waiting for device polling. diff --git a/services/core/java/com/android/server/hdmi/DevicePowerStatusAction.java b/services/core/java/com/android/server/hdmi/DevicePowerStatusAction.java index c3c3fe134a48b..d965caaadc149 100644 --- a/services/core/java/com/android/server/hdmi/DevicePowerStatusAction.java +++ b/services/core/java/com/android/server/hdmi/DevicePowerStatusAction.java @@ -30,7 +30,7 @@ import android.util.Slog; *

    * Package-private, accessed by {@link HdmiControlService} only. */ -final class DevicePowerStatusAction extends FeatureAction { +final class DevicePowerStatusAction extends HdmiCecFeatureAction { private static final String TAG = "DevicePowerStatusAction"; // State in which the action is waiting for . diff --git a/services/core/java/com/android/server/hdmi/DeviceSelectAction.java b/services/core/java/com/android/server/hdmi/DeviceSelectAction.java index e006e1c722079..ed37ead245b71 100644 --- a/services/core/java/com/android/server/hdmi/DeviceSelectAction.java +++ b/services/core/java/com/android/server/hdmi/DeviceSelectAction.java @@ -33,7 +33,7 @@ import com.android.server.hdmi.HdmiControlService.SendMessageCallback; * for a new active source. It does its best to wake up the target in standby mode * before issuing the command >Set Stream path<. */ -final class DeviceSelectAction extends FeatureAction { +final class DeviceSelectAction extends HdmiCecFeatureAction { private static final String TAG = "DeviceSelect"; // Time in milliseconds we wait for the device power status to switch to 'Standby' diff --git a/services/core/java/com/android/server/hdmi/FeatureAction.java b/services/core/java/com/android/server/hdmi/HdmiCecFeatureAction.java similarity index 82% rename from services/core/java/com/android/server/hdmi/FeatureAction.java rename to services/core/java/com/android/server/hdmi/HdmiCecFeatureAction.java index b7b2f90be984b..f32e6605f5b22 100644 --- a/services/core/java/com/android/server/hdmi/FeatureAction.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecFeatureAction.java @@ -29,21 +29,19 @@ import java.util.List; /** * Encapsulates a sequence of CEC/MHL command exchange for a certain feature. - * - *

    Many CEC/MHL features are accomplished by CEC devices on the bus exchanging - * more than one command. {@link FeatureAction} represents the life cycle of the communication, - * manages the state as the process progresses, and if necessary, returns the result - * to the caller which initiates the action, through the callback given at the creation - * of the object. All the actual action classes inherit FeatureAction. - * - *

    More than one FeatureAction objects can be up and running simultaneously, - * maintained by {@link HdmiCecLocalDevice}. Each action is passed a new command - * arriving from the bus, and either consumes it if the command is what the action expects, - * or yields it to other action. - * - * Declared as package private, accessed by {@link HdmiControlService} only. + *

    + * Many CEC/MHL features are accomplished by CEC devices on the bus exchanging more than one + * command. {@link HdmiCecFeatureAction} represents the life cycle of the communication, manages the + * state as the process progresses, and if necessary, returns the result to the caller which + * initiates the action, through the callback given at the creation of the object. All the actual + * action classes inherit FeatureAction. + *

    + * More than one FeatureAction objects can be up and running simultaneously, maintained by + * {@link HdmiCecLocalDevice}. Each action is passed a new command arriving from the bus, and either + * consumes it if the command is what the action expects, or yields it to other action. Declared as + * package private, accessed by {@link HdmiControlService} only. */ -abstract class FeatureAction { +abstract class HdmiCecFeatureAction { private static final String TAG = "FeatureAction"; // Timer handler message used for timeout event @@ -61,9 +59,9 @@ abstract class FeatureAction { // Timer that manages timeout events. protected ActionTimer mActionTimer; - private ArrayList> mOnFinishedCallbacks; + private ArrayList> mOnFinishedCallbacks; - FeatureAction(HdmiCecLocalDevice source) { + HdmiCecFeatureAction(HdmiCecLocalDevice source) { mSource = source; mService = mSource.getService(); mActionTimer = createActionTimer(mService.getServiceLooper()); @@ -173,11 +171,11 @@ abstract class FeatureAction { mService.sendCecCommand(cmd, callback); } - protected final void addAndStartAction(FeatureAction action) { + protected final void addAndStartAction(HdmiCecFeatureAction action) { mSource.addAndStartAction(action); } - protected final List getActions(final Class clazz) { + protected final List getActions(final Class clazz) { return mSource.getActions(clazz); } @@ -191,16 +189,16 @@ abstract class FeatureAction { * * @param action */ - protected final void removeAction(FeatureAction action) { + protected final void removeAction(HdmiCecFeatureAction action) { mSource.removeAction(action); } - protected final void removeAction(final Class clazz) { + protected final void removeAction(final Class clazz) { mSource.removeActionExcept(clazz, null); } - protected final void removeActionExcept(final Class clazz, - final FeatureAction exception) { + protected final void removeActionExcept(final Class clazz, + final HdmiCecFeatureAction exception) { mSource.removeActionExcept(clazz, exception); } @@ -233,7 +231,7 @@ abstract class FeatureAction { removeAction(this); } if (mOnFinishedCallbacks != null) { - for (Pair actionCallbackPair: mOnFinishedCallbacks) { + for (Pair actionCallbackPair: mOnFinishedCallbacks) { if (actionCallbackPair.first.mState != STATE_NONE) { actionCallbackPair.second.run(); } @@ -269,7 +267,7 @@ abstract class FeatureAction { getSourceAddress(), targetAddress)); } - protected final void addOnFinishedCallback(FeatureAction action, Runnable runnable) { + protected final void addOnFinishedCallback(HdmiCecFeatureAction action, Runnable runnable) { if (mOnFinishedCallbacks == null) { mOnFinishedCallbacks = new ArrayList<>(); } diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java index 18bfe323b1d1f..be4c83434d401 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java @@ -102,7 +102,7 @@ abstract class HdmiCecLocalDevice { // A collection of FeatureAction. // Note that access to this collection should happen in service thread. - private final LinkedList mActions = new LinkedList<>(); + private final LinkedList mActions = new LinkedList<>(); private final Handler mHandler = new Handler () { @Override @@ -250,7 +250,7 @@ abstract class HdmiCecLocalDevice { @ServiceThreadOnly private boolean dispatchMessageToAction(HdmiCecMessage message) { assertRunOnServiceThread(); - for (FeatureAction action : mActions) { + for (HdmiCecFeatureAction action : mActions) { if (action.processCommand(message)) { return true; } @@ -486,7 +486,7 @@ abstract class HdmiCecLocalDevice { } @ServiceThreadOnly - void addAndStartAction(final FeatureAction action) { + void addAndStartAction(final HdmiCecFeatureAction action) { assertRunOnServiceThread(); if (mService.isPowerStandbyOrTransient()) { Slog.w(TAG, "Skip the action during Standby: " + action); @@ -498,9 +498,9 @@ abstract class HdmiCecLocalDevice { // See if we have an action of a given type in progress. @ServiceThreadOnly - boolean hasAction(final Class clazz) { + boolean hasAction(final Class clazz) { assertRunOnServiceThread(); - for (FeatureAction action : mActions) { + for (HdmiCecFeatureAction action : mActions) { if (action.getClass().equals(clazz)) { return true; } @@ -510,10 +510,10 @@ abstract class HdmiCecLocalDevice { // Returns all actions matched with given class type. @ServiceThreadOnly - List getActions(final Class clazz) { + List getActions(final Class clazz) { assertRunOnServiceThread(); List actions = Collections.emptyList(); - for (FeatureAction action : mActions) { + for (HdmiCecFeatureAction action : mActions) { if (action.getClass().equals(clazz)) { if (actions.isEmpty()) { actions = new ArrayList(); @@ -525,12 +525,12 @@ abstract class HdmiCecLocalDevice { } /** - * Remove the given {@link FeatureAction} object from the action queue. + * Remove the given {@link HdmiCecFeatureAction} object from the action queue. * - * @param action {@link FeatureAction} to remove + * @param action {@link HdmiCecFeatureAction} to remove */ @ServiceThreadOnly - void removeAction(final FeatureAction action) { + void removeAction(final HdmiCecFeatureAction action) { assertRunOnServiceThread(); action.finish(false); mActions.remove(action); @@ -539,19 +539,19 @@ abstract class HdmiCecLocalDevice { // Remove all actions matched with the given Class type. @ServiceThreadOnly - void removeAction(final Class clazz) { + void removeAction(final Class clazz) { assertRunOnServiceThread(); removeActionExcept(clazz, null); } // Remove all actions matched with the given Class type besides |exception|. @ServiceThreadOnly - void removeActionExcept(final Class clazz, - final FeatureAction exception) { + void removeActionExcept(final Class clazz, + final HdmiCecFeatureAction exception) { assertRunOnServiceThread(); - Iterator iter = mActions.iterator(); + Iterator iter = mActions.iterator(); while (iter.hasNext()) { - FeatureAction action = iter.next(); + HdmiCecFeatureAction action = iter.next(); if (action != exception && action.getClass().equals(clazz)) { action.finish(false); iter.remove(); @@ -698,9 +698,9 @@ abstract class HdmiCecLocalDevice { // If all actions are not cleared in DEVICE_CLEANUP_TIMEOUT, enforce to finish them. // onCleard will be called at the last action's finish method. - Iterator iter = mActions.iterator(); + Iterator iter = mActions.iterator(); while (iter.hasNext()) { - FeatureAction action = iter.next(); + HdmiCecFeatureAction action = iter.next(); action.finish(false); iter.remove(); } diff --git a/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java b/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java index 8fc0bbcb40d3d..51e68b6c930c0 100644 --- a/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java +++ b/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java @@ -33,7 +33,7 @@ import java.util.List; * For other devices, keep 15 secs period. */ // Seq #3 -final class HotplugDetectionAction extends FeatureAction { +final class HotplugDetectionAction extends HdmiCecFeatureAction { private static final String TAG = "HotPlugDetectionAction"; private static final int POLLING_INTERVAL_MS = 5000; diff --git a/services/core/java/com/android/server/hdmi/NewDeviceAction.java b/services/core/java/com/android/server/hdmi/NewDeviceAction.java index 81542046f4032..a5fdbead6c0ac 100644 --- a/services/core/java/com/android/server/hdmi/NewDeviceAction.java +++ b/services/core/java/com/android/server/hdmi/NewDeviceAction.java @@ -33,7 +33,7 @@ import java.io.UnsupportedEncodingException; * *

    Package-private, accessed by {@link HdmiControlService} only. */ -final class NewDeviceAction extends FeatureAction { +final class NewDeviceAction extends HdmiCecFeatureAction { private static final String TAG = "NewDeviceAction"; diff --git a/services/core/java/com/android/server/hdmi/OneTouchPlayAction.java b/services/core/java/com/android/server/hdmi/OneTouchPlayAction.java index 752cc373028b5..7db991a65f84b 100644 --- a/services/core/java/com/android/server/hdmi/OneTouchPlayAction.java +++ b/services/core/java/com/android/server/hdmi/OneTouchPlayAction.java @@ -28,7 +28,7 @@ import android.util.Slog; *

    * Package-private, accessed by {@link HdmiControlService} only. */ -final class OneTouchPlayAction extends FeatureAction { +final class OneTouchPlayAction extends HdmiCecFeatureAction { private static final String TAG = "OneTouchPlayAction"; // State in which the action is waiting for . In normal situation diff --git a/services/core/java/com/android/server/hdmi/OneTouchRecordAction.java b/services/core/java/com/android/server/hdmi/OneTouchRecordAction.java index befc640835a5f..39c0d7fbc6718 100644 --- a/services/core/java/com/android/server/hdmi/OneTouchRecordAction.java +++ b/services/core/java/com/android/server/hdmi/OneTouchRecordAction.java @@ -29,7 +29,7 @@ import com.android.server.hdmi.HdmiControlService.SendMessageCallback; /** * Feature action that performs one touch record. */ -public class OneTouchRecordAction extends FeatureAction { +public class OneTouchRecordAction extends HdmiCecFeatureAction { private static final String TAG = "OneTouchRecordAction"; // Timer out for waiting 120s diff --git a/services/core/java/com/android/server/hdmi/RequestArcAction.java b/services/core/java/com/android/server/hdmi/RequestArcAction.java index 3b1ad532c1407..9c530a3056035 100644 --- a/services/core/java/com/android/server/hdmi/RequestArcAction.java +++ b/services/core/java/com/android/server/hdmi/RequestArcAction.java @@ -23,7 +23,7 @@ import android.util.Slog; /** * Base feature action class for <Request ARC Initiation>/<Request ARC Termination>. */ -abstract class RequestArcAction extends FeatureAction { +abstract class RequestArcAction extends HdmiCecFeatureAction { private static final String TAG = "RequestArcAction"; // State in which waits for ARC response. diff --git a/services/core/java/com/android/server/hdmi/RoutingControlAction.java b/services/core/java/com/android/server/hdmi/RoutingControlAction.java index dbf1961548d28..435ab7f967019 100644 --- a/services/core/java/com/android/server/hdmi/RoutingControlAction.java +++ b/services/core/java/com/android/server/hdmi/RoutingControlAction.java @@ -38,7 +38,7 @@ import com.android.server.hdmi.HdmiControlService.SendMessageCallback; *

  • Routing at CEC enable time * */ -final class RoutingControlAction extends FeatureAction { +final class RoutingControlAction extends HdmiCecFeatureAction { private static final String TAG = "RoutingControlAction"; // State in which we wait for to arrive. If timed out, we use the diff --git a/services/core/java/com/android/server/hdmi/SendKeyAction.java b/services/core/java/com/android/server/hdmi/SendKeyAction.java index ca2826e80140a..9f09eb445c004 100644 --- a/services/core/java/com/android/server/hdmi/SendKeyAction.java +++ b/services/core/java/com/android/server/hdmi/SendKeyAction.java @@ -32,7 +32,7 @@ import android.view.KeyEvent; * *

    Package-private, accessed by {@link HdmiControlService} only. */ -final class SendKeyAction extends FeatureAction { +final class SendKeyAction extends HdmiCecFeatureAction { private static final String TAG = "SendKeyAction"; // State in which the action is at work. The state is set in {@link #start()} and diff --git a/services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java b/services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java index 6104eb262869c..9f7f98a01022e 100644 --- a/services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java +++ b/services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java @@ -24,7 +24,7 @@ import android.util.Slog; * Once TV gets <Initiate ARC>, TV sends <Report ARC Initiated> to AV Receiver. * If it fails or it gets <Terminate ARC>, TV just disables ARC. */ -final class SetArcTransmissionStateAction extends FeatureAction { +final class SetArcTransmissionStateAction extends HdmiCecFeatureAction { private static final String TAG = "SetArcTransmissionStateAction"; // State in which the action sent and diff --git a/services/core/java/com/android/server/hdmi/SystemAudioAction.java b/services/core/java/com/android/server/hdmi/SystemAudioAction.java index 057f9ba2fa842..7e45a990d1ddb 100644 --- a/services/core/java/com/android/server/hdmi/SystemAudioAction.java +++ b/services/core/java/com/android/server/hdmi/SystemAudioAction.java @@ -28,7 +28,7 @@ import java.util.List; /** * Base feature action class for SystemAudioActionFromTv and SystemAudioActionFromAvr. */ -abstract class SystemAudioAction extends FeatureAction { +abstract class SystemAudioAction extends HdmiCecFeatureAction { private static final String TAG = "SystemAudioAction"; // Transient state to differentiate with STATE_NONE where the on-finished callback diff --git a/services/core/java/com/android/server/hdmi/SystemAudioAutoInitiationAction.java b/services/core/java/com/android/server/hdmi/SystemAudioAutoInitiationAction.java index 137cada5513d7..3653aacdd094f 100644 --- a/services/core/java/com/android/server/hdmi/SystemAudioAutoInitiationAction.java +++ b/services/core/java/com/android/server/hdmi/SystemAudioAutoInitiationAction.java @@ -22,7 +22,7 @@ import com.android.server.hdmi.HdmiControlService.SendMessageCallback; * Action to initiate system audio once AVR is detected on Device discovery action. */ // Seq #27 -final class SystemAudioAutoInitiationAction extends FeatureAction { +final class SystemAudioAutoInitiationAction extends HdmiCecFeatureAction { private final int mAvrAddress; // State that waits for once send diff --git a/services/core/java/com/android/server/hdmi/SystemAudioStatusAction.java b/services/core/java/com/android/server/hdmi/SystemAudioStatusAction.java index 106620407aeca..bfcda50322580 100644 --- a/services/core/java/com/android/server/hdmi/SystemAudioStatusAction.java +++ b/services/core/java/com/android/server/hdmi/SystemAudioStatusAction.java @@ -27,7 +27,7 @@ import com.android.server.hdmi.HdmiControlService.SendMessageCallback; /** * Action to update audio status (volume or mute) of audio amplifier */ -final class SystemAudioStatusAction extends FeatureAction { +final class SystemAudioStatusAction extends HdmiCecFeatureAction { private static final String TAG = "SystemAudioStatusAction"; // State that waits for . diff --git a/services/core/java/com/android/server/hdmi/TimerRecordingAction.java b/services/core/java/com/android/server/hdmi/TimerRecordingAction.java index 1a179e67272ab..8fc0182fc60ce 100644 --- a/services/core/java/com/android/server/hdmi/TimerRecordingAction.java +++ b/services/core/java/com/android/server/hdmi/TimerRecordingAction.java @@ -31,7 +31,7 @@ import java.util.Arrays; /** * Feature action that performs timer recording. */ -public class TimerRecordingAction extends FeatureAction { +public class TimerRecordingAction extends HdmiCecFeatureAction { private static final String TAG = "TimerRecordingAction"; // Timer out for waiting 120s. diff --git a/services/core/java/com/android/server/hdmi/VolumeControlAction.java b/services/core/java/com/android/server/hdmi/VolumeControlAction.java index e32b79283b5ad..01c6f3ebc09f2 100644 --- a/services/core/java/com/android/server/hdmi/VolumeControlAction.java +++ b/services/core/java/com/android/server/hdmi/VolumeControlAction.java @@ -28,7 +28,7 @@ import com.android.internal.util.Preconditions; * from Audio Receiver(AVR). If TV receives no <Report Audio Status> from AVR, this action * will be finished in {@link #IRT_MS} * {@link #VOLUME_CHANGE_TIMEOUT_MAX_COUNT} (ms). */ -final class VolumeControlAction extends FeatureAction { +final class VolumeControlAction extends HdmiCecFeatureAction { private static final String TAG = "VolumeControlAction"; private static final int VOLUME_MUTE = 101;