mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Updated share icon behavior in meeting info + added new item in popup menu
This commit is contained in:
parent
5cc8407077
commit
57eb506bdf
3 changed files with 58 additions and 5 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -9,6 +9,9 @@
|
|||
<variable
|
||||
name="deleteClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="createCalendarEventListener"
|
||||
type="View.OnClickListener" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
|
@ -17,20 +20,46 @@
|
|||
android:background="@drawable/shape_round_popup_menu_background">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:onClick="@{deleteClickListener}"
|
||||
style="@style/default_text_style"
|
||||
android:id="@+id/export_as_calendar"
|
||||
android:onClick="@{createCalendarEventListener}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="20dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:text="@string/meeting_info_export_as_calendar_event"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/gray_main2_500"
|
||||
android:drawableStart="@drawable/calendar_blank"
|
||||
android:drawablePadding="5dp"
|
||||
app:drawableTint="@color/gray_main2_500"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/delete_meeting"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style"
|
||||
android:id="@+id/delete_meeting"
|
||||
android:onClick="@{deleteClickListener}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:text="@string/meeting_info_delete"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/red_danger_500"
|
||||
android:drawableStart="@drawable/trash_simple"
|
||||
android:drawablePadding="5dp"
|
||||
app:drawableTint="@color/red_danger_500"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/export_as_calendar"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
|
|||
|
|
@ -119,6 +119,7 @@
|
|||
|
||||
<string name="toast_assistant_qr_code_invalid">Invalid QR code!</string>
|
||||
<string name="toast_sip_address_copied_to_clipboard">SIP address copied into clipboard</string>
|
||||
<string name="toast_meeting_address_copied_to_clipboard">Meeting address copied into clipboard</string>
|
||||
<string name="toast_phone_number_copied_to_clipboard">Number copied into clipboard</string>
|
||||
<string name="toast_call_history_deleted">History has been deleted</string>
|
||||
<string name="toast_alert_low_wifi_signal">Low Wi-Fi signal!</string>
|
||||
|
|
@ -410,6 +411,7 @@
|
|||
<string name="meeting_info_join_title">Join the meeting now</string>
|
||||
<string name="meeting_info_organizer_label">Organizer</string>
|
||||
<string name="meeting_info_delete">Delete meeting</string>
|
||||
<string name="meeting_info_export_as_calendar_event">Create calendar event</string>
|
||||
<string name="meeting_info_deleted_toast">Meeting has been deleted</string>
|
||||
<string name="meeting_schedule_description_title">Description</string>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue