mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-08 10:03:51 +02:00
Added sharing of calendar actions
This commit is contained in:
@@ -611,6 +611,10 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
btnCalendarMaybe.setOnClickListener(this);
|
||||
ibCalendar.setOnClickListener(this);
|
||||
|
||||
btnCalendarAccept.setOnLongClickListener(this);
|
||||
btnCalendarDecline.setOnLongClickListener(this);
|
||||
btnCalendarMaybe.setOnLongClickListener(this);
|
||||
|
||||
gestureDetector = new ScaleGestureDetector(context, new ScaleGestureDetector.SimpleOnScaleGestureListener() {
|
||||
@Override
|
||||
public boolean onScale(ScaleGestureDetector detector) {
|
||||
@@ -674,6 +678,10 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
btnCalendarDecline.setOnClickListener(null);
|
||||
btnCalendarMaybe.setOnClickListener(null);
|
||||
ibCalendar.setOnClickListener(null);
|
||||
|
||||
btnCalendarAccept.setOnLongClickListener(null);
|
||||
btnCalendarDecline.setOnLongClickListener(null);
|
||||
btnCalendarMaybe.setOnLongClickListener(null);
|
||||
}
|
||||
|
||||
if (accessibility)
|
||||
@@ -1880,7 +1888,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
}.setLog(false).execute(context, owner, args, "message:calendar");
|
||||
}
|
||||
|
||||
private void onActionCalendar(TupleMessageEx message, int action) {
|
||||
private void onActionCalendar(TupleMessageEx message, int action, boolean share) {
|
||||
if (!ActivityBilling.isPro(context)) {
|
||||
context.startActivity(new Intent(context, ActivityBilling.class));
|
||||
return;
|
||||
@@ -1889,6 +1897,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
Bundle args = new Bundle();
|
||||
args.putLong("id", message.id);
|
||||
args.putInt("action", action);
|
||||
args.putBoolean("share", share);
|
||||
|
||||
new SimpleTask<Object>() {
|
||||
@Override
|
||||
@@ -1982,7 +1991,10 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
response.setMethod(Method.REPLY);
|
||||
response.addEvent(ev);
|
||||
|
||||
File ics = File.createTempFile("calendar", ".ics", context.getCacheDir());
|
||||
File dir = new File(context.getCacheDir(), "calendar");
|
||||
if (!dir.exists())
|
||||
dir.mkdir();
|
||||
File ics = new File(dir, message.id + ".ics");
|
||||
response.write(ics);
|
||||
|
||||
return ics;
|
||||
@@ -2007,12 +2019,16 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
break;
|
||||
}
|
||||
|
||||
Intent reply = new Intent(context, ActivityCompose.class)
|
||||
.putExtra("action", "participation")
|
||||
.putExtra("reference", args.getLong("id"))
|
||||
.putExtra("ics", (File) result)
|
||||
.putExtra("status", status);
|
||||
context.startActivity(reply);
|
||||
if (args.getBoolean("share"))
|
||||
Helper.share(context, (File) result, "text/calendar", action + ".ics");
|
||||
else {
|
||||
Intent reply = new Intent(context, ActivityCompose.class)
|
||||
.putExtra("action", "participation")
|
||||
.putExtra("reference", args.getLong("id"))
|
||||
.putExtra("ics", (File) result)
|
||||
.putExtra("status", status);
|
||||
context.startActivity(reply);
|
||||
}
|
||||
} else if (result instanceof Intent) {
|
||||
context.startActivity((Intent) result);
|
||||
}
|
||||
@@ -2127,7 +2143,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
case R.id.btnCalendarDecline:
|
||||
case R.id.btnCalendarMaybe:
|
||||
case R.id.ibCalendar:
|
||||
onActionCalendar(message, view.getId());
|
||||
onActionCalendar(message, view.getId(), false);
|
||||
break;
|
||||
default:
|
||||
onToggleMessage(message);
|
||||
@@ -2274,12 +2290,18 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
if (message == null || message.folderReadOnly)
|
||||
return false;
|
||||
|
||||
if (view.getId() == R.id.ibFlagged) {
|
||||
onMenuColoredStar(message);
|
||||
return true;
|
||||
switch (view.getId()) {
|
||||
case R.id.ibFlagged:
|
||||
onMenuColoredStar(message);
|
||||
return true;
|
||||
case R.id.btnCalendarAccept:
|
||||
case R.id.btnCalendarDecline:
|
||||
case R.id.btnCalendarMaybe:
|
||||
onActionCalendar(message, view.getId(), true);
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user