This release focuses on modernization for Android 15 compatibility, build infrastructure upgrades, and expanding user customization options.
Fixed initial build errors and ensured compatibility with modern Android environments.
- Gradle Wrapper Upgrade (
gradle-wrapper.properties): Upgraded from7.2to8.7.- Reason: Required to support Java 21 and newer Android Gradle Plugin versions.
- Android Gradle Plugin Upgrade (
build.gradle): Upgraded from7.1.1to8.4.0.- Reason: Required for compatibility with Android 14/15 and modern build tools.
- Kotlin Upgrade (
build.gradle): Upgraded from1.6.10to1.9.23.- Reason: Needed for compatibility with the newer Gradle plugin and modern language features.
- Room Database Upgrade (
app/build.gradle): Upgraded from2.4.1to2.6.1.- Reason: Resolved critical compilation errors where
suspendfunctions in DAOs were incorrectly handled by the older Room compiler.
- Reason: Resolved critical compilation errors where
- Target SDK Update: Increased
compileSdkandtargetSdkfrom34to35.- Reason: Compliance with Google Play Store requirements for Android 15.
- Namespace & BuildConfig Configuration: Moved package name to
namespaceproperty and explicitly enabledbuildConfig = true.- Reason: Standardized configuration for AGP 8.0+ requirements.
Expanded the color palette to provide more customization for practice categories.
- New Color Definitions: Added 10 new vibrant colors (
category_color_11to20) incolors.xml. - Resource Integration: Included the 10 new colors in the global
category_colorsarray incategory_colors.xml. - UI Enhancements:
- Added two new rows (
RadioGroup) todialog_add_or_change_category.xmlto display the new options. - Updated
CategoryDialog.ktlogic to manage the expanded set of 20 color buttons, ensuring mutually exclusive selection across all rows.
- Added two new rows (
Resolved layout collisions where app content overlapped with system UI elements (status bar and navigation bar).
- Edge-to-Edge Activation: Integrated
enableEdgeToEdge()in theonCreatemethod of all major Activities. - Manual Inset Handling: Implemented
ViewCompat.setOnApplyWindowInsetsListeneracross core Activities (MainActivity,ActiveSessionActivity,GoalStatsActivity,SessionStatsActivity,ArchivedGoalsActivity,FullscreenSessionActivity,ProgressUpdateActivity).- Reason: Programmatically calculates system bar heights to apply precise padding, preventing overlap with the status bar and navigation handle.
- Layout Adjustments:
- Modified
activity_active_session.xmlandactivity_fullscreen_session.xmlbottom button bars. - Change: Switched height from fixed
56dptowrap_contentwith aminHeightof56dp. - Reason: Prevents buttons from being cut off or "squashed" when navigation handle padding is applied.
- Update: Dynamically adjusted margins for main content and pause overlays in
ActiveSessionActivityto perfectly align with the new dynamic bar height.
- Modified
.gitignoreImprovements: Added/releaseand/keystoreto the exclusion lists.- Reason: Prevents accidental commits of binary build artifacts and sensitive signing credentials.
Summary: The add-more-category-colors branch provides a modernized, Android 15-ready version of the app with an improved build pipeline and expanded category customization.