diff --git a/app/build.gradle b/app/build.gradle index a74d31dc..5f41e77d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -102,11 +102,7 @@ allprojects { dependencies { implementation 'org.unifiedpush.android:connector:3.0.4' - playstoreImplementation('org.unifiedpush.android:embedded-fcm-distributor:3.0.0') { - exclude group: 'com.google.firebase', module: 'firebase-core' - exclude group: 'com.google.firebase', module: 'firebase-analytics' - exclude group: 'com.google.firebase', module: 'firebase-measurement-connector' - } + playstoreImplementation('org.unifiedpush.android:embedded-fcm-distributor:3.0.0') implementation 'androidx.appcompat:appcompat:1.7.0' diff --git a/app/src/main/java/app/fedilab/android/mastodon/helper/PushNotifications.java b/app/src/main/java/app/fedilab/android/mastodon/helper/PushNotifications.java index 6721d12d..c996e4ff 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/helper/PushNotifications.java +++ b/app/src/main/java/app/fedilab/android/mastodon/helper/PushNotifications.java @@ -45,6 +45,23 @@ import retrofit2.converter.gson.GsonConverterFactory; public class PushNotifications { + public static void unregisterPushNotifications(Context context, String slug) { + new Thread(() -> { + String[] slugArray = slug.split("@"); + BaseAccount accountDb = null; + try { + accountDb = new Account(context).getUniqAccount(slugArray[0], slugArray[1]); + } catch (DBException e) { + e.printStackTrace(); + } + + if (accountDb == null) { + return; + } + MastodonNotificationsService mastodonNotificationsService = init(context, accountDb.instance); + mastodonNotificationsService.deletePushsubscription(accountDb.token); + }); + } public static void registerPushNotifications(Context context, PushEndpoint pushEndpoint, String slug) { diff --git a/app/src/main/java/app/fedilab/android/mastodon/services/PushServiceImpl.java b/app/src/main/java/app/fedilab/android/mastodon/services/PushServiceImpl.java index a028ac06..e00d624e 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/services/PushServiceImpl.java +++ b/app/src/main/java/app/fedilab/android/mastodon/services/PushServiceImpl.java @@ -1,22 +1,14 @@ package app.fedilab.android.mastodon.services; -import static app.fedilab.android.mastodon.helper.Helper.TAG; - - -import android.content.SharedPreferences; - +import android.content.Context; import androidx.annotation.NonNull; -import androidx.preference.PreferenceManager; - import org.unifiedpush.android.connector.FailedReason; import org.unifiedpush.android.connector.PushService; import org.unifiedpush.android.connector.data.PushEndpoint; import org.unifiedpush.android.connector.data.PushMessage; -import app.fedilab.android.R; - import app.fedilab.android.mastodon.helper.NotificationsHelper; import app.fedilab.android.mastodon.helper.PushNotifications; @@ -49,17 +41,11 @@ public class PushServiceImpl extends PushService { @Override public void onNewEndpoint(@NonNull PushEndpoint pushEndpoint, @NonNull String slug) { - if (getApplicationContext() != null) { + Context context = getApplicationContext(); + if (context != null) { synchronized (this) { - SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); - String storedEnpoint = sharedpreferences.getString(getApplicationContext().getString(R.string.SET_STORED_ENDPOINT) + slug, null); - if (storedEnpoint == null || !storedEnpoint.equals(pushEndpoint.getUrl())) { - PushNotifications - .registerPushNotifications(getApplicationContext(), pushEndpoint, slug); - SharedPreferences.Editor editor = sharedpreferences.edit(); - editor.putString(getApplicationContext().getString(R.string.SET_STORED_ENDPOINT) + slug, pushEndpoint.getUrl()); - editor.commit(); - } + PushNotifications + .registerPushNotifications(context, pushEndpoint, slug); } } } @@ -70,6 +56,13 @@ public class PushServiceImpl extends PushService { } @Override - public void onUnregistered(@NonNull String s) { + public void onUnregistered(@NonNull String slug) { + Context context = getApplicationContext(); + if (context != null) { + synchronized (this) { + PushNotifications + .unregisterPushNotifications(context, slug); + } + } } } diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml new file mode 100644 index 00000000..e3c36c75 --- /dev/null +++ b/app/src/main/res/values-lt/strings.xml @@ -0,0 +1,114 @@ + + + Apie + Apie serverį + Podėlis + Atsijungti + Užverti + Taip + Atsisiųsti %1$s + Medija išsaugota + Failas: %1$s + Slaptažodis + El. paštas + Paskyros + Žinutės + Žymės + Išsaugoti + Serveris + Serveris: mastodon.social + Dabar veikia su paskyra %1$s + Įtraukti paskyrą + Žinutės turinys nukopijuotas į iškarpinę + Žinutės URL nukopijuotas į iškarpinę + Informacija nukopijuota į iškarpinę + Jau sekate šią žymę! + Fotoaparatas + Ištrinti viską + Planuoti + Teksto dydžiai + Piktogramos dydžiai + Sekantis + Ankstesnis + Atverti su + Patvirtinti + Medija + Bendrinti su + Bendrinta per „Fedilab‚ + Juodraščiai + Mėgstami + Paminėjimai + Pasidalinimai + Rodyti pasidalinimus + Rodyti atsakymus + Rodyti savus pasidalinimus + Rodyti mano žinutes + Rodyti asmenines žinutes + Atverti naršyklėje + Versti + Pagrindinis + Vietinė laiko skalė + Nutildyti naudotojai + Pagrindinio nutildyti naudotojai + Sekimo prašymai + Nustatymai + Nutildyti + Blokuoti + Pranešti + Ištrinti + Kopijuoti + Bendrinti + Miniatiūra + Automatinė + Pasirinktinė akcento spalva + Nustatykite temos spalvą pagal paskyrą. + Tamsi akcento spalva + Spalva, kuri bus taikoma šviesos temai. + Pasirinkite takelius + Išeiti + Šviesi akcento spalva + Rodyti savus atsakymus + Spalva, kuri bus taikoma tamsiai temai. + Naudotojo vardas + Nauji sekėjai + Pranešimai + Atsisiųsti + Užblokuoti naudotojai + Atsakymai + Privatumas + Atšaukti + Ne + Paminėti + Nutildyti laiku + %d d. + + %d sekundė + %d sekundės + %d sekundžių + + + %d minutė + %d minutės + %d minučių + + + %d valanda + %d valandos + %d valandų + + + %d diena + %d dienos + %d dienų + + Licencija: + GNU GPL V3 + Šaltinio kodas: + Seka jus + Naujos žinutės + %1$s leidimas + %d sek. + %d min. + %d val. + Kūrėjas: + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 63f0a810..08a64db8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1169,7 +1169,6 @@ lingva.ml SET_TRANSLATOR_DOMAIN SET_TRANSLATOR - SET_STORED_ENDPOINT SET_TRANSLATOR_VERSION SET_TRANSLATOR_API_KEY diff --git a/src/fdroid/fastlane/metadata/android/lt/full_description.txt b/src/fdroid/fastlane/metadata/android/lt/full_description.txt new file mode 100644 index 00000000..dfdfb7a6 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/lt/full_description.txt @@ -0,0 +1,23 @@ +Palaiko: +- „Mastodon“, „Peertube“, „Pixelfed“, „Misskey“, „GNU Social“, „Pleroma“ ir „Friendica“ + +Programa turi pažangių funkcijų: +- Sukurti gijas +- Daugelio paskyrų palaikymas +- Planuoti pranešimus iš įrenginio +- Sekti ir bendrauti su nuotoliniais serveriais +- Tarp paskyrų atliekami veiksmai ilgu paspaudimu +- Vertimo funkcija +- Kelios automatinio naujinimų parinktys + - Tiesioginiai pranešimai per „UnifiedPush“ (įskaitant „ntfy“ parduotuvėje „F-Droid“) + - Išlikti prisijungus tiesioginiams pranešimams + - Atidėti pranešimai (jungtis kas 30 sekundžių) +- Pakeisti „YouTube“ ir „Twitter“ nuorodas su nuorodomis į „Invidious“ ir „Nitter“ instancijas +- Pasirinktinės temos, importo / eksporto ir apibrėžimų nustatymas +- Importuoti ir eksportuoti programos duomenų bazę +- Jaustukų pcikeris su pasirinktiniais jaustukais +- Kelios paleidimo piktogramos +- Išplėstinė paleidyklės filtravimas +- Speciali meno laiko skalė mastoart žymei +- Eksportuoti įrašus +- Tinkinti URL bendrinimo funkciją, kad tiesiogiai bendrinti URL su kitomis paslaugomis diff --git a/src/fdroid/fastlane/metadata/android/lt/short_description.txt b/src/fdroid/fastlane/metadata/android/lt/short_description.txt new file mode 100644 index 00000000..111970c2 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/lt/short_description.txt @@ -0,0 +1 @@ +„Fedilab“ - daugiafunkcinis „Android“ kliento programą pasiekti paskirstytąją fediversą, kurią sudaro mikrotinklaraščiai, nuotraukų bendrinimas ir vaizdo įrašų priegloba. diff --git a/src/fdroid/fastlane/metadata/android/lt/title.txt b/src/fdroid/fastlane/metadata/android/lt/title.txt new file mode 100644 index 00000000..e6f369e8 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/lt/title.txt @@ -0,0 +1 @@ +Fedilab diff --git a/src/fdroid/fastlane/metadata/android/uk/changelogs/517.txt b/src/fdroid/fastlane/metadata/android/uk/changelogs/517.txt new file mode 100644 index 00000000..b8908b5b --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/uk/changelogs/517.txt @@ -0,0 +1,16 @@ +Додано: +— Дозволяє редагувати заплановані повідомлення з боку сервера + +Змінено: +- Упорядкувати назву списку в алфавітному порядку в профілях +- Видалити реєстрацію для Google + +Виправлено: +- Push-повідомлення +— Засіб вибору екземплярів Peertube +- Редагувати заплановані потоки (локальні) +- Миттєвий пошук хештегу повторює результати +- Цитати розбиті за допомогою Markdowns +- Виправлено збої звітів після надсилання +- Виправлено вибір емодзі, коли немає результату +- Виправити інші збої