From 3b925f8674d73e185a5390d953d335aaee821621 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 8 Sep 2020 12:48:52 -0300 Subject: [PATCH] Add in-app donate button to preferences screen. --- .../securesms/ApplicationPreferencesActivity.java | 9 ++++++++- app/src/main/res/drawable/ic_heart_outline_24.xml | 9 +++++++++ app/src/main/res/drawable/ic_heart_solid_24.xml | 9 +++++++++ app/src/main/res/drawable/ic_open_20.xml | 9 +++++++++ app/src/main/res/layout/donate_preference_widget.xml | 7 +++++++ app/src/main/res/values/attrs.xml | 1 + app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/values/themes.xml | 2 ++ app/src/main/res/xml/preferences.xml | 5 +++++ 9 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 app/src/main/res/drawable/ic_heart_outline_24.xml create mode 100644 app/src/main/res/drawable/ic_heart_solid_24.xml create mode 100644 app/src/main/res/drawable/ic_open_20.xml create mode 100644 app/src/main/res/layout/donate_preference_widget.xml diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java index 61372cdce..ca252ff42 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java @@ -47,6 +47,7 @@ import org.thoughtcrime.securesms.preferences.widgets.UsernamePreference; import org.thoughtcrime.securesms.profiles.edit.EditProfileActivity; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.service.KeyCachingService; +import org.thoughtcrime.securesms.util.CommunicationActions; import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.FeatureFlags; @@ -77,6 +78,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActivity private static final String PREFERENCE_CATEGORY_DEVICES = "preference_category_devices"; private static final String PREFERENCE_CATEGORY_HELP = "preference_category_help"; private static final String PREFERENCE_CATEGORY_ADVANCED = "preference_category_advanced"; + private static final String PREFERENCE_CATEGORY_DONATE = "preference_category_donate"; private final DynamicTheme dynamicTheme = new DynamicTheme(); private final DynamicLanguage dynamicLanguage = new DynamicLanguage(); @@ -177,7 +179,9 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActivity this.findPreference(PREFERENCE_CATEGORY_HELP) .setOnPreferenceClickListener(new CategoryClickListener(PREFERENCE_CATEGORY_HELP)); this.findPreference(PREFERENCE_CATEGORY_ADVANCED) - .setOnPreferenceClickListener(new CategoryClickListener(PREFERENCE_CATEGORY_ADVANCED)); + .setOnPreferenceClickListener(new CategoryClickListener(PREFERENCE_CATEGORY_ADVANCED)); + this.findPreference(PREFERENCE_CATEGORY_DONATE) + .setOnPreferenceClickListener(new CategoryClickListener(PREFERENCE_CATEGORY_DONATE)); tintIcons(); } @@ -292,6 +296,9 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActivity case PREFERENCE_CATEGORY_HELP: fragment = new HelpFragment(); break; + case PREFERENCE_CATEGORY_DONATE: + CommunicationActions.openBrowserLink(requireContext(), getString(R.string.donate_url)); + break; default: throw new AssertionError(); } diff --git a/app/src/main/res/drawable/ic_heart_outline_24.xml b/app/src/main/res/drawable/ic_heart_outline_24.xml new file mode 100644 index 000000000..0654b6e60 --- /dev/null +++ b/app/src/main/res/drawable/ic_heart_outline_24.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_heart_solid_24.xml b/app/src/main/res/drawable/ic_heart_solid_24.xml new file mode 100644 index 000000000..8b0e33a84 --- /dev/null +++ b/app/src/main/res/drawable/ic_heart_solid_24.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_open_20.xml b/app/src/main/res/drawable/ic_open_20.xml new file mode 100644 index 000000000..ef2c78bbf --- /dev/null +++ b/app/src/main/res/drawable/ic_open_20.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/donate_preference_widget.xml b/app/src/main/res/layout/donate_preference_widget.xml new file mode 100644 index 000000000..70ed9737f --- /dev/null +++ b/app/src/main/res/layout/donate_preference_widget.xml @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 105cc958a..f15d18003 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -240,6 +240,7 @@ + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c3291deb7..b90f4c83a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3,6 +3,7 @@ Signal https://signal.org/install + https://signal.org/donate Yes No @@ -2049,6 +2050,7 @@ Slow Help Advanced + Donate to Signal Privacy MMS User Agent Manual MMS settings diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 5f3e55dd3..726a938c2 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -400,6 +400,7 @@ @drawable/ic_advanced_24 @drawable/ic_safety_number_outline_24 @drawable/ic_help_outline_24 + @drawable/ic_heart_outline_24 @drawable/message_request_button_background_light @color/core_grey_90 @color/core_grey_60 @@ -731,6 +732,7 @@ @drawable/ic_advanced_24 @drawable/ic_safety_number_solid_24 @drawable/ic_help_solid_24 + @drawable/ic_heart_solid_24 @drawable/message_request_button_background_dark @color/core_grey_05 @color/core_grey_25 diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 052e35cfe..66f4e0983 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -46,4 +46,9 @@ android:title="@string/preferences__advanced" android:icon="?attr/advanced_icon"/> + +