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

Commit 3caecda5 authored by Nick Chalko's avatar Nick Chalko Committed by android-build-merger
Browse files

Merge "Don't start an observer without an extcon device" into qt-dev

am: 9c505c55

Change-Id: Ied990b9c3cf425a182242ea163565dc77af8769b
parents 285250a8 9c505c55
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -159,7 +159,13 @@ public abstract class ExtconUEventObserver extends UEventObserver {
        }
    }

    /** Does the {@link /sys/class/extcon} directory exist */
    /** Does the {@code /sys/class/extcon/<name>} directory exist */
    public static boolean namedExtconDirExists(String name) {
        File extconDir = new File("/sys/class/extcon/" + name);
        return extconDir.exists() && extconDir.isDirectory();
    }

    /** Does the {@code /sys/class/extcon} directory exist */
    public static boolean extconExists() {
        File extconDir = new File("/sys/class/extcon");
        return extconDir.exists() && extconDir.isDirectory();
+7 −2
Original line number Diff line number Diff line
@@ -3632,11 +3632,15 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                    }
                }
            }
        } else if (ExtconUEventObserver.extconExists()) {
        } else if (ExtconUEventObserver.extconExists()
                && ExtconUEventObserver.namedExtconDirExists(HdmiVideoExtconUEventObserver.NAME)) {
            HdmiVideoExtconUEventObserver observer = new HdmiVideoExtconUEventObserver();
            plugged = observer.init();
            mHDMIObserver = observer;
        } else if (localLOGV) {
            Slog.v(TAG, "Not observing HDMI plug state because HDMI was not found.");
        }

        // This dance forces the code in setHdmiPlugged to run.
        // Always do this so the sticky intent is stuck (to false) if there is no hdmi.
        mDefaultDisplayPolicy.setHdmiPlugged(plugged, true /* force */);
@@ -5696,7 +5700,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {

    private class HdmiVideoExtconUEventObserver extends ExtconStateObserver<Boolean> {
        private static final String HDMI_EXIST = "HDMI=1";
        private final ExtconInfo mHdmi = new ExtconInfo("hdmi");
        private static final String NAME = "hdmi";
        private final ExtconInfo mHdmi = new ExtconInfo(NAME);

        private boolean init() {
            boolean plugged = false;