From a7ee900626e00fbcadb923bb763168b6d0a204f5 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 28 Feb 2021 12:14:08 +0100 Subject: [PATCH] Free to use --- FAQ.md | 6 ++-- .../java/eu/faircode/email/FragmentSetup.java | 10 ++++++ .../res/drawable/twotone_open_in_new_12.xml | 10 ++++++ app/src/main/res/layout/fragment_setup.xml | 32 ++++++++++++++++++- app/src/main/res/values/strings.xml | 1 + 5 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 app/src/main/res/drawable/twotone_open_in_new_12.xml diff --git a/FAQ.md b/FAQ.md index 91a634aac7..eda41109ab 100644 --- a/FAQ.md +++ b/FAQ.md @@ -962,6 +962,9 @@ See also [this FAQ](#user-content-faq15). **(19) Why are the pro features so expensive?** +First of all, only some convenience and advanced features need to be purchased which means that FairEmail is basically free to use. +Please see the Play store description of the app or [see here](https://email.faircode.eu/#pro) for a complete list of all pro features. + The right question is "*why are there so many taxes and fees?*": * VAT: 25 % (depending on your country) @@ -971,10 +974,9 @@ The right question is "*why are there so many taxes and fees?*": So, what is left for the developer is just a fraction of what you pay. -Note that only some convenience and advanced features need to be purchased which means that FairEmail is basically free to use. - Also note that most free apps will appear not to be sustainable in the end, whereas FairEmail is properly maintained and supported, and that free apps may have a catch, like sending privacy sensitive information to the internet. +There are no privacy violating ads in the app either. I have been working on FairEmail almost every day for more than two years, so I think the price is more than reasonable. For this reason there won't be discounts either. diff --git a/app/src/main/java/eu/faircode/email/FragmentSetup.java b/app/src/main/java/eu/faircode/email/FragmentSetup.java index b049b71318..e1657919aa 100644 --- a/app/src/main/java/eu/faircode/email/FragmentSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentSetup.java @@ -71,6 +71,7 @@ public class FragmentSetup extends FragmentBase { private Button btnIdentity; private TextView tvExchangeSupport; private TextView tvIdentityWhat; + private TextView tvFree; private TextView tvNoComposable; private TextView tvPermissionsDone; @@ -126,6 +127,7 @@ public class FragmentSetup extends FragmentBase { btnIdentity = view.findViewById(R.id.btnIdentity); tvExchangeSupport = view.findViewById(R.id.tvExchangeSupport); tvIdentityWhat = view.findViewById(R.id.tvIdentityWhat); + tvFree = view.findViewById(R.id.tvFree); tvNoComposable = view.findViewById(R.id.tvNoComposable); tvPermissionsDone = view.findViewById(R.id.tvPermissionsDone); @@ -277,6 +279,14 @@ public class FragmentSetup extends FragmentBase { } }); + tvFree.setPaintFlags(tvFree.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG); + tvFree.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Helper.viewFAQ(v.getContext(), 19); + } + }); + btnPermissions.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { diff --git a/app/src/main/res/drawable/twotone_open_in_new_12.xml b/app/src/main/res/drawable/twotone_open_in_new_12.xml new file mode 100644 index 0000000000..3b8ae2667c --- /dev/null +++ b/app/src/main/res/drawable/twotone_open_in_new_12.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/fragment_setup.xml b/app/src/main/res/layout/fragment_setup.xml index e1332c2474..d03fdd374f 100644 --- a/app/src/main/res/layout/fragment_setup.xml +++ b/app/src/main/res/layout/fragment_setup.xml @@ -86,6 +86,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" + android:drawableEnd="@drawable/twotone_open_in_new_12" + android:drawablePadding="6dp" + android:drawableTint="?android:attr/textColorLink" android:text="@string/title_setup_wizard_new" android:textAlignment="center" android:textAppearance="@style/TextAppearance.AppCompat.Small" @@ -249,6 +252,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" + android:drawableEnd="@drawable/twotone_open_in_new_12" + android:drawablePadding="6dp" + android:drawableTint="?android:attr/textColorLink" android:text="@string/title_setup_exchange_support" android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textColor="?android:attr/textColorLink" @@ -260,6 +266,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" + android:drawableEnd="@drawable/twotone_open_in_new_12" + android:drawablePadding="6dp" + android:drawableTint="?android:attr/textColorLink" android:text="@string/title_setup_identity_what" android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textColor="?android:attr/textColorLink" @@ -288,6 +297,21 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tvNoComposable" /> + + + app:layout_constraintTop_toBottomOf="@id/tvFree" /> Grant required permissions Is Microsoft Exchange supported? What is an identity? + Is this app free to use? Grant permissions To access contact information (optional) Disable battery optimizations