Skip to content

Commit

Permalink
issuedFor: collect as lifecycle-aware state
Browse files Browse the repository at this point in the history
  • Loading branch information
rfc2822 committed Apr 3, 2024
1 parent 0ac9e99 commit 10d1783
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
1 change: 1 addition & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "a
androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
androidx-lifecycle-livedata = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidx-lifecycle" }
androidx-lifecycle-runtime = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidx-lifecycle" }
androidx-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
androidx-lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" }
androidx-test-core = { module = "androidx.test:core-ktx", version.ref = "androidx-test-core" }
androidx-test-runner = { module = "androidx.test:runner", version.ref = "androidx-test-runner" }
Expand Down
1 change: 1 addition & 0 deletions lib/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ dependencies {

implementation(libs.androidx.appcompat)
implementation(libs.androidx.lifecycle.livedata)
implementation(libs.androidx.lifecycle.runtime.compose)
implementation(libs.androidx.lifecycle.viewmodel)
implementation(libs.conscrypt)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,10 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.lifecycle.*
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.observeOn
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
Expand Down Expand Up @@ -147,7 +149,7 @@ class TrustCertificateActivity : ComponentActivity() {
modifier = Modifier
.padding(16.dp),
) {
val issuedFor by model.issuedFor.observeAsState("")
val issuedFor by model.issuedFor.collectAsStateWithLifecycle()
val issuedBy by model.issuedBy.observeAsState("")
val validFrom by model.validFrom.observeAsState("")
val validTo by model.validTo.observeAsState("")
Expand All @@ -161,10 +163,9 @@ class TrustCertificateActivity : ComponentActivity() {
.fillMaxWidth()
.padding(bottom = 16.dp),
)
InfoPack(
R.string.trust_certificate_issued_for,
issuedFor
)
issuedFor?.let {
InfoPack(R.string.trust_certificate_issued_for, it)
}
InfoPack(
R.string.trust_certificate_issued_by,
issuedBy
Expand Down Expand Up @@ -269,7 +270,7 @@ class TrustCertificateActivity : ComponentActivity() {
private var cert: X509Certificate? = null
val decided = MutableStateFlow(false)

val issuedFor = MutableLiveData<String>()
val issuedFor = MutableStateFlow<String?>(null)
val issuedBy = MutableLiveData<String>()

val validFrom = MutableLiveData<String>()
Expand Down Expand Up @@ -301,7 +302,7 @@ class TrustCertificateActivity : ComponentActivity() {
}
sb.toString()
} ?: /* use CN if alternative names are not available */ cert.subjectDN.name
issuedFor.postValue(subject)
issuedFor.emit(subject)

issuedBy.postValue(cert.issuerDN.toString())

Expand Down

0 comments on commit 10d1783

Please sign in to comment.