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

Commit 4ea6290b authored by Nick Chalko's avatar Nick Chalko
Browse files

Don't start an observer without an extcon device

This prevents needless logspam at startup.

Bug: 123906489
Change-Id: Ib97b2a6a9aed3a681f48943c57bae4b5953fb54c
Test: m services.core
parent 35b94bdc
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
@@ -3556,11 +3556,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 */);
@@ -5616,7 +5620,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;