Skip to content

Commit 91bb645

Browse files
committed
refactor: streamline AI provider and API key settings
This commit refactors the settings screen to combine the AI Provider, Base URL, and API Key configurations into a single, unified dialog. This simplifies the user flow for setting up an AI provider. - Merged the API key and base URL settings into the `AIProviderSettingsDialog`. - Removed the separate `ApiKeySettingsDialog` and the corresponding list item from the main settings screen. - The `AIProviderSettingsDialog` now includes fields for API Key and an optional custom Base URL. - The dialog's confirm button now dynamically shows "Next" if the provider is changed (to proceed to model selection) or "OK" otherwise. - Ensured the base URL automatically gets a "https://" prefix if it's missing. - Removed the now-unused `setApiKeyDescription` string resource from all translations. - Corrected the viewport size of the `deepseek.xml` icon. Dependency updates: - Updated various dependencies, including Compose BOM to `2025.09.00`, AGP to `8.13.0`, and Kotlin to `2.2.20`. - Tidy up gradle plugin usage
1 parent a02eedc commit 91bb645

18 files changed

Lines changed: 165 additions & 231 deletions

File tree

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.7.1] - 2025-09-13
9+
10+
### Changed
11+
12+
- merged API key settings into AI provider
13+
14+
### Fixed
15+
16+
- Auto append https to custom URL if missing
17+
818
## [0.7.0] - 2025-09-11
919

1020
### Added

app/build.gradle.kts

Lines changed: 38 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,27 @@ import java.util.Properties
33

44
plugins {
55
id("com.android.application")
6-
id("org.jetbrains.kotlin.android")
6+
kotlin("android")
7+
kotlin("plugin.serialization")
78
id("org.jetbrains.kotlin.plugin.compose")
89
id("com.google.devtools.ksp")
910
id("com.google.dagger.hilt.android")
10-
kotlin("plugin.serialization")
1111
}
1212

1313
android {
1414
namespace = "me.nanova.summaryexpressive"
1515
compileSdk = 36
16-
flavorDimensions += "distribution"
17-
androidResources {
18-
generateLocaleConfig = true
19-
}
16+
2017
defaultConfig {
2118
applicationId = "me.nanova.summaryexpressive"
2219
minSdk = 33
2320
targetSdk = 36
24-
versionCode = 31
25-
versionName = "0.7.0"
21+
versionCode = 32
22+
versionName = "0.7.1"
2623

2724
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2825
}
2926

30-
productFlavors {
31-
create("gms") {
32-
dimension = "distribution"
33-
}
34-
create("standalone") {
35-
dimension = "distribution"
36-
applicationIdSuffix = ".standalone"
37-
versionNameSuffix = "-standalone"
38-
}
39-
}
40-
4127
signingConfigs {
4228
val keyPropertiesFile = rootProject.file("keystore.properties")
4329
val keyProperties = Properties()
@@ -69,38 +55,59 @@ android {
6955
}
7056
}
7157

72-
compileOptions {
73-
sourceCompatibility = JavaVersion.VERSION_21
74-
targetCompatibility = JavaVersion.VERSION_21
75-
}
76-
kotlin {
77-
compilerOptions {
78-
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_21)
58+
flavorDimensions += "distribution"
59+
productFlavors {
60+
create("gms") {
61+
dimension = "distribution"
62+
}
63+
create("standalone") {
64+
dimension = "distribution"
65+
applicationIdSuffix = ".standalone"
66+
versionNameSuffix = "-standalone"
7967
}
8068
}
69+
8170
buildFeatures {
8271
compose = true
8372
buildConfig = true
8473
}
74+
8575
packaging {
8676
resources {
8777
excludes += "/META-INF/{AL2.0,LGPL2.1}"
8878
excludes += "/META-INF/io.netty.versions.properties"
8979
excludes += "/META-INF/INDEX.LIST"
9080
}
9181
}
82+
83+
java {
84+
toolchain {
85+
languageVersion.set(JavaLanguageVersion.of(21))
86+
}
87+
}
88+
89+
kotlin {
90+
compilerOptions {
91+
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_21)
92+
}
93+
}
94+
95+
androidResources {
96+
generateLocaleConfig = true
97+
}
98+
9299
lint {
93100
disable.add("MissingTranslation")
94101
}
95102
}
96103

97104
dependencies {
98105
// https://developer.android.com/develop/ui/compose/bom/bom-mapping
99-
val composeBomVersion = "2025.08.01"
106+
val composeBomVersion = "2025.09.00"
100107

101108
// Core & Lifecycle
102109
implementation("androidx.core:core-ktx:1.17.0")
103-
implementation("androidx.activity:activity-compose:1.10.1")
110+
implementation("androidx.activity:activity-compose:1.11.0")
104111
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.9.3")
105112
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.9.3")
106113

@@ -109,8 +116,8 @@ dependencies {
109116
ksp("com.google.dagger:hilt-compiler:2.57.1")
110117

111118
// Navigation
112-
implementation("androidx.navigation:navigation-compose:2.9.3")
113-
implementation("androidx.hilt:hilt-navigation-compose:1.2.0")
119+
implementation("androidx.navigation:navigation-compose:2.9.4")
120+
implementation("androidx.hilt:hilt-navigation-compose:1.3.0")
114121

115122
// Jetpack Compose
116123
implementation(platform("androidx.compose:compose-bom:$composeBomVersion"))
@@ -119,7 +126,7 @@ dependencies {
119126
implementation("androidx.compose.material:material-icons-extended")
120127
// Keep alpha override for material expressive features, as intended
121128
// https://developer.android.com/jetpack/androidx/releases/compose-material3#compose_material3_version_15_2
122-
implementation("androidx.compose.material3:material3:1.5.0-alpha03")
129+
implementation("androidx.compose.material3:material3:1.5.0-alpha04")
123130

124131
// Data Persistence
125132
implementation("androidx.datastore:datastore-preferences:1.1.7")

0 commit comments

Comments
 (0)