AI summary
Offline music player with a modern Material 3 widget, real-time storage sync via kernel-level file monitoring, and deep stability fixes including native memory leak patches and Android 14+ foreground service hardening. Note: despite the privacy claims, the manifest does list INTERNET and REQUEST_INSTALL_PACKAGES permissions.
Generated by AI. May contain inaccuracies.
About this app
A customized, modern, high-performance offline music player for Android.
This project introduces several enhancements and stability fixes over upstream:
1. Modern 3x2 Material 3 Card Widget Container Design: Built using a Material 3 rounded card container (@drawable/ui_widget_bg_round) with system dynamic color tinting (?attr/colorSurface / ?attr/colorSurfaceContainer). Cover Artwork: Centered, rounded-corner album cover preview. Metadata Hierarchy: Prominent bold song title and secondary artist subtitle. Streamlined Control Bar: Responsive control row featuring Previous, a circular filled FAB-style Play/Pause toggle button, and Next. 2. Real-Time Kernel-Level Storage Synchronization Recursive inotify File Observer (DirectoryFileObserver): Monitors music directories directly at the Linux kernel level across all storage volumes (Internal Storage, MicroSD, OTG). Immediately detects CLOSE_WRITE, CREATE, MOVED_TO, and DELETE events without waiting for periodic system scans. 500ms debouncing window to gracefully handle multi-file batch transfers and album extractions. Automatically filters hidden directories and .nomedia folders. Instant MediaScanner Ingestion (MediaScanner): Directly triggers MediaScannerConnection.scanFile() upon detected filesystem changes, bypassing the typical 1–2 minute delay from Android's background media provider. Pull-to-Refresh Gesture: Added SwipeRefreshLayout integration across all library tabs (Songs, Albums, Artists, Genres, Playlists) with dynamic theme palette matching. 3. Stability, Memory Leak & Power Optimizations Native JNI Memory Leak Fix: Fixed unreleased GetStringUTFChars calls in JInputStream.cpp during TagLib scanning, ensuring all native heap memory is safely reclaimed. ViewBinding Lifecycle Nulling: Enforced strict nulling of _binding references during onDestroyView() across all dialog and fragment base classes. Paused CPU Drain Elimination: Added active-playback state guards to PlaybackViewModel ticker coroutines, allowing the CPU to enter deep sleep immediately when playback is paused. Atomic Room Database Transactions: Wrapped queue and playback state saving operations in atomic Room @Transaction methods (replaceState, replaceQueue) with WAL journaling to prevent disk churn and state corruption. Android 14/15/16/17 Foreground Service Hardening: Configured FOREGROUND_SERVICE_DATA_SYNC and FOREGROUND_SERVICE_MEDIA_PLAYBACK service types in AndroidManifest.xml to prevent ForegroundServiceTypeNotAllowedException during background library indexing. 4. Hardware & Modern Platform Readiness 16 KB Page Size Alignment: Built with -Wl,-z,max-page-size=16384 using NDK r27/r28, ensuring out-of-the-box compatibility with 16 KB memory page kernels on Google Tensor devices (Pixel 8, 9, 10 series) and Android 15+. Windows Build Environment Compatibility: Added cross-platform shell script detection and fixed Groovy buildscript syntax to enable native C++ builds on Windows environments without WSL. Privacy & Network Policy 100% Offline: The app does not request or use android.permission.INTERNET or android.permission.ACCESS_NETWORK_STATE. Zero Telemetry: No analytics, tracking SDKs, remote error reporters, or network calls of any kind exist in this application.
About this version
- Version
- 5.1.7 (50101)
- Size
- 10.38 MB
- Requires Android
- 7.0
- Target SDK
- 24
- Architecture
- arm64-v8a, armeabi-v7a, x86, x86_64
- Downloads
- 11
- Updated
- Aug 29, 2026
- Package
- com.HrshD1eux.musicplayer
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10