From d0d899c73d6a74ab634b29312c1b5b435a3ef12b Mon Sep 17 00:00:00 2001 From: Grishka Date: Thu, 18 Apr 2024 02:58:42 +0300 Subject: [PATCH] Check account age for donation eligibility --- .../org/joinmastodon/android/api/session/AccountSession.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountSession.java b/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountSession.java index 55cdac05..1276bf81 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountSession.java +++ b/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountSession.java @@ -33,6 +33,8 @@ import org.joinmastodon.android.model.TimelineMarkers; import org.joinmastodon.android.model.Token; import org.joinmastodon.android.utils.ObjectIdComparator; +import java.time.Instant; +import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; @@ -43,6 +45,7 @@ import me.grishka.appkit.api.ErrorResponse; public class AccountSession{ private static final String TAG="AccountSession"; + private static final int MIN_DAYS_ACCOUNT_AGE_FOR_DONATIONS=28; public Token token; public Account self; @@ -277,7 +280,7 @@ public class AccountSession{ } public boolean isEligibleForDonations(){ - return "mastodon.social".equalsIgnoreCase(domain) || "mastodon.online".equalsIgnoreCase(domain); + return ("mastodon.social".equalsIgnoreCase(domain) || "mastodon.online".equalsIgnoreCase(domain)) && self.createdAt.isBefore(Instant.now().minus(MIN_DAYS_ACCOUNT_AGE_FOR_DONATIONS, ChronoUnit.DAYS)); } public int getDonationSeed(){