remove nullable var

This commit is contained in:
greenart7c3
2023-11-27 16:15:03 -03:00
parent 77daf38353
commit 42a116ebc1
4 changed files with 22 additions and 19 deletions
@@ -23,7 +23,7 @@ class MainViewModel : ViewModel() {
var intents = IntentLiveData()
}
class IntentLiveData : MutableLiveData<MutableList<IntentData?>>(mutableListOf())
class IntentLiveData : MutableLiveData<MutableList<IntentData>>(mutableListOf())
class MainActivity : AppCompatActivity() {
private val mainViewModel = MainViewModel()
@@ -60,9 +60,10 @@ class MainActivity : AppCompatActivity() {
super.onNewIntent(intent)
if (intent == null) return
val list = mutableListOf(IntentUtils.getIntentData(intent))
val intentData = IntentUtils.getIntentData(intent) ?: return
val list = mutableListOf(intentData)
mainViewModel.intents.value?.forEach {
if (list.none { item -> item?.id == it?.id }) {
if (list.none { item -> item.id == it.id }) {
list.add(it)
}
}
@@ -20,7 +20,7 @@ fun AccountScreen(
mainViewModel: MainViewModel
) {
val accountState by accountStateViewModel.accountContent.collectAsState()
val intents by mainViewModel.intents.observeAsState()
val intents by mainViewModel.intents.observeAsState(mutableListOf())
Column {
Crossfade(
@@ -33,9 +33,13 @@ fun AccountScreen(
LoginPage(accountStateViewModel)
}
is AccountState.LoggedIn -> {
val localIntents = intents?.mapNotNull { it } ?: listOf()
val newIntents = localIntents.ifEmpty {
listOf(IntentUtils.getIntentData(intent))
val newIntents = intents.ifEmpty {
val intentData = IntentUtils.getIntentData(intent)
if (intentData == null) {
listOf()
} else {
listOf(intentData)
}
}
MainScreen(state.account, accountStateViewModel, newIntents, packageName, appName, state.route)
@@ -22,7 +22,7 @@ import com.greenart7c3.nostrsigner.ui.components.SingleEventHomeScreen
@Composable
fun HomeScreen(
modifier: Modifier,
intents: List<IntentData?>,
intents: List<IntentData>,
packageName: String?,
applicationName: String?,
account: Account
@@ -34,7 +34,7 @@ fun HomeScreen(
Box(
modifier
) {
if (intents.filterNotNull().isEmpty()) {
if (intents.isEmpty()) {
Column(
Modifier.fillMaxSize(),
Arrangement.Center,
@@ -43,17 +43,15 @@ fun HomeScreen(
Text(stringResource(R.string.no_event_to_sign))
}
} else if (intents.size == 1) {
intents.first()?.let {
SingleEventHomeScreen(
packageName,
applicationName,
it,
account
)
}
SingleEventHomeScreen(
packageName,
applicationName,
intents.first(),
account
)
} else {
MultiEventHomeScreen(
intents.filterNotNull(),
intents,
applicationName,
packageName,
account
@@ -175,7 +175,7 @@ fun GoToTop(goToTop: () -> Unit) {
fun MainScreen(
account: Account,
accountStateViewModel: AccountStateViewModel,
intents: List<IntentData?>,
intents: List<IntentData>,
packageName: String?,
appName: String?,
route: String?