mirror of
https://github.com/greenart7c3/Amber.git
synced 2026-10-05 19:08:23 +00:00
Fix crash when checking if the current account is the same as the event
This commit is contained in:
@@ -26,27 +26,48 @@ class MainViewModel(val context: Context) : ViewModel() {
|
||||
|
||||
fun getAccount(userFromIntent: String?): String? {
|
||||
val currentAccount = LocalPreferences.currentAccount(context)
|
||||
if (userFromIntent != null) {
|
||||
if (userFromIntent.startsWith("npub")) {
|
||||
if (LocalPreferences.containsAccount(context, userFromIntent)) {
|
||||
Log.d("MainViewModel", "getAccount: $userFromIntent")
|
||||
return userFromIntent
|
||||
}
|
||||
} else {
|
||||
val localNpub = Hex.decode(userFromIntent).toNpub()
|
||||
if (LocalPreferences.containsAccount(context, localNpub)) {
|
||||
Log.d("MainViewModel", "getAccount: $localNpub")
|
||||
return localNpub
|
||||
try {
|
||||
if (!userFromIntent.isNullOrBlank()) {
|
||||
if (userFromIntent.startsWith("npub")) {
|
||||
if (LocalPreferences.containsAccount(context, userFromIntent)) {
|
||||
Log.d("MainViewModel", "getAccount: $userFromIntent")
|
||||
return userFromIntent
|
||||
}
|
||||
} else {
|
||||
val localNpub = Hex.decode(userFromIntent).toNpub()
|
||||
if (LocalPreferences.containsAccount(context, localNpub)) {
|
||||
Log.d("MainViewModel", "getAccount: $localNpub")
|
||||
return localNpub
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val pubKeys =
|
||||
intents.value.mapNotNull {
|
||||
it.event?.pubKey ?: it.bunkerRequest?.currentAccount
|
||||
}.filter { it.isNotBlank() }
|
||||
val pubKeys =
|
||||
intents.value.mapNotNull {
|
||||
it.event?.pubKey ?: it.bunkerRequest?.currentAccount
|
||||
}.filter { it.isNotBlank() }
|
||||
|
||||
if (pubKeys.isEmpty()) {
|
||||
if (pubKeys.isEmpty()) {
|
||||
if (currentAccount != null && LocalPreferences.containsAccount(context, currentAccount)) {
|
||||
Log.d("MainViewModel", "getAccount: $currentAccount")
|
||||
return currentAccount
|
||||
}
|
||||
|
||||
val acc = LocalPreferences.allSavedAccounts(context).firstOrNull()
|
||||
if (acc != null) {
|
||||
Log.d("MainViewModel", "getAccount: ${acc.npub}")
|
||||
return acc.npub
|
||||
} else {
|
||||
Log.d("MainViewModel", "getAccount: null")
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
val npub = Hex.decode(pubKeys.first()).toNpub()
|
||||
Log.d("MainViewModel", "getAccount: $npub")
|
||||
return npub
|
||||
} catch (e: Exception) {
|
||||
Log.e("MainViewModel", "Error getting account", e)
|
||||
if (currentAccount != null && LocalPreferences.containsAccount(context, currentAccount)) {
|
||||
Log.d("MainViewModel", "getAccount: $currentAccount")
|
||||
return currentAccount
|
||||
@@ -61,10 +82,6 @@ class MainViewModel(val context: Context) : ViewModel() {
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
val npub = Hex.decode(pubKeys.first()).toNpub()
|
||||
Log.d("MainViewModel", "getAccount: $npub")
|
||||
return npub
|
||||
}
|
||||
|
||||
fun showBunkerRequests(callingPackage: String?) {
|
||||
|
||||
Reference in New Issue
Block a user