Skip to content

feat(firetv): add native launcher support, Fire OS 6 (API 25) compatibility, and 60s boot fix - #3630

Open
shivamk11 wants to merge 3 commits into
Gathin23:mainfrom
shivamk11:feat/fireos-native-and-api25-support
Open

shivamk11 wants to merge 3 commits into
Gathin23:mainfrom
shivamk11:feat/fireos-native-and-api25-support

Conversation

@shivamk11

@shivamk11 shivamk11 commented Nov 9, 2026 •

Copy link
Copy Markdown

Motivation & Overview

Currently, running CleanYourTV on Amazon Fire TV sticks either relies on HomeKeyService accessibility redirection (which introduces latency and visual stutter) or runs into runtime crashes on older Fire OS devices (Fire OS 6 / Android 7.1).

This PR introduces compatibility fixes, boot optimizations, and complete system settings routing verified across two hardware generations:

  • Fire OS 7.7.1.3 (Android 9 / API 28) on Fire TV Stick 4K Max 1st Gen (AFTKA / kara)
  • Fire OS 6.7.1.1 (Android 7.1.2 / API 25) on Fire TV Stick 4K 1st Gen (AFTMM / mantis)

Key Changes

  1. Fire OS 6 / Android 7.1 Compatibility:

    • Lowered minSdk from 26 to 25 in launcher/app/build.gradle.
    • Enabled coreLibraryDesugaring (com.android.tools:desugar_jdk_libs:2.0.4) to support modern java.time (LocalDate) APIs on API 25 without NoClassDefFoundError.
    • Guarded PackageManager.getChangedPackages() (introduced in API 26) with Build.VERSION.SDK_INT >= 26 in MainActivity.java to prevent NoSuchMethodError.
  2. Fix 60-Second Fire OS Boot Animation Stall:

    • When the stock launcher's HomeActivity_vNext is disabled, Fire OS WindowManagerService holds the boot animation on screen for a 60-second fallback timeout waiting for a real home readiness signal.
    • CleanYourTV now signals Settings.Secure.putInt(..., "bootanim.real_home_ready", 1) in onCreate() and onResume().
    • Measured effect: Boot animation time reduced from 88.2s down to 30.8s (a ~58s / 65% reduction, verified live in event logs via wm_boot_animation_done).
  3. Full 14-Category Amazon Settings Page Access:

    • Re-prioritized com.amazon.tv.launcher.ui.MainSettingsActivity ahead of DeviceActivity (which only showed "My Fire TV / About").
    • Added intent.resolveActivity(pm) != null check in SystemSettings.java for robust fallback handling.
    • Added com.amazon.tv.settings.v2 to manifest <queries>.
  4. 100% Wireless Root Guides for Both Device Generations:

    • Added docs/devices/amazon-fire-tv-native-home.md detailing:
      • Fire OS 7 (kara / sheldon): Wireless deployment with GhostLock root daemon over Wi-Fi ADB.
      • Fire OS 6 (mantis): Wireless deployment using API 24 NDK compilation to resolve the Android 7.1 aligned_alloc libc symbol mismatch and MT8695 memory offsets.
      • Safe component-level disabling (pm disable com.amazon.tv.launcher/.ui.HomeActivity_vNext) to preserve all background services, Alexa overlays, and the full settings grid.

…60s boot fix

- Backwards compatibility for Fire OS 6 (Android 7.1 / API 25):
  - Lower minSdk to 25 and enable Java 8+ coreLibraryDesugaring for java.time.
  - Guard PackageManager.getChangedPackages() behind Build.VERSION.SDK_INT >= 26.
- Fix 60-second Fire OS boot animation stall:
  - Signal Settings.Secure 'bootanim.real_home_ready' = 1 in MainActivity to prevent WMS 60s fallback timeout when stock home is disabled.
- Full Amazon Settings accessibility:
  - Add com.amazon.tv.settings.v2 to manifest queries and re-prioritize MainSettingsActivity in settings fallback array.
  - Validate candidate intent with resolveActivity() before returning in SystemSettings.
- Documentation:
  - Add docs/devices/amazon-fire-tv-native-home.md with verified setup for Fire OS 6 (Mantis) and Fire OS 7 (Kara).
@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

maintainer-bot review · this one needs a maintainer decision

Thanks for the PR! Couldn't review this one automatically; it goes to the maintainer.

Checks

Reviewed by maintainer-bot · runs on 0G Private Computer

- Add comprehensive guide for replacing stock Fire TV launcher with 0 ms latency.
- Detail 100% wireless root workflow for Fire OS 7 (AFTKA / kara / 4K Max 1st Gen).
- Detail 100% wireless root workflow for Fire OS 6 (AFTMM / mantis / 4K 1st Gen).
- Document NDK API 24 compilation requirements and aligned_alloc libc fix for Mantis.
- Document safe component disabling (HomeActivity_vNext) to preserve full 14-grid Amazon Settings.
- Detail the 60-second boot animation stall mechanism and verify 57s speedup.
@shivamk11

Copy link
Copy Markdown
Author

This is AI slop and fully vibecoded but works well in my testing and also one of the only methods that work across these different versions. Way better than having just debloat on firestick

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

launcher Changes under launcher/: the Android TV home screen app needs-maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant