Skip to content

Commit a422894

Browse files
committed
refactor: extract LoginViewModel from LoginActivity
Move login logic (URL checking, authentication, client creation) into a ViewModel with LiveData state and Channel-based events. Replace temporary SSL setting variables with direct Settings writes and use a ConstraintLayout Group for credential field visibility.
1 parent 336262d commit a422894

7 files changed

Lines changed: 282 additions & 201 deletions

File tree

app/build.gradle.kts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,3 @@ dependencies {
104104

105105
}
106106

107-
configurations {
108-
configureEach {
109-
exclude(group = "androidx.lifecycle", module = "lifecycle-viewmodel-ktx")
110-
}
111-
}

app/src/main/kotlin/com/github/gotify/api/ClientFactory.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package com.github.gotify.api
33
import com.github.gotify.SSLSettings
44
import com.github.gotify.Settings
55
import com.github.gotify.client.ApiClient
6+
import com.github.gotify.client.api.InfoApi
67
import com.github.gotify.client.api.UserApi
7-
import com.github.gotify.client.api.VersionApi
88
import com.github.gotify.client.auth.ApiKeyAuth
99
import com.github.gotify.client.auth.HttpBasicAuth
1010

@@ -37,12 +37,12 @@ internal object ClientFactory {
3737
return client
3838
}
3939

40-
fun versionApi(
40+
fun infoApi(
4141
settings: Settings,
4242
sslSettings: SSLSettings = settings.sslSettings(),
4343
baseUrl: String = settings.url
44-
): VersionApi {
45-
return unauthorized(settings, sslSettings, baseUrl).createService(VersionApi::class.java)
44+
): InfoApi {
45+
return unauthorized(settings, sslSettings, baseUrl).createService(InfoApi::class.java)
4646
}
4747

4848
fun userApiWithToken(settings: Settings): UserApi {

app/src/main/kotlin/com/github/gotify/init/InitializationActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ internal class InitializationActivity : AppCompatActivity() {
167167
callback: SuccessCallback<VersionInfo>,
168168
errorCallback: Callback.ErrorCallback
169169
) {
170-
ClientFactory.versionApi(settings)
170+
ClientFactory.infoApi(settings)
171171
.version
172172
.enqueue(Callback.callInUI(this, callback, errorCallback))
173173
}

0 commit comments

Comments
 (0)