Skip to content

Develop - Improved splash, UI without top toolbar, minified build, media player in main tab, progressive blur, fonts, remote lock, screenasver and brightness controls, agp update, onboarding, crash reporting and pitch black theme#88

Merged
sameerasw merged 34 commits intomainfrom
develop
Mar 7, 2026

Conversation

@sameerasw
Copy link
Owner

This pull request introduces several significant updates to the AirSync Android app, focusing on improved crash reporting, user preferences, build optimizations, and UI enhancements. The most notable changes include integrating Sentry for crash reporting with user-controlled opt-in, adding new user preferences (such as pitch black theme and blur), switching from KAPT to KSP for annotation processing, enabling resource shrinking and minification in release builds, and refactoring the main UI scaffold for better theming and maintainability.

Crash Reporting & Analytics:

  • Integrated Sentry crash reporting, with initialization handled manually in a new AirSyncApp class. Users can enable or disable reporting via a new DataStore preference. Sentry auto-init is disabled in the manifest to avoid double initialization. (app/build.gradle.kts, app/src/main/AndroidManifest.xml, app/src/main/java/com/sameerasw/airsync/AirSyncApp.kt, app/src/main/java/com/sameerasw/airsync/data/local/DataStoreManager.kt) [1] [2] [3] [4] [5] [6]

User Preferences:

  • Added new preferences to DataStore for enabling blur effects, pitch black theme, and Sentry reporting, with corresponding getter and setter methods. (app/src/main/java/com/sameerasw/airsync/data/local/DataStoreManager.kt) [1] [2]
  • The main activity and theme now respect the pitch black theme preference, dynamically applying it via the ViewModel and Compose. (app/src/main/java/com/sameerasw/airsync/MainActivity.kt)

Build System & Dependencies:

  • Switched annotation processing from KAPT to KSP for Room, and updated Gradle plugin usage accordingly. (app/build.gradle.kts) [1] [2]
  • Enabled minification and resource shrinking for release builds, and provided commented-out configuration for optimized debug builds. (app/build.gradle.kts)
  • Added dependencies for Sentry, Coil (for image and GIF loading), and updated version codes. (app/build.gradle.kts)

UI & Theming:

  • Refactored the main activity's Compose scaffold to remove the custom top app bar and move theming logic into the ViewModel, simplifying the setup and enabling dynamic theme changes. (app/src/main/java/com/sameerasw/airsync/MainActivity.kt) [1] [2]
  • Improved splash screen handling for OEM compatibility and error cases. (app/src/main/java/com/sameerasw/airsync/MainActivity.kt) [1] [2] [3] [4]

Proguard & Code Shrinking:

  • Added Proguard rules for Gson, domain models, and data layer to ensure proper minification and obfuscation compatibility. (app/proguard-rules.pro)

sameerasw and others added 30 commits February 18, 2026 23:09
Introduced a sequential naming scheme `filename(n).ext` to handle duplicate files gracefully on both Android and macOS.
fixup: Resolve file overwrite and formatting issues on transfer [2/2]
@sameerasw sameerasw self-assigned this Mar 7, 2026
@sameerasw sameerasw added the enhancement New feature or request label Mar 7, 2026
@sameerasw sameerasw merged commit ddeeeed into main Mar 7, 2026
1 check passed
@github-project-automation github-project-automation bot moved this from Backlog to Done in AirSync Features and Bugs Mar 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants