v1.5.0: Jetpack Compose Settings Redesign + Fixes
Features: - ✨ Complete Settings UI redesign with Jetpack Compose - 🎨 Material 3 Design with Dynamic Colors (Material You) - 📊 6 logical settings groups in separate screens: * Server Settings (URL, Credentials, Connection Test) * Sync Settings (Auto-Sync, Interval 15/30/60 min) * Markdown Desktop Integration (Auto-Sync for .md files) * Backup & Restore (Local/Server) * About this App (Version, GitHub, License) * Debug & Diagnostics (File Logging, Log Export) Bugfixes (ported from old SettingsActivity): - 🔧 Fix #1: Server URL prefix (http://|https://) auto-set on init - 🔧 Fix #2: Battery optimization dialog on Auto-Sync enable - 🔧 Fix #3: Markdown initial export on feature activation Implementation Details: - SettingsViewModel with Kotlin Flows state management - SettingsEvent system for Activity-level actions (dialogs, intents) - Reusable Compose components (SettingsCard, Switch, RadioGroup, etc.) - Progress dialog for markdown initial export - Edge-to-edge display with system bar handling - Navigation Compose for screen transitions with back button Breaking Changes: - Old SettingsActivity.kt (1147 lines) no longer used (Can be removed in future as legacy code)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
plugins {
|
||||
alias(libs.plugins.android.application)
|
||||
alias(libs.plugins.kotlin.android)
|
||||
alias(libs.plugins.kotlin.compose) // v1.5.0: Jetpack Compose Compiler
|
||||
// ⚡ v1.3.1: ktlint deaktiviert wegen Parser-Problemen, aktivieren in v1.4.0
|
||||
// alias(libs.plugins.ktlint)
|
||||
alias(libs.plugins.detekt)
|
||||
@@ -20,8 +21,8 @@ android {
|
||||
applicationId = "dev.dettmer.simplenotes"
|
||||
minSdk = 24
|
||||
targetSdk = 36
|
||||
versionCode = 12 // 🔧 v1.4.1: Bugfixes (Root-Delete, Checklist Compat)
|
||||
versionName = "1.4.1" // 🔧 v1.4.1: Root-Folder Delete Fix, Checklisten-Sync Abwärtskompatibilität
|
||||
versionCode = 13 // 🔧 v1.5.0: Jetpack Compose Settings Redesign
|
||||
versionName = "1.5.0" // 🔧 v1.5.0: Jetpack Compose Settings Redesign
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
@@ -96,6 +97,7 @@ android {
|
||||
buildFeatures {
|
||||
viewBinding = true
|
||||
buildConfig = true // Enable BuildConfig generation
|
||||
compose = true // v1.5.0: Jetpack Compose für Settings Redesign
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
@@ -135,6 +137,20 @@ dependencies {
|
||||
// SwipeRefreshLayout für Pull-to-Refresh
|
||||
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════
|
||||
// v1.5.0: Jetpack Compose für Settings Redesign
|
||||
// ═══════════════════════════════════════════════════════════════════════
|
||||
implementation(platform(libs.androidx.compose.bom))
|
||||
implementation(libs.androidx.compose.ui)
|
||||
implementation(libs.androidx.compose.ui.graphics)
|
||||
implementation(libs.androidx.compose.ui.tooling.preview)
|
||||
implementation(libs.androidx.compose.material3)
|
||||
implementation(libs.androidx.compose.material.icons)
|
||||
implementation(libs.androidx.activity.compose)
|
||||
implementation(libs.androidx.navigation.compose)
|
||||
implementation(libs.androidx.lifecycle.runtime.compose)
|
||||
debugImplementation(libs.androidx.compose.ui.tooling)
|
||||
|
||||
// Testing (bleiben so)
|
||||
testImplementation(libs.junit)
|
||||
androidTestImplementation(libs.androidx.junit)
|
||||
|
||||
Reference in New Issue
Block a user