diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index 103e00cb..44ca2d9b 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -3,30 +3,39 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c89b29d2..afd4db75 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools">
(val lists: List> = emptyList())
-
-fun List>.toImmutableListOfLists(): ImmutableListOfLists {
- return ImmutableListOfLists(this)
-}
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/models/TimeUtils.kt b/app/src/main/java/com/greenart7c3/nostrsigner/models/TimeUtils.kt
index 57e2671b..b53c9079 100644
--- a/app/src/main/java/com/greenart7c3/nostrsigner/models/TimeUtils.kt
+++ b/app/src/main/java/com/greenart7c3/nostrsigner/models/TimeUtils.kt
@@ -1,18 +1,5 @@
package com.greenart7c3.nostrsigner.models
-import java.text.SimpleDateFormat
-import java.util.Date
-import java.util.Locale
-import java.util.TimeZone
-
object TimeUtils {
fun now() = System.currentTimeMillis() / 1000
- fun format(date: Long): String {
- val sdf = SimpleDateFormat(
- "dd/MM/yyyy HH:mm:ss",
- Locale.getDefault()
- )
- sdf.timeZone = TimeZone.getDefault()
- return sdf.format(Date(date * 1000))
- }
}
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/service/AmberUtils.kt b/app/src/main/java/com/greenart7c3/nostrsigner/service/AmberUtils.kt
index 96937b2b..7d53ef45 100644
--- a/app/src/main/java/com/greenart7c3/nostrsigner/service/AmberUtils.kt
+++ b/app/src/main/java/com/greenart7c3/nostrsigner/service/AmberUtils.kt
@@ -7,18 +7,12 @@ import com.vitorpamplona.quartz.crypto.CryptoUtils
import com.vitorpamplona.quartz.crypto.Nip44Version
import com.vitorpamplona.quartz.crypto.decodeNIP44
import com.vitorpamplona.quartz.crypto.encodeNIP44
-import com.vitorpamplona.quartz.encoders.Bech32
import com.vitorpamplona.quartz.encoders.HexKey
import com.vitorpamplona.quartz.encoders.hexToByteArray
import com.vitorpamplona.quartz.encoders.toHexKey
import com.vitorpamplona.quartz.events.Event
import com.vitorpamplona.quartz.events.LnZapRequestEvent
import fr.acinq.secp256k1.Hex
-import java.nio.charset.Charset
-import java.security.SecureRandom
-import javax.crypto.Cipher
-import javax.crypto.spec.IvParameterSpec
-import javax.crypto.spec.SecretKeySpec
object AmberUtils {
fun encryptOrDecryptData(data: String, type: SignerType, account: Account, pubKey: HexKey): String? {
@@ -124,25 +118,6 @@ object AmberUtils {
null
}
}
-
- private fun encryptPrivateZapMessage(msg: String, privkey: ByteArray, pubkey: ByteArray): String {
- val sharedSecret = CryptoUtils.getSharedSecretNIP04(privkey, pubkey)
- val iv = ByteArray(16)
- SecureRandom().nextBytes(iv)
-
- val keySpec = SecretKeySpec(sharedSecret, "AES")
- val ivSpec = IvParameterSpec(iv)
-
- val utf8message = msg.toByteArray(Charset.forName("utf-8"))
- val cipher = Cipher.getInstance("AES/CBC/PKCS5Padding")
- cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec)
- val encryptedMsg = cipher.doFinal(utf8message)
-
- val encryptedMsgBech32 = Bech32.encode("pzap", Bech32.eight2five(encryptedMsg), Bech32.Encoding.Bech32)
- val ivBech32 = Bech32.encode("iv", Bech32.eight2five(iv), Bech32.Encoding.Bech32)
-
- return encryptedMsgBech32 + "_" + ivBech32
- }
}
fun String.toShortenHex(): String {
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/service/model/AmberEvent.kt b/app/src/main/java/com/greenart7c3/nostrsigner/service/model/AmberEvent.kt
index dbae98d1..a028b901 100644
--- a/app/src/main/java/com/greenart7c3/nostrsigner/service/model/AmberEvent.kt
+++ b/app/src/main/java/com/greenart7c3/nostrsigner/service/model/AmberEvent.kt
@@ -80,7 +80,7 @@ open class AmberEvent(
}
companion object {
- val gson: Gson = GsonBuilder()
+ private val gson: Gson = GsonBuilder()
.disableHtmlEscaping()
.registerTypeAdapter(AmberEvent::class.java, EventSerializer())
.registerTypeAdapter(AmberEvent::class.java, EventDeserializer())
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/service/model/AmberEventInterface.kt b/app/src/main/java/com/greenart7c3/nostrsigner/service/model/AmberEventInterface.kt
deleted file mode 100644
index 316df188..00000000
--- a/app/src/main/java/com/greenart7c3/nostrsigner/service/model/AmberEventInterface.kt
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.greenart7c3.nostrsigner.service.model
-
-import androidx.compose.runtime.Immutable
-import com.vitorpamplona.quartz.encoders.ATag
-import com.vitorpamplona.quartz.encoders.HexKey
-import com.vitorpamplona.quartz.events.EmojiUrl
-import java.math.BigDecimal
-
-@Immutable
-interface AmberEventInterface {
- fun id(): HexKey
-
- fun pubKey(): HexKey
-
- fun createdAt(): Long
-
- fun kind(): Int
-
- fun description(): String
-
- fun tags(): Array>
-
- fun content(): String
-
- fun sig(): HexKey
-
- fun toJson(): String
-
- fun checkSignature()
-
- fun hasValidSignature(): Boolean
-
- fun isTaggedUser(idHex: String): Boolean
-
- fun isTaggedEvent(idHex: String): Boolean
-
- fun isTaggedAddressableNote(idHex: String): Boolean
- fun isTaggedAddressableNotes(idHexes: Set): Boolean
-
- fun isTaggedHash(hashtag: String): Boolean
- fun isTaggedGeoHash(hashtag: String): Boolean
-
- fun isTaggedHashes(hashtags: Set): Boolean
- fun isTaggedGeoHashes(hashtags: Set): Boolean
-
- fun firstIsTaggedHashes(hashtags: Set): String?
- fun firstIsTaggedAddressableNote(addressableNotes: Set): String?
-
- fun isTaggedAddressableKind(kind: Int): Boolean
- fun getTagOfAddressableKind(kind: Int): ATag?
-
- fun hashtags(): List
- fun geohashes(): List
-
- fun getReward(): BigDecimal?
- fun getPoWRank(): Int
- fun getGeoHash(): String?
-
- fun zapAddress(): String?
- fun isSensitive(): Boolean
- fun zapraiserAmount(): Long?
-
- fun taggedAddresses(): List
- fun taggedUsers(): List
- fun taggedEvents(): List
- fun taggedUrls(): List
-
- fun taggedEmojis(): List
- fun matchTag1With(text: String): Boolean
-}
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/AccountState.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/AccountState.kt
index 74b4e92d..b8726680 100644
--- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/AccountState.kt
+++ b/app/src/main/java/com/greenart7c3/nostrsigner/ui/AccountState.kt
@@ -3,6 +3,6 @@ package com.greenart7c3.nostrsigner.ui
import com.greenart7c3.nostrsigner.models.Account
sealed class AccountState {
- object LoggedOff : AccountState()
+ data object LoggedOff : AccountState()
class LoggedIn(val account: Account, val route: String?) : AccountState()
}
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/MainScreen.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/MainScreen.kt
index 66402397..1b211e2f 100644
--- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/MainScreen.kt
+++ b/app/src/main/java/com/greenart7c3/nostrsigner/ui/MainScreen.kt
@@ -4,7 +4,6 @@ import android.app.Activity.RESULT_OK
import android.content.Context
import android.content.Intent
import android.net.Uri
-import android.text.format.DateUtils
import android.widget.Toast
import androidx.compose.animation.core.tween
import androidx.compose.animation.fadeIn
@@ -357,19 +356,3 @@ fun MainScreen(
}
}
}
-
-fun timeAgoShort(mills: Long?, stringForNow: String): String {
- if (mills == null) return " "
-
- var humanReadable = DateUtils.getRelativeTimeSpanString(
- mills * 1000,
- System.currentTimeMillis(),
- DateUtils.MINUTE_IN_MILLIS,
- DateUtils.FORMAT_ABBREV_ALL
- ).toString()
- if (humanReadable.startsWith("In") || humanReadable.startsWith("0")) {
- humanReadable = stringForNow
- }
-
- return humanReadable
-}
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/ShowQRDialog.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/ShowQRDialog.kt
deleted file mode 100644
index e5503d86..00000000
--- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/ShowQRDialog.kt
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.greenart7c3.nostrsigner.ui
-
-import androidx.compose.foundation.background
-import androidx.compose.foundation.layout.Arrangement
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.fillMaxSize
-import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
-import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.Surface
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Alignment
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.unit.dp
-import androidx.compose.ui.window.Dialog
-import androidx.compose.ui.window.DialogProperties
-import com.greenart7c3.nostrsigner.models.Account
-import com.greenart7c3.nostrsigner.ui.components.CloseButton
-import com.greenart7c3.nostrsigner.ui.theme.Size35dp
-import com.vitorpamplona.quartz.encoders.toNpub
-
-@Composable
-fun ShowQRDialog(account: Account, onClose: () -> Unit) {
- Dialog(
- onDismissRequest = onClose,
- properties = DialogProperties(usePlatformDefaultWidth = false)
- ) {
- Surface(modifier = Modifier.fillMaxSize()) {
- Column(
- modifier = Modifier
- .background(MaterialTheme.colorScheme.background)
- .fillMaxSize()
- ) {
- Row(
- modifier = Modifier
- .fillMaxWidth()
- .padding(10.dp),
- horizontalArrangement = Arrangement.SpaceBetween,
- verticalAlignment = Alignment.CenterVertically
- ) {
- CloseButton(onCancel = onClose)
- }
-
- Column(
- modifier = Modifier
- .fillMaxSize()
- .padding(horizontal = 10.dp),
- verticalArrangement = Arrangement.SpaceAround
- ) {
- Row(
- horizontalArrangement = Arrangement.Center,
- modifier = Modifier
- .fillMaxWidth()
- .padding(horizontal = Size35dp)
- ) {
- QrCodeDrawer("nostr:${account.keyPair.pubKey.toNpub()}")
- }
- }
- }
- }
- }
-}
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/AppTitle.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/AppTitle.kt
deleted file mode 100644
index 22ceb8cd..00000000
--- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/AppTitle.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.greenart7c3.nostrsigner.ui.components
-
-import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.material3.Text
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.text.style.TextAlign
-
-@Composable
-fun AppTitle(appName: String) {
- Text(
- modifier = Modifier.fillMaxWidth(),
- text = appName,
- fontWeight = FontWeight.Bold,
- textAlign = TextAlign.Center
- )
-}
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/BackHandler.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/BackHandler.kt
deleted file mode 100644
index 6568ae2e..00000000
--- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/BackHandler.kt
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.greenart7c3.nostrsigner.ui.components
-
-import androidx.activity.OnBackPressedCallback
-import androidx.activity.compose.LocalOnBackPressedDispatcherOwner
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.DisposableEffect
-import androidx.compose.runtime.SideEffect
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.remember
-import androidx.compose.runtime.rememberUpdatedState
-import androidx.compose.ui.platform.LocalLifecycleOwner
-
-@SuppressWarnings("MissingJvmstatic")
-@Composable
-fun BackHandler(enabled: Boolean = true, onBack: () -> Unit) {
- // Safely update the current `onBack` lambda when a new one is provided
- val currentOnBack by rememberUpdatedState(onBack)
- // Remember in Composition a back callback that calls the `onBack` lambda
- val backCallback = remember {
- object : OnBackPressedCallback(enabled) {
- override fun handleOnBackPressed() {
- currentOnBack()
- }
- }
- }
- // On every successful composition, update the callback with the `enabled` value
- SideEffect {
- backCallback.isEnabled = enabled
- }
- val backDispatcher = checkNotNull(LocalOnBackPressedDispatcherOwner.current) {
- "No OnBackPressedDispatcherOwner was provided via LocalOnBackPressedDispatcherOwner"
- }.onBackPressedDispatcher
- val lifecycleOwner = LocalLifecycleOwner.current
- DisposableEffect(lifecycleOwner, backDispatcher) {
- // Add callback to the backDispatcher
- backDispatcher.addCallback(lifecycleOwner, backCallback)
- // When the effect leaves the Composition, remove the callback
- onDispose {
- backCallback.remove()
- }
- }
-}
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/Drawer.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/Drawer.kt
deleted file mode 100644
index aecf352c..00000000
--- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/Drawer.kt
+++ /dev/null
@@ -1,211 +0,0 @@
-package com.greenart7c3.nostrsigner.ui.components
-
-import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.size
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.ClearAll
-import androidx.compose.material.icons.filled.Key
-import androidx.compose.material.icons.filled.QrCode
-import androidx.compose.material3.AlertDialog
-import androidx.compose.material3.Divider
-import androidx.compose.material3.DrawerState
-import androidx.compose.material3.Icon
-import androidx.compose.material3.IconButton
-import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.Surface
-import androidx.compose.material3.Text
-import androidx.compose.material3.TextButton
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.remember
-import androidx.compose.runtime.rememberCoroutineScope
-import androidx.compose.runtime.setValue
-import androidx.compose.ui.Alignment
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.res.stringResource
-import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.unit.dp
-import androidx.compose.ui.unit.sp
-import com.greenart7c3.nostrsigner.BuildConfig
-import com.greenart7c3.nostrsigner.LocalPreferences
-import com.greenart7c3.nostrsigner.R
-import com.greenart7c3.nostrsigner.models.Account
-import com.greenart7c3.nostrsigner.ui.AccountStateViewModel
-import com.greenart7c3.nostrsigner.ui.ShowQRDialog
-import com.greenart7c3.nostrsigner.ui.actions.AccountBackupDialog
-import com.vitorpamplona.quartz.encoders.toNpub
-import kotlinx.coroutines.launch
-
-@Composable
-fun Drawer(
- accountStateViewModel: AccountStateViewModel,
- account: Account,
- drawerState: DrawerState
-) {
- var logoutDialog by remember { mutableStateOf(false) }
- var resetPermissions by remember { mutableStateOf(false) }
- var backupDialogOpen by remember { mutableStateOf(false) }
- val scope = rememberCoroutineScope()
-
- if (logoutDialog) {
- AlertDialog(
- title = {
- Text(text = stringResource(R.string.logout))
- },
- text = {
- Text(text = stringResource(R.string.logging_out_deletes_all_your_local_information_make_sure_to_have_your_private_keys_backed_up_to_avoid_losing_your_account_do_you_want_to_continue))
- },
- onDismissRequest = {
- logoutDialog = false
- },
- confirmButton = {
- TextButton(
- onClick = {
- logoutDialog = false
- accountStateViewModel.logOff(account.keyPair.pubKey.toNpub())
- }
- ) {
- Text(text = stringResource(R.string.logout))
- }
- },
- dismissButton = {
- TextButton(
- onClick = {
- logoutDialog = false
- }
- ) {
- Text(text = stringResource(R.string.cancel))
- }
- }
- )
- }
-
- if (resetPermissions) {
- AlertDialog(
- title = {
- Text(text = stringResource(R.string.reset_permissions))
- },
- text = {
- Text(text = stringResource(R.string.do_you_want_to_reset_all_permissions))
- },
- onDismissRequest = {
- resetPermissions = false
- },
- confirmButton = {
- TextButton(
- onClick = {
- resetPermissions = false
- scope.launch {
- drawerState.close()
- LocalPreferences.deleteSavedApps(account)
- }
- }
- ) {
- Text(text = stringResource(R.string.confirm))
- }
- },
- dismissButton = {
- TextButton(
- onClick = {
- resetPermissions = false
- }
- ) {
- Text(text = stringResource(R.string.cancel))
- }
- }
- )
- }
-
- Surface(
- modifier = Modifier.fillMaxWidth(),
- color = MaterialTheme.colorScheme.background
- ) {
- Column {
- Spacer(modifier = Modifier.weight(1f))
- IconRow(
- title = "Reset permissions",
- icon = Icons.Default.ClearAll,
- tint = MaterialTheme.colorScheme.onBackground,
- onClick = {
- resetPermissions = true
- }
- )
- IconRow(
- title = "Backup Keys",
- icon = Icons.Default.Key,
- tint = MaterialTheme.colorScheme.onBackground,
- onClick = {
- scope.launch {
- drawerState.close()
- }
- backupDialogOpen = true
- }
- )
- BottomContent(account, drawerState)
- }
- }
- if (backupDialogOpen) {
- AccountBackupDialog(account, onClose = { backupDialogOpen = false })
- }
- BackHandler(enabled = drawerState.isOpen) {
- scope.launch { drawerState.close() }
- }
-}
-
-@Composable
-fun BottomContent(account: Account, drawerState: DrawerState) {
- val coroutineScope = rememberCoroutineScope()
-
- // store the dialog open or close state
- var dialogOpen by remember {
- mutableStateOf(false)
- }
-
- Column(modifier = Modifier) {
- Divider(
- modifier = Modifier.padding(top = 15.dp),
- thickness = 0.25.dp
- )
- Row(
- modifier = Modifier
- .fillMaxWidth()
- .padding(horizontal = 15.dp),
- verticalAlignment = Alignment.CenterVertically
- ) {
- Text(
- modifier = Modifier.padding(start = 16.dp),
- text = "v" + BuildConfig.VERSION_NAME,
- fontSize = 12.sp,
- fontWeight = FontWeight.Bold
- )
-
- Box(modifier = Modifier.weight(1F))
- IconButton(onClick = {
- dialogOpen = true
- coroutineScope.launch {
- drawerState.close()
- }
- }) {
- Icon(
- Icons.Default.QrCode,
- null,
- modifier = Modifier.size(24.dp),
- tint = MaterialTheme.colorScheme.primary
- )
- }
- }
- }
-
- if (dialogOpen) {
- ShowQRDialog(
- account,
- onClose = { dialogOpen = false }
- )
- }
-}
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/EventRow.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/EventRow.kt
deleted file mode 100644
index 261a4b48..00000000
--- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/EventRow.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.greenart7c3.nostrsigner.ui.components
-
-import androidx.compose.foundation.layout.Arrangement
-import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
-import androidx.compose.material3.Divider
-import androidx.compose.material3.Icon
-import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.Text
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.vector.ImageVector
-import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.text.style.TextOverflow
-import androidx.compose.ui.unit.Dp
-import androidx.compose.ui.unit.dp
-
-@Composable
-fun EventRow(
- icon: ImageVector,
- title: String,
- content: String
-) {
- Divider(
- modifier = Modifier.padding(vertical = 15.dp),
- thickness = Dp.Hairline
- )
-
- Row(
- Modifier.fillMaxWidth(),
- horizontalArrangement = Arrangement.Start
- ) {
- Icon(
- icon,
- null,
- tint = MaterialTheme.colorScheme.onBackground
- )
- Text(
- modifier = Modifier.padding(start = 8.dp),
- text = "$title ",
- fontWeight = FontWeight.Bold
- )
- Text(
- content,
- color = Color.Gray,
- maxLines = 1,
- overflow = TextOverflow.Ellipsis,
- modifier = Modifier.fillMaxWidth()
- )
- }
-}
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/MultiEventHomeScreen.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/MultiEventHomeScreen.kt
index 859ea5b9..14bf8a05 100644
--- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/MultiEventHomeScreen.kt
+++ b/app/src/main/java/com/greenart7c3/nostrsigner/ui/components/MultiEventHomeScreen.kt
@@ -209,10 +209,10 @@ fun MultiEventHomeScreen(
{ }
) {
intentData.rememberMyChoice.value = !intentData.rememberMyChoice.value
- intents.filter { it ->
- intentData.type == it.type
- }.forEach { it ->
- it.rememberMyChoice.value = intentData.rememberMyChoice.value
+ intents.filter { item ->
+ intentData.type == item.type
+ }.forEach { item ->
+ item.rememberMyChoice.value = intentData.rememberMyChoice.value
}
}
}
diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/navigation/Route.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/navigation/Route.kt
index c2cd3be0..bb6d4a3b 100644
--- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/navigation/Route.kt
+++ b/app/src/main/java/com/greenart7c3/nostrsigner/ui/navigation/Route.kt
@@ -1,11 +1,9 @@
package com.greenart7c3.nostrsigner.ui.navigation
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.History
import androidx.compose.material.icons.filled.Home
import androidx.compose.material.icons.filled.Settings
import androidx.compose.material.icons.filled.ViewList
-import androidx.compose.material.icons.outlined.History
import androidx.compose.material.icons.outlined.Home
import androidx.compose.material.icons.outlined.Settings
import androidx.compose.material.icons.outlined.ViewList
@@ -41,10 +39,4 @@ sealed class Route(
icon = Icons.Outlined.ViewList,
selectedIcon = Icons.Default.ViewList
)
-
- data object History : Route(
- route = "History",
- icon = Icons.Outlined.History,
- selectedIcon = Icons.Default.History
- )
}
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 70c568fa..f68b8be6 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,11 +1,6 @@
- #FFBB86FC
- #FF6200EE
#FF3700B3
- #FF03DAC5
- #FF018786
#FF000000
- #FFFFFFFF
#FFBF00
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 8ca4ebb4..5a3faac4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -17,17 +17,13 @@
Copies the Npub ID (your user) to the clipboard for backup
Copy my public key
Event pubkey is not equal to current logged in user
- Scan QR
Signature copied to the clipboard
- Sign
- copied to the clipboard
Reset permissions
Logout
Logging out deletes all your local information. Make sure to have your private keys backed up to avoid losing your account. Do you want to continue?
Cancel
Do you want to reset all permissions?
Confirm
- Could not decrypt the message
nsec..
Show password
Hide password
@@ -44,7 +40,6 @@
Read your public key
No permissions granted
No event to sign
- wants to read your public key
Remember my choice and don\'t ask again
Reject
Accept
@@ -54,17 +49,9 @@
decrypt nip04
decrypt zap event
encrypt/decrypt
- wants you to %1$s data
encrypt
decrypt
Error to %1$s data
- client authentication
- event
- wants you to sign a %1$s
- "Kind "
- "Created at "
- "Signed by "
- "Content "
Show Details
Hide Details
Raw json
@@ -72,13 +59,10 @@
Select Account
Active Account
Edit name
- Copy to clipboard
"Copy "
- my public key
Encrypted/Decrypted data
Data copied to the clipboard
Message already encrypted
- Relay
go to top
Event copied to the clipboard
Select/Deselect all