This commit is contained in:
greenart7c3
2023-08-14 08:27:03 -03:00
3 changed files with 27 additions and 11 deletions
@@ -1,6 +1,7 @@
package com.greenart7c3.nostrsigner
import android.os.Bundle
import android.util.Log
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.foundation.layout.fillMaxSize
@@ -17,6 +18,11 @@ class MainActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
setContent {
val packageName = callingPackage
val referrer = referrer?.host
Log.d("test", referrer ?: "")
NostrSignerTheme {
Surface(
modifier = Modifier.fillMaxSize(),
@@ -25,7 +31,7 @@ class MainActivity : AppCompatActivity() {
val accountStateViewModel: AccountStateViewModel = viewModel {
AccountStateViewModel()
}
AccountScreen(accountStateViewModel, intent)
AccountScreen(accountStateViewModel, intent, packageName)
}
}
}
@@ -14,7 +14,8 @@ import java.net.URLDecoder
@Composable
fun AccountScreen(
accountStateViewModel: AccountStateViewModel,
intent: Intent
intent: Intent,
packageName: String?
) {
val accountState by accountStateViewModel.accountContent.collectAsState()
@@ -47,7 +48,7 @@ fun AccountScreen(
intentData = IntentData(event, name)
}
MainScreen(state.account, accountStateViewModel, intentData)
MainScreen(state.account, accountStateViewModel, intentData, packageName)
}
}
}
@@ -1,7 +1,9 @@
package com.greenart7c3.nostrsigner.ui
import android.annotation.SuppressLint
import android.app.Activity.RESULT_OK
import android.content.Context
import android.content.Intent
import android.widget.Toast
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
@@ -70,7 +72,7 @@ import org.json.JSONObject
@OptIn(ExperimentalStdlibApi::class)
@SuppressLint("UnusedMaterialScaffoldPaddingParameter")
@Composable
fun MainScreen(account: Account, accountStateViewModel: AccountStateViewModel, json: IntentData?) {
fun MainScreen(account: Account, accountStateViewModel: AccountStateViewModel, json: IntentData?, packageName: String?) {
val scaffoldState = rememberScaffoldState(rememberDrawerState(DrawerValue.Closed))
val coroutineScope = rememberCoroutineScope()
val context = LocalContext.current
@@ -106,7 +108,7 @@ fun MainScreen(account: Account, accountStateViewModel: AccountStateViewModel, j
val event = it.data
EventData(
it.name,
packageName ?: it.name,
event,
event.toJson(),
coroutineScope,
@@ -130,12 +132,19 @@ fun MainScreen(account: Account, accountStateViewModel: AccountStateViewModel, j
clipboardManager.setText(AnnotatedString(sig))
coroutineScope.launch {
Toast.makeText(
context,
context.getString(R.string.signature_copied_to_the_clipboard),
Toast.LENGTH_SHORT
).show()
context.getAppCompatActivity()?.finish()
val activity = context.getAppCompatActivity()
if (packageName != null) {
val intent = Intent()
intent.putExtra("signature", sig)
activity?.setResult(RESULT_OK, intent)
} else {
Toast.makeText(
context,
context.getString(R.string.signature_copied_to_the_clipboard),
Toast.LENGTH_SHORT
).show()
}
activity?.finish()
}
},
{