mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
feat: Add support for sharing contacts via deeplink (#2336)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
parent
91dd6dbef4
commit
25111552eb
3 changed files with 21 additions and 4 deletions
|
|
@ -53,6 +53,7 @@ import androidx.compose.ui.tooling.preview.Preview
|
|||
import androidx.compose.ui.unit.dp
|
||||
import androidx.core.net.toUri
|
||||
import androidx.hilt.navigation.compose.hiltViewModel
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.geeksville.mesh.AdminProtos
|
||||
import com.geeksville.mesh.MeshProtos
|
||||
import com.geeksville.mesh.R
|
||||
|
|
@ -82,7 +83,7 @@ fun AddContactFAB(
|
|||
onSharedContactImport: (AdminProtos.SharedContact) -> Unit = {},
|
||||
) {
|
||||
val context = LocalContext.current
|
||||
var contactToImport: AdminProtos.SharedContact? by remember { mutableStateOf(null) }
|
||||
val contactToImport: AdminProtos.SharedContact? by model.sharedContactRequested.collectAsStateWithLifecycle(null)
|
||||
|
||||
val barcodeLauncher = rememberLauncherForActivityResult(ScanContract()) { result ->
|
||||
if (result.contents != null) {
|
||||
|
|
@ -94,7 +95,7 @@ fun AddContactFAB(
|
|||
null
|
||||
}
|
||||
if (sharedContact != null) {
|
||||
contactToImport = sharedContact
|
||||
model.setSharedContactRequested(sharedContact)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -134,12 +135,12 @@ fun AddContactFAB(
|
|||
},
|
||||
dismissText = stringResource(R.string.cancel),
|
||||
onDismiss = {
|
||||
contactToImport = null
|
||||
model.setSharedContactRequested(null)
|
||||
},
|
||||
confirmText = stringResource(R.string.import_label),
|
||||
onConfirm = {
|
||||
onSharedContactImport(contactToImport!!)
|
||||
contactToImport = null
|
||||
model.setSharedContactRequested(null)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue