WIP: Move to KMP

This commit is contained in:
William Brawner 2020-11-21 11:09:44 -07:00
parent 414ac50234
commit 0b336610df
5 changed files with 11 additions and 6 deletions

View file

@ -20,7 +20,7 @@ const val IP_MAX = 255
class AddPiHelperViewModel( class AddPiHelperViewModel(
private val sharedPreferences: SharedPreferences, private val sharedPreferences: SharedPreferences,
private val apiService: PiHoleApiService = KtorPiHoleApiService() private val apiService: PiHoleApiService
) : ViewModel() { ) : ViewModel() {
@Volatile @Volatile

View file

@ -2,7 +2,6 @@ package com.wbrawner.pihelper
import android.app.Application import android.app.Application
import android.content.Context import android.content.Context
import com.wbrawner.piholeclient.piHoleClientModule
import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidContext
import org.koin.android.ext.koin.androidLogger import org.koin.android.ext.koin.androidLogger
import org.koin.core.context.startKoin import org.koin.core.context.startKoin
@ -15,7 +14,6 @@ class PiHelperApplication: Application() {
androidLogger() androidLogger()
androidContext(this@PiHelperApplication) androidContext(this@PiHelperApplication)
modules(listOf( modules(listOf(
piHoleClientModule,
piHelperModule piHelperModule
)) ))
} }

View file

@ -1,12 +1,15 @@
package com.wbrawner.pihelper package com.wbrawner.pihelper
import androidx.security.crypto.EncryptedSharedPreferences import androidx.security.crypto.EncryptedSharedPreferences
import com.wbrawner.piholeclient.NAME_BASE_URL import com.wbrawner.pihelper.shared.KtorPiHoleApiService
import com.wbrawner.pihelper.shared.PiHoleApiService
import com.wbrawner.pihelper.shared.httpClient
import org.koin.androidx.viewmodel.dsl.viewModel import org.koin.androidx.viewmodel.dsl.viewModel
import org.koin.core.qualifier.named import org.koin.core.qualifier.named
import org.koin.dsl.module import org.koin.dsl.module
const val ENCRYPTED_SHARED_PREFS_FILE_NAME = "pihelper.prefs" const val ENCRYPTED_SHARED_PREFS_FILE_NAME = "pihelper.prefs"
const val NAME_BASE_URL = "baseUrl"
val piHelperModule = module { val piHelperModule = module {
single { single {
@ -30,4 +33,8 @@ val piHelperModule = module {
single(named(NAME_BASE_URL)) { single(named(NAME_BASE_URL)) {
get<EncryptedSharedPreferences>().getString(KEY_BASE_URL, "") get<EncryptedSharedPreferences>().getString(KEY_BASE_URL, "")
} }
single<PiHoleApiService> {
KtorPiHoleApiService(httpClient())
}
} }

View file

@ -2,7 +2,7 @@ package com.wbrawner.pihelper
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import com.wbrawner.piholeclient.PiHoleApiService import com.wbrawner.pihelper.shared.PiHoleApiService
import com.wbrawner.pihelper.shared.Status import com.wbrawner.pihelper.shared.Status
import com.wbrawner.pihelper.shared.StatusProvider import com.wbrawner.pihelper.shared.StatusProvider
import kotlinx.coroutines.delay import kotlinx.coroutines.delay

View file

@ -41,7 +41,7 @@ kotlin {
val androidMain by getting { val androidMain by getting {
dependencies { dependencies {
implementation("com.google.android.material:material:1.2.0") implementation("com.google.android.material:material:1.2.0")
implementation("io.ktor:ktor-client-android:$ktor_version") api("io.ktor:ktor-client-android:$ktor_version")
} }
} }
val androidTest by getting { val androidTest by getting {