How madesh24-svg/arc-hud works
ARC HUD is an Android TV launcher, live status display, screensaver, device scanner, and multi-source search app, with a companion phone app for sharing media and links to the TV. The main TV workflow is HOME/HUD presentation, with user actions opening settings, search, device discovery, or screensaver setup. The README documents capabilities that are not fully represented in the excerpts; those branches are included, while uncertain internal call links are omitted or marked dashed.
Main entry points: WebProvider.java Web search · SettingsActivity.java Settings screen · ShareActivity.java Phone share app · HomeActivity.java ARC HOME
Components 26
TV experience
- ARC HOME
app/src/main/java/io/archud/HomeActivity.java - HUD display
app/src/main/java/io/archud/HudView.java - Live stats
app/src/main/java/io/archud/Stats.java - Screensaver setup
app/src/main/java/io/archud/ScreensaverSetup.java
Search
- Search screen
app/src/main/java/io/archud/SearchActivity.java - Provider registry
app/src/main/java/io/archud/SearchProviders.java - Provider contract
app/src/main/java/io/archud/SearchProvider.java - SmartTube search
app/src/main/java/io/archud/SmartTubeProvider.java - Web search
app/src/main/java/io/archud/WebProvider.java - HTTPS allowlist
app/src/main/java/io/archud/SafeHttp.java - TV browser
app/src/main/java/io/archud/Browsers.java
Network devices
- Device list
app/src/main/java/io/archud/DevicesActivity.java - Network scanner
app/src/main/java/io/archud/NetScanner.java - Port scanner
app/src/main/java/io/archud/PortScanner.java - Vendor lookup
app/src/main/java/io/archud/VendorDb.java
Settings and updates
- Settings screen
app/src/main/java/io/archud/SettingsActivity.java - Device preferences
app/src/main/java/io/archud/Prefs.java - App updater
app/src/main/java/io/archud/Updater.java
ARC Link
- TV link server
app/src/main/java/io/archud/LinkServer.java - Phone share app
link/src/main/java/io/archud/link/ShareActivity.java - Share sender
link/src/main/java/io/archud/link/Sender.java - Media serving
link/src/main/java/io/archud/link/ServeService.java - TV client
link/src/main/java/io/archud/link/TvClient.java - Pairing store
link/src/main/java/io/archud/link/Store.java
Other components
- TV user
- Phone user
Connections 29
- TV user → ARC HOME: opens
- TV user → HUD display: views
- ARC HOME → HUD display: renders
app/src/main/java/io/archud/HomeActivity.java - HUD display → Live stats: reads
app/src/main/java/io/archud/HudView.java - TV user → Screensaver setup: configures
- TV user → Device list: opens
- Device list → Network scanner: uses
app/src/main/java/io/archud/DevicesActivity.java - Device list → Port scanner: uses
app/src/main/java/io/archud/DevicesActivity.java - Network scanner → Vendor lookup: looks up
app/src/main/java/io/archud/NetScanner.java - TV user → Search screen: searches
- ARC HOME → Search screen: opens
app/src/main/java/io/archud/HomeActivity.java - Search screen → Provider registry: runs
app/src/main/java/io/archud/SearchActivity.java - Provider registry → SmartTube search: registers
app/src/main/java/io/archud/SearchProviders.java - Provider registry → Web search: registers
app/src/main/java/io/archud/SearchProviders.java - SmartTube search → Provider contract: implements
app/src/main/java/io/archud/SmartTubeProvider.java - Web search → Provider contract: implements
app/src/main/java/io/archud/WebProvider.java - Web search → HTTPS allowlist: fetches via
app/src/main/java/io/archud/WebProvider.java - Web search → TV browser: opens results
app/src/main/java/io/archud/WebProvider.java - TV user → Settings screen: configures
- Settings screen → Device preferences: stores
app/src/main/java/io/archud/SettingsActivity.java - Settings screen → TV link server: controls
app/src/main/java/io/archud/SettingsActivity.java - Settings screen → App updater: checks updates
app/src/main/java/io/archud/SettingsActivity.java - Phone user → Phone share app: shares media
- Phone share app → Share sender: dispatches
link/src/main/java/io/archud/link/ShareActivity.java - Share sender → TV client: posts links
link/src/main/java/io/archud/link/Sender.java - Share sender → Media serving: starts service
link/src/main/java/io/archud/link/Sender.java - Media serving → TV client: posts playback
link/src/main/java/io/archud/link/ServeService.java - Phone share app → Pairing store: reads pairing
link/src/main/java/io/archud/link/ShareActivity.java - TV link server → Phone share app: accepts requests