diff --git a/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt b/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt index 0ebb1260d..0ed249060 100644 --- a/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt @@ -19,6 +19,9 @@ */ package org.linphone.ui.main.settings.fragment +import android.content.ClipData +import android.content.ClipboardManager +import android.content.Context import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -131,6 +134,10 @@ class AccountProfileFragment : GenericMainFragment() { viewModel.setNewPicturePath("") } + binding.setCopySipUriClickListener { + copyAddressToClipboard(viewModel.sipAddress.value.orEmpty()) + } + binding.setPrefixTooltipClickListener { showHelpPopup() } @@ -220,6 +227,16 @@ class AccountProfileFragment : GenericMainFragment() { pickMedia.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly)) } + private fun copyAddressToClipboard(value: String) { + val clipboard = requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager + clipboard.setPrimaryClip(ClipData.newPlainText("SIP address", value)) + val message = getString(R.string.toast_sip_address_copied_to_clipboard) + (requireActivity() as GenericActivity).showGreenToast( + message, + R.drawable.check + ) + } + private fun setupDialPlanPicker() { val dialPlanIndex = viewModel.selectedDialPlan.value ?: 0 Log.i("$TAG Setting default dial plan at index [$dialPlanIndex]") diff --git a/app/src/main/res/layout/account_profile_fragment.xml b/app/src/main/res/layout/account_profile_fragment.xml index fc1dae761..196ac9a6c 100644 --- a/app/src/main/res/layout/account_profile_fragment.xml +++ b/app/src/main/res/layout/account_profile_fragment.xml @@ -14,6 +14,9 @@ + @@ -203,15 +206,19 @@