-
Notifications
You must be signed in to change notification settings - Fork 108
Description
Is your feature request related to a problem? Please describe.
Currently, the user experience is interrupted whenever the app is closed, the Android system kills the background process, or the device (Android TV/Smartphone) is rebooted. The user is forced to manually navigate through the UI (Categories -> Channel List -> Channel) to resume viewing, which is inefficient.
Describe the solution you'd like
I am proposing a State Persistence mechanism that saves the metadata of the currently playing stream to ensure continuity.
- Data Persistence: The app should store the "Channel ID", "Stream URL", and "Category Name" in a local database or "SharedPreferences" every time a channel is successfully loaded.
- Lifecycle Handling:
- On App Start: The system should check for a "Last Played" entry.
- Auto-Execution: If the feature is enabled, the app should bypass the main menu and initiate the player immediately using the stored parameters.
- Boot Integration: Specifically for Android TV, the app should ideally have an option to "Launch on Boot" and immediately play the last channel, mimicking the "Instant-On" experience of traditional Cable TV hardware.
Detailed Functional Requirements
- Connection Handshake: The auto-resume should trigger only after the network state is confirmed as "Connected" to avoid immediate playback errors.
- Error Handling: If the "Last Channel" fails to load (e.g., dead link or timeout), the app should gracefully fallback to the Home Screen with a brief notification (Toast).
- User Control (Settings Menu):
- Resume Last Channel on Startup (Toggle Switch)
- Startup Delay (Selection: None, 2s, 5s) - To allow system processes/Wi-Fi to stabilize on slow devices.
Why this is important?
This feature is essential for accessibility, particularly for elderly users or those using Android TV boxes who expect a seamless, "plug-and-play" television experience without complex menu navigation.