Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1df6bf3 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Reconnect CEC HAL callback"

parents 09893737 186d372c
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.server.hdmi;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.hardware.hdmi.HdmiPortInfo;
import android.hardware.tv.cec.V1_0.CecMessage;
import android.hardware.tv.cec.V1_0.HotplugEvent;
@@ -725,6 +727,7 @@ final class HdmiCecController {
        private IHdmiCec mHdmiCec;
        private final Object mLock = new Object();
        private int mPhysicalAddress = INVALID_PHYSICAL_ADDRESS;
        @Nullable private HdmiCecCallback mCallback;

        @Override
        public String nativeInit() {
@@ -733,7 +736,7 @@ final class HdmiCecController {

        boolean connectToHal() {
            try {
                mHdmiCec = IHdmiCec.getService();
                mHdmiCec = IHdmiCec.getService(true);
                try {
                    mHdmiCec.linkToDeath(this, HDMI_CEC_HAL_DEATH_COOKIE);
                } catch (RemoteException e) {
@@ -747,7 +750,8 @@ final class HdmiCecController {
        }

        @Override
        public void setCallback(HdmiCecCallback callback) {
        public void setCallback(@NonNull HdmiCecCallback callback) {
            mCallback = callback;
            try {
                mHdmiCec.setCallback(callback);
            } catch (RemoteException e) {
@@ -887,6 +891,10 @@ final class HdmiCecController {
            if (cookie == HDMI_CEC_HAL_DEATH_COOKIE) {
                HdmiLogger.error(TAG, "Service died cokkie : " + cookie + "; reconnecting");
                connectToHal();
                // Reconnect the callback
                if (mCallback != null) {
                    setCallback(mCallback);
                }
            }
        }