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 @@