diff --git a/app/src/main/java/eu/faircode/email/FragmentAccount.java b/app/src/main/java/eu/faircode/email/FragmentAccount.java
index 2328dccde2..358aaab260 100644
--- a/app/src/main/java/eu/faircode/email/FragmentAccount.java
+++ b/app/src/main/java/eu/faircode/email/FragmentAccount.java
@@ -112,6 +112,7 @@ public class FragmentAccount extends FragmentBase {
private TextView tvColorPro;
private Button btnCalendar;
+ private TextView tvCalendarPro;
private Button btnAdvanced;
private CheckBox cbSynchronize;
@@ -230,6 +231,7 @@ public class FragmentAccount extends FragmentBase {
tvColorPro = view.findViewById(R.id.tvColorPro);
btnCalendar = view.findViewById(R.id.btnCalendar);
+ tvCalendarPro = view.findViewById(R.id.tvCalendarPro);
btnAdvanced = view.findViewById(R.id.btnAdvanced);
cbSynchronize = view.findViewById(R.id.cbSynchronize);
@@ -440,6 +442,8 @@ public class FragmentAccount extends FragmentBase {
}
});
+ Helper.linkPro(tvColorPro);
+
btnCalendar.setEnabled(Helper.hasPermission(getContext(), Manifest.permission.WRITE_CALENDAR));
btnCalendar.setOnClickListener(new View.OnClickListener() {
@Override
@@ -454,7 +458,7 @@ public class FragmentAccount extends FragmentBase {
}
});
- Helper.linkPro(tvColorPro);
+ Helper.linkPro(tvCalendarPro);
btnAdvanced.setOnClickListener(new View.OnClickListener() {
@Override
diff --git a/app/src/main/java/eu/faircode/email/FragmentPop.java b/app/src/main/java/eu/faircode/email/FragmentPop.java
index f51091b293..dac0491d87 100644
--- a/app/src/main/java/eu/faircode/email/FragmentPop.java
+++ b/app/src/main/java/eu/faircode/email/FragmentPop.java
@@ -87,6 +87,7 @@ public class FragmentPop extends FragmentBase {
private TextView tvColorPro;
private Button btnCalendar;
+ private TextView tvCalendarPro;
private CheckBox cbSynchronize;
private CheckBox cbIgnoreSchedule;
@@ -161,6 +162,7 @@ public class FragmentPop extends FragmentBase {
tvColorPro = view.findViewById(R.id.tvColorPro);
btnCalendar = view.findViewById(R.id.btnCalendar);
+ tvCalendarPro = view.findViewById(R.id.tvCalendarPro);
cbSynchronize = view.findViewById(R.id.cbSynchronize);
cbIgnoreSchedule = view.findViewById(R.id.cbIgnoreSchedule);
@@ -272,6 +274,8 @@ public class FragmentPop extends FragmentBase {
}
});
+ Helper.linkPro(tvCalendarPro);
+
cbSynchronize.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@@ -401,7 +405,6 @@ public class FragmentPop extends FragmentBase {
String name = args.getString("name");
String category = args.getString("category");
Integer color = args.getInt("color");
-
String calendar = args.getString("calendar");
boolean synchronize = args.getBoolean("synchronize");
@@ -580,7 +583,6 @@ public class FragmentPop extends FragmentBase {
account.name = name;
account.category = category;
account.color = color;
-
account.calendar = calendar;
account.synchronize = synchronize;
diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java
index 6f93e68624..23a8d89e0d 100644
--- a/app/src/main/java/eu/faircode/email/Helper.java
+++ b/app/src/main/java/eu/faircode/email/Helper.java
@@ -1948,8 +1948,10 @@ public class Helper {
tv.getPaint().setUnderlineText(true);
tv.setOnClickListener(new View.OnClickListener() {
@Override
- public void onClick(View view) {
- tv.getContext().startActivity(new Intent(tv.getContext(), ActivityBilling.class));
+ public void onClick(View v) {
+ v.getContext().startActivity(
+ new Intent(v.getContext(), ActivityBilling.class)
+ .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
}
});
}
diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java
index 69fc84ce07..003965e1c3 100644
--- a/app/src/main/java/eu/faircode/email/MessageHelper.java
+++ b/app/src/main/java/eu/faircode/email/MessageHelper.java
@@ -3626,7 +3626,7 @@ public class MessageHelper {
if ("message/rfc822".equals(local.type))
decodeRfc822(context, local);
- else if ("text/calendar".equals(local.type))
+ else if ("text/calendar".equals(local.type) && ActivityBilling.isPro(context))
decodeICalendar(context, local);
else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && local.isCompressed()) {
diff --git a/app/src/main/res/layout/fragment_account.xml b/app/src/main/res/layout/fragment_account.xml
index e48a0685cc..b2a8ff576d 100644
--- a/app/src/main/res/layout/fragment_account.xml
+++ b/app/src/main/res/layout/fragment_account.xml
@@ -479,6 +479,17 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvCalendar" />
+
+
+ app:layout_constraintTop_toBottomOf="@id/tvCalendarPro" />
+ app:constraint_referenced_ids="tvCalendar,btnCalendar,tvCalendarPro" />
+
+
+ app:layout_constraintTop_toBottomOf="@id/tvCalendarPro" />
+ app:constraint_referenced_ids="tvCalendar,btnCalendar,tvCalendarPro" />