diff --git a/app/src/main/java/protect/card_locker/AboutActivity.java b/app/src/main/java/protect/card_locker/AboutActivity.java
index f7adc5dac..6decf1a22 100644
--- a/app/src/main/java/protect/card_locker/AboutActivity.java
+++ b/app/src/main/java/protect/card_locker/AboutActivity.java
@@ -39,6 +39,13 @@ public class AboutActivity extends CatimaAppCompatActivity {
binding.privacy.setTag("https://catima.app/privacy-policy/");
binding.reportError.setTag("https://github.com/CatimaLoyalty/Android/issues");
binding.rate.setTag("https://play.google.com/store/apps/details?id=me.hackerchick.catima");
+ binding.donate.setTag("https://catima.app/contribute/#donating");
+
+ boolean installedFromGooglePlay = Utils.installedFromGooglePlay(this);
+ // Hide Google Play rate button if not on Google Play
+ binding.rate.setVisibility(installedFromGooglePlay ? View.VISIBLE : View.GONE);
+ // Hide donate button on Google Play (Google Play doesn't allow donation links)
+ binding.donate.setVisibility(installedFromGooglePlay ? View.GONE : View.VISIBLE);
bindClickListeners();
}
@@ -74,6 +81,7 @@ public class AboutActivity extends CatimaAppCompatActivity {
binding.privacy.setOnClickListener(openExternalBrowser);
binding.reportError.setOnClickListener(openExternalBrowser);
binding.rate.setOnClickListener(openExternalBrowser);
+ binding.donate.setOnClickListener(openExternalBrowser);
binding.credits.setOnClickListener(view -> showCredits());
}
@@ -86,6 +94,8 @@ public class AboutActivity extends CatimaAppCompatActivity {
binding.privacy.setOnClickListener(null);
binding.reportError.setOnClickListener(null);
binding.rate.setOnClickListener(null);
+ binding.donate.setOnClickListener(null);
+
binding.credits.setOnClickListener(null);
}
diff --git a/app/src/main/java/protect/card_locker/Utils.java b/app/src/main/java/protect/card_locker/Utils.java
index e99873707..024e0ea6e 100644
--- a/app/src/main/java/protect/card_locker/Utils.java
+++ b/app/src/main/java/protect/card_locker/Utils.java
@@ -622,4 +622,19 @@ public class Utils {
textWhenNoImage.setTextColor(Utils.needsDarkForeground(headerColor) ? Color.BLACK : Color.WHITE);
}
}
+
+ public static boolean installedFromGooglePlay(Context context) {
+ try {
+ String packageName = context.getPackageName();
+ String installer;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
+ installer = context.getPackageManager().getInstallSourceInfo(packageName).getInstallingPackageName();
+ } else {
+ installer = context.getPackageManager().getInstallerPackageName(packageName);
+ }
+ return installer.equals("com.android.vending");
+ } catch (Throwable ignored) {
+ return false;
+ }
+ }
}
diff --git a/app/src/main/res/layout/about_activity.xml b/app/src/main/res/layout/about_activity.xml
index f5a05fe34..c01d03046 100644
--- a/app/src/main/res/layout/about_activity.xml
+++ b/app/src/main/res/layout/about_activity.xml
@@ -271,6 +271,36 @@
app:layout_constraintTop_toTopOf="parent" />
+
+
+
+
+
+
+
Open front image in gallery app
Open back image in gallery app
Set barcode height
+ Donate