diff --git a/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingFragment.kt b/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingFragment.kt
index a1479a1eb..a17110f1b 100644
--- a/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingFragment.kt
@@ -20,6 +20,9 @@
package org.linphone.ui.main.meetings.fragment
import android.content.ActivityNotFoundException
+import android.content.ClipData
+import android.content.ClipboardManager
+import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.provider.CalendarContract
@@ -93,8 +96,7 @@ class MeetingFragment : GenericFragment() {
}
binding.setShareClickListener {
- Log.i("$TAG Sharing conference info as Google Calendar event")
- shareMeetingInfoAsCalendarEvent()
+ copyMeetingAddressIntoClipboard(uri)
}
binding.setMenuClickListener {
@@ -159,12 +161,32 @@ class MeetingFragment : GenericFragment() {
popupWindow.dismiss()
}
+ popupView.setCreateCalendarEventListener {
+ shareMeetingInfoAsCalendarEvent()
+ popupWindow.dismiss()
+ }
+
// Elevation is for showing a shadow around the popup
popupWindow.elevation = 20f
popupWindow.showAsDropDown(binding.menu, 0, 0, Gravity.BOTTOM)
}
+ private fun copyMeetingAddressIntoClipboard(meetingSipUri: String) {
+ Log.i("$TAG Copying conference SIP URI [$meetingSipUri] into clipboard")
+
+ val clipboard = requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
+ val label = "Meeting SIP address"
+ clipboard.setPrimaryClip(ClipData.newPlainText(label, meetingSipUri))
+
+ (requireActivity() as MainActivity).showGreenToast(
+ getString(R.string.toast_meeting_address_copied_to_clipboard),
+ R.drawable.check
+ )
+ }
+
private fun shareMeetingInfoAsCalendarEvent() {
+ Log.i("$TAG Sharing conference info as Google Calendar event")
+
val intent = Intent(Intent.ACTION_EDIT)
intent.type = "vnd.android.cursor.item/event"
intent.putExtra(CalendarContract.Events.TITLE, viewModel.subject.value)
diff --git a/app/src/main/res/layout/meeting_popup_menu.xml b/app/src/main/res/layout/meeting_popup_menu.xml
index 40a7d86b5..8f3e1d5a0 100644
--- a/app/src/main/res/layout/meeting_popup_menu.xml
+++ b/app/src/main/res/layout/meeting_popup_menu.xml
@@ -9,6 +9,9 @@
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e1fc7896e..905e49fed 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -119,6 +119,7 @@
Invalid QR code!
SIP address copied into clipboard
+ Meeting address copied into clipboard
Number copied into clipboard
History has been deleted
Low Wi-Fi signal!
@@ -410,6 +411,7 @@
Join the meeting now
Organizer
Delete meeting
+ Create calendar event
Meeting has been deleted
Description