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

Commit 9c505c55 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents aabebff4 baf0fdfe
Loading
Loading
Loading
Loading
+7 −1
Original line number Original line 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() {
    public static boolean extconExists() {
        File extconDir = new File("/sys/class/extcon");
        File extconDir = new File("/sys/class/extcon");
        return extconDir.exists() && extconDir.isDirectory();
        return extconDir.exists() && extconDir.isDirectory();
+7 −2
Original line number Original line 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();
            HdmiVideoExtconUEventObserver observer = new HdmiVideoExtconUEventObserver();
            plugged = observer.init();
            plugged = observer.init();
            mHDMIObserver = observer;
            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.
        // 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.
        // Always do this so the sticky intent is stuck (to false) if there is no hdmi.
        mDefaultDisplayPolicy.setHdmiPlugged(plugged, true /* force */);
        mDefaultDisplayPolicy.setHdmiPlugged(plugged, true /* force */);
@@ -5696,7 +5700,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {


    private class HdmiVideoExtconUEventObserver extends ExtconStateObserver<Boolean> {
    private class HdmiVideoExtconUEventObserver extends ExtconStateObserver<Boolean> {
        private static final String HDMI_EXIST = "HDMI=1";
        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() {
        private boolean init() {
            boolean plugged = false;
            boolean plugged = false;