From 7b5d366536b11f0829d4cdc447a015a8032e3179 Mon Sep 17 00:00:00 2001 From: Jonathan Zopf <47294759+JonathanZopf@users.noreply.github.com> Date: Sat, 3 Jun 2023 16:08:29 +0200 Subject: Don't request rating by F-Droid users (#6495) --- .../de/danoeh/antennapod/dialog/RatingDialog.java | 109 +-------------------- 1 file changed, 3 insertions(+), 106 deletions(-) (limited to 'app/src/free') diff --git a/app/src/free/java/de/danoeh/antennapod/dialog/RatingDialog.java b/app/src/free/java/de/danoeh/antennapod/dialog/RatingDialog.java index e7951626e..ec470eee6 100644 --- a/app/src/free/java/de/danoeh/antennapod/dialog/RatingDialog.java +++ b/app/src/free/java/de/danoeh/antennapod/dialog/RatingDialog.java @@ -1,116 +1,13 @@ package de.danoeh.antennapod.dialog; -import android.app.Dialog; import android.content.Context; -import android.content.SharedPreferences; -import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; -import android.util.Log; - -import java.lang.ref.WeakReference; -import java.util.concurrent.TimeUnit; - -import androidx.appcompat.app.AlertDialog; -import com.google.android.material.dialog.MaterialAlertDialogBuilder; - -import de.danoeh.antennapod.BuildConfig; -import de.danoeh.antennapod.R; -import de.danoeh.antennapod.core.util.IntentUtils; public class RatingDialog { + public static void init(Context context) {} - private RatingDialog(){} - - private static final String TAG = RatingDialog.class.getSimpleName(); - private static final int AFTER_DAYS = 7; - - private static WeakReference mContext; - private static SharedPreferences mPreferences; - private static Dialog mDialog; - - private static final String PREFS_NAME = "RatingPrefs"; - private static final String KEY_RATED = "KEY_WAS_RATED"; - private static final String KEY_FIRST_START_DATE = "KEY_FIRST_HIT_DATE"; - - public static void init(Context context) { - mContext = new WeakReference<>(context); - mPreferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); - - long firstDate = mPreferences.getLong(KEY_FIRST_START_DATE, 0); - if (firstDate == 0) { - resetStartDate(); - } - } - - public static void check() { - if (mDialog != null && mDialog.isShowing()) { - return; - } - if (shouldShow()) { - try { - mDialog = createDialog(); - if (mDialog != null) { - mDialog.show(); - } - } catch (Exception e) { - Log.e(TAG, Log.getStackTraceString(e)); - } - } - } - - private static void rateNow() { - Context context = mContext.get(); - if (context == null) { - return; - } - IntentUtils.openInBrowser(context, "https://play.google.com/store/apps/details?id=de.danoeh.antennapod"); - saveRated(); - } - - private static boolean rated() { - return mPreferences.getBoolean(KEY_RATED, false); - } + public static void check() {} @VisibleForTesting - public static void saveRated() { - mPreferences - .edit() - .putBoolean(KEY_RATED, true) - .apply(); - } - - private static void resetStartDate() { - mPreferences - .edit() - .putLong(KEY_FIRST_START_DATE, System.currentTimeMillis()) - .apply(); - } - - private static boolean shouldShow() { - if (rated() || BuildConfig.DEBUG) { - return false; - } - - long now = System.currentTimeMillis(); - long firstDate = mPreferences.getLong(KEY_FIRST_START_DATE, now); - long diff = now - firstDate; - long diffDays = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS); - return diffDays >= AFTER_DAYS; - } - - @Nullable - private static AlertDialog createDialog() { - Context context = mContext.get(); - if (context == null) { - return null; - } - return new MaterialAlertDialogBuilder(context) - .setTitle(R.string.rating_title) - .setMessage(R.string.rating_message) - .setPositiveButton(R.string.rating_now_label, (dialog, which) -> rateNow()) - .setNegativeButton(R.string.rating_never_label, (dialog, which) -> saveRated()) - .setNeutralButton(R.string.rating_later_label, (dialog, which) -> resetStartDate()) - .setOnCancelListener(dialog1 -> resetStartDate()) - .create(); - } + public static void saveRated() {} } \ No newline at end of file -- cgit v1.2.3