mirror of https://github.com/M66B/FairEmail.git
Added calendar meeting URLs
This commit is contained in:
parent
8c50e11869
commit
b06dd3894a
|
@ -188,7 +188,6 @@ import javax.mail.Session;
|
|||
import javax.mail.internet.InternetAddress;
|
||||
import javax.mail.internet.MimeMessage;
|
||||
|
||||
import biweekly.Biweekly;
|
||||
import biweekly.ICalVersion;
|
||||
import biweekly.ICalendar;
|
||||
import biweekly.component.VEvent;
|
||||
|
@ -350,8 +349,6 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
private static final int MAX_RECIPIENTS_COMPACT = 3;
|
||||
private static final int MAX_RECIPIENTS_NORMAL = 7;
|
||||
|
||||
private static final String X_ONLINE_MEETING = "X-MICROSOFT-ONLINEMEETINGEXTERNALLINK";
|
||||
|
||||
public class ViewHolder extends RecyclerView.ViewHolder implements
|
||||
View.OnClickListener,
|
||||
View.OnLongClickListener,
|
||||
|
@ -3765,11 +3762,9 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
|
||||
Organizer organizer = event.getOrganizer();
|
||||
|
||||
RawProperty prop = event.getExperimentalProperty(X_ONLINE_MEETING);
|
||||
String uri = (prop == null ? null : prop.getValue());
|
||||
|
||||
Uri uri = CalendarHelper.getOnlineMeetingUrl(context, event);
|
||||
ibCalendar.setVisibility(View.VISIBLE);
|
||||
ibOnline.setVisibility(TextUtils.isEmpty(uri) ? View.GONE : View.VISIBLE);
|
||||
ibOnline.setVisibility(uri == null ? View.GONE : View.VISIBLE);
|
||||
|
||||
tvCalendarSummary.setText(summary);
|
||||
tvCalendarSummary.setVisibility(TextUtils.isEmpty(summary) ? View.GONE : View.VISIBLE);
|
||||
|
@ -3966,11 +3961,8 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
return intent;
|
||||
}
|
||||
|
||||
if (action == R.id.ibOnline) {
|
||||
RawProperty prop = event.getExperimentalProperty(X_ONLINE_MEETING);
|
||||
String uri = (prop == null ? null : prop.getValue());
|
||||
return (uri == null ? null : Uri.parse(uri));
|
||||
}
|
||||
if (action == R.id.ibOnline)
|
||||
return CalendarHelper.getOnlineMeetingUrl(context, event);
|
||||
|
||||
Created created = event.getCreated();
|
||||
LastModified modified = event.getLastModified();
|
||||
|
|
|
@ -55,6 +55,7 @@ import biweekly.parameter.ParticipationStatus;
|
|||
import biweekly.property.Action;
|
||||
import biweekly.property.Attendee;
|
||||
import biweekly.property.ICalProperty;
|
||||
import biweekly.property.RawProperty;
|
||||
import biweekly.property.RecurrenceRule;
|
||||
import biweekly.property.Trigger;
|
||||
import biweekly.util.Duration;
|
||||
|
@ -106,6 +107,26 @@ public class CalendarHelper {
|
|||
return tzid;
|
||||
}
|
||||
|
||||
static Uri getOnlineMeetingUrl(Context context, VEvent event) {
|
||||
try {
|
||||
RawProperty prop = event.getExperimentalProperty("X-GOOGLE-CONFERENCE");
|
||||
if (prop == null)
|
||||
prop = event.getExperimentalProperty("X-MICROSOFT-ONLINEMEETINGEXTERNALLINK");
|
||||
if (prop == null)
|
||||
prop = event.getExperimentalProperty("X-MICROSOFT-SKYPETEAMSMEETINGURL");
|
||||
if (prop == null)
|
||||
return null;
|
||||
String url = prop.getValue();
|
||||
if (TextUtils.isEmpty(url))
|
||||
return null;
|
||||
Uri uri = Uri.parse(url);
|
||||
return (uri.isHierarchical() ? uri : null);
|
||||
} catch (Throwable ex) {
|
||||
Log.e(ex);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
static Long exists(Context context, String selectedAccount, String selectedName, String uid) {
|
||||
ContentResolver resolver = context.getContentResolver();
|
||||
try (Cursor cursor = resolver.query(CalendarContract.Events.CONTENT_URI,
|
||||
|
|
Loading…
Reference in New Issue