{"content":["/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-108-    private static final long STATS_MS = 10_000L;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-109-    /**","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-110-     * 2025-01-01. TVs without a clock battery boot at the epoch (08:00 in China) and keep it until network","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-111-     * time arrives; the clock, date and greeting stay hidden before then.","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-112-     */","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-113-    private static final long TIME_VALID_AFTER_MS = 1_735_689_600_000L;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java:114:    private String liveTvPkg;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-115-    /** Launcher settings' change count this Home was built with (see onResume). */","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-116-    private long settingsRevision;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-117-    /** Idle time on Home before ClockActivity; 0 is off (config.xml, home_idle_clock_minutes). */","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-118-    private long idleClockMs;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-119-    private final Runnable showIdleClock = () -> startActivity(new Intent(this, ClockActivity.class));","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java:120:    private String liveTvAction;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java:121:    private String liveTvInputId;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-122-    /** The app library is on (config.xml, app_library): only then can the tile menu take an app off Home. */","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-123-    private boolean appLibraryEnabled;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-124-    /** The same opt-in menu is available from either hold-OK or the remote's Menu key. */","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-125-    private boolean tileMenuEnabled;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-126-    private String inputAction;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-127-    private String inputUriScheme;","--","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-387-        advancedEffects = cfg.animations && cfg.advancedEffects;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-388-        reducedMotion = cfg.reducedMotion;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-389-        dockRow = cfg.dockRow;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-390-        focusOvershoot = cfg.focusOvershoot;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-391-        festival = cfg.festival;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-392-        festive = festival.active(LocalDate.now());","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java:393:        liveTvPkg = cfg.liveTvPackage;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-394-        idleClockMs = cfg.homeIdleClockMinutes * MINUTE_MS;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-395-        bootToLiveTv = cfg.bootToLiveTv;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java:396:        liveTvAction = cfg.liveTvAction;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java:397:        liveTvInputId = cfg.liveTvInputId;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-398-        appLibraryEnabled = cfg.appLibrary;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-399-        tileMenuEnabled = cfg.tileMenu;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-400-        inputAction = cfg.inputAction;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-401-        inputUriScheme = cfg.inputUriScheme;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-402-        sourcePanelService = cfg.sourcePanelService;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-403-        sourcePanelAction = cfg.sourcePanelAction;","--","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2611-        open(i);","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2612-        return true;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2613-    }","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2614-","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2615-    /** The Live TV app's launch intent: its leanback entry point, or the configured action if it has none. */","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2616-    private Intent liveTvIntent() {","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java:2617:        if (liveTvPkg.isEmpty()) return null;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java:2618:        Intent i = getPackageManager().getLeanbackLaunchIntentForPackage(liveTvPkg);","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java:2619:        if (i != null || liveTvAction.isEmpty()) return i;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java:2620:        Intent byAction = new Intent(liveTvAction).setPackage(liveTvPkg);","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2621-        return getPackageManager().resolveActivity(byAction, 0) != null ? byAction : null;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2622-    }","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2623-","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2624-    /** The TV's own source-selection panel, for TVs that have no TvInputManager (TCL Android TV 9): a","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2625-     *  service, or an activity on sets whose panel is a dialog (BYINTEK U4's QuickSourceActivity). */","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2626-    private void openSourcePanel() {","--","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2767-                if (tim.getInputState(info.getId()) == TvInputManager.INPUT_STATE_CONNECTED) hdmiConnected++;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2768-            }","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2769-            boolean hdmiStateBogus = hdmiPorts > 1 && hdmiConnected == hdmiPorts;","/Users/nickchen/WorkBuddy/2026-10-23-15-17-57/cleanyourtv/launcher/app/src/main/java/com/gathin/tvhome/MainActivity.java-2770-            for (TvInputInfo info : inputs) {"],"renderer":{"type":"list"}}