Merge "CEC: Avoid setting op in disabled mode" into lmp-mr1-dev
This commit is contained in:
@@ -379,7 +379,7 @@ public final class HdmiControlService extends SystemService {
|
||||
}
|
||||
mWakeUpMessageReceived = false;
|
||||
|
||||
if (isTvDevice()) {
|
||||
if (isTvDeviceEnabled()) {
|
||||
mCecController.setOption(OPTION_CEC_AUTO_WAKEUP, toInt(tv().getAutoWakeup()));
|
||||
}
|
||||
int reason = -1;
|
||||
@@ -430,11 +430,15 @@ public final class HdmiControlService extends SystemService {
|
||||
setControlEnabled(enabled);
|
||||
break;
|
||||
case Global.HDMI_CONTROL_AUTO_WAKEUP_ENABLED:
|
||||
tv().setAutoWakeup(enabled);
|
||||
if (isTvDeviceEnabled()) {
|
||||
tv().setAutoWakeup(enabled);
|
||||
}
|
||||
setCecOption(OPTION_CEC_AUTO_WAKEUP, toInt(enabled));
|
||||
break;
|
||||
case Global.HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED:
|
||||
tv().setAutoDeviceOff(enabled);
|
||||
if (isTvDeviceEnabled()) {
|
||||
tv().setAutoDeviceOff(enabled);
|
||||
}
|
||||
// No need to propagate to HAL.
|
||||
break;
|
||||
case Global.MHL_INPUT_SWITCHING_ENABLED:
|
||||
@@ -665,11 +669,7 @@ public final class HdmiControlService extends SystemService {
|
||||
@ServiceThreadOnly
|
||||
HdmiDeviceInfo getDeviceInfo(int logicalAddress) {
|
||||
assertRunOnServiceThread();
|
||||
HdmiCecLocalDeviceTv tv = tv();
|
||||
if (tv == null) {
|
||||
return null;
|
||||
}
|
||||
return tv.getCecDeviceInfo(logicalAddress);
|
||||
return tv() == null ? null : tv().getCecDeviceInfo(logicalAddress);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1431,8 +1431,8 @@ public final class HdmiControlService extends SystemService {
|
||||
runOnServiceThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!isTvDevice()) {
|
||||
Slog.w(TAG, "No TV is available.");
|
||||
if (!isTvDeviceEnabled()) {
|
||||
Slog.w(TAG, "TV device is not enabled.");
|
||||
return;
|
||||
}
|
||||
tv().startOneTouchRecord(recorderAddress, recordSource);
|
||||
@@ -1446,8 +1446,8 @@ public final class HdmiControlService extends SystemService {
|
||||
runOnServiceThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!isTvDevice()) {
|
||||
Slog.w(TAG, "No TV is available.");
|
||||
if (!isTvDeviceEnabled()) {
|
||||
Slog.w(TAG, "TV device is not enabled.");
|
||||
return;
|
||||
}
|
||||
tv().stopOneTouchRecord(recorderAddress);
|
||||
@@ -1462,8 +1462,8 @@ public final class HdmiControlService extends SystemService {
|
||||
runOnServiceThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!isTvDevice()) {
|
||||
Slog.w(TAG, "No TV is available.");
|
||||
if (!isTvDeviceEnabled()) {
|
||||
Slog.w(TAG, "TV device is not enabled.");
|
||||
return;
|
||||
}
|
||||
tv().startTimerRecording(recorderAddress, sourceType, recordSource);
|
||||
@@ -1478,8 +1478,8 @@ public final class HdmiControlService extends SystemService {
|
||||
runOnServiceThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!isTvDevice()) {
|
||||
Slog.w(TAG, "No TV is available.");
|
||||
if (!isTvDeviceEnabled()) {
|
||||
Slog.w(TAG, "TV device is not enabled.");
|
||||
return;
|
||||
}
|
||||
tv().clearTimerRecording(recorderAddress, sourceType, recordSource);
|
||||
@@ -1800,6 +1800,10 @@ public final class HdmiControlService extends SystemService {
|
||||
return mLocalDevices.contains(HdmiDeviceInfo.DEVICE_TV);
|
||||
}
|
||||
|
||||
boolean isTvDeviceEnabled() {
|
||||
return isTvDevice() && tv() != null;
|
||||
}
|
||||
|
||||
private HdmiCecLocalDevicePlayback playback() {
|
||||
return (HdmiCecLocalDevicePlayback)
|
||||
mCecController.getLocalDevice(HdmiDeviceInfo.DEVICE_PLAYBACK);
|
||||
@@ -1907,7 +1911,7 @@ public final class HdmiControlService extends SystemService {
|
||||
assertRunOnServiceThread();
|
||||
mLanguage = language;
|
||||
|
||||
if (isTvDevice()) {
|
||||
if (isTvDeviceEnabled()) {
|
||||
tv().broadcastMenuLanguage(language);
|
||||
}
|
||||
}
|
||||
@@ -2131,6 +2135,7 @@ public final class HdmiControlService extends SystemService {
|
||||
@ServiceThreadOnly
|
||||
void changeInputForMhl(int portId, boolean contentOn) {
|
||||
assertRunOnServiceThread();
|
||||
if (tv() == null) return;
|
||||
final int lastInput = contentOn ? tv().getActivePortId() : Constants.INVALID_PORT_ID;
|
||||
tv().doManualPortSwitching(portId, new IHdmiControlCallback.Stub() {
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user