AI summary
Media proxy for Geely OneOS automotive head units. Captures playback from third-party music apps via MediaSession and republishes it through the car's native IMusicManager interface. Includes automation broadcast API for MacroDroid, per-app favorite controls, and Jetpack Compose settings. Requires notification access to function.
Generated by AI. May contain inaccuracies.
About this app
GMediaProxy (Git repository GMediaProxyPub, application id com.geely.online.service) is an Android app for Geely OneOS automotive head units. It acts as a media proxy: it captures playback from third-party music apps via MediaSession, republishes metadata and controls through Geely's IMusicManager AIDL binder, and integrates with the car's Media Center for audio source switching. The app uses the OEM package name com.geely.online.service and exposes OnlineMusicService with action com.geely.service.ONLINE_MUSIC — the same contract the stock online-music service uses on the head unit.
Car integration (AIDL binder)
OnlineMusicService — exported service implementing IMusicManager.Stub(); the car system binds via action com.geely.service.ONLINE_MUSIC. OnlineMusicState — state holder and listener callbacks to the IVI media widget. AIDL contracts under app/src/main/aidl/ (IMusicManager, listeners, MusicInfo). Implemented binder surface: playback (play, pause, next, pre, seekTo), queries (getCurrentPlayState, getCurrentPosition, queryMediaInfoSync, getPlayList), favorites (addFavor, cancelFavor), source management, startApp, addListener. MediaSession capture and forwarding
MediaSessionNotificationListenerService — notification listener service; notification access must be granted by the user. MediaSessionPipeline — session monitoring, metadata and cover-art extraction, playback command forwarding, cover caching to external storage. Works with any app that exposes a MediaSession once notification access is granted. AuxiliaryPackages — dedicated handling for Murglar, Yandex Music, VKX (favorites), Hava YM (cover art), and Strelka (burst-sync). Native IVI sources are skipped for online proxy: Bluetooth, Geely USB, Geely Radio, Autokit Karaoke. OneOS Media Center
OneOsApiBootstrap — initializes OneOSApiManager at app start. OnlineAudioSourceGate — coordinates online vs native audio source via MediaCenterManager. Settings UI
MainActivity — Jetpack Compose settings: notification-access gate, Display as source icon picker, like-button options, broadcast-intent help, link to logs. LogActivity and AppLogger — optional in-app debug log ring buffer (toggle via logs_enabled in DataStore). Favorites and widget controls
FavoriteRatingController — per-app like handling (Yandex Music, Murglar, VKX). LikeMode: Vendor rating / Open current player / Send intent. DataStore keys (SettingsDataStore): display_as_app_source_key, display_like_instead_of_previous, like_mode, logs_enabled. Active Display as source keys: flow, net_easy_cloud, kugou, kuwo, fandeng, jinri, sohu, xmly. Broadcast automation API
OnlineMusicUpdateReceiver — MacroDroid / automation integration (package com.geely.online.service). Incoming: com.salat.gmproxy.MEDIA_UPDATE — extras: title, artist, album, cover (URL or path), progressMs, durationMs (long, ms), forceMetadata (boolean, optional). Play state is taken from the last known session, not from broadcast extras. com.salat.gmproxy.ENABLE — resume forwarding from the real media session com.salat.gmproxy.DISABLE — stop session forwarding; only MEDIA_UPDATE applies Outgoing: com.salat.gmproxy.LIKE when like mode is Send Intent. Startup
App — DataStore bootstrap, log toggle, OneOS init. Data and services
AndroidX DataStore for preferences; Firebase (Analytics, Crashlytics) as wired in app/build.gradle.kts.
About this version
- Version
- 1.2.1 (1037)
- Size
- 3.33 MB
- Requires Android
- 7.0
- Target SDK
- 24
- Architecture
- arm64-v8a, armeabi-v7a, x86, x86_64
- Downloads
- 8
- Updated
- Aug 27, 2026
- Package
- com.geely.online.service
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10