Check if device supports HDMI before getting service
Hdmi control service is created only if device supports HDMI CEC, so need to check for it before requesting. Change-Id: I0e2d83514fd3b87e8db0a5e6784fc69377b890cf Fixes: 33193534 Test: Manual - click home button, check logs for crashes.
This commit is contained in:
@@ -1567,7 +1567,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
|
||||
private void handleShortPressOnHome() {
|
||||
// Turn on the connected TV and switch HDMI input if we're a HDMI playback device.
|
||||
getHdmiControl().turnOnTv();
|
||||
final HdmiControl hdmiControl = getHdmiControl();
|
||||
if (hdmiControl != null) {
|
||||
hdmiControl.turnOnTv();
|
||||
}
|
||||
|
||||
// If there's a dream running then use home to escape the dream
|
||||
// but don't actually go home.
|
||||
@@ -1584,9 +1587,13 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
* Creates an accessor to HDMI control service that performs the operation of
|
||||
* turning on TV (optional) and switching input to us. If HDMI control service
|
||||
* is not available or we're not a HDMI playback device, the operation is no-op.
|
||||
* @return {@link HdmiControl} instance if available, null otherwise.
|
||||
*/
|
||||
private HdmiControl getHdmiControl() {
|
||||
if (null == mHdmiControl) {
|
||||
if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_HDMI_CEC)) {
|
||||
return null;
|
||||
}
|
||||
HdmiControlManager manager = (HdmiControlManager) mContext.getSystemService(
|
||||
Context.HDMI_CONTROL_SERVICE);
|
||||
HdmiPlaybackClient client = null;
|
||||
|
||||
Reference in New Issue
Block a user