From e0953ff5afdeaffd0c74072c9d8457d6f5ea1183 Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 16 Dec 2022 09:15:40 +0100 Subject: [PATCH 01/11] fix a crash --- .../app/fedilab/android/client/entities/app/MutedAccounts.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/app/fedilab/android/client/entities/app/MutedAccounts.java b/app/src/main/java/app/fedilab/android/client/entities/app/MutedAccounts.java index 5932aac3..a1d3b219 100644 --- a/app/src/main/java/app/fedilab/android/client/entities/app/MutedAccounts.java +++ b/app/src/main/java/app/fedilab/android/client/entities/app/MutedAccounts.java @@ -197,7 +197,7 @@ public class MutedAccounts implements Serializable { MutedAccounts mutedAccounts = getMutedAccount(forAccount); if (mutedAccounts != null && mutedAccounts.accounts != null) { for (Account account : mutedAccounts.accounts) { - if (account.id.equals(target.id)) { + if (account != null && target != null && account.id.equals(target.id)) { return true; } } From 81dd820d0aad0f2c754822269ec05d47320a4414 Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 16 Dec 2022 09:31:01 +0100 Subject: [PATCH 02/11] fix default link color --- .../android/helper/SpannableHelper.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/helper/SpannableHelper.java b/app/src/main/java/app/fedilab/android/helper/SpannableHelper.java index 03e9a52c..6179f6b9 100644 --- a/app/src/main/java/app/fedilab/android/helper/SpannableHelper.java +++ b/app/src/main/java/app/fedilab/android/helper/SpannableHelper.java @@ -125,7 +125,7 @@ public class SpannableHelper { linkColor = link_color; } } else { - linkColor = ThemeHelper.getAttColor(context, R.attr.linkColor); + linkColor = -1; } SpannableString initialContent; @@ -474,7 +474,9 @@ public class SpannableHelper { @Override public void updateDrawState(@NonNull TextPaint ds) { super.updateDrawState(ds); - ds.setColor(linkColor); + if (linkColor != -1) { + ds.setColor(linkColor); + } } }, matchStart, matchEnd, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); @@ -701,7 +703,9 @@ public class SpannableHelper { public void updateDrawState(@NonNull TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); - ds.setColor(linkColor); + if (linkColor != -1) { + ds.setColor(linkColor); + } } }, matchStart, matchEnd, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); } @@ -735,7 +739,9 @@ public class SpannableHelper { public void updateDrawState(@NonNull TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); - ds.setColor(linkColor); + if (linkColor != -1) { + ds.setColor(linkColor); + } } }, matchStart, matchEnd, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); } @@ -772,7 +778,9 @@ public class SpannableHelper { public void updateDrawState(@NonNull TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); - ds.setColor(linkColor); + if (linkColor != -1) { + ds.setColor(linkColor); + } } }, matchStart, matchEnd, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); } @@ -929,7 +937,9 @@ public class SpannableHelper { public void updateDrawState(@NonNull TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); - ds.setColor(linkColor); + if (linkColor != -1) { + ds.setColor(linkColor); + } } }, matchStart, matchEnd, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); @@ -1078,7 +1088,9 @@ public class SpannableHelper { public void updateDrawState(@NonNull TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); - ds.setColor(linkColor); + if (linkColor != -1) { + ds.setColor(linkColor); + } } }, startPosition, endPosition, From 295243d781a66f89cfe83c080ef242a14d82bef3 Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 16 Dec 2022 09:40:41 +0100 Subject: [PATCH 03/11] fix counter colors --- app/src/main/res/drawable/shape_counter.xml | 2 +- app/src/main/res/layout/notification_badge.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/drawable/shape_counter.xml b/app/src/main/res/drawable/shape_counter.xml index ba8947a8..f45d2e75 100644 --- a/app/src/main/res/drawable/shape_counter.xml +++ b/app/src/main/res/drawable/shape_counter.xml @@ -1,7 +1,7 @@ - + diff --git a/app/src/main/res/layout/notification_badge.xml b/app/src/main/res/layout/notification_badge.xml index 77fc122c..9d681939 100644 --- a/app/src/main/res/layout/notification_badge.xml +++ b/app/src/main/res/layout/notification_badge.xml @@ -11,7 +11,7 @@ android:background="@drawable/shape_counter" android:gravity="center" android:padding="3dp" - android:textColor="@color/white" + android:textColor="?colorOnPrimary" android:textSize="11sp" tools:text="9+" /> \ No newline at end of file From 1cf35199510ca224861af9fee1c0584d09b01525 Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 16 Dec 2022 09:48:39 +0100 Subject: [PATCH 04/11] Fix a crash when changing language --- .../android/ui/fragment/settings/FragmentLanguageSettings.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentLanguageSettings.java b/app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentLanguageSettings.java index 2415154d..dba3431c 100644 --- a/app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentLanguageSettings.java +++ b/app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentLanguageSettings.java @@ -55,7 +55,8 @@ public class FragmentLanguageSettings extends PreferenceFragmentCompat implement @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (key.compareToIgnoreCase(getString(R.string.SET_DEFAULT_LOCALE_NEW)) == 0 || key.compareToIgnoreCase(getString(R.string.SET_TRANSLATE_VALUES_RESET)) == 0) { - requireActivity().recreate(); + requireActivity().finish(); + startActivity(requireActivity().getIntent()); Helper.recreateMainActivity(requireActivity()); } } From d0342143ef47474a744c10be5713ededbc0653ca Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 16 Dec 2022 10:06:43 +0100 Subject: [PATCH 05/11] Add acct to notifications --- app/src/main/java/app/fedilab/android/helper/Helper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/app/fedilab/android/helper/Helper.java b/app/src/main/java/app/fedilab/android/helper/Helper.java index e1d55937..3b985591 100644 --- a/app/src/main/java/app/fedilab/android/helper/Helper.java +++ b/app/src/main/java/app/fedilab/android/helper/Helper.java @@ -1537,7 +1537,7 @@ public class Helper { } notificationBuilder.setContentTitle(title); notificationBuilder.setLargeIcon(icon); - + notificationBuilder.setSubText(String.format("@%s@%s", account.mastodon_account.username, account.instance)); Notification summaryNotification = new NotificationCompat.Builder(context, channelId) .setContentTitle(title) From 3c7129f47a4e69689d9a9f22bb4f52eeefe800a5 Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 16 Dec 2022 10:33:56 +0100 Subject: [PATCH 06/11] Add more targeted languages in picker for translations --- app/src/main/res/values/strings.xml | 44 ++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ba371b54..5e7d27cd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1232,6 +1232,27 @@ sr uk ru + az + ca + cz + da + nl + eo + fi + el + he + hi + hu + id + ga + ko + fa + pl + sk + sv + tr + uk + vi ----- @@ -1240,13 +1261,34 @@ Deutsch Italiano 日本語 - 繁體中文 + 中文 العربية Português Español Српски Українська Русский + azərbaycan dili + Català + Czech + Danish + Nederlands + Esperanto + suomi + Ελληνικά + עברית + हिन्दी + magyar + Bahasa Indonesia + Gaeilge + 한국어 + فارسی + Polski + Slovakia + Svenska + Türkçe + Українська + Tiếng Việt English From 30f21c035d28d03d4e58df8488152d357e919ca3 Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 16 Dec 2022 10:46:13 +0100 Subject: [PATCH 07/11] Fix a crash when app takes long to load --- .../app/fedilab/android/BaseMainActivity.java | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/BaseMainActivity.java b/app/src/main/java/app/fedilab/android/BaseMainActivity.java index 09fdb201..681cf173 100644 --- a/app/src/main/java/app/fedilab/android/BaseMainActivity.java +++ b/app/src/main/java/app/fedilab/android/BaseMainActivity.java @@ -322,7 +322,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt binding.compose.setOnClickListener(v -> startActivity(new Intent(this, ComposeActivity.class))); headerMenuOpen = false; - + PushHelper.startStreaming(BaseMainActivity.this); // Passing each menu ID as a set of Ids because each // menu should be considered as top level destinations. @@ -564,21 +564,15 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt //Update account details new Thread(() -> { try { - currentAccount = new Account(BaseMainActivity.this).getConnectedAccount(); - //Delete cache older than 7 days - new StatusCache(BaseMainActivity.this).deleteForAllAccountAfter7Days(); - MutedAccounts mutedAccounts = new MutedAccounts(BaseMainActivity.this).getMutedAccount(currentAccount); - if (mutedAccounts != null && mutedAccounts.accounts != null) { - filteredAccounts = mutedAccounts.accounts; + if (currentToken == null) { + currentToken = sharedpreferences.getString(Helper.PREF_USER_TOKEN, null); } + currentAccount = new Account(BaseMainActivity.this).getConnectedAccount(); } catch (DBException e) { e.printStackTrace(); } Handler mainHandler = new Handler(Looper.getMainLooper()); Runnable myRunnable = () -> { - if (currentToken == null) { - currentToken = sharedpreferences.getString(Helper.PREF_USER_TOKEN, null); - } if (currentAccount == null) { //It is not, the user is redirected to the login page Intent myIntent = new Intent(BaseMainActivity.this, LoginActivity.class); @@ -747,7 +741,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt return false; }); - PushHelper.startStreaming(BaseMainActivity.this); + binding.toolbarSearch.setOnSearchClickListener(v -> binding.tabLayout.setVisibility(View.VISIBLE)); //For receiving data from other activities @@ -764,6 +758,20 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt } }).start(); } + //Fetch some db values to initialize data + new Thread(() -> { + try { + MutedAccounts mutedAccounts = new MutedAccounts(BaseMainActivity.this).getMutedAccount(currentAccount); + if (mutedAccounts != null && mutedAccounts.accounts != null) { + filteredAccounts = mutedAccounts.accounts; + } + //Delete cache older than 7 days + new StatusCache(BaseMainActivity.this).deleteForAllAccountAfter7Days(); + } catch (DBException e) { + e.printStackTrace(); + } + }).start(); + //Fetch recent used accounts new Thread(() -> { try { From 29117125ef287910b8977bd8eec2585657d40b68 Mon Sep 17 00:00:00 2001 From: Codimp Date: Fri, 16 Dec 2022 14:50:10 +0100 Subject: [PATCH 08/11] Translated using Weblate (French) Currently translated at 94.7% (54 of 57 strings) Co-authored-by: Codimp Translate-URL: https://hosted.weblate.org/projects/fedilab/description/fr/ Translation: Fedilab/description --- .../metadata/android/fr/changelogs/422.txt | 13 +++++++++++++ .../metadata/android/fr/changelogs/423.txt | 5 +++++ .../metadata/android/fr/changelogs/424.txt | 4 ++++ .../metadata/android/fr/changelogs/425.txt | 9 +++++++++ .../metadata/android/fr/changelogs/426.txt | 9 +++++++++ .../metadata/android/fr/changelogs/427.txt | 16 ++++++++++++++++ .../metadata/android/fr/changelogs/428.txt | 14 ++++++++++++++ .../metadata/android/fr/changelogs/429.txt | 2 ++ .../metadata/android/fr/changelogs/430.txt | 5 +++++ .../metadata/android/fr/changelogs/431.txt | 14 ++++++++++++++ .../metadata/android/fr/changelogs/432.txt | 13 +++++++++++++ .../metadata/android/fr/changelogs/433.txt | 18 ++++++++++++++++++ .../metadata/android/fr/changelogs/434.txt | 12 ++++++++++++ .../metadata/android/fr/changelogs/435.txt | 9 +++++++++ .../metadata/android/fr/changelogs/436.txt | 10 ++++++++++ .../metadata/android/fr/changelogs/437.txt | 14 ++++++++++++++ .../metadata/android/fr/changelogs/439.txt | 6 ++++++ .../metadata/android/fr/changelogs/440.txt | 4 ++++ .../metadata/android/fr/changelogs/441.txt | 3 +++ .../metadata/android/fr/changelogs/442.txt | 11 +++++++++++ .../metadata/android/fr/changelogs/443.txt | 16 ++++++++++++++++ .../metadata/android/fr/changelogs/444.txt | 4 ++++ .../metadata/android/fr/changelogs/445.txt | 11 +++++++++++ 23 files changed, 222 insertions(+) create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/422.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/423.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/424.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/425.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/426.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/427.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/428.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/429.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/430.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/431.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/432.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/433.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/434.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/435.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/436.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/437.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/439.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/440.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/441.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/442.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/443.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/444.txt create mode 100644 src/fdroid/fastlane/metadata/android/fr/changelogs/445.txt diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/422.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/422.txt new file mode 100644 index 00000000..cbee41f3 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/422.txt @@ -0,0 +1,13 @@ +Ajouté : +- Affichage du client dans les messages détaillés +- Support du visuel pour les citations commençant par ">" +- Augmentation de l'indentation des fils (zéro à 20, défaut 5) +- Visibilité des réponses publiques définies comme non-listée (peut être désactivé) + +Changé : +- Réduction de la taille du titre quand le texte est agrandi. + +Résolu : +- Filtres non-appliqués +- Bloquer un compte ne retire pas les messages du cache +- Quelques plantages diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/423.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/423.txt new file mode 100644 index 00000000..b444bc5f --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/423.txt @@ -0,0 +1,5 @@ +Résolu : +- Ordre des notifications +- URL lors du partage des messages boostés +- Pages vides au redémarrage +- Quelques plantages diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/424.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/424.txt new file mode 100644 index 00000000..4195f4e3 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/424.txt @@ -0,0 +1,4 @@ +Résolu : +- Problèmes avec des messages/notifications affichés incorrectement +- Friendica : problèmes avec les mentions et étiquettes (ouvrir le navigateur) +- Amélioration du partage diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/425.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/425.txt new file mode 100644 index 00000000..16d47e47 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/425.txt @@ -0,0 +1,9 @@ +Changé : +- Les étiquettes sont classés par ordre de popularité dans la recherche + +Résolu : +- Impossible d'obtenir l'ID du client sur certains appareils +- Les messages/notifications n'étaient pas affichés correctement +- Notifications non-reçues +- Friendica : problèmes avec les mentions et les étiquettes (ouvre le navigateur) +- Amélioration du partage diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/426.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/426.txt new file mode 100644 index 00000000..99118e17 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/426.txt @@ -0,0 +1,9 @@ +Ajouté : +- 2 nouveaux thèmes clairs +- Fonctionnalités de modération + +Résolu : +- Filtres non-fonctionnels +- Plantages avec les tendances +- Contenu effacé lors de l'envoi de messages (mentions) +- Autres corrections de bugs diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/427.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/427.txt new file mode 100644 index 00000000..aa5815fc --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/427.txt @@ -0,0 +1,16 @@ +Ajouté : +- Suivi des balises (entrée dédiée dans le menu) +- Réduction de la liste des langues lors de la rédaction (Paramètres > Composer) +- Indicateur de langue lors de la rédaction +- Les réponses sont automatiquement définies sur la langue du premier message +- Deux nouveaux thèmes de jour +- Plus de fonctionnalités de modération +- Le nom de la liste peut être modifié + +Résolu : +- Le filtre ne fonctionne pas +- Plantage avec les tendances +- Problème avec les thèmes +- Certains contenus perdus lors de l'envoi de messages (mentions) +- Correction des blocages dans les fils chronologiques +- Quelques autres correctifs diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/428.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/428.txt new file mode 100644 index 00000000..67ef5929 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/428.txt @@ -0,0 +1,14 @@ +Ajouté : +- Prise en charge des liens ouverts contenant /@display_name/ dans leur chemin (fonctionne sur les appareils plus anciens) +- Afficher le nombre de réponses lorsque les compteurs sont activés +- Ajout de la prise en charge du filtrage des messages de profil + +Modifié : +- La vue Composer prend toute la largeur même dans les fils +- Réinitialiser le marqueur de notification push lors de la suppression du cache + +Résolu : +- Brouillon stocké lors de la réponse "non" ou l'invite de dialogue sans modifications +- Les filtres ne fonctionnent pas avec les balises +- Ajout d'un message d'erreur spécifique pour les balises suivies +- Pages vides au démarrage de l'application diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/429.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/429.txt new file mode 100644 index 00000000..d2b8e7cc --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/429.txt @@ -0,0 +1,2 @@ +Ajouté : +- Support complet des nouveaux filtres de Mastodon 4 diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/430.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/430.txt new file mode 100644 index 00000000..8b4526a0 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/430.txt @@ -0,0 +1,5 @@ +Ajouté : +- Visiter les profils sans être authentifié / Autoriser l'affichage de tous leurs messages + +Corrigé : +- L'enregistrement des médias échoue sur certains appareils diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/431.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/431.txt new file mode 100644 index 00000000..48c0eba4 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/431.txt @@ -0,0 +1,14 @@ +Ajouté : +- Prise en charge complète des nouveaux filtres pour Mastodon 4 +- Visiter les profils sans être authentifié / Autoriser l'affichage de tous leurs messages + +Modifié : +- La vue Composer prend toute la largeur même dans les fils +- Les comptes peuvent être mis en sourdine à partir de leur profil + +Résolu : +- Brouillon stocké lors de la réponse "non" ou de l'invite de dialogue sans modifications +- Pages vides au démarrage de l'application +- L'enregistrement et le partage de médias échouent sur certains appareils +- Ajout de la prise en charge des notifications d'administration +- Copier le contenu d'un message diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/432.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/432.txt new file mode 100644 index 00000000..dc57b737 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/432.txt @@ -0,0 +1,13 @@ +Ajouté : +- Liste des domaines bloqués (permet de débloquer) +- Prise en charge des liens gemini +- Suggestion de Suiveurs + +Modifié : +- Autoriser la modification du terme de recherche + +Fixé : +- Brouillons supprimés sans avertissement +- L'application plante lorsque le proxy est défini +- Filtre non synchronisé après avoir été modifié +- Quelques plantages diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/433.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/433.txt new file mode 100644 index 00000000..ea7a195e --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/433.txt @@ -0,0 +1,18 @@ +Ajouté : +- Liste des domaines bloqués (permet de débloquer) +- Prise en charge des liens gemini +- Suiveurs suggérés +- Mod/Adm : gérer les domaines bloqués par l'instance +- Ouvrir des messages avec un autre compte +- Autoriser à désactiver les notifications pour les administrateurs +- Trier les listes + +Modifié : +- Autoriser la modification du terme de recherche + +Fixé : +- Brouillons supprimés sans avertissement +- Supprimer les listes de "Gérer les chronologies" +- L'application plante lorsque le proxy est défini +- Filtre non synchronisé après avoir été modifié +- Quelques plantages / améliorations diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/434.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/434.txt new file mode 100644 index 00000000..ebd1a365 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/434.txt @@ -0,0 +1,12 @@ +Ajouté : +- Silencer les tags par un appui long dans les timelines + +Changé : +- Les messages de comptes silencés sont à présent retirés du cache + +Résolu : +- Ouvrir avec un autre compte +- Correction des sauts dans les profils +- Médias non-affichés dans les albums → Force l'indexation +- Le navigateur web intégré n'affiche pas le niveau admin +- Quelques plantages diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/435.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/435.txt new file mode 100644 index 00000000..3bb919fa --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/435.txt @@ -0,0 +1,9 @@ +Ajouté : +- Migration vers Material Design 3 +- 5 thèmes (Clair, Sombre, Solarized Clair/Sombre, Noir) +- Basculement automatique entre Clair/Sombre +- Les thèmes Clair et Sombre peuvent être définis en fonction de l'heure +- Android 12+ : Couleur dynamique + +Résolu : +- Sauts dans les timelines diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/436.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/436.txt new file mode 100644 index 00000000..0b79d1a1 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/436.txt @@ -0,0 +1,10 @@ +Changé : +- Retrait du support du navigateur web intégré +- Plus d'espace entre les boutons d'action des messages + +Résolu : +- Problème de taille du texte +- Chevauchement de texte +- Mauvais fond pour le thème Solarized Sombre +- Mélange entre les thèmes Clair et Sombre +- Bouton de sauvegarde caché diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/437.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/437.txt new file mode 100644 index 00000000..a52173cf --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/437.txt @@ -0,0 +1,14 @@ +Ajouté : +- Nouvelle apparence avec 5 thèmes + +Changé : +- Retrait du support du navigateur web intégré +- Ajuster l'image d'aperçu affiche l'image verticalement +- Ajout des compteurs à côté des images + +Résolu : +- Saut dans les timelines +- Réponses aux mauvais messages avec les instances suivies +- Bogue avec Supprimer & Réécrire avec un média +- Liste ne peut pas être caché +- Quelques plantages diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/439.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/439.txt new file mode 100644 index 00000000..a3c7a41a --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/439.txt @@ -0,0 +1,6 @@ +Changé : +- Retrait de la carte de présentation +- Couleur des liens pour le thème Sombre + +Résolu : +- Crash lors du changement de thème diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/440.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/440.txt new file mode 100644 index 00000000..8f8e037f --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/440.txt @@ -0,0 +1,4 @@ +Résolu : +- Les émojis personnalisés ne sont pas toujours affichés +- Sauts dans les timelines quand "ajuster les images" est utilisé +- Thème sombre : boutons de timeline sans toggle diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/441.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/441.txt new file mode 100644 index 00000000..98e706e9 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/441.txt @@ -0,0 +1,3 @@ +Résolu : +- Sauts lors du défilement avec ajustement des images +- Bouton de récupération cassé avec le cache diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/442.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/442.txt new file mode 100644 index 00000000..6a39fa3c --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/442.txt @@ -0,0 +1,11 @@ +Ajouté : +- Thème Dracula + +Changé : +- Couleurs des thèmes Clair/Sombre/Noir + +Résolu : +- Images animés de profils non-affichées +- Mentions cassées dans les descriptions et champs de profil +- Les modèles de balises dans les URL cassent les liens +- Faute de frappe dans les tags suivis diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/443.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/443.txt new file mode 100644 index 00000000..630212db --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/443.txt @@ -0,0 +1,16 @@ +Ajouté : +- Thème Dracula +- Couleurs de messages personnalisées +- Activer/Désactiver les cartes de présentation + +Changé : +- Couleurs pour certains thèmes +- Espaces entre les boutons + +Résolu : +- Images animés sur les profils non-affichées +- Mentions cassées dans les descriptions et champs de profil +- Sauts lors du défilement avec les ajustements de miniatures +- Bouton de récupération cassé avec le cache +- Les modèles de balises dans les URL cassent les liens +- Faute de frappe dans les tags suivis diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/444.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/444.txt new file mode 100644 index 00000000..721466b6 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/444.txt @@ -0,0 +1,4 @@ +Ajouté : +- Afficher tous les messages d'une enfilade depuis l'instance distante (si possible) +* Seulement pour les messages publiques des instances utilisant l'API Mastodon +* Un bouton dédié est affiché en haut à droite quand les conditions sont remplies. diff --git a/src/fdroid/fastlane/metadata/android/fr/changelogs/445.txt b/src/fdroid/fastlane/metadata/android/fr/changelogs/445.txt new file mode 100644 index 00000000..2d928b11 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/fr/changelogs/445.txt @@ -0,0 +1,11 @@ +Ajouté : +- Permettre de rétablir/ne plus suivre/désépingler une étiquette depuis les timelines des étiquettes +- Automatiquement ajouter l'étiquette quand on écrit depuis une timeline d'étiquette +- Ajout d'un bouton de traduction en bas des messages (par défaut : désactivé) +- Ajout des rôles de comptes dans les profils + +Résolu : +- Contact impossible quand on écrit +- Barre de status pour le thème Noir +- Message dupliqué dans les conversations lorsque édité +- Problème de couleur sur Android 5 From 0cbf0bfbd47d405764a82247d500813a1db695d9 Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 16 Dec 2022 17:15:46 +0100 Subject: [PATCH 09/11] Some fixes --- .../app/fedilab/android/BaseMainActivity.java | 10 +++++ .../android/helper/TimelineHelper.java | 39 +++++++++++-------- .../timeline/FragmentMastodonTimeline.java | 27 ++++++++++++- .../viewmodel/mastodon/NotificationsVM.java | 2 +- .../viewmodel/mastodon/TimelinesVM.java | 4 +- 5 files changed, 62 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/BaseMainActivity.java b/app/src/main/java/app/fedilab/android/BaseMainActivity.java index 681cf173..0ebb6a3b 100644 --- a/app/src/main/java/app/fedilab/android/BaseMainActivity.java +++ b/app/src/main/java/app/fedilab/android/BaseMainActivity.java @@ -761,6 +761,16 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt //Fetch some db values to initialize data new Thread(() -> { try { + if (currentAccount == null) { + if (currentToken == null || currentToken.trim().isEmpty()) { + currentToken = sharedpreferences.getString(Helper.PREF_USER_TOKEN, null); + } + try { + currentAccount = new Account(BaseMainActivity.this).getConnectedAccount(); + } catch (DBException e) { + e.printStackTrace(); + } + } MutedAccounts mutedAccounts = new MutedAccounts(BaseMainActivity.this).getMutedAccount(currentAccount); if (mutedAccounts != null && mutedAccounts.accounts != null) { filteredAccounts = mutedAccounts.accounts; diff --git a/app/src/main/java/app/fedilab/android/helper/TimelineHelper.java b/app/src/main/java/app/fedilab/android/helper/TimelineHelper.java index 66b01ba8..589528a8 100644 --- a/app/src/main/java/app/fedilab/android/helper/TimelineHelper.java +++ b/app/src/main/java/app/fedilab/android/helper/TimelineHelper.java @@ -137,6 +137,8 @@ public class TimelineHelper { if (m.find()) { status.filteredByApp = filter; continue; + } else { + status.filteredByApp = null; } if (status.spoiler_text != null) { String spoilerText; @@ -147,24 +149,29 @@ public class TimelineHelper { Matcher ms = p.matcher(spoilerText); if (ms.find()) { status.filteredByApp = filter; - continue; + } else { + status.filteredByApp = null; } } - - if (filterTimeLineType == Timeline.TimeLineEnum.HOME) { - if (filteredAccounts != null && filteredAccounts.size() > 0) { - for (Account account : filteredAccounts) { - if (account.acct.equals(status.account.acct) || (status.reblog != null && account.acct.equals(status.reblog.account.acct))) { - Filter filterCustom = new Filter(); - filterCustom.filter_action = "hide"; - ArrayList contextCustom = new ArrayList<>(); - contextCustom.add("home"); - filterCustom.title = "Fedilab"; - filterCustom.context = contextCustom; - status.filteredByApp = filterCustom; - } - } - } + } + } + } + } + if (filterTimeLineType == Timeline.TimeLineEnum.HOME) { + if (filteredAccounts != null && filteredAccounts.size() > 0) { + for (Status status : statuses) { + if (status.filteredByApp != null) { + continue; + } + for (Account account : filteredAccounts) { + if (account.acct.equals(status.account.acct) || (status.reblog != null && account.acct.equals(status.reblog.account.acct))) { + Filter filterCustom = new Filter(); + filterCustom.filter_action = "hide"; + ArrayList contextCustom = new ArrayList<>(); + contextCustom.add("home"); + filterCustom.title = "Fedilab"; + filterCustom.context = contextCustom; + status.filteredByApp = filterCustom; } } } diff --git a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java index 1ae41045..cdc3462a 100644 --- a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java +++ b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java @@ -177,7 +177,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. private String publicTrendsDomain; private int lockForResumeCall; private boolean isNotPinnedTimeline; - + private int extraCalls; //Allow to recreate data when detaching/attaching fragment public void recreate() { initialStatuses = null; @@ -290,6 +290,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. //Only fragment in main view pager should not have the view initialized //AND Only the first fragment will initialize its view flagLoading = false; + extraCalls = -1; } @@ -454,12 +455,34 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. min_id = fetched_statuses.pagination.min_id; } } + int sizeBeforeFilter = 0; + int filteredMessage = 0; + int requestedMessages = MastodonHelper.statusesPerCall(requireActivity()); + sizeBeforeFilter = fetched_statuses.statuses.size(); + for (Status status : fetched_statuses.statuses) { + if (status.filteredByApp != null) { + filteredMessage++; + } + } + //TODO: keep for an improvement in beta + /* + int displayedMessages = sizeBeforeFilter - filteredMessage; + if(displayedMessages < 5 && extraCalls < 8) { + router(direction); + if(extraCalls == -1) { + extraCalls = 1; + } else { + extraCalls++; + } + }*/ } else if (direction == DIRECTION.BOTTOM) { flagLoading = true; } if (direction == DIRECTION.SCROLL_TOP) { binding.recyclerView.scrollToPosition(0); } + + } /** @@ -568,6 +591,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. flagLoading = true; binding.loadingNextElements.setVisibility(View.VISIBLE); router(DIRECTION.BOTTOM); + extraCalls = -1; } } else { binding.loadingNextElements.setVisibility(View.GONE); @@ -577,6 +601,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. flagLoading = true; binding.loadingNextElements.setVisibility(View.VISIBLE); router(DIRECTION.TOP); + extraCalls = -1; } } } diff --git a/app/src/main/java/app/fedilab/android/viewmodel/mastodon/NotificationsVM.java b/app/src/main/java/app/fedilab/android/viewmodel/mastodon/NotificationsVM.java index cb9d624c..d7ee2dd4 100644 --- a/app/src/main/java/app/fedilab/android/viewmodel/mastodon/NotificationsVM.java +++ b/app/src/main/java/app/fedilab/android/viewmodel/mastodon/NotificationsVM.java @@ -74,7 +74,7 @@ public class NotificationsVM extends AndroidViewModel { sortDesc(notificationList); if (timelineParams.direction == FragmentMastodonTimeline.DIRECTION.REFRESH || timelineParams.direction == FragmentMastodonTimeline.DIRECTION.SCROLL_TOP || timelineParams.direction == FragmentMastodonTimeline.DIRECTION.FETCH_NEW) { //When refreshing/scrolling to TOP, if last statuses fetched has a greater id from newest in cache, there is potential hole - if (notificationList.get(notificationList.size() - 1).id.compareToIgnoreCase(timelineNotifications.get(0).id) > 0) { + if (!timelineNotifications.contains(notificationList.get(notificationList.size() - 1))) { notificationList.get(notificationList.size() - 1).isFetchMore = true; notificationList.get(notificationList.size() - 1).positionFetchMore = Notification.PositionFetchMore.TOP; } diff --git a/app/src/main/java/app/fedilab/android/viewmodel/mastodon/TimelinesVM.java b/app/src/main/java/app/fedilab/android/viewmodel/mastodon/TimelinesVM.java index 4b98de70..a40ddaa1 100644 --- a/app/src/main/java/app/fedilab/android/viewmodel/mastodon/TimelinesVM.java +++ b/app/src/main/java/app/fedilab/android/viewmodel/mastodon/TimelinesVM.java @@ -105,7 +105,7 @@ public class TimelinesVM extends AndroidViewModel { sortDesc(statusList); if (timelineParams.direction == FragmentMastodonTimeline.DIRECTION.REFRESH || timelineParams.direction == FragmentMastodonTimeline.DIRECTION.SCROLL_TOP || timelineParams.direction == FragmentMastodonTimeline.DIRECTION.FETCH_NEW) { //When refreshing/scrolling to TOP, if last statuses fetched has a greater id from newest in cache, there is potential hole - if (statusList.get(statusList.size() - 1).id.compareToIgnoreCase(timelineStatuses.get(0).id) > 0) { + if (!timelineStatuses.contains(statusList.get(statusList.size() - 1))) { statusList.get(statusList.size() - 1).isFetchMore = true; statusList.get(statusList.size() - 1).positionFetchMore = Status.PositionFetchMore.TOP; } @@ -128,7 +128,7 @@ public class TimelinesVM extends AndroidViewModel { sortDescConv(conversationList); if (timelineParams.direction == FragmentMastodonTimeline.DIRECTION.REFRESH || timelineParams.direction == FragmentMastodonTimeline.DIRECTION.SCROLL_TOP || timelineParams.direction == FragmentMastodonTimeline.DIRECTION.FETCH_NEW) { //When refreshing/scrolling to TOP, if last statuses fetched has a greater id from newest in cache, there is potential hole - if (conversationList.get(conversationList.size() - 1).id.compareToIgnoreCase(timelineConversations.get(0).id) > 0) { + if (!timelineConversations.contains(conversationList.get(conversationList.size() - 1))) { conversationList.get(conversationList.size() - 1).isFetchMore = true; conversationList.get(conversationList.size() - 1).positionFetchMore = Conversation.PositionFetchMore.TOP; } From 43c6fe4f7b9a20d0c6d51530f287778300ee6403 Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 16 Dec 2022 17:57:47 +0100 Subject: [PATCH 10/11] Fix sensitive media not hidden whe clicking on the eye icon --- .../android/client/entities/api/Status.java | 2 -- .../fedilab/android/ui/drawer/StatusAdapter.java | 14 ++++++-------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/client/entities/api/Status.java b/app/src/main/java/app/fedilab/android/client/entities/api/Status.java index 7c39f487..585eccec 100644 --- a/app/src/main/java/app/fedilab/android/client/entities/api/Status.java +++ b/app/src/main/java/app/fedilab/android/client/entities/api/Status.java @@ -103,8 +103,6 @@ public class Status implements Serializable, Cloneable { public boolean isTruncated = true; public boolean isFetchMore = false; public PositionFetchMore positionFetchMore = PositionFetchMore.BOTTOM; - public boolean isMediaDisplayed = false; - public boolean isMediaObfuscated = true; public boolean isChecked = false; public String translationContent; public boolean translationShown; diff --git a/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java b/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java index fc873348..7c079c84 100644 --- a/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java +++ b/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java @@ -1021,11 +1021,9 @@ public class StatusAdapter extends RecyclerView.Adapter new WeakReference<>(holder.binding.spoiler), () -> recyclerView.post(() -> adapter.notifyItemChanged(holder.getBindingAdapterPosition()))), TextView.BufferType.SPANNABLE); statusToDeal.isExpended = true; - statusToDeal.isMediaDisplayed = true; } else { holder.binding.spoilerExpand.setOnClickListener(v -> { statusToDeal.isExpended = !statusToDeal.isExpended; - statusToDeal.isMediaDisplayed = !statusToDeal.isMediaDisplayed; adapter.notifyItemChanged(holder.getBindingAdapterPosition()); }); holder.binding.spoilerExpand.setVisibility(View.VISIBLE); @@ -2025,7 +2023,7 @@ public class StatusAdapter extends RecyclerView.Adapter layoutMediaBinding.viewDescription.setVisibility(View.GONE); } - if (!mediaObfuscated(statusToDeal) || expand_media) { + if (!statusToDeal.sensitive || expand_media) { layoutMediaBinding.viewHide.setImageResource(R.drawable.ic_baseline_visibility_24); RequestBuilder requestBuilder = Glide.with(layoutMediaBinding.media.getContext()) .load(attachment.preview_url); @@ -2051,8 +2049,8 @@ public class StatusAdapter extends RecyclerView.Adapter } layoutMediaBinding.media.setOnClickListener(v -> { - if (statusToDeal.isMediaObfuscated && mediaObfuscated(statusToDeal) && !expand_media) { - statusToDeal.isMediaObfuscated = false; + if (statusToDeal.sensitive && !expand_media) { + statusToDeal.sensitive = false; int position = holder.getBindingAdapterPosition(); adapter.notifyItemChanged(position); @@ -2062,7 +2060,7 @@ public class StatusAdapter extends RecyclerView.Adapter } public void onFinish() { - statusToDeal.isMediaObfuscated = true; + statusToDeal.sensitive = true; adapter.notifyItemChanged(position); } }.start(); @@ -2099,7 +2097,7 @@ public class StatusAdapter extends RecyclerView.Adapter mRecyclerView = recyclerView; } - private static boolean mediaObfuscated(Status status) { + /* private static boolean mediaObfuscated(Status status) { //Media is not sensitive and doesn't have a spoiler text if (!status.isMediaObfuscated) { return false; @@ -2112,7 +2110,7 @@ public class StatusAdapter extends RecyclerView.Adapter } else { return status.sensitive; } - } + }*/ /** * Send a broadcast to other open fragments that content a timeline From f858a870bde155fb0c28b97553e0b55f47babfcc Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 16 Dec 2022 18:16:04 +0100 Subject: [PATCH 11/11] Release 3.11.3 --- app/build.gradle | 4 ++-- app/src/main/assets/release_notes/notes.json | 5 +++++ .../fastlane/metadata/android/en/changelogs/449.txt | 9 +++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 src/fdroid/fastlane/metadata/android/en/changelogs/449.txt diff --git a/app/build.gradle b/app/build.gradle index 413135ac..4182bde7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,8 +13,8 @@ android { defaultConfig { minSdk 21 targetSdk 32 - versionCode 448 - versionName "3.11.2" + versionCode 449 + versionName "3.11.3" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } flavorDimensions "default" diff --git a/app/src/main/assets/release_notes/notes.json b/app/src/main/assets/release_notes/notes.json index 36a49bee..b72d5fac 100644 --- a/app/src/main/assets/release_notes/notes.json +++ b/app/src/main/assets/release_notes/notes.json @@ -1,4 +1,9 @@ [ + { + "version": "3.11.3", + "code": "449", + "note": "Added:\n- Add more targeted languages in picker for translations\n- Add account name in push notifications\n\nFixed:\n- Fix a crash when changing language\n- Fix counter colors\n- Fix default link color\n- Fix a crash when clicking on mentions" + }, { "version": "3.11.2", "code": "448", diff --git a/src/fdroid/fastlane/metadata/android/en/changelogs/449.txt b/src/fdroid/fastlane/metadata/android/en/changelogs/449.txt new file mode 100644 index 00000000..1f7f5f40 --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/en/changelogs/449.txt @@ -0,0 +1,9 @@ +Added: +- Add more targeted languages in picker for translations +- Add account name in push notifications + +Fixed: +- Fix a crash when changing language +- Fix counter colors +- Fix default link color +- Fix a crash when clicking on mentions \ No newline at end of file