summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java3
-rw-r--r--services/core/java/com/android/server/hdmi/HdmiCecController.java16
-rw-r--r--services/core/java/com/android/server/hdmi/HdmiConstants.java15
-rw-r--r--services/core/java/com/android/server/hdmi/HdmiControlService.java16
-rw-r--r--services/core/java/com/android/server/hdmi/HotplugDetectionAction.java8
-rw-r--r--services/core/java/com/android/server/hdmi/RequestArcInitiationAction.java2
-rw-r--r--services/core/java/com/android/server/hdmi/RequestArcTerminationAction.java2
-rw-r--r--services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java2
-rw-r--r--services/core/java/com/android/server/hdmi/SystemAudioAction.java4
9 files changed, 36 insertions, 32 deletions
diff --git a/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java b/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java
index daeff3c76cb4..02f088fe3dab 100644
--- a/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java
+++ b/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java
@@ -119,7 +119,8 @@ final class DeviceDiscoveryAction extends FeatureAction {
allocateDevices(ackedAddress);
startPhysicalAddressStage();
}
- }, HdmiControlService.POLL_STRATEGY_REMOTES_DEVICES, DEVICE_POLLING_RETRY);
+ }, HdmiConstants.POLL_ITERATION_REVERSE_ORDER
+ | HdmiConstants.POLL_STRATEGY_REMOTES_DEVICES, DEVICE_POLLING_RETRY);
return true;
}
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecController.java b/services/core/java/com/android/server/hdmi/HdmiCecController.java
index fe1686945aad..6d05e82cad5d 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecController.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecController.java
@@ -366,29 +366,29 @@ final class HdmiCecController {
}
private List<Integer> pickPollCandidates(int pickStrategy) {
- int strategy = pickStrategy & HdmiControlService.POLL_STRATEGY_MASK;
+ int strategy = pickStrategy & HdmiConstants.POLL_STRATEGY_MASK;
Predicate<Integer> pickPredicate = null;
switch (strategy) {
- case HdmiControlService.POLL_STRATEGY_SYSTEM_AUDIO:
+ case HdmiConstants.POLL_STRATEGY_SYSTEM_AUDIO:
pickPredicate = mSystemAudioAddressPredicate;
break;
- case HdmiControlService.POLL_STRATEGY_REMOTES_DEVICES:
+ case HdmiConstants.POLL_STRATEGY_REMOTES_DEVICES:
default: // The default is POLL_STRATEGY_REMOTES_DEVICES.
pickPredicate = mRemoteDeviceAddressPredicate;
break;
}
- int iterationStrategy = pickStrategy & HdmiControlService.POLL_ITERATION_STRATEGY_MASK;
+ int iterationStrategy = pickStrategy & HdmiConstants.POLL_ITERATION_STRATEGY_MASK;
ArrayList<Integer> pollingCandidates = new ArrayList<>();
switch (iterationStrategy) {
- case HdmiControlService.POLL_ITERATION_IN_ORDER:
+ case HdmiConstants.POLL_ITERATION_IN_ORDER:
for (int i = HdmiCec.ADDR_TV; i <= HdmiCec.ADDR_SPECIFIC_USE; ++i) {
if (pickPredicate.apply(i)) {
pollingCandidates.add(i);
}
}
break;
- case HdmiControlService.POLL_ITERATION_REVERSE_ORDER:
+ case HdmiConstants.POLL_ITERATION_REVERSE_ORDER:
default: // The default is reverse order.
for (int i = HdmiCec.ADDR_SPECIFIC_USE; i >= HdmiCec.ADDR_TV; --i) {
if (pickPredicate.apply(i)) {
@@ -442,7 +442,7 @@ final class HdmiCecController {
// new logical address for the device because no device uses
// it as logical address of the device.
if (nativeSendCecCommand(mNativePtr, address, address, EMPTY_BODY)
- == HdmiControlService.SEND_RESULT_SUCCESS) {
+ == HdmiConstants.SEND_RESULT_SUCCESS) {
return true;
}
}
@@ -509,7 +509,7 @@ final class HdmiCecController {
byte[] body = buildBody(cecMessage.getOpcode(), cecMessage.getParams());
final int error = nativeSendCecCommand(mNativePtr, cecMessage.getSource(),
cecMessage.getDestination(), body);
- if (error != HdmiControlService.SEND_RESULT_SUCCESS) {
+ if (error != HdmiConstants.SEND_RESULT_SUCCESS) {
Slog.w(TAG, "Failed to send " + cecMessage);
}
if (callback != null) {
diff --git a/services/core/java/com/android/server/hdmi/HdmiConstants.java b/services/core/java/com/android/server/hdmi/HdmiConstants.java
index b558f2bbe443..9c60e55b912d 100644
--- a/services/core/java/com/android/server/hdmi/HdmiConstants.java
+++ b/services/core/java/com/android/server/hdmi/HdmiConstants.java
@@ -80,5 +80,20 @@ final class HdmiConstants {
static final int INVALID_PORT_ID = -1;
static final int INVALID_PHYSICAL_ADDRESS = 0xFFFF;
+ // Send result codes.
+ static final int SEND_RESULT_SUCCESS = 0;
+ static final int SEND_RESULT_NAK = -1;
+ static final int SEND_RESULT_FAILURE = -2;
+
+ // Strategy for device polling.
+ // Should use "OR(|) operation of POLL_STRATEGY_XXX and POLL_ITERATION_XXX.
+ static final int POLL_STRATEGY_MASK = 0x3; // first and second bit.
+ static final int POLL_STRATEGY_REMOTES_DEVICES = 0x1;
+ static final int POLL_STRATEGY_SYSTEM_AUDIO = 0x2;
+
+ static final int POLL_ITERATION_STRATEGY_MASK = 0x30000; // first and second bit.
+ static final int POLL_ITERATION_IN_ORDER = 0x10000;
+ static final int POLL_ITERATION_REVERSE_ORDER = 0x20000;
+
private HdmiConstants() { /* cannot be instantiated */ }
}
diff --git a/services/core/java/com/android/server/hdmi/HdmiControlService.java b/services/core/java/com/android/server/hdmi/HdmiControlService.java
index 1c53b58bf693..10da7567bf17 100644
--- a/services/core/java/com/android/server/hdmi/HdmiControlService.java
+++ b/services/core/java/com/android/server/hdmi/HdmiControlService.java
@@ -54,18 +54,6 @@ public final class HdmiControlService extends SystemService {
// TODO: Rename the permission to HDMI_CONTROL.
private static final String PERMISSION = "android.permission.HDMI_CEC";
- static final int SEND_RESULT_SUCCESS = 0;
- static final int SEND_RESULT_NAK = -1;
- static final int SEND_RESULT_FAILURE = -2;
-
- static final int POLL_STRATEGY_MASK = 0x3; // first and second bit.
- static final int POLL_STRATEGY_REMOTES_DEVICES = 0x1;
- static final int POLL_STRATEGY_SYSTEM_AUDIO = 0x2;
-
- static final int POLL_ITERATION_STRATEGY_MASK = 0x30000; // first and second bit.
- static final int POLL_ITERATION_IN_ORDER = 0x10000;
- static final int POLL_ITERATION_REVERSE_ORDER = 0x20000;
-
/**
* Interface to report send result.
*/
@@ -430,11 +418,11 @@ public final class HdmiControlService extends SystemService {
}
private int checkPollStrategy(int pickStrategy) {
- int strategy = pickStrategy & POLL_STRATEGY_MASK;
+ int strategy = pickStrategy & HdmiConstants.POLL_STRATEGY_MASK;
if (strategy == 0) {
throw new IllegalArgumentException("Invalid poll strategy:" + pickStrategy);
}
- int iterationStrategy = pickStrategy & POLL_ITERATION_STRATEGY_MASK;
+ int iterationStrategy = pickStrategy & HdmiConstants.POLL_ITERATION_STRATEGY_MASK;
if (iterationStrategy == 0) {
throw new IllegalArgumentException("Invalid iteration strategy:" + pickStrategy);
}
diff --git a/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java b/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
index 74f40a6a8ba3..647cc88e78fa 100644
--- a/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
+++ b/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
@@ -125,8 +125,8 @@ final class HotplugDetectionAction extends FeatureAction {
public void onPollingFinished(List<Integer> ackedAddress) {
checkHotplug(ackedAddress, false);
}
- }, HdmiControlService.POLL_ITERATION_IN_ORDER
- | HdmiControlService.POLL_STRATEGY_REMOTES_DEVICES, POLL_RETRY_COUNT);
+ }, HdmiConstants.POLL_ITERATION_IN_ORDER
+ | HdmiConstants.POLL_STRATEGY_REMOTES_DEVICES, POLL_RETRY_COUNT);
}
private void pollAudioSystem() {
@@ -137,8 +137,8 @@ final class HotplugDetectionAction extends FeatureAction {
public void onPollingFinished(List<Integer> ackedAddress) {
checkHotplug(ackedAddress, true);
}
- }, HdmiControlService.POLL_ITERATION_IN_ORDER
- | HdmiControlService.POLL_STRATEGY_SYSTEM_AUDIO, POLL_RETRY_COUNT);
+ }, HdmiConstants.POLL_ITERATION_IN_ORDER
+ | HdmiConstants.POLL_STRATEGY_SYSTEM_AUDIO, POLL_RETRY_COUNT);
}
private void checkHotplug(List<Integer> ackedAddress, boolean audioOnly) {
diff --git a/services/core/java/com/android/server/hdmi/RequestArcInitiationAction.java b/services/core/java/com/android/server/hdmi/RequestArcInitiationAction.java
index 98ec9536d881..55fb65ae588d 100644
--- a/services/core/java/com/android/server/hdmi/RequestArcInitiationAction.java
+++ b/services/core/java/com/android/server/hdmi/RequestArcInitiationAction.java
@@ -42,7 +42,7 @@ final class RequestArcInitiationAction extends RequestArcAction {
sendCommand(command, new HdmiControlService.SendMessageCallback() {
@Override
public void onSendCompleted(int error) {
- if (error == HdmiControlService.SEND_RESULT_SUCCESS) {
+ if (error == HdmiConstants.SEND_RESULT_SUCCESS) {
mState = STATE_WATING_FOR_REQUEST_ARC_REQUEST_RESPONSE;
addTimer(mState, TIMEOUT_MS);
} else {
diff --git a/services/core/java/com/android/server/hdmi/RequestArcTerminationAction.java b/services/core/java/com/android/server/hdmi/RequestArcTerminationAction.java
index 19fa22bacfbb..62ca8f69cbfd 100644
--- a/services/core/java/com/android/server/hdmi/RequestArcTerminationAction.java
+++ b/services/core/java/com/android/server/hdmi/RequestArcTerminationAction.java
@@ -42,7 +42,7 @@ final class RequestArcTerminationAction extends RequestArcAction {
sendCommand(command, new HdmiControlService.SendMessageCallback() {
@Override
public void onSendCompleted(int error) {
- if (error == HdmiControlService.SEND_RESULT_SUCCESS) {
+ if (error == HdmiConstants.SEND_RESULT_SUCCESS) {
mState = STATE_WATING_FOR_REQUEST_ARC_REQUEST_RESPONSE;
addTimer(mState, TIMEOUT_MS);
} else {
diff --git a/services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java b/services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java
index da841c638f8e..cdedd6b3bf42 100644
--- a/services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java
+++ b/services/core/java/com/android/server/hdmi/SetArcTransmissionStateAction.java
@@ -68,7 +68,7 @@ final class SetArcTransmissionStateAction extends FeatureAction {
sendCommand(command, new HdmiControlService.SendMessageCallback() {
@Override
public void onSendCompleted(int error) {
- if (error == HdmiControlService.SEND_RESULT_SUCCESS) {
+ if (error == HdmiConstants.SEND_RESULT_SUCCESS) {
// Enable ARC status immediately after sending <Report Arc Initiated>.
// If AVR responds with <Feature Abort>, disable ARC status again.
// This is different from spec that says that turns ARC status to
diff --git a/services/core/java/com/android/server/hdmi/SystemAudioAction.java b/services/core/java/com/android/server/hdmi/SystemAudioAction.java
index cf7ff90380df..e48b0dc3e862 100644
--- a/services/core/java/com/android/server/hdmi/SystemAudioAction.java
+++ b/services/core/java/com/android/server/hdmi/SystemAudioAction.java
@@ -67,7 +67,7 @@ abstract class SystemAudioAction extends FeatureAction {
sendCommand(command, new HdmiControlService.SendMessageCallback() {
@Override
public void onSendCompleted(int error) {
- if (error == HdmiControlService.SEND_RESULT_SUCCESS) {
+ if (error == HdmiConstants.SEND_RESULT_SUCCESS) {
mState = STATE_WAIT_FOR_SET_SYSTEM_AUDIO_MODE;
addTimer(mState, mTargetAudioStatus ? ON_TIMEOUT_MS : OFF_TIMEOUT_MS);
} else {
@@ -98,7 +98,7 @@ abstract class SystemAudioAction extends FeatureAction {
sendCommand(command, new HdmiControlService.SendMessageCallback() {
@Override
public void onSendCompleted(int error) {
- if (error == HdmiControlService.SEND_RESULT_SUCCESS) {
+ if (error == HdmiConstants.SEND_RESULT_SUCCESS) {
mState = STATE_WAIT_FOR_REPORT_AUDIO_STATUS;
addTimer(mState, TIMEOUT_MS);
} else {