1
0
Fork 0

greedy google patch

This commit is contained in:
sspanak 2025-02-09 18:39:55 +02:00 committed by Dimo Karaivanov
parent 96d8ad4494
commit 057aa4e7c6
18 changed files with 92 additions and 35 deletions

View file

@ -144,6 +144,7 @@ public class TraditionalT9 extends MainViewHandler {
onStop();
} else {
backgroundTasks.removeCallbacksAndMessages(null);
settings.setDonationsVisible(true);
initUi(mInputMode);
}

View file

@ -1,45 +1,76 @@
package io.github.sspanak.tt9.preferences.screens.main;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.util.AttributeSet;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;
import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.items.ItemClickable;
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
import io.github.sspanak.tt9.ui.UI;
import io.github.sspanak.tt9.util.Logger;
class ItemDonate extends ItemClickable {
static final String NAME = "donate_link";
private final PreferencesActivity activity;
private final boolean isVisible;
class DonatePreference extends Preference {
public static final String NAME = "donate_link";
ItemDonate(Preference preference, PreferencesActivity activity, boolean isTT9On) {
super(preference);
this.activity = activity;
this.isVisible = false;
public DonatePreference(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
public ItemDonate populate() {
if (item == null) {
return this;
}
public DonatePreference(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public DonatePreference(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public DonatePreference(@NonNull Context context) {
super(context);
}
@Override
public void onBindViewHolder(@NonNull PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
holder.itemView.setOnLongClickListener(this::onLongClick);
}
public DonatePreference populate(SettingsStore settings, boolean isTT9On) {
boolean isVisible = isTT9On && !settings.getDemoMode() && settings.getDonationsVisible();
Context context = getContext();
if (isVisible) {
String appName = activity.getString(R.string.app_name_short);
String url = activity.getString(R.string.donate_url_short);
item.setSummary(activity.getString(R.string.donate_summary, appName, url));
String appName = context.getString(R.string.app_name_short);
setSummary(
context.getString(R.string.donate_summary, appName) + " " + context.getString(R.string.donate_hold_to_open)
);
}
item.setVisible(isVisible);
setVisible(isVisible);
setIconSpaceReserved(false);
return this;
}
@Override
protected boolean onClick(Preference p) {
protected void onClick() {
super.onClick();
UI.toastShortSingle(getContext(), R.string.donate_hold_to_open);
}
private boolean onLongClick(View v) {
try {
activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(activity.getString(R.string.donate_url))));
getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getContext().getString(R.string.donate_url))));
return true;
} catch (Exception e) {
Logger.w(getClass().getSimpleName(), "Cannot navigate to the donation page. " + e.getMessage() + " (do you have a browser?)");

View file

@ -45,8 +45,12 @@ public class MainSettingsScreen extends BaseScreenFragment {
private void createAboutSection(boolean isTT9On) {
(new ItemDonate(findPreference(ItemDonate.NAME), activity, isTT9On)).populate().enableClickHandler();
(new ItemVersionInfo(findPreference(ItemVersionInfo.NAME), activity)).populate().enableClickHandler();
DonatePreference donate = findPreference("donate_link");
if (donate != null) {
donate.populate(activity.getSettings(), isTT9On);
}
}

View file

@ -62,4 +62,12 @@ class SettingsHacks extends BaseSettings {
public boolean getSystemLogs() {
return prefs.getBoolean("pref_enable_system_logs", false);
}
public boolean getDonationsVisible() {
return prefs.getBoolean("pref_show_donations", false);
}
public void setDonationsVisible(boolean yes) {
prefsEditor.putBoolean("pref_show_donations", yes).apply();
}
}

View file

@ -73,7 +73,7 @@
<string name="dictionary_update_message">Налично е обновление на речника за „%1$s“.</string>
<string name="dictionary_update_update">Зареди</string>
<string name="donate_title">Дарете</string>
<string name="donate_summary">Ако харесвате %1$s, черпете една бира на: %2$s.</string>
<string name="donate_summary">Ако харесвате %1$s, черпете една бира.</string>
<string name="function_edit_text">Редактиране на текст</string>
<string name="function_add_word_not_available">Добавянето на думи не е възможно на този език.</string>
<string name="function_backspace">Триене на текст</string>
@ -197,4 +197,5 @@
<string name="pref_numpad_shape_square">Квадрат</string>
<string name="pref_numpad_shape_v">V-образна</string>
<string name="pref_arrow_keys_visible">Клавиши стрелки</string>
<string name="donate_hold_to_open">Натиснете и задръжте, за да отворите в браузъра.</string>
</resources>

View file

@ -117,7 +117,7 @@
<string name="dictionary_update_message">" Wörterbuchupdate verfügbar für „%1$s“."</string>
<string name="dictionary_update_update">Laden</string>
<string name="donate_title">Spenden</string>
<string name="donate_summary">Wenn Ihnen %1$s gefällt, könnten Sie mir ein Bier spendieren auf: %2$s.</string>
<string name="donate_summary">Wenn Ihnen %1$s gefällt, könnten Sie mir ein Bier spendieren.</string>
<string name="pref_double_zero_char">Zeichen bei doppeltem Drücken der Taste „0“</string>
<string name="pref_hack_always_on_top">Immer im Vordergrund</string>
<string name="pref_hack_always_on_top_summary">Andere Anwendungen nicht erlauben, %1$s zu überdecken oder vom Bildschirm zu schieben.</string>
@ -185,4 +185,5 @@
<string name="pref_numpad_shape_square">Quadrat</string>
<string name="pref_numpad_shape_v">V-Form</string>
<string name="pref_arrow_keys_visible">Pfeiltasten</string>
<string name="donate_hold_to_open">Drücken und halten, um in einem Browser zu öffnen.</string>
</resources>

View file

@ -132,7 +132,7 @@
<string name="dictionary_update_message">Actualización del diccionario disponible para «%1$s».</string>
<string name="dictionary_update_update">Cargar</string>
<string name="donate_title">Donar</string>
<string name="donate_summary">Si te gusta %1$s, puedes invitarme a una cerveza en: %2$s.</string>
<string name="donate_summary">Si te gusta %1$s, puedes invitarme a una cerveza.</string>
<string name="pref_hack_always_on_top">Siempre encima</string>
<string name="pref_hack_always_on_top_summary">No permitir que otras aplicaciones cubran %1$s o lo empujen fuera de la pantalla.</string>
<string name="pref_hack_key_pad_debounce_time">Protección contra la repetición accidental de teclas</string>
@ -195,4 +195,5 @@
<string name="pref_numpad_shape_square">Cuadrado</string>
<string name="pref_numpad_shape_v">Forma de V</string>
<string name="pref_arrow_keys_visible">Teclas de flecha</string>
<string name="donate_hold_to_open">Mantén presionado para abrir en un navegador.</string>
</resources>

View file

@ -132,7 +132,7 @@
<string name="dictionary_update_message">Mise à jour du dictionnaire «%1$s» disponible.</string>
<string name="dictionary_update_update">Charger</string>
<string name="donate_title">Donner</string>
<string name="donate_summary">Si vous aimez %1$s, vous pouvez m\'offrir une bière à : %2$s.</string>
<string name="donate_summary">Si vous aimez %1$s, vous pouvez m\'offrir une bière.</string>
<string name="pref_hack_key_pad_debounce_time">Protection contre la répétition accidentelle des touches</string>
<string name="pref_hack_key_pad_debounce_off">Désactivée</string>
<string name="dictionary_export_finished">Exportation terminée</string>
@ -193,4 +193,5 @@
<string name="pref_numpad_shape_square">Carré</string>
<string name="pref_numpad_shape_v">Forme en V</string>
<string name="pref_arrow_keys_visible">Touches fléchées</string>
<string name="donate_hold_to_open">Appuyez et maintenez pour ouvrir dans un navigateur.</string>
</resources>

View file

@ -118,7 +118,7 @@
<string name="dictionary_update_message">Aggiornamento del dizionario disponibile per \"%1$s\".</string>
<string name="dictionary_update_update">Carica</string>
<string name="donate_title">Donare</string>
<string name="donate_summary">Se ti piace %1$s, puoi offrirmi una birra a: %2$s.</string>
<string name="donate_summary">Se ti piace %1$s, puoi offrirmi una birra.</string>
<string name="pref_double_zero_char">Simbolo quando si preme due volte il tasto \"0\"</string>
<string name="pref_hack_always_on_top">Sempre in primo piano</string>
<string name="pref_hack_always_on_top_summary">Non consentire ad altre applicazioni di coprire %1$s o di spingerlo fuori dallo schermo.</string>
@ -185,5 +185,6 @@
<string name="pref_numpad_shape_square">Quadrato</string>
<string name="pref_numpad_shape_v">Forma a V</string>
<string name="pref_arrow_keys_visible">Tasti freccia</string>
<string name="donate_hold_to_open">Tieni premuto per aprire nel browser.</string>
</resources>

View file

@ -131,7 +131,6 @@
<string name="dictionary_update_message">עדכון למילון זמין עבור \"%1$s\"</string>
<string name="dictionary_update_update">טען</string>
<string name="donate_title">תרומה</string>
<string name="donate_summary">אם אתה אוהב את %1$s, אתה יכול לפנק אותי בבירה בכתובת: %2$s.</string>
<string name="pref_hack_always_on_top">נראה תמיד</string>
<string name="pref_hack_always_on_top_summary">אל תאפשר ליישומים אחרים לכסות %1$s או לדחות אותו מהמסך.</string>
<string name="pref_hack_key_pad_debounce_time">הגנה מפני חזרת מפתח בשוגג</string>
@ -198,4 +197,6 @@
<string name="pref_numpad_shape_square">ריבוע</string>
<string name="pref_numpad_shape_v">צורת V</string>
<string name="pref_arrow_keys_visible">מקשי חצים</string>
<string name="donate_summary">אם אתה אוהב %1$s, אתה יכול לקנות לי בירה.</string>
<string name="donate_hold_to_open">לחצו והחזיקו כדי לפתוח בדפדפן.</string>
</resources>

View file

@ -149,7 +149,7 @@
<string name="dictionary_update_message">Atnaujinta žodyno versija skirta \"%1$s\".</string>
<string name="dictionary_update_update">Įkelti</string>
<string name="donate_title">Paaukoti</string>
<string name="donate_summary">Jei jums patinka %1$s, galite pavaišinti mane alumi čia: %2$s.</string>
<string name="donate_summary">Jei jums patinka %1$s, galite pavaišinti mane alumi.</string>
<string name="pref_layout">Klaviatūros išdėstymas ekrane</string>
<string name="pref_numpad_key_font_size">Klavišų šrifto dydis</string>
<string name="pref_numpad_key_height">Aukštis</string>
@ -204,4 +204,5 @@
<string name="pref_numpad_shape_square">Kvadratas</string>
<string name="pref_numpad_shape_v">V formos</string>
<string name="pref_arrow_keys_visible">Rodyklių klavišai</string>
<string name="donate_hold_to_open">Paspauskite ir laikykite, kad atidarytumėte naršyklėje.</string>
</resources>

View file

@ -117,7 +117,7 @@
<string name="dictionary_update_message">Woordenboekupdate beschikbaar voor \"%1$s\".</string>
<string name="dictionary_update_update">Laden</string>
<string name="donate_title">Doneer</string>
<string name="donate_summary">Als je %1$s leuk vindt, kun je me trakteren op een biertje op: %2$s.</string>
<string name="donate_summary">Als je %1$s leuk vindt, kun je me trakteren op een biertje.</string>
<string name="pref_double_zero_char">Teken bij dubbelklikken op toets \"0\"</string>
<string name="pref_hack_always_on_top">Altijd bovenaan</string>
<string name="pref_hack_always_on_top_summary">Andere applicaties niet toestaan om %1$s te bedekken of van het scherm te duwen.</string>
@ -184,4 +184,5 @@
<string name="pref_numpad_shape">Vorm</string>
<string name="pref_numpad_shape_square">Vierkant</string>
<string name="pref_numpad_shape_v">V-vorm</string>
<string name="donate_hold_to_open">Druk lang in om in een browser te openen.</string>
</resources>

View file

@ -131,7 +131,7 @@
<string name="dictionary_update_message">Atualização do dicionário disponível para \"%1$s\".</string>
<string name="dictionary_update_update">Carregar</string>
<string name="donate_title">Doar</string>
<string name="donate_summary">Se você gosta de %1$s, pode me pagar uma cerveja em: %2$s.</string>
<string name="donate_summary">Se você gosta de %1$s, pode me pagar uma cerveja.</string>
<string name="pref_hack_always_on_top">Sempre na frente</string>
<string name="pref_hack_always_on_top_summary">Não permitir que outras aplicações cubram %1$s ou o empurrem para fora do ecrã.</string>
<string name="pref_hack_key_pad_debounce_time">Proteção contra repetição acidental de teclas</string>
@ -198,4 +198,5 @@
<string name="pref_numpad_shape_square">Quadrado</string>
<string name="pref_numpad_shape_v">Forma em V</string>
<string name="pref_arrow_keys_visible">Teclas de seta</string>
<string name="donate_hold_to_open">Pressione e segure para abrir no navegador.</string>
</resources>

View file

@ -132,7 +132,7 @@
<string name="dictionary_update_message">Доступно обновление словаря для «%1$s».</string>
<string name="dictionary_update_update">Загрузить</string>
<string name="donate_title">Поддержать</string>
<string name="donate_summary">Если вам нравится %1$s, вы можете угостить меня пивом здесь: %2$s.</string>
<string name="donate_summary">Если вам нравится %1$s, вы можете угостить меня пивом.</string>
<string name="pref_hack_always_on_top">Поверх других приложений</string>
<string name="pref_hack_always_on_top_summary">Не разрешать другим приложениям перекрывать %1$s или выталкивать его с экрана.</string>
<string name="pref_hack_key_pad_debounce_time">Защита от случайного повторения нажатий</string>
@ -195,4 +195,5 @@
<string name="pref_numpad_shape_square">Квадрат</string>
<string name="pref_numpad_shape_v">V-образная форма</string>
<string name="pref_arrow_keys_visible">Клавиши со стрелками</string>
<string name="donate_hold_to_open">Нажмите и удерживайте, чтобы открыть в браузере.</string>
</resources>

View file

@ -116,7 +116,6 @@
<string name="dictionary_update_message">" „%1$s“ sözlüğü için bir güncelleme mevcut."</string>
<string name="dictionary_update_update">Yükle</string>
<string name="donate_title">Destekte bulun</string>
<string name="donate_summary">Eğer %1$s hoşuna gittiyse, bana şu adresten bir bira ısmarlayabilirsin: %2$s.</string>
<string name="pref_double_zero_char">"0" tuşuna iki kere basıldığında yazılacak karakter</string>
<string name="pref_hack_always_on_top">Her zaman en üstte tut</string>
<string name="pref_hack_always_on_top_summary">Diğer uygulamaların %1$s ekranını kaplamasına veya ekranın dışına itmesine izin vermeyin.</string>
@ -198,4 +197,6 @@
<string name="pref_numpad_shape_square">Kare</string>
<string name="pref_numpad_shape_v">V-şekli</string>
<string name="pref_arrow_keys_visible">Ok tuşları</string>
<string name="donate_summary">Eğer %1$s\'ı beğendiyseniz bana bir bira ısmarlayabilirsiniz</string>
<string name="donate_hold_to_open">Tarayıcıda açmak için basılı tutun.</string>
</resources>

View file

@ -110,7 +110,7 @@
<string name="dictionary_update_update">Завантажити</string>
<string name="donate_title">Підтримати</string>
<string name="donate_summary">Якщо вам подобається %1$s, ви можете пригостити мене пивом за адресою: %2$s.</string>
<string name="donate_summary">Якщо вам подобається %1$s, ви можете пригостити мене пивом.</string>
<string name="function_add_word_not_available">Додавання слів неможливе цією мовою.</string>
<string name="function_backspace">Стерти</string>
@ -206,4 +206,5 @@
<string name="pref_numpad_shape_square">Квадрат</string>
<string name="pref_numpad_shape_v">V-подібна</string>
<string name="pref_arrow_keys_visible">Клавіші зі стрілками</string>
<string name="donate_hold_to_open">Натисніть і утримуйте, щоб відкрити в браузері.</string>
</resources>

View file

@ -148,7 +148,8 @@
<string name="dictionary_update_update">Load</string>
<string name="donate_title">Donate</string>
<string name="donate_summary">If you like %1$s, you could buy me a beer at: %2$s.</string>
<string name="donate_summary">If you like %1$s, you could buy me a beer.</string>
<string name="donate_hold_to_open">Press and hold to open in the browser.</string>
<string name="donate_url" translatable="false">https://www.buymeacoffee.com/sspanak</string>
<string name="donate_url_short" translatable="false">www.buymeacoffee.com</string>

View file

@ -36,7 +36,7 @@
android:title="@string/pref_category_about"
app:singleLineTitle="true">
<Preference
<io.github.sspanak.tt9.preferences.screens.main.DonatePreference
app:key="donate_link"
app:title="@string/donate_title"
app:isPreferenceVisible="false" />