SkillAgentSearch skills...

LiveMedia

LiveMedia uses promoted ongoing notifications to create a "Live Activity" effect, bringing controls and track information directly to the screen.

Install / Use

/learn @RossSihovsk/LiveMedia
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

🎵 LiveMedia: Always-On Media Control

🌟 Project Goal

The goal of LiveMedia is to transform standard media playback into a persistent, glanceable, and interactive experience. This application is designed exclusively for Android 16 and newer, with a preference for Google Pixel phones.

LiveMedia uses promoted ongoing notifications to create a "Live Activity" effect, bringing controls and track information directly to the screen. Through the in-app settings, you can customize which elements are displayed, such as album art, artist and album names, and playback controls.

It does not show any live notifications on the lock screen or Quick Settings to avoid duplication with the default media player.


🛠️ Code Description

The codebase is organized into the following key modules:

  • lockscreen: Manages the visibility of the media controls on the lock screen.
  • media: Handles media state management, including the MusicState data class.
  • notification: Contains the MediaNotificationListenerService for intercepting media notifications and the NotificationUpdateScheduler for updating the custom notification.
  • qs: Manages Quick Settings state and disable notifications when Quick Settings are opened.
  • ui: Defines the Jetpack Compose UI. This includes the PermissionScreen for handling permission requests, the SettingsScreen for customizing notification content.
  • storage: Manages persistent user preferences for notification content using SharedPreferences.
  • permission: Responsible for permission requests and validating state
  • utils: Provides utility functions for logging and notification management.

🚀 Setup and Permissions

Since LiveMedia intercepts system notifications, explicit user permission is required.

Required Permissions

| Permission | Reason | | :--- | :--- | | Notification Listener | Required by MediaNotificationListenerService to access media metadata and session tokens. | | Accessibility Service | Required by QSStateListener to detect when Quick Settings or the Notification Shade is opened, allowing the app to hide notifications during user interaction. |

Live Updates note:

You may need to manually open app notification settings and allow to use Live Updates. It's not required on PixelOS, but it may be required on other vendors, such as OnePlus.

Installation

Download APK (Recommended for Quick Setup): * Navigate to the Releases tab of this repository. * Download the latest release.apk file directly to your device. * You will need to use APKMirror to install it or to disable Play Protect.

OR

Clone the repository: git clone https://github.com/RossSihovsk/LiveMedia.git *Open the project in Android Studio and build the APK. *Install the app on your device.

After installation, go to Settings and manually grant Notification Listener Access and Accessibility Service to the LiveMedia app. Start playing music! The LiveMedia control should appear once media playback begins and the phone is unlocked.


🌍 Localization

LiveMedia supports 9 languages with complete translations for Settings and Permission screens. The app automatically displays in your device's system language.

Supported Languages

| Language | Locale Code | Native Name | | :--- | :---: | :--- | | English | en | English (Default) | | Ukrainian | uk | Українська | | German | de | Deutsch | | Spanish | es | Español | | Polish | pl | Polski | | Hindi | hi | हिन्दी | | Chinese | zh | 简体中文 | | Japanese | ja | 日本語 | | French | fr | Français |

The app will automatically use your device's language setting. If your device language is not in the list above, the app will default to English.


🎨 Customization & Supported Apps

Status Bar Pill: View the list of supported apps that display their icons in the status bar pill.

Notification Settings: Tailor the media notification to your preference. You have full control over the content and format, allowing you to toggle specific elements—such as album art, artist name, action buttons, and progress bars—to create a cleaner or more detailed look.

Screenshots

<img width="1024" height="572" alt="image" src="https://github.com/user-attachments/assets/0bc8ef28-6fc6-432d-aa42-2b44055e45b7" /> <img width="1241" height="913" alt="image" src="https://github.com/user-attachments/assets/2d900e9f-c115-4865-b7f7-8ce6baa799e0" />

anim

ezgif-4220ad52c4c430a7

Star History

Star History Chart

View on GitHub
GitHub Stars180
CategoryDevelopment
Updated1d ago
Forks6

Languages

Kotlin

Security Score

85/100

Audited on Apr 3, 2026

No findings