diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java
index 61372cdcee..ca252ff426 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 0000000000..0654b6e60d
--- /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 0000000000..8b0e33a84b
--- /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 0000000000..ef2c78bbf8
--- /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 0000000000..70ed9737f6
--- /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 105cc958a2..f15d180037 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 c3291deb78..b90f4c83a8 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 5f3e55dd37..726a938c22 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 052e35cfed..66f4e0983b 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"/>
+
+