From 7796e4bf7b6c4654ed1b18ac0df6e6f49f4865e4 Mon Sep 17 00:00:00 2001 From: Nitin Khalia Date: Sat, 10 Feb 2024 04:03:40 +0000 Subject: [PATCH 01/92] Translated using Weblate (Hindi) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/hi/ --- fastlane/metadata/android/hi-IN/changelogs/2.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/hi-IN/changelogs/2.txt diff --git a/fastlane/metadata/android/hi-IN/changelogs/2.txt b/fastlane/metadata/android/hi-IN/changelogs/2.txt new file mode 100644 index 00000000..bfcbc37c --- /dev/null +++ b/fastlane/metadata/android/hi-IN/changelogs/2.txt @@ -0,0 +1,2 @@ +* छोटे बग फिक्स और सुधार +* कुछ अनुवाद जोड़े गए From 5e6fb25b417627d394d7c97d51432c615fd2fd42 Mon Sep 17 00:00:00 2001 From: lianergoist Date: Sun, 11 Feb 2024 08:24:16 +0000 Subject: [PATCH 02/92] Translated using Weblate (Danish) Currently translated at 20.0% (1 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/da/ --- fastlane/metadata/android/da-DK/changelogs/1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/da-DK/changelogs/1.txt diff --git a/fastlane/metadata/android/da-DK/changelogs/1.txt b/fastlane/metadata/android/da-DK/changelogs/1.txt new file mode 100644 index 00000000..f0dd5e66 --- /dev/null +++ b/fastlane/metadata/android/da-DK/changelogs/1.txt @@ -0,0 +1 @@ +* Første udgivelse From cd8ae6dd412d8c53d02f7d9f63eaa12420a9643f Mon Sep 17 00:00:00 2001 From: Nitin Khalia Date: Mon, 12 Feb 2024 09:14:35 +0000 Subject: [PATCH 03/92] Translated using Weblate (Hindi) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/hi/ --- fastlane/metadata/android/hi-IN/title.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/hi-IN/title.txt b/fastlane/metadata/android/hi-IN/title.txt index 52ffa4cb..1d5049dd 100644 --- a/fastlane/metadata/android/hi-IN/title.txt +++ b/fastlane/metadata/android/hi-IN/title.txt @@ -1 +1 @@ -Fossify SMS मैसेंजर +Fossify SMS Messenger From 6956d75de41c600278081312d471fbd5e73a466d Mon Sep 17 00:00:00 2001 From: jorge2000x Date: Mon, 12 Feb 2024 15:29:19 +0000 Subject: [PATCH 04/92] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 371c8176..e1c32ee4 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -20,9 +20,9 @@ Não pôde comprimir imagem ao tamanho selecionado O item duplicado não foi incluído - and %d other - and %d others - and %d others + E %d outro + E %d outros + E %d outros Nova conversa Adicionar contato ou número… @@ -117,4 +117,6 @@ Ativar notificações personalizadas Atualizar mensagem Detalhes da mensagem + Não foi possível baixar o MMS + Mensagens \ No newline at end of file From f7c81307077d3e7873273b8f65415afc165c570f Mon Sep 17 00:00:00 2001 From: "Josep M. Ferrer" Date: Mon, 12 Feb 2024 15:15:36 +0000 Subject: [PATCH 05/92] Translated using Weblate (Catalan) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/ca/ --- fastlane/metadata/android/ca/changelogs/2.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/ca/changelogs/2.txt diff --git a/fastlane/metadata/android/ca/changelogs/2.txt b/fastlane/metadata/android/ca/changelogs/2.txt new file mode 100644 index 00000000..f9c4b1ff --- /dev/null +++ b/fastlane/metadata/android/ca/changelogs/2.txt @@ -0,0 +1,2 @@ +* Correccions d'errors menors i millores +* S'han afegit diverses traduccions From a17bf294b703fa6af5e403be1d0303962c5bcfef Mon Sep 17 00:00:00 2001 From: VfBFan Date: Mon, 12 Feb 2024 14:51:45 +0000 Subject: [PATCH 06/92] Translated using Weblate (German) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/de/ --- fastlane/metadata/android/de-DE/changelogs/2.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/de-DE/changelogs/2.txt diff --git a/fastlane/metadata/android/de-DE/changelogs/2.txt b/fastlane/metadata/android/de-DE/changelogs/2.txt new file mode 100644 index 00000000..b2af11ab --- /dev/null +++ b/fastlane/metadata/android/de-DE/changelogs/2.txt @@ -0,0 +1,2 @@ +* Kleinere Fehlerbehebungen und Verbesserungen +* Einige Übersetzungen hinzugefügt From 9c55964923f9efee5b337065d3dd25d2f1f1c2e8 Mon Sep 17 00:00:00 2001 From: lianergoist Date: Tue, 13 Feb 2024 21:00:26 +0000 Subject: [PATCH 07/92] Translated using Weblate (Danish) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/da/ --- app/src/main/res/values-da/strings.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index bb8c82ab..bc307eb0 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -112,4 +112,8 @@ MMS-størrelsen er begrænset af udbydere, du kan prøve at sætte en mindre grænse i appindstillingerne. Kan man planlægge afsendelse? Ja, du kan planlægge beskeder til at blive sendt i fremtiden ved at trykke længe på Send-knappen og vælge den ønskede dato og tid. - + + og %d anden + og %d andre + + \ No newline at end of file From 6dd492e3b656eb343442c70c96c57ffb4cc3f4f6 Mon Sep 17 00:00:00 2001 From: lianergoist Date: Tue, 13 Feb 2024 21:04:42 +0000 Subject: [PATCH 08/92] Translated using Weblate (Danish) Currently translated at 80.0% (4 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/da/ --- fastlane/metadata/android/da-DK/changelogs/2.txt | 2 ++ fastlane/metadata/android/da-DK/short_description.txt | 1 + fastlane/metadata/android/da-DK/title.txt | 1 + 3 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/da-DK/changelogs/2.txt create mode 100644 fastlane/metadata/android/da-DK/short_description.txt create mode 100644 fastlane/metadata/android/da-DK/title.txt diff --git a/fastlane/metadata/android/da-DK/changelogs/2.txt b/fastlane/metadata/android/da-DK/changelogs/2.txt new file mode 100644 index 00000000..a6313ac3 --- /dev/null +++ b/fastlane/metadata/android/da-DK/changelogs/2.txt @@ -0,0 +1,2 @@ +* Mindre fejlretninger og forbedrelser +* Tilføjede nogle oversættelser diff --git a/fastlane/metadata/android/da-DK/short_description.txt b/fastlane/metadata/android/da-DK/short_description.txt new file mode 100644 index 00000000..22b92d4d --- /dev/null +++ b/fastlane/metadata/android/da-DK/short_description.txt @@ -0,0 +1 @@ +Open-source og reklame-fri SMS/MMS meddelelses-app diff --git a/fastlane/metadata/android/da-DK/title.txt b/fastlane/metadata/android/da-DK/title.txt new file mode 100644 index 00000000..e09adaf8 --- /dev/null +++ b/fastlane/metadata/android/da-DK/title.txt @@ -0,0 +1 @@ +Fossify SMS Meddelelser From 24e1a5ba161df62c50f8e0c976b0ec9b9a2d2c2c Mon Sep 17 00:00:00 2001 From: Dan Date: Wed, 14 Feb 2024 01:26:59 +0000 Subject: [PATCH 09/92] Translated using Weblate (Ukrainian) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/uk/ --- app/src/main/res/values-uk/strings.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index da48f9c3..8f341a2e 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -82,7 +82,7 @@ Ключове слово Заблоковані ключові слова Керувати заблокованими ключовими словами - У вас немає заблокованих ключових слів. Ви можете додати ключові слова тут, щоб блокувати всі повідомлення, що містить їх + У вас немає заблокованих ключових слів. Ви можете додати ключові слова тут, щоб блокувати всі повідомлення, що містить їх. Додати заблоковане ключове слово Видимість сповіщень на екрані блокування Відправник і повідомлення @@ -120,4 +120,6 @@ Розмір MMS обмежений операторами, ви можете спробувати зменшити ліміт у налаштуваннях програми. Чи підтримує застосунок заплановані повідомлення\? Так, ви можете запланувати надсилання повідомлень у майбутньому, довго натискаючи кнопку «Надіслати» та вибираючи потрібну дату й час. + Повідомлення + Ввімкнути власні сповіщення \ No newline at end of file From b9059c9aa9b29b4793ebab5eb0a124c167e88b53 Mon Sep 17 00:00:00 2001 From: SalaryTheft Date: Fri, 16 Feb 2024 05:17:40 +0000 Subject: [PATCH 10/92] Translated using Weblate (Korean) Currently translated at 40.0% (2 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/ko/ --- fastlane/metadata/android/ko-KR/short_description.txt | 1 + fastlane/metadata/android/ko-KR/title.txt | 1 + 2 files changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/ko-KR/short_description.txt create mode 100644 fastlane/metadata/android/ko-KR/title.txt diff --git a/fastlane/metadata/android/ko-KR/short_description.txt b/fastlane/metadata/android/ko-KR/short_description.txt new file mode 100644 index 00000000..4b67ba62 --- /dev/null +++ b/fastlane/metadata/android/ko-KR/short_description.txt @@ -0,0 +1 @@ +오픈 소스이며 광고로부터 자유로운 SMS/MMS 메시징 앱 diff --git a/fastlane/metadata/android/ko-KR/title.txt b/fastlane/metadata/android/ko-KR/title.txt new file mode 100644 index 00000000..820fc01d --- /dev/null +++ b/fastlane/metadata/android/ko-KR/title.txt @@ -0,0 +1 @@ +Fossify SMS 메신저 From 08669048d3da08af9bcea29ff2c553a610678a1d Mon Sep 17 00:00:00 2001 From: SalaryTheft Date: Fri, 16 Feb 2024 05:27:33 +0000 Subject: [PATCH 11/92] Translated using Weblate (Korean) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/ko/ --- app/src/main/res/values-ko/strings.xml | 116 ++++++++++++++++++++++++- 1 file changed, 115 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index a6b3daec..9696d5b0 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -1,2 +1,116 @@ - \ No newline at end of file + + 보관 해제 + 보관 + 보관한 대화가 없습니다 + 보관된 대화가 삭제되었습니다 + 복원 + 보관한 대화를 삭제하시겠습니까? 모든 보관된 대화가 영구적으로 삭제됩니다. + 보낸 사람 및 내용 + 보낸 사람만 + 수신 확인 사용 + MMS 이미지 크기 조정 + 엔터 입력 시 메시지 전송 + 메시지 전송 시 악센트 및 발음 부호 제거 + 제한 없음 + 메시지 + 긴 메시지를 MMS로 전송 + 보내는 메시지 + 그룹 메시지를 MMS로 전송 + 메시지 내보내기 + SMS 내보내기 + MMS 내보내기 + 메시지 불러오기 + SMS 불러오기 + MMS 불러오기 + 한 개 이상의 항목을 선택해야 합니다 + 무선 통신이 사용 중지되어 있어 메시지가 전송되지 않았습니다 + 통신 오류로 인해 메시지가 전송되지 않았습니다 + 다음 오류로 인해 메시지가 전송되지 않았습니다: %d + 해당 단축 코드에는 답장할 수 없습니다 + SIM 카드를 사용할 수 없습니다 + MMS를 다운로드할 수 없습니다 + 첨부 파일의 크기가 MMS 제한을 초과합니다 + 왜 인터넷 접근 권한이 필요한가요? + 예약 메시지를 지원하나요? + 네, 전송 버튼을 길게 눌러서 원하는 날짜와 시간에 메시지를 전송하도록 예약할 수 있습니다. + 받는 사람이 제 MMS를 못 받았다고 합니다. 제가 무엇을 해야 하나요? + MMS 크기는 이동 통신사에 의해 제한됩니다. 앱 설정에서 저 작은 크기로 설정해보세요. + 새 메시지 + 사용자 지정 알림 사용 + 보관한 대화 모두 삭제 + 보관된 대화 표시 + + 대화 %d개 + + + 메시지 %d개 + + 차단한 키워드가 없습니다. 특정 키워드를 포함한 메시지를 차단하려면 여기에 단어를 추가하세요. + 잠금 화면 알림 표시 여부 + 빈 번호로 메지지를 보낼 수 없습니다 + 메시지를 Telephony 저장소에 저장할 수 없습니다 + 통신 서비스를 사용할 수 없어 메시지가 전송되지 않았습니다 + \"AB-CD0\"과 같은 단어를 포함한 단축 코드가 아닌 \"503501\"과 같은 숫자 단축 코드에만 답장할 수 있습니다. + 안타깝게도 MMS 첨부 파일을 전송하려면 인터넷 접근이 필요합니다. MMS를 전송하지 못한다면 다른 앱과 비교하여 큰 단점이 될 것입니다. 하지만 저희의 다른 앱과 마찬가지로 광고나 추적, 분석따위는 포함되어 있지 않고, 인터넷은 MMS 전송을 위해서만 사용됩니다. + 메시지 전송 안 됨 + 저장된 대화가 없습니다 + 답장 + 고정 해제 + 참여자 + 대화명 + 휴대전화의 전원이 켜져있고 앱이 백그라운드에서 종료되지 않도록 설정하세요. + 휴지통에 보관하지 않고 바로 삭제 + 이 대화의 메시지를 모두 삭제하시겠습니까? + 휴지통을 비우시겠습니까? 모든 메시지가 영구적으로 삭제됩니다. + 모든 메시지 복원 + 이 대화의 모든 메시지를 복원하시겠습니까? + %s를 보관하시겠습니까? + %s를 복원하시겠습니까? + 차단된 단어 + 단어 + 차단한 키워드 + 차단 키워드 추가 + 메시지 + 메시지를 입력하세요… + 전송되지 않았습니다. 다시 시도하려면 선택하세요. + \'%s\'에게 전송한 메시지가 전송되지 않았습니다 + 수신자 추가 + 첨부 + 대화 시작 + 메시지 작성 시 글자 수 표시 + 메시지 불러오는 중… + 보낸 사람이 답장 기능을 지원하지 않습니다 + 임시 저장 + 전송 중… + 상단에 고정 + 전달 + 사진을 선택한 크기로 압축할 수 없습니다 + 중복된 항목이 제외되었습니다 + + 외 %d명 + + 새 대화 + 연락처 또는 전화번호 추가… + 제안 + 대화 세부 사항 + 대화명 편집 + 대화명은 다른 사람한테 표시되지 않습니다 + 예약된 메시지 + 메시지 예약 + 예약 전송 + 예약 전송 취소 + 미래의 시간을 선택해야 합니다 + 메시지 수정 + 지금 전송 + 메시지 세부 정보 + 보낸 사람 + 받는 사람 + 전송 시간 + 받은 시간 + 받은 메시지 + 읽음으로 표시 + 읽지 않음으로 표시 + + 보관 + \ No newline at end of file From e9a54eded958ea550eac57e155707bdbe3eb9257 Mon Sep 17 00:00:00 2001 From: Gabriel Canaple Date: Fri, 16 Feb 2024 07:41:21 +0000 Subject: [PATCH 12/92] Translated using Weblate (French) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/fr/ --- app/src/main/res/values-fr/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 167d16fa..0e5a574b 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -118,4 +118,5 @@ Activer les notifications personnalisées Suggestions Archive - + Messages + \ No newline at end of file From e601931ce1a6051fdad6c870c4f4f14b15981195 Mon Sep 17 00:00:00 2001 From: Fjuro Date: Fri, 16 Feb 2024 21:55:49 +0000 Subject: [PATCH 13/92] Translated using Weblate (Czech) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/cs/ --- .../metadata/android/cs-CZ/changelogs/2.txt | 2 ++ .../android/cs-CZ/full_description.txt | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 fastlane/metadata/android/cs-CZ/changelogs/2.txt create mode 100644 fastlane/metadata/android/cs-CZ/full_description.txt diff --git a/fastlane/metadata/android/cs-CZ/changelogs/2.txt b/fastlane/metadata/android/cs-CZ/changelogs/2.txt new file mode 100644 index 00000000..229edb58 --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/changelogs/2.txt @@ -0,0 +1,2 @@ +* Minor bug fixes and improvements +* Added some translations diff --git a/fastlane/metadata/android/cs-CZ/full_description.txt b/fastlane/metadata/android/cs-CZ/full_description.txt new file mode 100644 index 00000000..c3d0f421 --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/full_description.txt @@ -0,0 +1,32 @@ +Zprávy Fossify jsou vaším důvěryhodným společníkem pro zasílání zpráv. Jsou navrženy tak, aby různými způsoby vylepšovaly váš zážitek ze zasílání zpráv. + +📱 ZŮSTAŇTE SNADNO VE SPOJENÍ: +S aplikací Zprávy Fossify můžete snadno posílat zprávy SMS a MMS a zůstat tak ve spojení se svými blízkými. Posílejte si skupinové zprávy založené na SMS/MMS a vyjadřujte se pomocí fotografií, emotikonů a rychlých pozdravů. + +🚫 BLOKOVÁNÍ NEŽÁDOUCÍCH ZPRÁV: +Převezměte kontrolu nad zasíláním zpráv díky robustní funkci blokování, která snadno zabrání zasílání nechtěných zpráv, a to i od neznámých kontaktů. Zablokovaná čísla můžete také exportovat a importovat pro bezproblémové zálohování. Navíc si můžete přizpůsobit své prostředí tím, že zabráníte zprávám s určitými slovy nebo frázemi, aby se dostaly do vaší schránky. + +🔒 BEZPROBLÉMOVÉ ZÁLOHOVÁNÍ SMS: +Rozlučte se s obavami ze ztráty důležitých zpráv. Zprávy Fossify nabízí pohodlnou funkci zálohování SMS – umožňují export a import zpráv. Tato funkce zajišťuje, že můžete snadno změnit zařízení, aniž byste přišli o své cenné konverzace. + +🚀 BLESKURYCHLÉ A LEHKÉ: +I přes své výkonné funkce se Zprávy Fossify mohou pochlubit pozoruhodně malou velikostí aplikace, díky které se rychle a snadno stahují a instalují. Zažijte rychlost a efektivitu a zároveň si užívejte klid, který přináší zálohování SMS. + +🔐 VYLEPŠENÁ OCHRANA SOUKROMÍ: +Přizpůsobte si, co se zobrazuje na zamykací obrazovce, a zajistěte si tak větší soukromí. Zvolte si, zda chcete zobrazit pouze odesílatele, obsah zprávy nebo vůbec nic. Své zprávy máte pod kontrolou. + +🔍 EFEKTIVNÍ VYHLEDÁVÁNÍ ZPRÁV: +Rozlučte se s nekonečným procházením konverzací. Zprávy Fossify zjednodušují vyhledávání zpráv pomocí funkce rychlého a efektivního vyhledávání. Najděte, co potřebujete, kdykoli a kdekoli. + +🌈 MODERNÍ DESIGN A PŘÍVĚTIVÉ ROZHRANÍ: +Vychutnejte si čistý, moderní design s uživatelsky přívětivým rozhraním. Aplikace využívá Material Design a možnost tmavého motivu, což poskytuje vizuálně přitažlivé a pohodlné uživatelské prostředí. + +🌐 TRANSPARENTNOST OTEVŘENÉHO ZDROJE: +Vaše soukromí je nejvyšší prioritou. Zprávy Fossify fungují bez nutnosti připojení k internetu, což zaručuje stabilitu a bezpečnost zpráv. Naše aplikace je zcela bez reklam a nevyžaduje zbytečná oprávnění. Navíc je plně open-source, což vám poskytuje klid, protože máte přístup ke zdrojovému kódu pro bezpečnostní audity a audity soukromí. + +Přejděte na aplikaci Zprávy Fossify a vyzkoušejte si zasílání zpráv tak, jak má být – soukromé, efektivní a uživatelsky přívětivé. Stáhněte si aplikaci nyní a připojte se k naší komunitě, která je odhodlána chránit vaše zprávy. + +Prozkoumejte další aplikace Fossify: https://www.fossify.org. +Otevřený zdrojový kód: https://www.github.com/FossifyOrg +Přidejte se ke komunitě na Redditu: https://www.reddit.com/r/Fossify +Připojte se na Telegram: https://t.me/Fossify From ca6c59c98b8208a2769d7b484f7f5c02631c4bc9 Mon Sep 17 00:00:00 2001 From: "Flavio F. M" Date: Sat, 17 Feb 2024 15:00:36 +0000 Subject: [PATCH 14/92] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index e1c32ee4..dd4d90ab 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -118,5 +118,5 @@ Atualizar mensagem Detalhes da mensagem Não foi possível baixar o MMS - Mensagens + Mensagens Fossify \ No newline at end of file From b44e486a09410f6fb38ab9cdb2ff1e07d3183b1b Mon Sep 17 00:00:00 2001 From: Omnipresent Reader Date: Sun, 18 Feb 2024 10:01:52 +0000 Subject: [PATCH 15/92] Translated using Weblate (Romanian) Currently translated at 20.0% (1 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/ro/ --- fastlane/metadata/android/ro/changelogs/1.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/ro/changelogs/1.txt b/fastlane/metadata/android/ro/changelogs/1.txt index b7fd9657..6ea13320 100644 --- a/fastlane/metadata/android/ro/changelogs/1.txt +++ b/fastlane/metadata/android/ro/changelogs/1.txt @@ -1 +1 @@ -* Lansarea inițială +* Lansare inițială From 9933c018f5bf1f0b1dad9d54445f8174bfa52c27 Mon Sep 17 00:00:00 2001 From: Agnieszka C Date: Sun, 18 Feb 2024 09:22:49 +0000 Subject: [PATCH 16/92] Translated using Weblate (Polish) Currently translated at 60.0% (3 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/pl/ --- fastlane/metadata/android/pl-PL/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/pl-PL/short_description.txt b/fastlane/metadata/android/pl-PL/short_description.txt index cf793781..b4680569 100644 --- a/fastlane/metadata/android/pl-PL/short_description.txt +++ b/fastlane/metadata/android/pl-PL/short_description.txt @@ -1 +1 @@ -Otwartoźródłowa i wolna od reklam aplikacja do przesyłania wiadomości SMS/MMS. +Otwartoźródłowa i wolna od reklam aplikacja do przesyłania wiadomości SMS/MMS From 472d82610dfa14b087115b02ba3046f2f2bbf4cb Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Sun, 18 Feb 2024 16:21:30 +0000 Subject: [PATCH 17/92] Translated using Weblate (Spanish) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/es/ --- fastlane/metadata/android/es-ES/changelogs/2.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/es-ES/changelogs/2.txt diff --git a/fastlane/metadata/android/es-ES/changelogs/2.txt b/fastlane/metadata/android/es-ES/changelogs/2.txt new file mode 100644 index 00000000..8d994eef --- /dev/null +++ b/fastlane/metadata/android/es-ES/changelogs/2.txt @@ -0,0 +1,2 @@ +* Mejoras y correcciones de errores menores +* Añadidas algunas traducciones From b237ca64ee6237bfb0b16e60c7c90a89ab407c54 Mon Sep 17 00:00:00 2001 From: VfBFan Date: Sun, 18 Feb 2024 15:37:23 +0000 Subject: [PATCH 18/92] Translated using Weblate (German) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/de/ --- fastlane/metadata/android/de-DE/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/de-DE/short_description.txt b/fastlane/metadata/android/de-DE/short_description.txt index 690c0747..a1ea4b04 100644 --- a/fastlane/metadata/android/de-DE/short_description.txt +++ b/fastlane/metadata/android/de-DE/short_description.txt @@ -1 +1 @@ -Open Source und werbefreie SMS/MMS-Nachrichten-App +Quelloffene und werbefreie SMS/MMS-Nachrichten-App From ee45edb3477230ae91f3b23f8ab6a26ba2137ea1 Mon Sep 17 00:00:00 2001 From: Linerly Date: Mon, 19 Feb 2024 10:03:03 +0000 Subject: [PATCH 19/92] Translated using Weblate (Indonesian) Currently translated at 20.0% (1 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/id/ --- fastlane/metadata/android/id/changelogs/1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/id/changelogs/1.txt diff --git a/fastlane/metadata/android/id/changelogs/1.txt b/fastlane/metadata/android/id/changelogs/1.txt new file mode 100644 index 00000000..379b024b --- /dev/null +++ b/fastlane/metadata/android/id/changelogs/1.txt @@ -0,0 +1 @@ +* Rilis awal From 210d55415eb4cad9e7db84a36da538ae26f42e44 Mon Sep 17 00:00:00 2001 From: Salif Mehmed Date: Thu, 22 Feb 2024 16:31:08 +0000 Subject: [PATCH 20/92] Translated using Weblate (Bulgarian) Currently translated at 20.0% (1 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/bg/ --- fastlane/metadata/android/bg/title.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/bg/title.txt diff --git a/fastlane/metadata/android/bg/title.txt b/fastlane/metadata/android/bg/title.txt new file mode 100644 index 00000000..6e82a909 --- /dev/null +++ b/fastlane/metadata/android/bg/title.txt @@ -0,0 +1 @@ +Фосифай SMS Месинджър From c740d662f1a0335cfb4384f61bb7fea01c179d60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Mesk=C3=B3?= Date: Tue, 5 Mar 2024 16:15:55 +0000 Subject: [PATCH 21/92] Translated using Weblate (Hungarian) Currently translated at 20.0% (1 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/hu/ --- fastlane/metadata/android/hu-HU/changelogs/1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/hu-HU/changelogs/1.txt diff --git a/fastlane/metadata/android/hu-HU/changelogs/1.txt b/fastlane/metadata/android/hu-HU/changelogs/1.txt new file mode 100644 index 00000000..7a38c34e --- /dev/null +++ b/fastlane/metadata/android/hu-HU/changelogs/1.txt @@ -0,0 +1 @@ +* Kezdeti kiadás From 371813f8935dd536a848f5141af509dbc2b72171 Mon Sep 17 00:00:00 2001 From: Mbuni21 Date: Wed, 6 Mar 2024 14:42:09 +0000 Subject: [PATCH 22/92] Translated using Weblate (Hebrew) Currently translated at 61.6% (66 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/he/ --- app/src/main/res/values-iw/strings.xml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 69eceacd..40ecf1bf 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -67,4 +67,18 @@ למרבה הצער, זה נחוץ לשליחת קבצי MMS מצורפים. אי היכולת לשלוח MMS תהיה חיסרון עצום בהשוואה לאפליקציות אחרות, אז החלטנו ללכת בדרך זו. עם זאת, כמו בדרך כלל, אין מודעות, מעקב או ניתוח כלשהם, האינטרנט משמש רק לשליחת MMS. הקצה השני לא מקבל את ה-MMS שלי, האם יש משהו שאני יכול לעשות בנידון\? גודל ה-MMS מוגבל על ידי הספקים, אתה יכול לנסות להגדיר מגבלה קטנה יותר בהגדרות האפליקציה. - + הודעות + חברים + שם שיחה + פרטי שיחה + שינוי שם שיחה + רק אתה יכול לראות את שם השיחה הזה + הודעה מתוזמנת + הודעת לוח זמנים + תכנן משלוח + בטל משלוח מתוכנן + יש לבחור נקודת זמן בעתיד + עדכון הודעה + כן, אתה יכול לתזמן שליחת הודעות בעתיד על ידי לחיצה ארוכה על כפתור השליחה ובחירת התאריך והשעה הרצויים. + פריט כפול לא נכלל + \ No newline at end of file From 6d83eb01fdcbfb1751e7566e637c55dff703e920 Mon Sep 17 00:00:00 2001 From: ngocanhtve Date: Fri, 8 Mar 2024 14:52:28 +0000 Subject: [PATCH 23/92] Translated using Weblate (Vietnamese) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/vi/ --- app/src/main/res/values-vi/strings.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 0b848f1d..697eb2aa 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -111,4 +111,6 @@ Kích thước MMS bị giới hạn bởi nhà cung cấp dịch vụ, bạn có thể thử đặt giới hạn nhỏ hơn trong cài đặt ứng dụng. Ứng dụng có hỗ trợ gửi tin nhắn theo lịch trình không\? Có, bạn có thể lên lịch gửi tin nhắn trong tương lai bằng cách nhấn và giữ nút Gửi và chọn ngày giờ mong muốn. - + Bật thông báo tùy chỉnh + Tin nhắn + \ No newline at end of file From dac91b350fee0e56935ec445b67b5c2ccafb65a3 Mon Sep 17 00:00:00 2001 From: Dan Date: Fri, 8 Mar 2024 14:11:24 +0000 Subject: [PATCH 24/92] Translated using Weblate (Ukrainian) Currently translated at 20.0% (1 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/uk/ --- fastlane/metadata/android/uk/changelogs/1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/uk/changelogs/1.txt diff --git a/fastlane/metadata/android/uk/changelogs/1.txt b/fastlane/metadata/android/uk/changelogs/1.txt new file mode 100644 index 00000000..15f431ca --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/1.txt @@ -0,0 +1 @@ +* Релізний випуск From 3328ec66b089a05a3fbb1676e87cd63b34c232d4 Mon Sep 17 00:00:00 2001 From: Igor Sorocean Date: Tue, 12 Mar 2024 08:24:39 +0000 Subject: [PATCH 25/92] Translated using Weblate (Romanian) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/ro/ --- app/src/main/res/values-ro/strings.xml | 102 ++++++++++++++++++------- 1 file changed, 76 insertions(+), 26 deletions(-) diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index e12314d4..936b8e0f 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -1,29 +1,29 @@ - Introduceţi un mesaj… + Introdu un mesaj… Mesajul nu a fost trimis Mesajul nu a fost trimis. Apasă pentru a încerca din nou. Mesajul tău către \'%s\' nu a fost trimis Adaugă o persoană - Anexă - Nu au fost găsite conversaţii stocate - Începe o conversaţie + Atașament + Nu au fost găsite conversații stocate + Începe o conversație Răspunde - Afişează un contor de caractere la scrierea mesajelor + Afișează un contor de caractere la scrierea mesajelor Încărcare mesaje… - Expeditorul nu suportă funcţia de a răspunde la mesaje + Expeditorul nu suportă funcția de a răspunde la mesaje Ciornă Trimitere… - Fixare în vârf + Fixare în partea de sus Elimină fixarea - Redirecţionare + Redirecționare Nu se poate comprima imaginea la dimensiunea selectată - și %d alt - și %d altele - și %d de altele + și încă %d + și încă %d + și încă %d - Conversaţie nouă + Conversație nouă Adaugă contact sau număr de telefon… Sugestii SMS-uri primite @@ -31,11 +31,11 @@ Marchează ca citit Marchează ca necitit Eu - Sunteți sigur că doriți să ștergeți toate mesajele din această conversație\? + Ești sigur că dorești să ștergi toate mesajele din această conversație? - %d conversaţie - %d conversaţii - %d conversaţii + %d conversație + %d conversații + %d conversații %d mesaj @@ -43,30 +43,80 @@ %d mesaje Vizibilitatea notificării pe ecranul de blocare - Expeditor şi mesaj + Expeditor și mesaj Doar expeditorul - Activați rapoartele de livrare - Elimnă accente şi diacritice la trimitearea mesajelor + Activează rapoartele de livrare + Elimină accentele și diacriticele la trimiterea mesajelor Redimensioneză imaginile trimise prin MMS Fără limită Mesaje transmise - Trimiteți mesaje de grup ca MMS - Trimiteți mesaje lungi ca MMS - Mesajele + Trimite mesaje de grup ca MMS + Trimite mesaje lungi ca MMS + Mesaje Exportă mesajele Exportă mesajele SMS Exportă mesajele MMS Importă mesajele Importă mesajele SMS Importă mesajele MMS - Trebuie să selectaţi cel puţin un element + Trebuie să selectezi cel puțin un element De ce necesită aplicația acces la internet\? - Din păcate este nevoie pentru a primite anexe MMS. Ideea de a nu putea trimite MMS-uri ar prezenta un dezavantaj foarte mare în comparaţie cu alte aplicaţii, aşa că am decis să mergem pe această cale. Totuşi, ca de obicei, nu este prezentă nici un fel de reclamă, urmărire sau analiză, internetul este folosit doar pentru a trimite MMS-uri. + Din păcate este nevoie pentru a primite anexe MMS. Ideea de a nu putea trimite MMS-uri ar prezenta un dezavantaj foarte mare în comparație cu alte aplicații, așa că am decis să mergem pe această cale. Totuși, ca de obicei, nu este prezentă niciun fel de reclamă, urmărire sau analiză, internetul este folosit doar pentru a trimite MMS-uri. Celălalt capăt nu-mi primește MMS-ul, pot face ceva în acest sens\? - Dimensiunea MMS este limitată de operatorii de telefonie; puteți încerca să setați o limită mai mică în setările aplicației. - Membrii + Dimensiunea MMS este limitată de operatorii de telefonie; poți încerca să setezi o limită mai mică în setările aplicației. + Membri Numele conversației Detaliile conversației Redenumire conversație Mesaje + Numai tu poți vedea numele acestei conversații + Mesaj programat + Programează mesajul + Programează trimiterea + Trebuie să alegi un timp în viitor + Ține telefonul pornit și asigură-te că nimic nu oprește aplicația în fundal. + Actualizează mesajul + Trimite acum + Detalii mesaj + Șterge toate conversațiile arhivate + Arhivează + Afișează conversațiile arhivate + Expeditor + Trimis la + Destinatar + Primit la + Dezarhivează + Nu au fost găsite conversații arhivate + Arhiva a fost golită cu succes + Restaurează toate mesajele + Sigur dorești să golești Coșul de reciclare? Mesajele se vor pierde definitiv. + Omite Coșul de reciclare, șterge direct mesajele + Sigur dorești să arhivezi %s? + Sigur dorești să restabilești toate mesajele acestei conversații? + Sigur dorești să restaurezi %s? + Cuvânt cheie + Cuvinte cheie blocate + Gestionează cuvintele cheie blocate + Adaugă un cuvânt cheie blocat + Da, poți programa mesajele care urmează să fie trimise în viitor, apăsând lung butonul Trimite și alegând data și ora dorită. + Trimite mesaj apăsând Enter + Nu blochezi niciun cuvânt cheie. Poți adăuga cuvinte cheie aici pentru a bloca toate mesajele care le conțin. + Nu se poate salva mesajul în baza de date de telefonie + Nu s-a putut trimite mesajul, modulul radio este oprit + Nu pot răspunde la astfel de coduri scurte + Poți răspunde numai la codurile scurte cu numere precum „503501”, dar nu și la codurile care conțin litere și numere precum „AB-CD0”. + Dimensiunea atașamentului depășește limita maximă MMS + Nu s-a putut descărca MMS + Elementul duplicat nu a fost inclus + Restaurare + Activează notificările personalizate + Nu s-a putut trimite mesajul, serviciul nu este disponibil + Nu s-a putut trimite mesajul, eroare de operator + Nu s-a putut trimite mesajul, cod de eroare: %d + Cartela SIM nu este disponibilă + Aplicația acceptă mesajele programate? + Arhivează + Sigur dorești să golești arhiva? Toate conversațiile arhivate se vor pierde definitiv. + Anulează trimiterea programată + Nu se poate trimite mesaj la un număr gol \ No newline at end of file From 79205e80073c6af9db3aa02c5efd24bec1813ad7 Mon Sep 17 00:00:00 2001 From: Igor Sorocean Date: Tue, 12 Mar 2024 08:18:30 +0000 Subject: [PATCH 26/92] Translated using Weblate (Romanian) Currently translated at 40.0% (2 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/ro/ --- fastlane/metadata/android/ro/short_description.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/ro/short_description.txt diff --git a/fastlane/metadata/android/ro/short_description.txt b/fastlane/metadata/android/ro/short_description.txt new file mode 100644 index 00000000..259ba523 --- /dev/null +++ b/fastlane/metadata/android/ro/short_description.txt @@ -0,0 +1 @@ +Aplicație pentru SMS/MMS cu sursă deschisă și fără anunțuri From ce8dff6fd651c44cae36264af81e5ff2de653557 Mon Sep 17 00:00:00 2001 From: Guillaume Date: Wed, 13 Mar 2024 16:20:11 +0000 Subject: [PATCH 27/92] Translated using Weblate (Dutch) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/nl/ --- app/src/main/res/values-nl/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 0eeb95c4..e7965bbf 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -103,7 +103,7 @@ Kon het bericht niet verzenden: vliegtuigmodus Kon het bericht niet verzenden: netwerkfout Kon het bericht niet verzenden: foutcode %d - Er kan niet gereageerd worden op korte codes zoals deze + Er kan niet worden gereageerd op dit bericht Er kan alleen worden gereageerd op korte codes met cijfers, zoals \"503501\", maar niet op codes met letters en cijfers, zoals \"AB-CD0\". De bestandsgrootte van de bijlage overschrijdt de limiet voor MMS Simkaart niet beschikbaar From acfaa76f31a837be8f8b4801d1df3c8a5a6c489e Mon Sep 17 00:00:00 2001 From: cat <158170307+cultcats@users.noreply.github.com> Date: Thu, 14 Mar 2024 10:46:17 +0000 Subject: [PATCH 28/92] Translated using Weblate (Danish) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/da/ --- .../android/da-DK/full_description.txt | 32 +++++++++++++++++++ fastlane/metadata/android/da-DK/title.txt | 2 +- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 fastlane/metadata/android/da-DK/full_description.txt diff --git a/fastlane/metadata/android/da-DK/full_description.txt b/fastlane/metadata/android/da-DK/full_description.txt new file mode 100644 index 00000000..914d92e5 --- /dev/null +++ b/fastlane/metadata/android/da-DK/full_description.txt @@ -0,0 +1,32 @@ +Fossify Messenger er din pålidelige beskedtjeneste, designet til at forbedre din beskedoplevelse på forskellige måder. + +📱 HOLD FORBINDELSEN UDEN BESVÆR: +Med Fossify Messenger kan du nemt sende SMS- og MMS-beskeder for at holde forbindelsen med dine kære. Nyd SMS/MMS-baserede gruppebeskeder, og udtryk dig med fotos, emojis og hurtige hilsner. + +🚫 BLOKÉR UØNSKEDE BESKEDER: +Tag kontrol over din beskedoplevelse med en robust blokeringsfunktion, der nemt forhindrer uønskede beskeder, selv fra ukendte kontakter. Du kan også eksportere og importere blokerede numre til problemfri sikkerhedskopiering. Derudover kan du tilpasse din oplevelse ved at forhindre beskeder med specifikke ord eller sætninger i at nå din indbakke. + +🔒 NEM SMS-SIKKERHEDSKOPIERING: +Sig farvel til bekymringer om at miste vigtige beskeder. Fossify Messenger tilbyder praktisk SMS-sikkerhedskopiering ved at give dig mulighed for at eksportere og importere dine beskeder. Denne funktion sikrer, at du nemt kan skifte enhed uden at miste dine værdifulde samtaler. + +🚀 LYNHURTIG OG LET: +På trods af sine kraftfulde funktioner har Fossify Messenger en bemærkelsesværdig lille app-størrelse, hvilket gør den hurtig og nem at hente og installere. Oplev hastighed og effektivitet, mens du nyder trygheden, der følger med SMS-sikkerhedskopiering. + +🔐 FORBEDRET PRIVATLIV: +Tilpas, hvad der vises på din låseskærm for ekstra privatliv. Vælg kun at vise afsenderen, beskedens indhold eller slet ingenting. Dine beskeder er i din kontrol. + +🔍 EFFEKTIV BESKEDSØGNING: +Sig farvel til endeløs scrolling gennem samtaler. Fossify Messenger forenkler beskedhentning med en hurtig og effektiv søgefunktion. Find det, du har brug for, når du har brug for det. + +🌈 MODERNE DESIGN OG BRUGERVENLIG GRÆNSEFLADE: +Nyd et rent, moderne design med en brugervenlig grænseflade. Appen har et materialedesign og et mørkt tema, der giver en visuelt tiltalende og behagelig brugeroplevelse. + +🌐 OPEN SOURCE-TRANSPARENS: +Dit privatliv er en topprioritet. Fossify Messenger fungerer uden at kræve en internetforbindelse, hvilket garanterer meddelelsessikkerhed og stabilitet. Vores app er helt fri for reklamer og beder ikke om unødvendige tilladelser. Desuden er den helt open source, hvilket giver dig ro i sindet, da du har adgang til kildekoden til sikkerheds- og privatlivsrevisioner. + +Skift til Fossify Messenger, og oplev beskeder, som de bør være — private, effektive og brugervenlige. Hent den nu, og bliv en del af vores fællesskab, der er engageret i at beskytte din beskedoplevelse. + +Udforsk flere Fossify-apps: https://www.fossify.org +Open source-kode: https://www.github.com/FossifyOrg +Deltag i fællesskabet på Reddit: https://www.reddit.com/r/Fossify +Opret forbindelse på Telegram: https://t.me/Fossify diff --git a/fastlane/metadata/android/da-DK/title.txt b/fastlane/metadata/android/da-DK/title.txt index e09adaf8..1d5049dd 100644 --- a/fastlane/metadata/android/da-DK/title.txt +++ b/fastlane/metadata/android/da-DK/title.txt @@ -1 +1 @@ -Fossify SMS Meddelelser +Fossify SMS Messenger From 9c4b0a666cb71b5e24a23fb1cc92770de310f704 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 15 Mar 2024 07:51:16 +0000 Subject: [PATCH 29/92] Translated using Weblate (Danish) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/da/ --- app/src/main/res/values-da/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index bc307eb0..28781de7 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -99,7 +99,7 @@ Kan ikke gemme meddelelse i telefonens database Kunne ikke sende meddelelse, service ikke tilgængelig Kunne ike sende meddelels, radio er slukket - "Kunne ikke sende meddelelse; operatørfejl " + Kunne ikke sende meddelelse; operatørfejl Kunne ikke sende meddelelse, fejlmeddelelse: %d Kan ikke svare på korte koder som denne Du kan kun svare på korte koder med tal som \"503501\", men ikke på koder, der indeholder bogstaver og tal som \"AB-CD0\". From 9c75dab8f3396ecd8e8e6485ce11528e3cc9d913 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Fri, 15 Mar 2024 20:56:04 +0000 Subject: [PATCH 30/92] Translated using Weblate (Estonian) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/et/ --- fastlane/metadata/android/et/changelogs/2.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/et/changelogs/2.txt diff --git a/fastlane/metadata/android/et/changelogs/2.txt b/fastlane/metadata/android/et/changelogs/2.txt new file mode 100644 index 00000000..91d08e92 --- /dev/null +++ b/fastlane/metadata/android/et/changelogs/2.txt @@ -0,0 +1,2 @@ +* Väiksemad veaparandused ja kohendused +* Lisasime mõned tõlked From e4e4d3f88466d8fa9020a7c20752f8ceeb5f8798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Fri, 15 Mar 2024 22:39:19 +0000 Subject: [PATCH 31/92] Translated using Weblate (Estonian) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/et/ --- fastlane/metadata/android/et/full_description.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fastlane/metadata/android/et/full_description.txt b/fastlane/metadata/android/et/full_description.txt index 43c6781f..d2ca761c 100644 --- a/fastlane/metadata/android/et/full_description.txt +++ b/fastlane/metadata/android/et/full_description.txt @@ -1,7 +1,7 @@ Fossify Sõnumid on sinu usaldusväärne sõnumikaaslane, mis on loodud selleks, et parandada sinu sõnumikogemust mitmel viisil. -📱 PÜSI HÕLPSASTI SUHLUSES: -Fossify Sõnumitega saad hõlpsasti saata SMS- ja MMS-sõnumeid, et püsida ühenduses oma lähedastega. Kasuta SMS/MMS-põhiseid rühmasõnumeid ja väljenda end fotode, emotikoonide ja kiirtervitustega. +📱 PÜSI HÕLPSASTI SUHTLUSES: +Fossify Sõnumitega saad hõlpsasti saata SMS- ja MMS-sõnumeid, et püsida ühenduses oma lähedastega. Kasuta SMS/MMS-põhiseid rühmasõnumeid ja väljenda end fotode, emotikonide ja kiirtervitustega. 🚫 BLOKEERI SOOVIMATUD SÕNUMID: Haara oma sõnumite kasutamise üle kontroll tõhusa blokeerimisfunktsiooniga, mis takistab hõlpsasti soovimatuid sõnumeid, isegi tundmatutelt kontaktidelt. Samuti saad blokeeritud numbreid eksportida ja importida, et teha hõlpsasti varukoopiaid. Lisaks saad oma kogemust kohandada, takistades teatud sõnu või fraase sisaldavate sõnumite jõudmist oma postkasti. @@ -10,21 +10,21 @@ Haara oma sõnumite kasutamise üle kontroll tõhusa blokeerimisfunktsiooniga, m Unusta aeg, mil kaotasid tähtsaid sõnumeid. Fossify Sõnumid pakub mugavat SMS-i varundamise funktsiooni, võimaldades sul oma sõnumeid eksportida ja importida. See funktsioon tagab, et saad hõlpsasti seadmeid vahetada, ilma et kaotaksid oma väärtuslikke vestlusi. 🚀 VÄLKKIIRE JA NAPI RESSURSIVAJADUSEGA: -Vaatamata oma võimsatele funktsioonidele on rakendus Fossify Sõnumid märkimisväärselt väikese suurusega, mistõttu on seda kiire ja lihtne alla laadida ja paigaldada. Kogege kiirust ja tõhusust, nautides samal ajal meelerahu, mis kaasneb SMS-i varundamisega. +Vaatamata oma võimsatele funktsioonidele on rakendus Fossify Sõnumid märkimisväärselt väikese suurusega, mistõttu on seda kiire ja lihtne alla laadida ja paigaldada. Koge kiirust ja tõhusust, nautides samal ajal meelerahu, mis kaasneb SMS-i varundamisega. 🔐 TÄIUSTATUD PRIVAATSUS: -Kohanda, mis sinu nutiseadme lukustusekraanil ilmub, et suurendada privaatsust. Vali, kas soovite kuvada ainult saatjat, sõnumi sisu või üldse mitte midagi. Sinu sõnumid on sinu kontrolli all. +Kohanda, mis sinu nutiseadme lukustusekraanil ilmub, et suurendada privaatsust. Vali, kas soovid kuvada ainult saatjat, sõnumi sisu või üldse mitte midagi. Sinu sõnumid on sinu kontrolli all. 🔍 TÕHUS SÕNUMIOTSING: Ütle hüvasti lõputule vestluste sirvimisele. Fossify Sõnumid lihtsustab sõnumite leidmist kiire ja tõhusa otsingufunktsiooniga. Leia see, mida vajad, siis, kui seda vajad. 🌈 KAASAEGNE KUJUNDUS JA KASUTAJASÕBRALIK KASUTAJALIIDES: -Nautige puhast, kaasaegset disaini ja kasutajasõbralikku kasutajaliidest. Rakendus lähtub „Material Design“ kujundusloogikast ja olemas on tumedate teemade valik, mis üheskoos pakuvad visuaalselt atraktiivset ja mugavat kasutajakogemust. +Naudi puhast, kaasaegset disaini ja kasutajasõbralikku kasutajaliidest. Rakendus lähtub „Material Design“ kujundusloogikast ja olemas on tumedate teemade valik, mis üheskoos pakuvad visuaalselt atraktiivset ja mugavat kasutajakogemust. 🌐 AVATUD LÄHTEKOODIL PÕHINEV LÄBIPAISTVUS: Sinu privaatsus on esmatähtis. Fossify Sõnumid töötab ilma internetiühendust nõudmata, tagades sõnumite turvalisuse ja stabiilsuse. Meie rakendus on täiesti reklaamivaba ja ei küsi mittevajalikke lubasid. Lisaks on see täielikult avatud lähtekoodiga, mis tagab sulle meelerahu, kuna sul on soovi korral juurdepääs lähtekoodile turvalisuse ja privaatsuse kontrollimiseks. -Kasutage rakendust Fossify Sõnumid ja saada sõnumeid nii, nagu see peaks olema - privaatselt, tõhusalt ja kasutajasõbralikul viisil. Laadige rakendus alla ja liituge meie kogukonnaga, mis on pühendunud sinu sõnumikogemuse kaitsmisele. +Kasuta rakendust Fossify Sõnumid ja saada sõnumeid nii, nagu see peaks olema - privaatselt, tõhusalt ja kasutajasõbralikul viisil. Laadi rakendus alla ja liitu meie kogukonnaga, mis on pühendunud sinu sõnumikogemuse kaitsmisele. Tutvu Fossify rakendustega: https://www.fossify.org Avatud lähtekood: https://www.github.com/FossifyOrg From 202f58ad3723701d26d461c75015bb05ae73289d Mon Sep 17 00:00:00 2001 From: Argo Carpathians Date: Wed, 20 Mar 2024 22:50:57 +0000 Subject: [PATCH 32/92] Translated using Weblate (Indonesian) Currently translated at 83.1% (89 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/id/ --- app/src/main/res/values-in/strings.xml | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 3a656e23..441b4680 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -75,4 +75,24 @@ Ukuran MMS dibatasi oleh penyedia, Anda dapat menetapkan batas yang lebih kecil dalam pengaturan aplikasi. Apakah aplikasi mendukung penjadwalan pesan\? Ya, Anda bisa menjadwalkan pesan untuk dikirim di masa depan dengan menekan lama pada tombol Kirim dan memilih tanggal dan waktu yang diinginkan. - + Aktifkan notifikasi khusus + Detail pesan + Penerima + Dikirim pukul + Diterima pukul + Arsip + Tampilkan percakapan yang diarsipkan + Arsip + Tidak ada arsip percakapan yang ditemukan + Arsip telah berhasil dikosongkan + Anda yakin ingin mengosongkan arsip? Semua percakapan yang diarsipkan akan hilang secara permanen. + Pesan + Sematkan ke atas + Pengirim + Perbarui pesan + Hapus semua percakapan yang diarsipkan + Saya + Tidak diarsipkan + Pulihkan + Pulihkan semua pesan + \ No newline at end of file From f90f5f77d47681de0731adec01f4740baf0fc3d1 Mon Sep 17 00:00:00 2001 From: Argo Carpathians Date: Thu, 21 Mar 2024 04:28:13 +0000 Subject: [PATCH 33/92] Translated using Weblate (Indonesian) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/id/ --- app/src/main/res/values-in/strings.xml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 441b4680..6f7651c0 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -19,7 +19,7 @@ Tidak dapat mengompres gambar ke ukuran yang dipilih Item duplikat tidak termasuk - and %d others + dan %d lainnya Percakapan baru Tambahkan Kontak atau Nomor… @@ -95,4 +95,22 @@ Tidak diarsipkan Pulihkan Pulihkan semua pesan + Anda yakin ingin memulihkan %s? + Ekspor SMS + Impir pesan + Impor SMS + Tidak dapat mengunduh MMS + Kata kunci + Ukuran lampiran melebihi batas maksimum yang diizinkan untuk MMS + Kata kunci yang diblokir + Ekspor pesan + Kartu SIM tidak tersedia + Anda belum memblokir kata kunci apa pun. Anda dapat menambahkan kata kunci di sini untuk memblokir semua pesan yang mengandung kata kunci tersebut. + Pesan + Kelola kata kunci yang diblokir + Anda yakin ingin mengosongkan Keranjang Sampah? Pesan-pesan di dalamnya akan hilang secara permanen. + Lewati Keranjang Sampah, hapus pesan secara langsung + Anda yakin ingin mengarsipkan %s? + Anda yakin ingin memulihkan semua pesan dari percakapan ini? + Tambahkan kata kunci yang diblokir \ No newline at end of file From 3fba41ac85896df1806689ac995629dd4ffa31d9 Mon Sep 17 00:00:00 2001 From: antodc Date: Sat, 23 Mar 2024 06:27:25 +0000 Subject: [PATCH 34/92] Translated using Weblate (Italian) Currently translated at 80.0% (4 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/it/ --- fastlane/metadata/android/it-IT/changelogs/1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/it-IT/changelogs/1.txt diff --git a/fastlane/metadata/android/it-IT/changelogs/1.txt b/fastlane/metadata/android/it-IT/changelogs/1.txt new file mode 100644 index 00000000..b7527bff --- /dev/null +++ b/fastlane/metadata/android/it-IT/changelogs/1.txt @@ -0,0 +1 @@ +* Rilascio iniziale From a0abab71c87800242f9bbae835c5e6edf404c277 Mon Sep 17 00:00:00 2001 From: "Josep M. Ferrer" Date: Tue, 26 Mar 2024 14:04:31 +0000 Subject: [PATCH 35/92] Translated using Weblate (Catalan) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/ca/ --- app/src/main/res/values-ca/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index b895e76a..b63da4bc 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -2,7 +2,7 @@ Escriviu un missatge… Missatge no enviat - No s\'ha enviat. Toqueu per tornar-ho a provar. + No s\'ha enviat. Toqueu per a tornar-ho a provar. El vostre missatge a «%s» no s\'ha enviat Afegeix una persona Adjunt @@ -109,10 +109,10 @@ La targeta SIM no està disponible No es poden baixar MMS Per què l\'aplicació requereix accés a Internet\? - Malauradament, és necessari per enviar adjunts MMS. No poder enviar MMS seria un gran desavantatge en comparació amb altres aplicacions, així que vam decidir anar per aquest camí. Tanmateix, com sol ser, no hi ha cap anunci, seguiment o anàlisi de cap mena, Internet només s\'utilitza per enviar MMS. + Malauradament, és necessari per a enviar adjunts MMS. No poder enviar MMS seria un gran desavantatge en comparació amb altres aplicacions, així que vam decidir anar per aquest camí. Tanmateix, com sol ser, no hi ha cap anunci, seguiment o anàlisi de cap mena, Internet només s\'utilitza per a enviar MMS. La mida dels MMS està limitada pels operadors, podeu provar d\'establir un límit més petit a la configuració de l\'aplicació. L\'aplicació admet missatges programats\? - Sí, podeu programar missatges per enviar-los en el futur prement prolongadament el botó Envia i escollint la data i l\'hora desitjades. + Sí, podeu programar missatges per a enviar-los en el futur prement prolongadament el botó Envia i escollint la data i l\'hora desitjades. L\'altre extrem no ha rebut el meu MMS, hi puc fer alguna cosa\? Activa les notificacions personalitzades Missatges From 5dcfe45ef83215a51f02feb88c9764bf799f8fef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=B5=E5=8F=AF=E6=8F=9A?= Date: Tue, 26 Mar 2024 05:32:38 +0000 Subject: [PATCH 36/92] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/zh_Hant/ --- app/src/main/res/values-zh-rTW/strings.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 6389df48..cc14da56 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -111,4 +111,6 @@ MMS 的大小受到電信業者的限制,您可以嘗試在應用程式設定中設定較小的限制。 應用程式是否支援排程訊息? 是的,您可以長按「送出」按鈕並選擇所需的日期和時間,以排程將訊息送出。 - + 啟用自訂通知 + 簡訊 + \ No newline at end of file From 76e6097431bef034696bd955927ab958cc070750 Mon Sep 17 00:00:00 2001 From: A Date: Wed, 27 Mar 2024 13:31:58 +0000 Subject: [PATCH 37/92] Translated using Weblate (Finnish) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/fi/ --- app/src/main/res/values-fi/strings.xml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 6e27b77e..5b06f514 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -50,13 +50,13 @@ Merkitse lukemattomaksi Minä Poista arkivointi - Poista kaikki arkivoidut keskustelut + Poista kaikki arkistoidut keskustelut Arkisto - Näytä arkivoidut keskustelut + Näytä arkistoidut keskustelut Arkivoi Arkivoituja keskusteluja ei löytynyt Arkisto tyhjennettiin onnistuneesti - Haluatko tyhjentää arkiston\? Kaikki arkivoidut keskustelut menetetään pysyvästi. + Haluatko tyhjentää arkiston? Kaikki arkistoidut keskustelut menetetään pysyvästi. Palauta Palauta kaikki viestit Haluatko tyhjentää Roskakorin\? Viestit menetetään pysyvästi. @@ -114,4 +114,6 @@ Operaattorit rajoittavat MMS-kokoa, voit yrittää asettaa pienemmän rajan sovelluksen asetuksissa. Tukeeko sovellus ajoitettua viestien lähetystä\? Kyllä tukee ja voit ajoittaa viestin lähetyksen painamalla lähetyspainiketta pitkään ja valitsemalla halutun päivän ja kellonajan. - + Viestit + Käytä mukautettuja ilmoituksia + \ No newline at end of file From 1ca2af01e5d10b260f9b0422cfaa9bb92588bfcb Mon Sep 17 00:00:00 2001 From: A Date: Wed, 27 Mar 2024 13:36:03 +0000 Subject: [PATCH 38/92] Translated using Weblate (Finnish) Currently translated at 80.0% (4 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/fi/ --- fastlane/metadata/android/fi-FI/changelogs/1.txt | 1 + fastlane/metadata/android/fi-FI/changelogs/2.txt | 2 ++ fastlane/metadata/android/fi-FI/short_description.txt | 1 + fastlane/metadata/android/fi-FI/title.txt | 1 + 4 files changed, 5 insertions(+) create mode 100644 fastlane/metadata/android/fi-FI/changelogs/1.txt create mode 100644 fastlane/metadata/android/fi-FI/changelogs/2.txt create mode 100644 fastlane/metadata/android/fi-FI/short_description.txt create mode 100644 fastlane/metadata/android/fi-FI/title.txt diff --git a/fastlane/metadata/android/fi-FI/changelogs/1.txt b/fastlane/metadata/android/fi-FI/changelogs/1.txt new file mode 100644 index 00000000..8bcddd6e --- /dev/null +++ b/fastlane/metadata/android/fi-FI/changelogs/1.txt @@ -0,0 +1 @@ +* Alkuperäinen julkaisu diff --git a/fastlane/metadata/android/fi-FI/changelogs/2.txt b/fastlane/metadata/android/fi-FI/changelogs/2.txt new file mode 100644 index 00000000..20bcec13 --- /dev/null +++ b/fastlane/metadata/android/fi-FI/changelogs/2.txt @@ -0,0 +1,2 @@ +* Pieniä korjauksia ja parannuksia. +* Lisätty käännöksiä diff --git a/fastlane/metadata/android/fi-FI/short_description.txt b/fastlane/metadata/android/fi-FI/short_description.txt new file mode 100644 index 00000000..66a4200a --- /dev/null +++ b/fastlane/metadata/android/fi-FI/short_description.txt @@ -0,0 +1 @@ +Mainosvapaa avoimen lähdekoodin SMS/MMS viestien lähettämisen sovellus diff --git a/fastlane/metadata/android/fi-FI/title.txt b/fastlane/metadata/android/fi-FI/title.txt new file mode 100644 index 00000000..1d5049dd --- /dev/null +++ b/fastlane/metadata/android/fi-FI/title.txt @@ -0,0 +1 @@ +Fossify SMS Messenger From dd57c75c3926a721b171315e7ef84e47591eec71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=B5=E5=8F=AF=E6=8F=9A?= Date: Sat, 30 Mar 2024 06:50:55 +0000 Subject: [PATCH 39/92] Translated using Weblate (Chinese (Traditional)) Currently translated at 60.0% (3 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/zh_Hant/ --- fastlane/metadata/android/zh-TW/changelogs/2.txt | 1 + fastlane/metadata/android/zh-TW/short_description.txt | 1 + fastlane/metadata/android/zh-TW/title.txt | 1 + 3 files changed, 3 insertions(+) create mode 100644 fastlane/metadata/android/zh-TW/changelogs/2.txt create mode 100644 fastlane/metadata/android/zh-TW/short_description.txt create mode 100644 fastlane/metadata/android/zh-TW/title.txt diff --git a/fastlane/metadata/android/zh-TW/changelogs/2.txt b/fastlane/metadata/android/zh-TW/changelogs/2.txt new file mode 100644 index 00000000..777d3fb3 --- /dev/null +++ b/fastlane/metadata/android/zh-TW/changelogs/2.txt @@ -0,0 +1 @@ +* 新增一些翻譯 diff --git a/fastlane/metadata/android/zh-TW/short_description.txt b/fastlane/metadata/android/zh-TW/short_description.txt new file mode 100644 index 00000000..dc1fcf92 --- /dev/null +++ b/fastlane/metadata/android/zh-TW/short_description.txt @@ -0,0 +1 @@ +開放原始碼且無廣告的 SMS/MMS 通訊應用程式 diff --git a/fastlane/metadata/android/zh-TW/title.txt b/fastlane/metadata/android/zh-TW/title.txt new file mode 100644 index 00000000..a842db4b --- /dev/null +++ b/fastlane/metadata/android/zh-TW/title.txt @@ -0,0 +1 @@ +Fossify SMS 簡訊 From 48674d0e2936191167d0e5d183302256ff451bd1 Mon Sep 17 00:00:00 2001 From: GuitarBilly Date: Mon, 8 Apr 2024 21:50:42 +0000 Subject: [PATCH 40/92] Translated using Weblate (Dutch) Currently translated at 60.0% (3 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/nl/ --- fastlane/metadata/android/nl-NL/changelogs/1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/nl-NL/changelogs/1.txt diff --git a/fastlane/metadata/android/nl-NL/changelogs/1.txt b/fastlane/metadata/android/nl-NL/changelogs/1.txt new file mode 100644 index 00000000..0b5bb6f7 --- /dev/null +++ b/fastlane/metadata/android/nl-NL/changelogs/1.txt @@ -0,0 +1 @@ +* Eerste uitgave From f071c1a07cea57d9f2e3ad5c0d3dc004cf712d00 Mon Sep 17 00:00:00 2001 From: Ali Najafi Date: Thu, 11 Apr 2024 11:45:11 +0000 Subject: [PATCH 41/92] Translated using Weblate (Persian) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/fa/ --- app/src/main/res/values-fa/strings.xml | 119 ++++++++++++++++++++++++- 1 file changed, 118 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index a6b3daec..09d634a4 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -1,2 +1,119 @@ - \ No newline at end of file + + درآوردن از بایگانی + تنظیم اعلان شخصی‌شده + بایگانی کردن + نمایش بایگانی‌ها + حذف همه‌ی بایگانی‌ها + هیچ پیامی در بایگانی نیست + بایگانی با موفقیت خالی شد + بازیابی + بازیابی همه‌ی پیام‌ها + بی‌خیال سطل شو، پیام‌ها را درجا حذف کن + همه‌ی پیام‌های این گفت‌وگو حذف شود؟ + ‏%s بازیابی شود؟ + + ‏%d گفت‌وگو + ‏%d گفت‌وگو + + کلیدواژه + کلیدواژه‌های مسدودشده + کلیدواژه‌ای برای مسدودسازی ندارید. می‌توانید کلیدواژه‌ای اضافه کنید تا پیام‌های حاوی آن مسدود شوند. + نمایش اعلان در صفحه‌ی قفل + فرستنده و پیام + تغییر اندازه‌ی تصاویر ارسالی در فراپیام + پیام‌های ارسالی + ارسال پیام گروهی در قالب فراپیام + ارسال پیام‌های طولانی در قالب فراپیام + برون‌برد پیام‌ها + برون‌برد فراپیام‌ها + درون‌برد پیام‌ها + درون‌برد پیامک‌ها + درون‌برد فراپیام‌ها + حداقل یک مورد را انتخاب کنید + ارسال پیام به شماره‌ی خالی امکان‌پذیر نیست + ذخیره‌سازی پیام در دادگان تلفن امکان‌پذیر نیست + پاسخ به کدهای کوتاه مثل این امکان‌پذیر نیست + پیام ارسال نشد، خارج از دسترس + پیام ارسال نشد، فرستنده خاموش است + پیام ارسال نشد، خطای اپراتور + اندازه‌ی پیوست بیشتر از حد مجاز فراپیام است + سیم‌کارت نیست + این برنامه چه نیازی به دسترسی به اینترنت دارد؟ + طرف مقابل فراپیام مرا نمی‌گیرد، چه کار می‌توانم بکنم؟ + اندازه‌ی فراپیام از سوی اپراتور محدود شده است؛ می‌توانید در تنظیمات برنامه، حد کمتری را امتحان کنید. + آیا این برنامه از پیام‌های زمان‌بندی‌شده پشتیبانی می‌کند؟ + متن پیام…‏ + ارسال نشد. برای تلاش دوباره، لمس کنید. + پیام شما به %s ارسال نشده + پیام ارسال نشد، خطای کد %d‏ + مورد تکراری درج نشد + + و %d نفر دیگر + و %d نفر دیگر + + افزودن مخاطب یا شماره… + عضوها + عنوان گفت‌وگو + جزئیات گفت‌وگو + تنها شما می‌توانید این عنوان گفت‌وگو را ببینید + گوشی را روشن نگه دارید و مطمئن شوید که هیچ‌چیز فعالیت برنامه در پس‌زمینه را متوقف نکند. + بایگانی + بایگانی، خالی شود؟ همه‌ی پیام‌های بایگانی برای همیشه حذف می‌شوند. + سطل زباله، خالی شود؟ پیام‌ها برای همیشه حذف می‌شوند. + ‏%s بایگانی شود؟ + همه‌ی پیام‌های این گفت‌وگو بازیابی شود؟ + + ‏%d پیام + ‏%d پیام + + مدیریت کلیدواژه‌های مسدودشده + گزارش تحویل پیام + حذف نشانه‌های حروف لاتین هنگام ارسال پیام + بدون محدودیت + پیام‌ها + برون‌برد پیامک‌ها + فقط می‌توانید به سرشماره‌های عددی مثل 7575 پیام بفرستید؛ نه به سرشماره‌های الفبایی مثل IRANCELL.‏ + فراپیام بارگیری نشد + متأسفانه برای ارسال فراپیام لازم است. عدم امکان ارسال فراپیام، در مقایسه با دیگر برنامه‌ها، کمبود بزرگی به حساب می‌آید؛ بنابراین تصمیم گرفتیم بی‌خیالش نشویم. با این حال، طبق معمول، هیچ تبلیغات، ردیابی یا تحلیل داده‌ای به هیچ وجه در کار نیست؛ اینترنت فقط برای ارسال فراپیام استفاده می‌شود. + افزودن گیرنده + افزودن کلیدواژه‌ی مسدودشده + بله، می‌توانید با نگه‌داشتن دکمه‌ی ارسال و انتخاب تاریخ و ساعت دلخواه، پیام‌ها را برای ارسال در آینده زمان‌بندی کنید. + پیام‌ها + پیام ارسال نشد + پیوست + گفت‌وگویی را آغاز کنید + پاسخ + در حال بارگیری پیام‌ها… + فرستنده، امکان دریافت پاسخ ندارد + پیش‌نویس + در حال ارسال… + سنجاق به بالا + برداشتن سنجاق + ارسال به دیگری + امکان فشرده‌سازی تصویر به اندازه‌ی انتخاب‌شده وجود ندارد + گفت‌وگوی تازه + پیشنهادها + هیچ گفت‌وگویی نداشته اید + نمایش شمارشگر نویسه‌ها هنگام نوشتن پیام + تغییر عنوان گفت‌وگو + پیام زمان‌بندی‌شده + زمان‌بندی پیام + ارسال زمان‌دار + لغو ارسال زمان‌دار + باید زمانی در آینده انتخاب کنید + به‌روزرسانی پیام + همین الآن بفرست + اطلاعات پیام + فرستنده + گیرنده + دریافتی در + ارسالی در + پیامک دریافتی + پیام تازه + خوانده شده + خوانده نشده + من + فقط فرستنده + ارسال پیام با کلید اینتر + \ No newline at end of file From 4c0214c4a2cae4f826e2e21aa7c6352d3cf316fc Mon Sep 17 00:00:00 2001 From: lucasmz Date: Fri, 12 Apr 2024 22:25:35 +0000 Subject: [PATCH 42/92] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index dd4d90ab..e1c32ee4 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -118,5 +118,5 @@ Atualizar mensagem Detalhes da mensagem Não foi possível baixar o MMS - Mensagens Fossify + Mensagens \ No newline at end of file From ae4be909a9dc831f0c58e6ce4569d0ffe8123e6c Mon Sep 17 00:00:00 2001 From: Azizov Aga <895238489@e2t.link> Date: Fri, 12 Apr 2024 20:44:16 +0000 Subject: [PATCH 43/92] Translated using Weblate (Azerbaijani) Currently translated at 20.0% (1 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/az/ --- fastlane/metadata/android/az-AZ/changelogs/1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/az-AZ/changelogs/1.txt diff --git a/fastlane/metadata/android/az-AZ/changelogs/1.txt b/fastlane/metadata/android/az-AZ/changelogs/1.txt new file mode 100644 index 00000000..7ebfe7a5 --- /dev/null +++ b/fastlane/metadata/android/az-AZ/changelogs/1.txt @@ -0,0 +1 @@ +* İlkin buraxılış From cce8fd6ed46d33c4b2026b97dbd7b3f21e73d8a4 Mon Sep 17 00:00:00 2001 From: Alexander Gabilondo Date: Thu, 9 May 2024 21:57:21 +0000 Subject: [PATCH 44/92] Translated using Weblate (Basque) Currently translated at 20.0% (1 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/eu/ --- fastlane/metadata/android/eu-ES/changelogs/1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/eu-ES/changelogs/1.txt diff --git a/fastlane/metadata/android/eu-ES/changelogs/1.txt b/fastlane/metadata/android/eu-ES/changelogs/1.txt new file mode 100644 index 00000000..40a31ce1 --- /dev/null +++ b/fastlane/metadata/android/eu-ES/changelogs/1.txt @@ -0,0 +1 @@ +* Hasierako bertsioa From f51ff006f8ab5fde9815e5cee2eb1a56d1ac889b Mon Sep 17 00:00:00 2001 From: Jeroen Date: Thu, 9 May 2024 10:07:06 +0000 Subject: [PATCH 45/92] Translated using Weblate (Dutch) Currently translated at 60.0% (3 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/nl/ --- fastlane/metadata/android/nl-NL/changelogs/1.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/nl-NL/changelogs/1.txt b/fastlane/metadata/android/nl-NL/changelogs/1.txt index 0b5bb6f7..f324ac48 100644 --- a/fastlane/metadata/android/nl-NL/changelogs/1.txt +++ b/fastlane/metadata/android/nl-NL/changelogs/1.txt @@ -1 +1 @@ -* Eerste uitgave +* Eerste versie From 7dbbe2ba00b5ca23c7d57647ed919a0e9b3c9282 Mon Sep 17 00:00:00 2001 From: Guillaume Date: Thu, 9 May 2024 13:18:28 +0000 Subject: [PATCH 46/92] Translated using Weblate (Dutch) Currently translated at 60.0% (3 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/nl/ --- fastlane/metadata/android/nl-NL/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/nl-NL/short_description.txt b/fastlane/metadata/android/nl-NL/short_description.txt index eee1cf8e..7037345d 100644 --- a/fastlane/metadata/android/nl-NL/short_description.txt +++ b/fastlane/metadata/android/nl-NL/short_description.txt @@ -1 +1 @@ -Open-source en advertentievrij SMS/MMS-berichtenbeheer +Opensource en advertentievrij SMS/MMS-berichtenbeheer From c35819c52d20a63c6555d05f8dcd726ae2f6ae51 Mon Sep 17 00:00:00 2001 From: Umut Solmz Date: Mon, 13 May 2024 13:08:15 +0000 Subject: [PATCH 47/92] Translated using Weblate (Turkish) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/tr/ --- app/src/main/res/values-tr/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 34c80059..a401ccf7 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -21,7 +21,7 @@ Yinelenen öge dahil edilmedi ve %d diğeri - ve %d diğeri + ve %d diğerleri Yeni görüşme Kişi veya Numara Ekle… From 27025e084b3f96c2a4e39d2caf098a048f35143f Mon Sep 17 00:00:00 2001 From: Umut Solmz Date: Mon, 13 May 2024 14:33:00 +0000 Subject: [PATCH 48/92] Translated using Weblate (Turkish) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/tr/ --- .../metadata/android/tr-TR/changelogs/1.txt | 1 + .../metadata/android/tr-TR/changelogs/2.txt | 2 ++ .../android/tr-TR/full_description.txt | 36 +++++++++++++++++++ .../android/tr-TR/short_description.txt | 1 + fastlane/metadata/android/tr-TR/title.txt | 1 + 5 files changed, 41 insertions(+) create mode 100644 fastlane/metadata/android/tr-TR/changelogs/1.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/2.txt create mode 100644 fastlane/metadata/android/tr-TR/full_description.txt create mode 100644 fastlane/metadata/android/tr-TR/short_description.txt create mode 100644 fastlane/metadata/android/tr-TR/title.txt diff --git a/fastlane/metadata/android/tr-TR/changelogs/1.txt b/fastlane/metadata/android/tr-TR/changelogs/1.txt new file mode 100644 index 00000000..4b04c191 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/1.txt @@ -0,0 +1 @@ +* İlk sürüm diff --git a/fastlane/metadata/android/tr-TR/changelogs/2.txt b/fastlane/metadata/android/tr-TR/changelogs/2.txt new file mode 100644 index 00000000..0e6a5abf --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/2.txt @@ -0,0 +1,2 @@ +* Küçük hata düzeltmeleri ve iyileştirmeler +* Bazı çeviriler eklendi diff --git a/fastlane/metadata/android/tr-TR/full_description.txt b/fastlane/metadata/android/tr-TR/full_description.txt new file mode 100644 index 00000000..7c21a329 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/full_description.txt @@ -0,0 +1,36 @@ +Fossify SMS İleti, Sms iletigönderme deneyiminizi çeşitli şekillerde geliştirmek için tasarlanmış güvenilir SMS Haberleşme arkadaşınızdır. + +📱 KOLAYLIKLA BAĞLANTIDA KALIN: +Fossify SMS İleti ile sevdiklerinizle bağlantıda kalmak için zahmetsizce SMS ve MMS iletileri gönderebilirsiniz. SMS/MMS tabanlı grup haberleşmenin keyfini çıkarın ve kendinizi fotoğraflar, emojiler ve hızlı selamlamalarla ifade edin. + +🚫 İSTENMEYEN İLETİLERİ ENGELLEYİN: +Bilinmeyen kişilerden bile gelen istenmeyen iletileri kolayca engelleyen güçlü engelleme özelliği ile haberleşme deneyiminizin kontrolünü elinize alın. Ayrıca sorunsuz yedekleme için engellenen numaraları dışa ve içe aktarabilirsiniz. Ayrıca, belirli kelimeler veya ifadeler içeren iletilerin gelen kutunuza ulaşmasını engelleyerek deneyiminizi özelleştirin. + +🔒 ZAHMETSİZ SMS YEDEKLEME: +Önemli iletileri kaybetme endişesine elveda deyin. Fossify SMS İleti, iletiletilerinizi dışa ve içe aktarmanıza izin vererek kullanışlı SMS yedekleme işlevi sunar. Bu özellik, değerli konuşmalarınızı kaybetmeden kolayca cihaz değiştirebilmenizi sağlar. + +🚀 IŞIK HIZINDA VE HAFİF: +Güçlü özelliklerine rağmen, Fossify SMS İleti oldukça küçük bir uygulama boyutuna sahiptir, bu da indirmeyi ve yüklemeyi hızlı ve kolay hale getirir. SMS yedekleme ile gelen gönül rahatlığının tadını çıkarırken hız ve verimliliği deneyimleyin. + +🔐 GELİŞMİŞ GİZLİLİK: +Daha fazla gizlilik için kilit ekranınızda görünenleri özelleştirin. Yalnızca göndereni, ileti içeriğini veya hiçbir şeyi görüntülemeyi seçin. İletileriniz sizin kontrolünüzde. + +🔍 ETKİLİ İLETİ ARAMA: +Konuşmalar arasında sonsuz kaydırma yapmaya elveda deyin. Fossify SMS İleti, hızlı ve etkili bir arama özelliği ile ileti erişimini basitleştirir. İhtiyacınız olanı, ihtiyacınız olduğunda bulun. + +🌈 MODERN TASARIM VE KULLANICI DOSTU ARAYÜZ: +Kullanıcı dostu bir arayüz ile temiz, modern bir tasarımın keyfini çıkarın. Uygulama, görsel olarak çekici ve rahat bir kullanıcı deneyimi sağlayan materyal bir tasarıma ve koyu tema seçeneğine sahiptir. + +🌐 AÇIK KAYNAK ŞEFFAFLIĞI: +Gizliliğiniz en önemli önceliğimizdir. Fossify Sms İleti, internet bağlantısı gerektirmeden çalışarak ileti güvenliğini ve kararlılığını garanti eder. Uygulamamız tamamen reklamsızdır ve gereksiz izinler talep etmez. Dahası, tamamen açık kaynak kodludur ve güvenlik ve gizlilik denetimleri için kaynak koduna erişiminiz olduğundan içinizin rahat olmasını sağlar. + +Fossify SMS İletiler’e geçiş yapın ve haberleşmeyi olması gerektiği gibi deneyimleyin - özel, verimli ve kullanıcı dostu. Şimdi indirin ve mesajlaşma deneyiminizi korumaya kararlı topluluğumuza katılın. + +Daha fazla Fossify uygulaması keşfedin: +https://www.fossify.org +Açık Kaynak Kodu: +https://www.github.com/FossifyOrg +Reddit'teki topluluğa katılın: +https://www.reddit.com/r/Fossify +Telegram üzerinden bağlanın: +https://t.me/Fossify diff --git a/fastlane/metadata/android/tr-TR/short_description.txt b/fastlane/metadata/android/tr-TR/short_description.txt new file mode 100644 index 00000000..368b3c2c --- /dev/null +++ b/fastlane/metadata/android/tr-TR/short_description.txt @@ -0,0 +1 @@ +Açık kaynaklı ve Reklamsız SMS/MMS mesajlaşma uygulaması diff --git a/fastlane/metadata/android/tr-TR/title.txt b/fastlane/metadata/android/tr-TR/title.txt new file mode 100644 index 00000000..e898b354 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/title.txt @@ -0,0 +1 @@ +Fossify SMS İletiler From 1198a8c4956f3ff67adee412c2ec541c1cd44b9e Mon Sep 17 00:00:00 2001 From: Tom Levy Date: Mon, 18 Mar 2024 14:59:31 +0000 Subject: [PATCH 49/92] Report OutOfMemoryError when importing and exporting messages When importing/exporting large files we can run out of memory, in which case we should display a toast to the user (as we do for other exceptions). Previously, the OutOfMemoryError was not caught because it inherits from Error, not from Exception. (We have to manually call .toString() because Context.showErrorToast() from Commons takes an Exception or a String, not Throwable.) --- .../org/fossify/messages/activities/SettingsActivity.kt | 4 ++-- .../kotlin/org/fossify/messages/helpers/MessagesImporter.kt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt index a31f1eb0..454fd92d 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt @@ -134,8 +134,8 @@ class SettingsActivity : SimpleActivity() { } toast(org.fossify.commons.R.string.exporting_successful) } - } catch (e: Exception) { - showErrorToast(e) + } catch (e: Throwable) { // also catch OutOfMemoryError etc. + showErrorToast(e.toString()) } } } diff --git a/app/src/main/kotlin/org/fossify/messages/helpers/MessagesImporter.kt b/app/src/main/kotlin/org/fossify/messages/helpers/MessagesImporter.kt index 9faa06a6..6f78feb2 100644 --- a/app/src/main/kotlin/org/fossify/messages/helpers/MessagesImporter.kt +++ b/app/src/main/kotlin/org/fossify/messages/helpers/MessagesImporter.kt @@ -32,8 +32,8 @@ class MessagesImporter(private val activity: SimpleActivity) { } else { importJson(uri) } - } catch (e: Exception) { - activity.showErrorToast(e) + } catch (e: Throwable) { // also catch OutOfMemoryError etc. + activity.showErrorToast(e.toString()) } } From 9534a1031a9185556460f7ea68deb68bcca1464e Mon Sep 17 00:00:00 2001 From: Tom Levy Date: Mon, 18 Mar 2024 15:31:42 +0000 Subject: [PATCH 50/92] Delete exported file on error If ActivityResultContracts.CreateDocument launches the native Files app (com.android.documentsui), then it will create the file before the Uri is returned to us. So if we don't complete the export (due to an exception or because there are no messages) we should delete the file, otherwise there will be an empty/incomplete file left behind. --- .../fossify/messages/activities/SettingsActivity.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt index 454fd92d..a66230a8 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt @@ -5,6 +5,7 @@ import android.content.Intent import android.net.Uri import android.os.Build import android.os.Bundle +import android.provider.DocumentsContract import androidx.activity.result.contract.ActivityResultContracts import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json @@ -119,6 +120,7 @@ class SettingsActivity : SimpleActivity() { private fun exportMessages(uri: Uri) { ensureBackgroundThread { + var success = false try { MessagesReader(this).getMessagesToExport(config.exportSms, config.exportMms) { messagesToExport -> if (messagesToExport.isEmpty()) { @@ -132,10 +134,20 @@ class SettingsActivity : SimpleActivity() { outputStream.use { it.write(jsonString.toByteArray()) } + success = true toast(org.fossify.commons.R.string.exporting_successful) } } catch (e: Throwable) { // also catch OutOfMemoryError etc. showErrorToast(e.toString()) + } finally { + if (!success) { + // delete the file to avoid leaving behind an empty/corrupt file + try { + DocumentsContract.deleteDocument(contentResolver, uri) + } catch (ignored: Exception) { + // ignored because we don't want to overwhelm the user with two error messages + } + } } } } From dd2cc7f0e28455d29482ea64abae59eeacde6082 Mon Sep 17 00:00:00 2001 From: Tom Levy Date: Sat, 23 Mar 2024 17:25:54 +0000 Subject: [PATCH 51/92] Refactor extensions/Context.kt slightly No behaviour change. - Simplify insertOrUpdateConversation(), since the previous code was long and hard to follow. - Inline constants into selection queries instead of using '?' arguments. --- .../fossify/messages/extensions/Context.kt | 24 +++++++------------ 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/app/src/main/kotlin/org/fossify/messages/extensions/Context.kt b/app/src/main/kotlin/org/fossify/messages/extensions/Context.kt index 8e18d8d2..fc75f0bc 100644 --- a/app/src/main/kotlin/org/fossify/messages/extensions/Context.kt +++ b/app/src/main/kotlin/org/fossify/messages/extensions/Context.kt @@ -278,11 +278,11 @@ fun Context.getConversations(threadId: Long? = null, privateContacts: ArrayList< projection += Threads.ARCHIVED } - var selection = "${Threads.MESSAGE_COUNT} > ?" - var selectionArgs = arrayOf("0") + var selection = "${Threads.MESSAGE_COUNT} > 0" + var selectionArgs = arrayOf() if (threadId != null) { selection += " AND ${Threads._ID} = ?" - selectionArgs = arrayOf("0", threadId.toString()) + selectionArgs += threadId.toString() } val sortOrder = "${Threads.DATE} DESC" @@ -355,11 +355,10 @@ private fun Context.queryCursorUnsafe( fun Context.getConversationIds(): List { val uri = Uri.parse("${Threads.CONTENT_URI}?simple=true") val projection = arrayOf(Threads._ID) - val selection = "${Threads.MESSAGE_COUNT} > ?" - val selectionArgs = arrayOf("0") + val selection = "${Threads.MESSAGE_COUNT} > 0" val sortOrder = "${Threads.DATE} ASC" val conversationIds = mutableListOf() - queryCursor(uri, projection, selection, selectionArgs, sortOrder, true) { cursor -> + queryCursor(uri, projection, selection, null, sortOrder, true) { cursor -> val id = cursor.getLongValue(Threads._ID) conversationIds.add(id) } @@ -1058,16 +1057,9 @@ fun Context.insertOrUpdateConversation( conversation: Conversation, cachedConv: Conversation? = conversationsDB.getConversationWithThreadId(conversation.threadId) ) { - val updatedConv = if (cachedConv != null) { - val usesCustomTitle = cachedConv.usesCustomTitle - val title = if (usesCustomTitle) { - cachedConv.title - } else { - conversation.title - } - conversation.copy(title = title, usesCustomTitle = usesCustomTitle) - } else { - conversation + var updatedConv = conversation + if (cachedConv != null && cachedConv.usesCustomTitle) { + updatedConv = updatedConv.copy(title = cachedConv.title, usesCustomTitle = cachedConv.usesCustomTitle) } conversationsDB.insertOrUpdate(updatedConv) } From 7e2202b64a27491715169feb3f5eb5bc693b51eb Mon Sep 17 00:00:00 2001 From: Tom Levy Date: Sat, 16 Mar 2024 12:57:26 +0000 Subject: [PATCH 52/92] Fix missing .json file extension when exporting messages Very similar to FossifyOrg/Notes#14 (which has a more detailed commit message). Basically, some file pickers don't automatically append the extension, so we should do it ourselves. It doesn't cause problems. Reported in #88. --- .../kotlin/org/fossify/messages/activities/SettingsActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt index a31f1eb0..f826517d 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt @@ -106,7 +106,7 @@ class SettingsActivity : SimpleActivity() { private fun setupMessagesExport() { binding.settingsExportMessagesHolder.setOnClickListener { ExportMessagesDialog(this) { fileName -> - saveDocument.launch(fileName) + saveDocument.launch("$fileName.json") } } } From b18e8aa11e0f20df1f89e2a21d08cf0e9a984edf Mon Sep 17 00:00:00 2001 From: Tom Levy Date: Sat, 16 Mar 2024 12:53:23 +0000 Subject: [PATCH 53/92] Allow importing files with MIME type "application/octet-stream" Sometimes Android reports the MIME type as "application/octet-stream" even if the file has a .json extension (specifically, on Android 8 and 9 for backups exported outside the Download folder). Previously, such files could not be selected in the file picker when importing. As a workaround, allow files with that MIME type. Fixes #88. --- .../kotlin/org/fossify/messages/activities/SettingsActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt index a31f1eb0..f9c91b03 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt @@ -27,7 +27,7 @@ class SettingsActivity : SimpleActivity() { private var blockedNumbersAtPause = -1 private var recycleBinMessages = 0 private val messagesFileType = "application/json" - private val messageImportFileTypes = listOf("application/json", "application/xml", "text/xml") + private val messageImportFileTypes = listOf("application/json", "application/xml", "text/xml", "application/octet-stream") private val binding by viewBinding(ActivitySettingsBinding::inflate) From a7edeae6f33d82016f35868f7933606485e1bcd7 Mon Sep 17 00:00:00 2001 From: Tom Levy Date: Mon, 18 Mar 2024 17:28:41 +0000 Subject: [PATCH 54/92] Use streams to encode and decode the JSON backups This significantly reduces memory usage. (We buffer the OutputStream because kotlinx.serialization flushes its internal buffers excessively[1]. We also buffer the InputStream for consistency, even though kotlinx.serialization uses adequate buffering; there is no performance impact because BufferedInputStream cascades harmlessly[2].) The functions encodeToStream() and decodeFromStream() are marked as experimental, but this is a pretty fundamental use case so surely it will continue to be supported in the future (maybe with minor changes). Fixes #6. [1] https://github.com/Kotlin/kotlinx.serialization/blob/v1.6.3/formats/json/jvmMain/src/kotlinx/serialization/json/internal/JvmJsonStreams.kt#L46 [2] https://github.com/openjdk/jdk/blob/jdk-23%2B14/src/java.base/share/classes/java/io/BufferedInputStream.java#L339 --- .../fossify/messages/activities/SettingsActivity.kt | 10 ++++------ .../org/fossify/messages/helpers/MessagesImporter.kt | 8 ++++---- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt index a66230a8..b1cf65e6 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt @@ -7,8 +7,8 @@ import android.os.Build import android.os.Bundle import android.provider.DocumentsContract import androidx.activity.result.contract.ActivityResultContracts -import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json +import kotlinx.serialization.json.encodeToStream import org.fossify.commons.activities.ManageBlockedNumbersActivity import org.fossify.commons.dialogs.* import org.fossify.commons.extensions.* @@ -118,6 +118,7 @@ class SettingsActivity : SimpleActivity() { } } + @OptIn(kotlinx.serialization.ExperimentalSerializationApi::class) private fun exportMessages(uri: Uri) { ensureBackgroundThread { var success = false @@ -128,11 +129,8 @@ class SettingsActivity : SimpleActivity() { return@getMessagesToExport } val json = Json { encodeDefaults = true } - val jsonString = json.encodeToString(messagesToExport) - val outputStream = contentResolver.openOutputStream(uri)!! - - outputStream.use { - it.write(jsonString.toByteArray()) + contentResolver.openOutputStream(uri)!!.buffered().use { outputStream -> + json.encodeToStream(messagesToExport, outputStream) } success = true toast(org.fossify.commons.R.string.exporting_successful) diff --git a/app/src/main/kotlin/org/fossify/messages/helpers/MessagesImporter.kt b/app/src/main/kotlin/org/fossify/messages/helpers/MessagesImporter.kt index 6f78feb2..476c2b80 100644 --- a/app/src/main/kotlin/org/fossify/messages/helpers/MessagesImporter.kt +++ b/app/src/main/kotlin/org/fossify/messages/helpers/MessagesImporter.kt @@ -4,6 +4,7 @@ import android.net.Uri import android.util.Xml import kotlinx.serialization.SerializationException import kotlinx.serialization.json.Json +import kotlinx.serialization.json.decodeFromStream import org.fossify.commons.extensions.showErrorToast import org.fossify.commons.extensions.toast import org.fossify.commons.helpers.ensureBackgroundThread @@ -37,13 +38,12 @@ class MessagesImporter(private val activity: SimpleActivity) { } } + @OptIn(kotlinx.serialization.ExperimentalSerializationApi::class) private fun importJson(uri: Uri) { try { - val jsonString = activity.contentResolver.openInputStream(uri)!!.use { inputStream -> - inputStream.bufferedReader().readText() + val deserializedList = activity.contentResolver.openInputStream(uri)!!.buffered().use { inputStream -> + Json.decodeFromStream>(inputStream) } - - val deserializedList = Json.decodeFromString>(jsonString) if (deserializedList.isEmpty()) { activity.toast(org.fossify.commons.R.string.no_entries_for_importing) return From c8112adf306d63015b8e2301cd74a09cb17381c5 Mon Sep 17 00:00:00 2001 From: Dan Date: Tue, 21 May 2024 20:30:37 +0000 Subject: [PATCH 55/92] Translated using Weblate (Ukrainian) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/uk/ --- app/src/main/res/values-uk/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 8f341a2e..b0c83f30 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -110,7 +110,7 @@ Не вдалося надіслати повідомлення, помилка оператора Не вдалося надіслати повідомлення, код помилки: %d Не можна відповідати на такі короткі коди - Ви можете відповідати лише на короткі коди з цифрами, як-от \"503501\", але не на коди, що містять літери та цифри, як-от \"AB-CD0\". + Ви можете відповідати лише на короткі коди з цифрами, як-от «503501», але не на коди, що містять літери та цифри, як-от «AB-CD0». Розмір вкладеного файлу перевищує максимальний ліміт MMS SIM-картка не доступна Не вдалося завантажити MMS From 074ea506de88ad25d808b049f03428bd763d3fca Mon Sep 17 00:00:00 2001 From: VfBFan Date: Wed, 22 May 2024 08:02:50 +0000 Subject: [PATCH 56/92] Translated using Weblate (German) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/de/ --- fastlane/metadata/android/de-DE/full_description.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fastlane/metadata/android/de-DE/full_description.txt b/fastlane/metadata/android/de-DE/full_description.txt index e7ea05ee..7253c597 100644 --- a/fastlane/metadata/android/de-DE/full_description.txt +++ b/fastlane/metadata/android/de-DE/full_description.txt @@ -9,7 +9,7 @@ Mit Fossify Messenger kannst du mühelos SMS- und MMS-Nachrichten versenden, um 🔒 MÜHELOSE SMS-SICHERUNG: Verabschiede dich von der Sorge, wichtige Nachrichten zu verlieren. Fossify Messenger bietet eine praktische SMS-Sicherungsfunktion, mit der du deine Nachrichten exportieren und importieren kannst. Diese Funktion stellt sicher, dass du problemlos das Gerät wechseln kannst, ohne deine wertvollen Unterhaltungen zu verlieren. -🚀 BLITZSCHNELL UND LEICHT: +🚀 BLITZSCHNELL UND SCHLANK: Trotz seiner leistungsstarken Funktionen ist die App von Fossify Messenger bemerkenswert klein, so dass sie schnell und einfach heruntergeladen und installiert werden kann. Erlebe Schnelligkeit und Effizienz und genieße gleichzeitig die Sicherheit, die dir die SMS-Sicherung bietet. 🔐 VERBESSERTE PRIVATSPHÄRE: @@ -18,13 +18,13 @@ Passe an, was auf deinem Sperrbildschirm angezeigt wird, um deine Privatsphäre 🔍 EFFIZIENTE NACHRICHTENSUCHE: Verabschiede dich vom endlosen Scrollen durch Unterhaltungen. Fossify Messenger vereinfacht das Auffinden von Nachrichten mit einer schnellen und effizienten Suchfunktion. Finde, was du brauchst, wann du es brauchst. -🌈 MODERNES DESIGN & BENUTZERFREUNDLICHE OBERFLÄCHE: -Genieße ein sauberes, modernes Design mit einer benutzerfreundlichen Oberfläche. Die App verfügt über ein Material Design und ein dunkles Farbschema, die ein optisch ansprechendes und komfortables Nutzererlebnis bietet. +🌈 MODERNES DESIGN & BEDIENFREUNDLICHE OBERFLÄCHE: +Genieße ein sauberes, modernes Design mit einer bedienfreundlichen Oberfläche. Die App verfügt über ein Material Design und ein dunkles Farbschema, die ein optisch ansprechendes und komfortables Nutzungserlebnis bieten. 🌐 OPEN-SOURCE-TRANSPARENZ: Deine Privatsphäre hat höchste Priorität. Der Fossify Messenger funktioniert ohne Internetverbindung und garantiert so die Sicherheit und Stabilität deiner Nachrichten. Unsere App ist völlig werbefrei und fordert keine unnötigen Berechtigungen an. Außerdem ist sie vollständig quelloffen, was dich beruhigt, da du Zugang zum Quellcode hast, um die Sicherheit und den Datenschutz zu überprüfen. -Steig auf Fossify Messenger um und erlebe Messaging so, wie es sein sollte – privat, effizient und benutzerfreundlich. Lade jetzt herunter und schließe dich unserer Community an, die sich für die Sicherheit deines Messaging-Erlebnisses einsetzt. +Steig auf Fossify Messenger um und erlebe Messaging so, wie es sein sollte – privat, effizient und bedienfreundlich. Lade jetzt herunter und schließe dich unserer Community an, die sich für die Sicherheit deines Messaging-Erlebnisses einsetzt. Entdecke weitere Apps von Fossify: https://www.fossify.org Open-Source-Code: https://www.github.com/FossifyOrg From 6df9cafc9f81ac8a42660a5dc60bb1b29f580725 Mon Sep 17 00:00:00 2001 From: VKing9 Date: Thu, 6 Jun 2024 12:10:23 +0000 Subject: [PATCH 57/92] Translated using Weblate (Hindi (Hinglish)) Currently translated at 20.0% (1 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/hi@hinglish/ --- fastlane/metadata/android/hi@hinglish/title.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/hi@hinglish/title.txt diff --git a/fastlane/metadata/android/hi@hinglish/title.txt b/fastlane/metadata/android/hi@hinglish/title.txt new file mode 100644 index 00000000..1d5049dd --- /dev/null +++ b/fastlane/metadata/android/hi@hinglish/title.txt @@ -0,0 +1 @@ +Fossify SMS Messenger From b6fb2579833a2d9f1882d5a0ca794465ea401df0 Mon Sep 17 00:00:00 2001 From: Alexander Gabilondo Date: Mon, 24 Jun 2024 21:33:09 +0000 Subject: [PATCH 58/92] Translated using Weblate (Basque) Currently translated at 17.7% (19 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/eu/ --- app/src/main/res/values-eu/strings.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 299a7185..ca2ef003 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -9,4 +9,14 @@ Eranskina Ez da gordetako elkarrizketarik aurkitu Hasi elkarrizketa + Zirriborroa + Erantzun + Mezuak kargatzen… + Bidaltzaileak ez ditu erantzunik onartzen + Bidaltzen… + Finkatu goian + Askatu aingura + Erakutsi karaktere-kontagailua mezuak idaztean + Birbidali + Ezin da irudia konprimitu hautatutako tamainara \ No newline at end of file From b8b86634c9f6ddb6a1a9b6be19c002dbc561cf9e Mon Sep 17 00:00:00 2001 From: ERYpTION Date: Sat, 13 Jul 2024 12:02:52 +0000 Subject: [PATCH 59/92] Translated using Weblate (Danish) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/da/ --- app/src/main/res/values-da/strings.xml | 50 +++++++++++++------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 28781de7..ccae2ad2 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -1,6 +1,6 @@ - Meddelelser + Beskeder Skriv en besked… Beskeden blev ikke sendt Blev ikke sendt, tryk for at gensende. @@ -10,7 +10,7 @@ Ingen gemte samtaler er fundet Start en samtale Svar - Vis en karaktertæller ved skrivning af beskeder + Vis en tegntæller ved skrivning af beskeder Henter beskeder… Afsender understøtter ikke svar Udkast @@ -28,25 +28,25 @@ Samtaledetaljer Omdøb samtale Kun du kan se dette samtalenavn - Planlagt meddelelse - Planlæg meddelelse + Planlagt besked + Planlæg besked Planlæg afsendelse Annuler planlagt afsendelse Du skal vælge et tidspunkt i fremtiden Hold telefonen tændt, og sørg for, at der ikke er noget der afbryder appen, mens den er i baggrunden. - Opdater meddelelse + Opdater besked Send nu - Meddelelsesdetaljer + Beskeddetaljer Afsender Modtager Sendt Modtaget Modtag SMS - Ny Besked + Ny besked Marker som læst Marker som ulæst Mig - Aktiver tilpassede meddelelser + Aktiver tilpassede beskeder Fjerne arkivering Slet alle arkiverede samtaler Arkiv @@ -56,9 +56,9 @@ Arkivet er successfuldt blevet tømt Er du sikker på, at du vil tømme arkivet? Alle arkiverede samtaler vil gå permanent tabt. Gendan - Gendan alle meddelelser - Er du sikker på, at du vil tømme papirkurven? Beskederne vil blive permanent tabt. - Brug ikke Papirkurven, slet meddelelse direkte + Gendan alle beskeder + Er du sikker på, at du vil tømme papirkurven? Beskederne vil være permanent tabt. + Brug ikke papirkurven, slet beskeder med det samme Er du sikker på, at du vil slette alle beskeder i denne samtale\? %d samtale @@ -69,25 +69,25 @@ %d beskeder Er du sikker på du vil arkivere %s? - Er du sikker på du vil gendanne alle meddelelser i denne samtale? + Er du sikker på, at du vil gendanne alle beskeder i denne samtale? Er du sikker på du vil gendanne %s? Nøgleord Blokerede nøgleord Administrer blokerede nøgleord - Du blokerer ikke nogen søgeord. Du kan tilføje nøgleord her for at blokere alle meddelelser, der indeholder dem. + Du blokerer ikke nogen søgeord. Du kan tilføje nøgleord her for at blokere alle beskeder, der indeholder dem. Tilføj et blokeret nøgleord - Synlighed af meddelelse på låseskærmen - Afsender og meddelelse + Synlighed af notifikation på låseskærmen + Afsender og besked Kun afsender Aktiver leveringsrapporter - Fjerne accenter og diakritiske tegn ved afsendelse af meddelelser - Send meddelelse når der trykkes Enter + Fjerne accenter og diakritiske tegn ved afsendelse af beskeder + Send besked, når der trykkes Enter Ændr størrelse på MMS-billeder Ingen grænse - Udgående meddelelser - Send gruppemeddelelser som MMS + Udgående beskeder + Send gruppebeskeder som MMS Send lange beskeder som MMS - Meddelelser + Beskeder Eksporter beskeder Eksporter SMS Eksportér MMS @@ -95,12 +95,12 @@ Importer SMS Importér MMS Du skal vælge mindst ét element - Kan ikke sende meddelelse til et tomt nummer - Kan ikke gemme meddelelse i telefonens database - Kunne ikke sende meddelelse, service ikke tilgængelig + Kan ikke sende besked til et tomt nummer + Kan ikke gemme besked i telefonens database + Kunne ikke sende besked, service ikke tilgængelig Kunne ike sende meddelels, radio er slukket - Kunne ikke sende meddelelse; operatørfejl - Kunne ikke sende meddelelse, fejlmeddelelse: %d + Kunne ikke sende besked; operatørfejl + Kunne ikke sende besked, fejlmeddelelse: %d Kan ikke svare på korte koder som denne Du kan kun svare på korte koder med tal som \"503501\", men ikke på koder, der indeholder bogstaver og tal som \"AB-CD0\". Størrelse på vedhæftning overstiger maks From 8a1b75012b25e56d0386141a0e282b3fc71d55bb Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Wed, 24 Jul 2024 16:11:54 +0530 Subject: [PATCH 60/92] Bump GH actions --- .github/workflows/image-minimizer.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/image-minimizer.yml b/.github/workflows/image-minimizer.yml index 567a5377..d9241c33 100644 --- a/.github/workflows/image-minimizer.yml +++ b/.github/workflows/image-minimizer.yml @@ -15,8 +15,6 @@ permissions: jobs: try-minimize: runs-on: ubuntu-latest - permissions: - pull-requests: write steps: - uses: actions/checkout@v4 From 23080debfe39dfbd911bc3ad9f7f0d598d32cb10 Mon Sep 17 00:00:00 2001 From: gardener2 Date: Sat, 24 Aug 2024 17:16:38 -0600 Subject: [PATCH 61/92] Implemented blocking logic on MMS received, for both unknown numbers and keyword filtering --- .../fossify/messages/helpers/ReceiverUtils.kt | 17 +++++ .../fossify/messages/receivers/MmsReceiver.kt | 66 +++++++++++++------ .../fossify/messages/receivers/SmsReceiver.kt | 12 +--- 3 files changed, 63 insertions(+), 32 deletions(-) create mode 100644 app/src/main/kotlin/org/fossify/messages/helpers/ReceiverUtils.kt diff --git a/app/src/main/kotlin/org/fossify/messages/helpers/ReceiverUtils.kt b/app/src/main/kotlin/org/fossify/messages/helpers/ReceiverUtils.kt new file mode 100644 index 00000000..e7d8b483 --- /dev/null +++ b/app/src/main/kotlin/org/fossify/messages/helpers/ReceiverUtils.kt @@ -0,0 +1,17 @@ +package org.fossify.messages.helpers + +import android.content.Context +import org.fossify.messages.extensions.config + +object ReceiverUtils { + + fun isMessageFilteredOut(context: Context, body: String): Boolean { + for (blockedKeyword in context.config.blockedKeywords) { + if (body.contains(blockedKeyword, ignoreCase = true)) { + return true + } + } + + return false + } +} diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/MmsReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/MmsReceiver.kt index b34c9545..c8c1c136 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/MmsReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/MmsReceiver.kt @@ -6,13 +6,14 @@ import android.os.Handler import android.os.Looper import com.bumptech.glide.Glide import com.klinker.android.send_message.MmsReceivedReceiver -import org.fossify.commons.extensions.isNumberBlocked -import org.fossify.commons.extensions.normalizePhoneNumber -import org.fossify.commons.extensions.showErrorToast +import org.fossify.commons.extensions.* +import org.fossify.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.ensureBackgroundThread import org.fossify.messages.R import org.fossify.messages.extensions.* +import org.fossify.messages.helpers.ReceiverUtils.isMessageFilteredOut import org.fossify.messages.helpers.refreshMessages +import org.fossify.messages.models.Message // more info at https://github.com/klinker41/android-smsmms class MmsReceiver : MmsReceivedReceiver() { @@ -27,29 +28,52 @@ class MmsReceiver : MmsReceivedReceiver() { val address = mms.getSender()?.phoneNumbers?.first()?.normalizedNumber ?: "" val size = context.resources.getDimension(R.dimen.notification_large_icon_size).toInt() + val privateCursor = context.getMyContactsCursor(false, true) ensureBackgroundThread { - val glideBitmap = try { - Glide.with(context) - .asBitmap() - .load(mms.attachment!!.attachments.first().getUri()) - .centerCrop() - .into(size, size) - .get() - } catch (e: Exception) { - null - } - - Handler(Looper.getMainLooper()).post { - context.showReceivedMessageNotification(mms.id, address, mms.body, mms.threadId, glideBitmap) - val conversation = context.getConversations(mms.threadId).firstOrNull() ?: return@post - ensureBackgroundThread { - context.insertOrUpdateConversation(conversation) - context.updateUnreadCountBadge(context.conversationsDB.getUnreadConversations()) - refreshMessages() + if (context.baseConfig.blockUnknownNumbers) { + val simpleContactsHelper = SimpleContactsHelper(context) + simpleContactsHelper.exists(address, privateCursor) { exists -> + if (exists) { + handleMmsMessage(context, mms, size, address) + } } + } else { + handleMmsMessage(context, mms, size, address) } } } override fun onError(context: Context, error: String) = context.showErrorToast(context.getString(R.string.couldnt_download_mms)) + + private fun handleMmsMessage( + context: Context, + mms: Message, + size: Int, + address: String + ) { + if (isMessageFilteredOut(context, mms.body)) { + return + } + + val glideBitmap = try { + Glide.with(context) + .asBitmap() + .load(mms.attachment!!.attachments.first().getUri()) + .centerCrop() + .into(size, size) + .get() + } catch (e: Exception) { + null + } + + Handler(Looper.getMainLooper()).post { + context.showReceivedMessageNotification(mms.id, address, mms.body, mms.threadId, glideBitmap) + val conversation = context.getConversations(mms.threadId).firstOrNull() ?: return@post + ensureBackgroundThread { + context.insertOrUpdateConversation(conversation) + context.updateUnreadCountBadge(context.conversationsDB.getUnreadConversations()) + refreshMessages() + } + } + } } diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt index 326cc03c..9ffe81d0 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt @@ -14,6 +14,7 @@ import org.fossify.commons.helpers.ensureBackgroundThread import org.fossify.commons.models.PhoneNumber import org.fossify.commons.models.SimpleContact import org.fossify.messages.extensions.* +import org.fossify.messages.helpers.ReceiverUtils.isMessageFilteredOut import org.fossify.messages.helpers.refreshMessages import org.fossify.messages.models.Message @@ -40,7 +41,6 @@ class SmsReceiver : BroadcastReceiver() { date = System.currentTimeMillis() threadId = context.getThreadId(address) } - if (context.baseConfig.blockUnknownNumbers) { val simpleContactsHelper = SimpleContactsHelper(context) simpleContactsHelper.exists(address, privateCursor) { exists -> @@ -122,14 +122,4 @@ class SmsReceiver : BroadcastReceiver() { } } } - - private fun isMessageFilteredOut(context: Context, body: String): Boolean { - for (blockedKeyword in context.config.blockedKeywords) { - if (body.contains(blockedKeyword, ignoreCase = true)) { - return true - } - } - - return false - } } From c425db736f7699065e3d3100cab8713b97ab7ac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ensar=20Saraj=C4=8Di=C4=87?= Date: Sat, 28 Sep 2024 12:36:38 +0200 Subject: [PATCH 62/92] Add reusable workflows for PRs and testing builds --- .github/workflows/pr.yml | 9 + .github/workflows/testing-build.yml | 10 + app/build.gradle.kts | 9 +- app/detekt-baseline.xml | 428 ++++++ app/lint-baseline.xml | 2178 +++++++++++++++++++++++++++ build.gradle.kts | 1 + gradle/libs.versions.toml | 3 + 7 files changed, 2637 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/pr.yml create mode 100644 .github/workflows/testing-build.yml create mode 100644 app/detekt-baseline.xml create mode 100644 app/lint-baseline.xml diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 00000000..36adc78e --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,9 @@ +name: PR + +on: + pull_request: + branches: [ master ] + +jobs: + call-pr-workflow: + uses: FossifyOrg/.github/.github/workflows/pr.yml@main diff --git a/.github/workflows/testing-build.yml b/.github/workflows/testing-build.yml new file mode 100644 index 00000000..33379f92 --- /dev/null +++ b/.github/workflows/testing-build.yml @@ -0,0 +1,10 @@ +name: Testing build (on PR) + +on: + pull_request: + branches: [ master ] + types: [ labeled, opened, synchronize, reopened ] + +jobs: + call-testing-build-workflow: + uses: FossifyOrg/.github/.github/workflows/testing-build.yml@main diff --git a/app/build.gradle.kts b/app/build.gradle.kts index e866208a..1b2a61be 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -7,6 +7,7 @@ plugins { alias(libs.plugins.kotlinAndroid) alias(libs.plugins.kotlinSerialization) alias(libs.plugins.ksp) + alias(libs.plugins.detekt) } val keystorePropertiesFile: File = rootProject.file("keystore.properties") @@ -92,10 +93,16 @@ android { lint { checkReleaseBuilds = false - abortOnError = false + abortOnError = true + warningsAsErrors = true + baseline = file("lint-baseline.xml") } } +detekt { + baseline = file("detekt-baseline.xml") +} + dependencies { implementation(libs.fossify.commons) implementation(libs.eventbus) diff --git a/app/detekt-baseline.xml b/app/detekt-baseline.xml new file mode 100644 index 00000000..90842d8b --- /dev/null +++ b/app/detekt-baseline.xml @@ -0,0 +1,428 @@ + + + + + ComplexCondition:Activity.kt$contact.rawId > 1000000 && contact.contactId > 1000000 && contact.rawId == contact.contactId && (isPackageInstalled(simpleContacts) || isPackageInstalled(simpleContactsDebug)) + ComplexCondition:NewConversationActivity.kt$NewConversationActivity$(intent.action == Intent.ACTION_SENDTO || intent.action == Intent.ACTION_SEND || intent.action == Intent.ACTION_VIEW) && intent.dataString != null + ComplexCondition:NewConversationActivity.kt$NewConversationActivity$contact.phoneNumbers.any { it.normalizedNumber.contains(searchString, true) } || contact.name.contains(searchString, true) || contact.name.contains(searchString.normalizeString(), true) || contact.name.normalizeString().contains(searchString, true) + CyclomaticComplexMethod:MainActivity.kt$MainActivity$private fun getNewConversations(cachedConversations: ArrayList<Conversation>) + CyclomaticComplexMethod:MessagesImporter.kt$MessagesImporter$private fun InputStream.importXml() + CyclomaticComplexMethod:NotificationHelper.kt$NotificationHelper$@SuppressLint("NewApi") fun showMessageNotification( messageId: Long, address: String, body: String, threadId: Long, bitmap: Bitmap?, sender: String?, alertOnlyOnce: Boolean = false ) + CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$@SuppressLint("MissingPermission") private fun getThreadItems(): ArrayList<ThreadItem> + CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$private fun refreshMenuItems() + CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$private fun setupButtons() + CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$private fun setupThread() + EmptyCatchBlock:Context.kt${ } + EmptyCatchBlock:MessagesWriter.kt$MessagesWriter${ } + EmptyFunctionBlock:ArchivedConversationsAdapter.kt$ArchivedConversationsAdapter${} + EmptyFunctionBlock:BaseConversationsAdapter.kt$BaseConversationsAdapter${} + EmptyFunctionBlock:ContactsAdapter.kt$ContactsAdapter${} + EmptyFunctionBlock:ManageBlockedKeywordsAdapter.kt$ManageBlockedKeywordsAdapter${} + EmptyFunctionBlock:RecycleBinConversationsAdapter.kt$RecycleBinConversationsAdapter${} + EmptyFunctionBlock:SearchResultsAdapter.kt$SearchResultsAdapter${} + EmptyFunctionBlock:ThreadActivity.kt$ThreadActivity.<no name provided>${} + EmptyFunctionBlock:ThreadAdapter.kt$ThreadAdapter${} + ForbiddenComment:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$// TODO: Need to check whether SC still trying to deliver the SMS to destination and will send the report again? + FunctionParameterNaming:Config.kt$Config$SIMId: Int + LargeClass:ThreadActivity.kt$ThreadActivity : SimpleActivity + LongMethod:Context.kt$fun Context.getConversations(threadId: Long? = null, privateContacts: ArrayList<SimpleContact> = ArrayList()): ArrayList<Conversation> + LongMethod:Context.kt$fun Context.getMMS(threadId: Long? = null, getImageResolutions: Boolean = false, sortOrder: String? = null, dateFrom: Int = -1): ArrayList<Message> + LongMethod:Context.kt$fun Context.getMessages( threadId: Long, getImageResolutions: Boolean, dateFrom: Int = -1, includeScheduledMessages: Boolean = true, limit: Int = MESSAGES_LIMIT ): ArrayList<Message> + LongMethod:MessagesReader.kt$MessagesReader$private fun getMmsMessages(threadIds: List<Long>, includeTextOnlyAttachment: Boolean = false): List<MmsBackup> + LongMethod:NotificationHelper.kt$NotificationHelper$@SuppressLint("NewApi") fun showMessageNotification( messageId: Long, address: String, body: String, threadId: Long, bitmap: Bitmap?, sender: String?, alertOnlyOnce: Boolean = false ) + LongMethod:ThreadActivity.kt$ThreadActivity$private fun setupAttachmentPickerView() + LongMethod:ThreadActivity.kt$ThreadActivity$private fun setupButtons() + LongMethod:ThreadActivity.kt$ThreadActivity$private fun setupThread() + LongParameterList:AttachmentPreviews.kt$( activity: Activity, uri: Uri, attachment: Boolean = false, onClick: (() -> Unit)? = null, onLongClick: (() -> Unit)? = null, onVCardLoaded: (() -> Unit)? = null, ) + LongParameterList:AttachmentPreviews.kt$( uri: Uri, title: String, mimeType: String, onClick: (() -> Unit)? = null, onLongClick: (() -> Unit)? = null, onRemoveButtonClicked: (() -> Unit)? = null ) + LongParameterList:Context.kt$( address: String, subject: String, body: String, date: Long, read: Int, threadId: Long, type: Int, subscriptionId: Int ) + LongParameterList:Context.kt$( uri: Uri, projection: Array<String>, selection: String? = null, selectionArgs: Array<String>? = null, sortOrder: String? = null, callback: (cursor: Cursor) -> Unit ) + LongParameterList:MessagingUtils.kt$MessagingUtils$( subId: Int, dest: String, text: String, timestamp: Long, threadId: Long, status: Int = Sms.STATUS_NONE, type: Int = Sms.MESSAGE_TYPE_OUTBOX, messageId: Long? = null ) + LongParameterList:NotificationHelper.kt$NotificationHelper$( messageId: Long, address: String, body: String, threadId: Long, bitmap: Bitmap?, sender: String?, alertOnlyOnce: Boolean = false ) + LongParameterList:SmsReceiver.kt$SmsReceiver$( context: Context, address: String, subject: String, body: String, date: Long, read: Int, threadId: Long, type: Int, subscriptionId: Int, status: Int ) + LongParameterList:SmsSender.kt$SmsSender$( subId: Int, dest: String, messages: ArrayList<String>, serviceCenter: String?, requireDeliveryReport: Boolean, messageUri: Uri ) + LongParameterList:SmsSender.kt$SmsSender$( subId: Int, destination: String, body: String, serviceCenter: String?, requireDeliveryReport: Boolean, messageUri: Uri ) + MagicNumber:Activity.kt$1000000 + MagicNumber:BaseConversationsAdapter.kt$BaseConversationsAdapter$0.7f + MagicNumber:BaseConversationsAdapter.kt$BaseConversationsAdapter$0.8f + MagicNumber:BaseConversationsAdapter.kt$BaseConversationsAdapter$0.9f + MagicNumber:BaseConversationsAdapter.kt$BaseConversationsAdapter$1.2f + MagicNumber:ContactsAdapter.kt$ContactsAdapter$1.2f + MagicNumber:Context.kt$10 + MagicNumber:Context.kt$1000 + MagicNumber:Context.kt$1000L + MagicNumber:Context.kt$500L + MagicNumber:ImageCompressor.kt$ImageCompressor$0.6f + MagicNumber:ImageCompressor.kt$ImageCompressor$100 + MagicNumber:ImageCompressor.kt$ImageCompressor$180f + MagicNumber:ImageCompressor.kt$ImageCompressor$270f + MagicNumber:ImageCompressor.kt$ImageCompressor$3 + MagicNumber:ImageCompressor.kt$ImageCompressor$30 + MagicNumber:ImageCompressor.kt$ImageCompressor$56 + MagicNumber:ImageCompressor.kt$ImageCompressor$6 + MagicNumber:ImageCompressor.kt$ImageCompressor$8 + MagicNumber:ImageCompressor.kt$ImageCompressor$90f + MagicNumber:MainActivity.kt$MainActivity$30 + MagicNumber:Message.kt$Message$1000L + MagicNumber:Message.kt$Message.Companion$31 + MagicNumber:MessageDetailsDialog.kt$MessageDetailsDialog$1000L + MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$3 + MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$4 + MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$5 + MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$6 + MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$7 + MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$8 + MagicNumber:ScheduleMessageDialog.kt$ScheduleMessageDialog$23 + MagicNumber:ScheduleMessageDialog.kt$ScheduleMessageDialog$5 + MagicNumber:ScheduleMessageDialog.kt$ScheduleMessageDialog$59 + MagicNumber:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$3000 + MagicNumber:SearchResultsAdapter.kt$SearchResultsAdapter$0.8f + MagicNumber:SearchResultsAdapter.kt$SearchResultsAdapter$0.9f + MagicNumber:SearchResultsAdapter.kt$SearchResultsAdapter$1.2f + MagicNumber:SettingsActivity.kt$SettingsActivity$3 + MagicNumber:SettingsActivity.kt$SettingsActivity$4 + MagicNumber:SettingsActivity.kt$SettingsActivity$5 + MagicNumber:SettingsActivity.kt$SettingsActivity$6 + MagicNumber:SettingsActivity.kt$SettingsActivity$7 + MagicNumber:SmsReceiver.kt$SmsReceiver$1000 + MagicNumber:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$0x03 + MagicNumber:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$0x3f + MagicNumber:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$16 + MagicNumber:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$24 + MagicNumber:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$3 + MagicNumber:ThreadActivity.kt$ThreadActivity$0.4f + MagicNumber:ThreadActivity.kt$ThreadActivity$0.9f + MagicNumber:ThreadActivity.kt$ThreadActivity$1000 + MagicNumber:ThreadActivity.kt$ThreadActivity$1000L + MagicNumber:ThreadActivity.kt$ThreadActivity$14 + MagicNumber:ThreadActivity.kt$ThreadActivity$15 + MagicNumber:ThreadActivity.kt$ThreadActivity$150 + MagicNumber:ThreadActivity.kt$ThreadActivity$16 + MagicNumber:ThreadActivity.kt$ThreadActivity$2 + MagicNumber:ThreadActivity.kt$ThreadActivity$20 + MagicNumber:ThreadActivity.kt$ThreadActivity$30 + MagicNumber:ThreadActivity.kt$ThreadActivity$300 + MagicNumber:ThreadActivity.kt$ThreadActivity$500L + MagicNumber:ThreadAdapter.kt$ThreadAdapter$0.8f + MagicNumber:ThreadAdapter.kt$ThreadAdapter$4 + MagicNumber:VCardViewerAdapter.kt$VCardViewerAdapter.VCardContactViewHolder$1.1f + MagicNumber:VCardViewerAdapter.kt$VCardViewerAdapter.VCardPropertyViewHolder$1.1f + MatchingDeclarationName:ThreadItems.kt$ThreadItem + MaxLineLength:AddBlockedKeywordDialog.kt$AddBlockedKeywordDialog$class + MaxLineLength:ArchivedConversationsAdapter.kt$ArchivedConversationsAdapter$val conversationsToRemove = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation> + MaxLineLength:ArchivedConversationsAdapter.kt$ArchivedConversationsAdapter$val conversationsToUnarchive = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation> + MaxLineLength:AttachmentPreviews.kt$vcardAttachmentHolder + MaxLineLength:AttachmentPreviews.kt$vcardSubtitle.text = context.resources.getQuantityString(R.plurals.and_other_contacts, quantity, quantity) + MaxLineLength:AttachmentsAdapter.kt$AttachmentsAdapter$onClick = { activity.launchViewIntent(attachment.uri, attachment.mimetype, attachment.filename) } + MaxLineLength:AttachmentsAdapter.kt$AttachmentsAdapter.<no name provided>$override + MaxLineLength:AutoCompleteTextViewAdapter.kt$AutoCompleteTextViewAdapter$class + MaxLineLength:BaseConversationsAdapter.kt$BaseConversationsAdapter$SimpleContactsHelper(activity).loadContactImage(conversation.photoUri, conversationImage, conversation.title, placeholder) + MaxLineLength:BaseConversationsAdapter.kt$BaseConversationsAdapter$protected fun getSelectedItems() + MaxLineLength:BaseConversationsAdapter.kt$BaseConversationsAdapter.<no name provided>$override fun onItemRangeMoved(fromPosition: Int, toPosition: Int, itemCount: Int) + MaxLineLength:Config.kt$Config$set(lockScreenVisibilitySetting) = prefs.edit().putInt(LOCK_SCREEN_VISIBILITY, lockScreenVisibilitySetting).apply() + MaxLineLength:Constants.kt$/** Not to be used with real messages persisted in the telephony db. This is for internal use only (e.g. scheduled messages, notification ids etc). */ + MaxLineLength:ContactsAdapter.kt$ContactsAdapter$activity: SimpleActivity + MaxLineLength:Context.kt$for + MaxLineLength:Context.kt$fun + MaxLineLength:Context.kt$if + MaxLineLength:Context.kt$selection = "${Sms.DATE} < ${dateFrom.toLong()}" + MaxLineLength:Context.kt$val attachment = Attachment(partId, id, Uri.withAppendedPath(uri, partId.toString()).toString(), mimetype, 0, 0, attachmentName) + MaxLineLength:Context.kt$val contact = SimpleContact(addressId, addressId, name, photoUri, arrayListOf(phoneNumber), ArrayList(), ArrayList()) + MaxLineLength:Context.kt$val conversation = Conversation(id, snippet, date.toInt(), read, title, photoUri, isGroupConversation, phoneNumbers.first(), isArchived = archived) + MaxLineLength:Context.kt$val photoUri = if (phoneNumbers.size == 1) simpleContactHelper.getPhotoUriFromPhoneNumber(phoneNumbers.first()) else "" + MaxLineLength:Context.kt$val privateContact = privateContacts.firstOrNull { it.phoneNumbers.first().normalizedNumber == senderNumber } + MaxLineLength:ConversationDetailsActivity.kt$ConversationDetailsActivity$setupMaterialScrollListener(scrollingView = binding.participantsRecyclerview, toolbar = binding.conversationDetailsToolbar) + MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$findItem(R.id.cab_block_number).title = activity.addLockedLabelIfNeeded(org.fossify.commons.R.string.block_number) + MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$findItem(R.id.cab_dial_number).isVisible = isSingleSelection && !isGroupConversation && !isShortCodeWithLetters(selectedConversation.phoneNumber) + MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$menu.findItem(R.id.cab_pin_conversation).isVisible = selectedConversations.any { !pinnedConversations.contains(it.threadId.toString()) } + MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$menu.findItem(R.id.cab_unpin_conversation).isVisible = selectedConversations.any { pinnedConversations.contains(it.threadId.toString()) } + MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$val conversationsMarkedAsRead = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation> + MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$val conversationsMarkedAsUnread = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation> + MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$val conversationsToRemove = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation> + MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$val question = String.format(resources.getString(org.fossify.commons.R.string.block_confirmation), numbersString) + MaxLineLength:ConversationsDao.kt$ConversationsDao$@Query("SELECT (SELECT body FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL AND messages.thread_id = conversations.thread_id ORDER BY messages.date DESC LIMIT 1) as new_snippet, * FROM conversations WHERE (SELECT COUNT(*) FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL AND messages.thread_id = conversations.thread_id) > 0") + MaxLineLength:ConversationsDao.kt$ConversationsDao$@Query("SELECT (SELECT body FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NULL AND messages.thread_id = conversations.thread_id ORDER BY messages.date DESC LIMIT 1) as new_snippet, * FROM conversations WHERE archived = 0") + MaxLineLength:ConversationsDao.kt$ConversationsDao$@Query("SELECT (SELECT body FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NULL AND messages.thread_id = conversations.thread_id ORDER BY messages.date DESC LIMIT 1) as new_snippet, * FROM conversations WHERE archived = 1") + MaxLineLength:DirectReplyReceiver.kt$DirectReplyReceiver$context.notificationHelper.showMessageNotification(messageId, address, body, threadId, bitmap, sender = null, alertOnlyOnce = true) + MaxLineLength:DirectReplyReceiver.kt$DirectReplyReceiver$val message = context.getMessages(threadId, getImageResolutions = false, includeScheduledMessages = false, limit = 1).lastOrNull() + MaxLineLength:Gson.kt$private val gsonBuilder = GsonBuilder().registerTypeAdapter(object : TypeToken<Map<String, Any>>() {}.type, MapDeserializerDoubleAsIntFix()) + MaxLineLength:HeadlessSmsSendService.kt$HeadlessSmsSendService$val number = Uri.decode(intent.dataString!!.removePrefix("sms:").removePrefix("smsto:").removePrefix("mms").removePrefix("mmsto:").trim()) + MaxLineLength:ImageCompressor.kt$ImageCompressor$fun + MaxLineLength:ImageCompressor.kt$ImageCompressor$private + MaxLineLength:ImageCompressor.kt$ImageCompressor$var imageFile = File(outputDirectory, System.currentTimeMillis().toString().plus(mimeType.getExtensionFromMimeType())) + MaxLineLength:MainActivity.kt$MainActivity$(drawable as LayerDrawable).findDrawableByLayerId(org.fossify.commons.R.id.shortcut_plus_background).applyColorFilter(appIconColor) + MaxLineLength:MainActivity.kt$MainActivity$// there are no cached conversations on the first run so we show the loading placeholder and progress until we are done loading from telephony + MaxLineLength:MainActivity.kt$MainActivity$// while SEND_SMS and READ_SMS permissions are mandatory, READ_CONTACTS is optional. If we don't have it, we just won't be able to show the contact name in some cases + MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_2_title_commons, org.fossify.commons.R.string.faq_2_text_commons)) + MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_6_title_commons, org.fossify.commons.R.string.faq_6_text_commons)) + MaxLineLength:MainActivity.kt$MainActivity$val searchResult = SearchResult(-1, conversation.title, conversation.phoneNumber, date, conversation.threadId, conversation.photoUri) + MaxLineLength:MainActivity.kt$MainActivity$val searchResult = SearchResult(message.id, recipient, message.body, date, message.threadId, message.senderPhotoUri) + MaxLineLength:ManageBlockedKeywordsActivity.kt$ManageBlockedKeywordsActivity$ManageBlockedKeywordsAdapter + MaxLineLength:ManageBlockedKeywordsActivity.kt$ManageBlockedKeywordsActivity$setupMaterialScrollListener(scrollingView = binding.manageBlockedKeywordsList, toolbar = binding.blockKeywordsToolbar) + MaxLineLength:MessagesDao.kt$MessagesDao$@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL AND recycle_bin_messages.deleted_ts < :timestamp") + MaxLineLength:MessagesDao.kt$MessagesDao$@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL AND thread_id = :threadId") + MaxLineLength:MessagesDao.kt$MessagesDao$@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL") + MaxLineLength:MessagesDao.kt$MessagesDao$@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NULL AND thread_id = :threadId AND is_scheduled = 1") + MaxLineLength:MessagesDao.kt$MessagesDao$@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NULL AND thread_id = :threadId") + MaxLineLength:MessagesDatabase.kt$MessagesDatabase$@Database(entities = [Conversation::class, Attachment::class, MessageAttachment::class, Message::class, RecycleBinMessage::class], version = 8) + MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion$db + MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$"INSERT OR IGNORE INTO conversations_new (thread_id, snippet, date, read, title, photo_uri, is_group_conversation, phone_number) " + MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$"SELECT thread_id, snippet, date, read, title, photo_uri, is_group_conversation, phone_number FROM conversations" + MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE TABLE IF NOT EXISTS `attachments` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `message_id` INTEGER NOT NULL, `uri_string` TEXT NOT NULL, `mimetype` TEXT NOT NULL, `width` INTEGER NOT NULL, `height` INTEGER NOT NULL, `filename` TEXT NOT NULL)") + MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE TABLE IF NOT EXISTS `message_attachments` (`id` INTEGER PRIMARY KEY NOT NULL, `text` TEXT NOT NULL, `attachments` TEXT NOT NULL)") + MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE TABLE IF NOT EXISTS `messages` (`id` INTEGER PRIMARY KEY NOT NULL, `body` TEXT NOT NULL, `type` INTEGER NOT NULL, `participants` TEXT NOT NULL, `date` INTEGER NOT NULL, `read` INTEGER NOT NULL, `thread_id` INTEGER NOT NULL, `is_mms` INTEGER NOT NULL, `attachment` TEXT, `sender_name` TEXT NOT NULL, `sender_photo_uri` TEXT NOT NULL, `subscription_id` INTEGER NOT NULL)") + MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE TABLE IF NOT EXISTS `recycle_bin_messages` (`id` INTEGER NOT NULL PRIMARY KEY, `deleted_ts` INTEGER NOT NULL)") + MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE TABLE conversations_new (`thread_id` INTEGER NOT NULL PRIMARY KEY, `snippet` TEXT NOT NULL, `date` INTEGER NOT NULL, `read` INTEGER NOT NULL, `title` TEXT NOT NULL, `photo_uri` TEXT NOT NULL, `is_group_conversation` INTEGER NOT NULL, `phone_number` TEXT NOT NULL)") + MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE UNIQUE INDEX IF NOT EXISTS `index_conversations_id` ON `conversations` (`thread_id`)") + MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE UNIQUE INDEX IF NOT EXISTS `index_recycle_bin_messages_id` ON `recycle_bin_messages` (`id`)") + MaxLineLength:MessagesImporter.kt$MessagesImporter$messagesFailed > 0 && messagesImported > 0 -> activity.toast(org.fossify.commons.R.string.importing_some_entries_failed) + MaxLineLength:MessagesReader.kt$MessagesReader$parts.add(MmsPart(contentDisposition, charset, contentId, contentLocation, contentType, ctStart, ctType, filename, name, sequenceOrder, text, data)) + MaxLineLength:MessagesReader.kt$MessagesReader$smsList.add(SmsBackup(subscriptionId, address, body, date, dateSent, locked, protocol, read, status, type, serviceCenter)) + MaxLineLength:MessagesReader.kt$MessagesReader$val partUri = if (isQPlus()) Mms.Part.CONTENT_URI.buildUpon().appendPath(partId.toString()).build() else Uri.parse("content://mms/part/$partId") + MaxLineLength:MessagesReader.kt$MessagesReader$val uri = if (isRPlus()) Mms.Addr.getAddrUriForMessage(messageId.toString()) else Uri.parse("content://mms/$messageId/addr") + MaxLineLength:MessagesWriter.kt$MessagesWriter$// 2. write parts - parts depend on the msg id, check if part exist before writing, write data if it is a non-text part + MaxLineLength:MessagesWriter.kt$MessagesWriter$val addressUri = if (isRPlus()) Mms.Addr.getAddrUriForMessage(messageId.toString()) else Uri.parse("content://mms/$messageId/addr") + MaxLineLength:MessagesWriter.kt$MessagesWriter$val selection = "${Mms.Part.CONTENT_LOCATION} = ? AND ${Mms.Part.CONTENT_TYPE} = ? AND ${Mms.Part.MSG_ID} = ? AND ${Mms.Part.CONTENT_ID} = ?" + MaxLineLength:MessagesWriter.kt$MessagesWriter$val selectionArgs = arrayOf(mmsBackup.date.toString(), mmsBackup.dateSent.toString(), threadId.toString(), mmsBackup.messageBox.toString()) + MaxLineLength:MessagesWriter.kt$MessagesWriter$val selectionArgs = arrayOf(mmsPart.contentLocation.toString(), mmsPart.contentType, messageId.toString(), mmsPart.contentId.toString()) + MaxLineLength:Messaging.kt$* + MaxLineLength:Messaging.kt$fun + MaxLineLength:Messaging.kt$messagingUtils.sendSmsMessage(text, addresses.toSet(), settings.subscriptionId, settings.deliveryReports, messageId) + MaxLineLength:MessagingUtils.kt$MessagingUtils$context.showErrorToast(e.localizedMessage ?: context.getString(org.fossify.commons.R.string.unknown_error_occurred)) + MaxLineLength:MessagingUtils.kt$MessagingUtils$fun + MaxLineLength:MmsPart.kt$MmsPart$return !(text != null || contentType.lowercase().startsWith("text") || contentType.lowercase() == "application/smil") + MaxLineLength:MmsReceiver.kt$MmsReceiver$override fun onError(context: Context, error: String) + MaxLineLength:NewConversationActivity.kt$NewConversationActivity$// READ_CONTACTS permission is not mandatory, but without it we won't be able to show any suggestions during typing + MaxLineLength:NewConversationActivity.kt$NewConversationActivity$SimpleContactsHelper(this@NewConversationActivity).loadContactImage(contact.photoUri, suggestedContactImage, contact.name) + MaxLineLength:NewConversationActivity.kt$NewConversationActivity$if + MaxLineLength:NewConversationActivity.kt$NewConversationActivity$items.add(RadioItem(index, "${phoneNumber.normalizedNumber} ($type)", phoneNumber.normalizedNumber)) + MaxLineLength:NewConversationActivity.kt$NewConversationActivity$val number = intent.dataString!!.removePrefix("sms:").removePrefix("smsto:").removePrefix("mms").removePrefix("mmsto:").replace("+", "%2b").trim() + MaxLineLength:NewConversationActivity.kt$NewConversationActivity$} + MaxLineLength:NotificationHelper.kt$NotificationHelper$PendingIntent.getActivity(context, notificationId, contentIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE) + MaxLineLength:NotificationHelper.kt$NotificationHelper$PendingIntent.getBroadcast(context, notificationId, deleteSmsIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE) + MaxLineLength:NotificationHelper.kt$NotificationHelper$PendingIntent.getBroadcast(context, notificationId, markAsReadIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE) + MaxLineLength:NotificationHelper.kt$NotificationHelper$builder.addAction(org.fossify.commons.R.drawable.ic_check_vector, context.getString(R.string.mark_as_read), markAsReadPendingIntent) + MaxLineLength:NotificationHelper.kt$NotificationHelper$private + MaxLineLength:NotificationHelper.kt$NotificationHelper$val activeStyle = NotificationCompat.MessagingStyle.extractMessagingStyleFromNotification(currentNotification.notification) + MaxLineLength:NotificationHelper.kt$NotificationHelper$val contentPendingIntent = PendingIntent.getActivity(context, notificationId, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE) + MaxLineLength:RecycleBinConversationsAdapter.kt$RecycleBinConversationsAdapter$val conversationsToRemove = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation> + MaxLineLength:ScheduleMessageDialog.kt$ScheduleMessageDialog$activity + MaxLineLength:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$context.showErrorToast(e.localizedMessage ?: context.getString(org.fossify.commons.R.string.unknown_error_occurred)) + MaxLineLength:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$val wakelock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "simple.messenger:scheduled.message.receiver") + MaxLineLength:SearchResult.kt$SearchResult + MaxLineLength:SearchResultsAdapter.kt$SearchResultsAdapter$SimpleContactsHelper(activity).loadContactImage(searchResult.photoUri, searchResultImage, searchResult.title) + MaxLineLength:SearchResultsAdapter.kt$SearchResultsAdapter$activity: SimpleActivity + MaxLineLength:SettingsActivity.kt$SettingsActivity$ConfirmationDialog(this@SettingsActivity, "", confirmationTextId, org.fossify.commons.R.string.ok, 0) { } + MaxLineLength:SettingsActivity.kt$SettingsActivity$private + MaxLineLength:SettingsActivity.kt$SettingsActivity$settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus()) + MaxLineLength:SmsReceiver.kt$SmsReceiver$handleMessage(context, address, subject, body, date, read, threadId, type, subscriptionId, status) + MaxLineLength:SmsReceiver.kt$SmsReceiver$val newMessageId = context.insertNewSMS(address, subject, body, date, read, threadId, type, subscriptionId) + MaxLineLength:SmsReceiver.kt$SmsReceiver$val participant = SimpleContact(0, 0, senderName, photoUri, arrayListOf(phoneNumber), ArrayList(), ArrayList()) + MaxLineLength:SmsSender.kt$SmsSender$val intent = Intent(SendStatusReceiver.SMS_DELIVERED_ACTION, requestUri, app, SmsStatusDeliveredReceiver::class.java) + MaxLineLength:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$// TODO: Need to check whether SC still trying to deliver the SMS to destination and will send the report again? + MaxLineLength:ThreadActivity.kt$ThreadActivity$(selectedContactBg as LayerDrawable).findDrawableByLayerId(R.id.selected_contact_bg).applyColorFilter(properPrimaryColor) + MaxLineLength:ThreadActivity.kt$ThreadActivity$// do not show the date/time above every message, only if the difference between the 2 messages is at least MIN_DATE_TIME_DIFF_SECS, + MaxLineLength:ThreadActivity.kt$ThreadActivity$CAPTURE_VIDEO_INTENT, PICK_DOCUMENT_INTENT, CAPTURE_AUDIO_INTENT, PICK_PHOTO_INTENT, PICK_VIDEO_INTENT -> addAttachment(data) + MaxLineLength:ThreadActivity.kt$ThreadActivity$binding.messageHolder.scheduledMessageButton.text + MaxLineLength:ThreadActivity.kt$ThreadActivity$binding.messageHolder.threadSelectSimNumber.text = (availableSIMCards[currentSIMCardIndex].id).toString() + MaxLineLength:ThreadActivity.kt$ThreadActivity$deleteMessages = { messages, toRecycleBin, fromRecycleBin -> deleteMessages(messages, toRecycleBin, fromRecycleBin) } + MaxLineLength:ThreadActivity.kt$ThreadActivity$findItem(R.id.add_number_to_contact).isVisible + MaxLineLength:ThreadActivity.kt$ThreadActivity$findItem(R.id.archive).isVisible = threadItems.isNotEmpty() && conversation?.isArchived == false && !isRecycleBin && archiveAvailable + MaxLineLength:ThreadActivity.kt$ThreadActivity$findItem(R.id.rename_conversation).isVisible = participants.size > 1 && conversation != null && !isRecycleBin + MaxLineLength:ThreadActivity.kt$ThreadActivity$findItem(R.id.unarchive).isVisible = threadItems.isNotEmpty() && conversation?.isArchived == true && !isRecycleBin && archiveAvailable + MaxLineLength:ThreadActivity.kt$ThreadActivity$if + MaxLineLength:ThreadActivity.kt$ThreadActivity$it.height = metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT)!!.toInt() + MaxLineLength:ThreadActivity.kt$ThreadActivity$it.width = metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH)!!.toInt() + MaxLineLength:ThreadActivity.kt$ThreadActivity$launchActivityForResult(this, PICK_SAVE_FILE_INTENT, error = org.fossify.commons.R.string.system_service_disabled) + MaxLineLength:ThreadActivity.kt$ThreadActivity$messages = messages.filter { !recycledMessages.contains(it.id) }.toMutableList() as ArrayList<Message> + MaxLineLength:ThreadActivity.kt$ThreadActivity$private + MaxLineLength:ThreadActivity.kt$ThreadActivity$privateContacts.firstOrNull { it.doesHavePhoneNumber(participant.phoneNumbers.first().normalizedNumber) } + MaxLineLength:ThreadActivity.kt$ThreadActivity$updateMaterialActivityViews(binding.threadCoordinator, null, useTransparentNavigation = false, useTopSearchMenu = false) + MaxLineLength:ThreadActivity.kt$ThreadActivity$val contact = SimpleContact(number.hashCode(), number.hashCode(), number, "", arrayListOf(phoneNumber), ArrayList(), ArrayList()) + MaxLineLength:ThreadActivity.kt$ThreadActivity$val firstRowWidth = parentWidth - resources.getDimension(org.fossify.commons.R.dimen.normal_icon_size).toInt() + sideMargin / 2 + MaxLineLength:ThreadActivity.kt$ThreadActivity$val isSentFromDifferentKnownSIM = prevSIMId != -1 && message.subscriptionId != -1 && prevSIMId != message.subscriptionId + MaxLineLength:ThreadActivity.kt$ThreadActivity$val question = String.format(resources.getString(org.fossify.commons.R.string.block_confirmation), numbersString) + MaxLineLength:ThreadActivity.kt$ThreadActivity$val shouldScrollToBottom = currentList.lastOrNull() != threadItems.lastOrNull() && lastPosition - lastVisiblePosition == 1 + MaxLineLength:ThreadActivity.kt$ThreadActivity$val subscriptionId = availableSIMCards.getOrNull(currentSIMCardIndex)?.subscriptionId ?: SmsManager.getDefaultSmsSubscriptionId() + MaxLineLength:ThreadActivity.kt$ThreadActivity.<no name provided>$override fun onProgress(insets: WindowInsetsCompat, runningAnimations: MutableList<WindowInsetsAnimationCompat>) + MaxLineLength:ThreadActivity.kt$ThreadActivity.<no name provided>$val isCloseToBottom = lastVisibleItemPosition >= getOrCreateThreadAdapter().itemCount - SCROLL_TO_BOTTOM_FAB_LIMIT + MaxLineLength:ThreadAdapter.kt$ThreadAdapter$// not sure how we can get UnknownFormatConversionException here, so show the error and hope that someone reports it + MaxLineLength:ThreadAdapter.kt$ThreadAdapter$mimetype.isImageMimeType() || mimetype.isVideoMimeType() -> setupImageView(holder, binding = this, message, attachment) + MaxLineLength:ThreadAdapter.kt$ThreadAdapter$mimetype.isVCardMimeType() -> setupVCardView(holder, threadMessageAttachmentsHolder, message, attachment) + MaxLineLength:ThreadAdapter.kt$ThreadAdapter$private + MaxLineLength:ThreadAdapter.kt$ThreadAdapter$private fun getSelectedItems() + MaxLineLength:ThreadAdapter.kt$ThreadAdapter$text = dateTime.date.formatDateOrTime(context, hideTimeAtOtherDays = false, showYearEvenIfCurrent = false) + MaxLineLength:ThreadAdapter.kt$ThreadAdapter$threadSuccess.setImageResource(if (isDelivered) R.drawable.ic_check_double_vector else org.fossify.commons.R.drawable.ic_check_vector) + MaxLineLength:ThreadAdapter.kt$ThreadAdapter$val + MaxLineLength:ThreadAdapter.kt$ThreadAdapter.<no name provided>$override + MaxLineLength:ThreadAdapter.kt$ThreadAdapter.<no name provided>$override fun onResourceReady(dr: Drawable, a: Any, t: Target<Drawable>, d: DataSource, i: Boolean) + MaxLineLength:VCard.kt$Telephone::class.java + MaxLineLength:VCard.kt$VCardPropertyWrapper.Companion$is Note -> VCardPropertyWrapper(value, context.getString(org.fossify.commons.R.string.notes), property) + MaxLineLength:VCard.kt$VCardPropertyWrapper.Companion$is Telephone -> VCardPropertyWrapper(text.normalizePhoneNumber(), getPropertyTypeString(context), property) + MaxLineLength:VCard.kt$VCardWrapper$data + MaxLineLength:VCardViewerActivity.kt$VCardViewerActivity$updateMaterialActivityViews(binding.vcardViewerCoordinator, binding.contactsList, useTransparentNavigation = true, useTopSearchMenu = false) + MaxLineLength:VCardViewerAdapter.kt$VCardViewerAdapter.VCardPropertyViewHolder$inner + NestedBlockDepth:AttachmentUtils.kt$AttachmentUtils$private fun readBody(parser: XmlPullParser): List<String> + NestedBlockDepth:Context.kt$fun Context.getAllDrafts(): HashMap<Long, String?> + NestedBlockDepth:Context.kt$fun Context.getThreadParticipants(threadId: Long, contactsMap: HashMap<Int, SimpleContact>?): ArrayList<SimpleContact> + NestedBlockDepth:MessagesImporter.kt$MessagesImporter$private fun InputStream.importXml() + NestedBlockDepth:MessagesWriter.kt$MessagesWriter$@SuppressLint("NewApi") private fun writeMmsPart(mmsPart: MmsPart, messageId: Long) + NestedBlockDepth:Messaging.kt$fun Context.sendMessageCompat(text: String, addresses: List<String>, subId: Int?, attachments: List<Attachment>, messageId: Long? = null) + NestedBlockDepth:MessagingUtils.kt$MessagingUtils$@Deprecated("TODO: Move/rewrite MMS code into the app.") fun sendMmsMessage(text: String, addresses: List<String>, attachment: Attachment?, settings: Settings, messageId: Long? = null) + NestedBlockDepth:MessagingUtils.kt$MessagingUtils$fun updateSmsMessageSendingStatus(messageUri: Uri?, type: Int) + NestedBlockDepth:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$override fun updateAndroidDatabase(context: Context, intent: Intent, receiverResultCode: Int) + NestedBlockDepth:ThreadActivity.kt$ThreadActivity$private fun fetchNextMessages() + NestedBlockDepth:ThreadActivity.kt$ThreadActivity$private fun setupAttachmentSizes() + NestedBlockDepth:ThreadActivity.kt$ThreadActivity$private fun setupButtons() + NestedBlockDepth:ThreadAdapter.kt$ThreadAdapter$private fun setupSentMessageView(messageBinding: ItemMessageBinding, message: Message) + NestedBlockDepth:ThreadAdapter.kt$ThreadAdapter$private fun setupView(holder: ViewHolder, view: View, message: Message) + PrintStackTrace:Context.kt$e + PrintStackTrace:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$e + PrintStackTrace:SmsManager.kt$e + ReturnCount:Context.kt$fun Context.getFileSizeFromUri(uri: Uri): Long + ReturnCount:Context.kt$fun Context.getNameAndPhotoFromPhoneNumber(number: String): NamePhoto + ReturnCount:MapDeserializerDoubleAsIntFix.kt$MapDeserializerDoubleAsIntFix$fun read(element: JsonElement): Any? + ReturnCount:MessagesReader.kt$MessagesReader$@SuppressLint("NewApi") private fun usePart(partId: Long, block: (InputStream) -> String): String + ReturnCount:ThreadActivity.kt$ThreadActivity$private fun addAttachment(uri: Uri) + ReturnCount:VCardParser.kt$fun VCard?.parseNameFromVCard(): String? + SpreadOperator:Context.kt$(*scheduledMessages) + SpreadOperator:MainActivity.kt$MainActivity$(*currentMessages.toTypedArray()) + SpreadOperator:ThreadActivity.kt$ThreadActivity$(*currentMessages.toTypedArray()) + SwallowedException:Activity.kt$e: ActivityNotFoundException + SwallowedException:ArchivedConversationsActivity.kt$ArchivedConversationsActivity$e: Exception + SwallowedException:AttachmentPreviews.kt$e: Exception + SwallowedException:Context.kt$e: Exception + SwallowedException:Context.kt$e: FileNotFoundException + SwallowedException:ImageCompressor.kt$ImageCompressor$e: Exception + SwallowedException:JsonElement.kt$e: Exception + SwallowedException:MainActivity.kt$MainActivity$e: Exception + SwallowedException:MessagesImporter.kt$MessagesImporter$e: Exception + SwallowedException:MessagesImporter.kt$MessagesImporter$e: IllegalArgumentException + SwallowedException:MessagesImporter.kt$MessagesImporter$e: SerializationException + SwallowedException:MessagesReader.kt$MessagesReader$e: IOException + SwallowedException:MessagesWriter.kt$MessagesWriter$e: Exception + SwallowedException:MmsReceiver.kt$MmsReceiver$e: Exception + SwallowedException:NewConversationActivity.kt$NewConversationActivity$e: Exception + SwallowedException:RecycleBinConversationsActivity.kt$RecycleBinConversationsActivity$e: Exception + SwallowedException:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$e: NullPointerException + SwallowedException:ThreadActivity.kt$ThreadActivity$e: ActivityNotFoundException + SwallowedException:ThreadActivity.kt$ThreadActivity$e: Exception + SwallowedException:VCardParser.kt$e: Exception + ThrowingExceptionsWithoutMessageOrCause:AttachmentUtils.kt$AttachmentUtils$IllegalStateException() + ThrowingExceptionsWithoutMessageOrCause:MessagesImporter.kt$MessagesImporter$IllegalStateException() + ThrowsCount:SmsSender.kt$SmsSender$fun sendMessage( subId: Int, destination: String, body: String, serviceCenter: String?, requireDeliveryReport: Boolean, messageUri: Uri ) + TooGenericExceptionCaught:Activity.kt$e: Exception + TooGenericExceptionCaught:ArchivedConversationsActivity.kt$ArchivedConversationsActivity$e: Exception + TooGenericExceptionCaught:AttachmentPreviews.kt$e: Exception + TooGenericExceptionCaught:Context.kt$e: Exception + TooGenericExceptionCaught:DirectReplyReceiver.kt$DirectReplyReceiver$e: Exception + TooGenericExceptionCaught:ImageCompressor.kt$ImageCompressor$e: Exception + TooGenericExceptionCaught:JsonElement.kt$e: Exception + TooGenericExceptionCaught:MainActivity.kt$MainActivity$e: Exception + TooGenericExceptionCaught:MessagesImporter.kt$MessagesImporter$e: Exception + TooGenericExceptionCaught:MessagesWriter.kt$MessagesWriter$e: Exception + TooGenericExceptionCaught:Messaging.kt$e: Exception + TooGenericExceptionCaught:MessagingUtils.kt$MessagingUtils$e: Error + TooGenericExceptionCaught:MessagingUtils.kt$MessagingUtils$e: Exception + TooGenericExceptionCaught:MmsReceiver.kt$MmsReceiver$e: Exception + TooGenericExceptionCaught:NewConversationActivity.kt$NewConversationActivity$e: Exception + TooGenericExceptionCaught:RecycleBinConversationsActivity.kt$RecycleBinConversationsActivity$e: Exception + TooGenericExceptionCaught:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$e: Error + TooGenericExceptionCaught:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$e: Exception + TooGenericExceptionCaught:SettingsActivity.kt$SettingsActivity$e: Exception + TooGenericExceptionCaught:SmsManager.kt$e: Exception + TooGenericExceptionCaught:SmsSender.kt$SmsSender$e: Exception + TooGenericExceptionCaught:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$e: NullPointerException + TooGenericExceptionCaught:ThreadActivity.kt$ThreadActivity$e: Error + TooGenericExceptionCaught:ThreadActivity.kt$ThreadActivity$e: Exception + TooGenericExceptionCaught:ThreadAdapter.kt$ThreadAdapter$e: Exception + TooGenericExceptionCaught:VCardParser.kt$e: Exception + TooManyFunctions:ArchivedConversationsActivity.kt$ArchivedConversationsActivity : SimpleActivity + TooManyFunctions:BaseConversationsAdapter.kt$BaseConversationsAdapter : MyRecyclerViewListAdapterOnPopupTextUpdate + TooManyFunctions:ContactsAdapter.kt$ContactsAdapter : MyRecyclerViewAdapter + TooManyFunctions:Context.kt$org.fossify.messages.extensions.Context.kt + TooManyFunctions:ConversationsAdapter.kt$ConversationsAdapter : BaseConversationsAdapter + TooManyFunctions:ConversationsDao.kt$ConversationsDao + TooManyFunctions:JsonObject.kt$org.fossify.messages.extensions.gson.JsonObject.kt + TooManyFunctions:MainActivity.kt$MainActivity : SimpleActivity + TooManyFunctions:ManageBlockedKeywordsAdapter.kt$ManageBlockedKeywordsAdapter : MyRecyclerViewAdapter + TooManyFunctions:MessagesDao.kt$MessagesDao + TooManyFunctions:RecycleBinConversationsActivity.kt$RecycleBinConversationsActivity : SimpleActivity + TooManyFunctions:SearchResultsAdapter.kt$SearchResultsAdapter : MyRecyclerViewAdapter + TooManyFunctions:SettingsActivity.kt$SettingsActivity : SimpleActivity + TooManyFunctions:ThreadActivity.kt$ThreadActivity : SimpleActivity + TooManyFunctions:ThreadAdapter.kt$ThreadAdapter : MyRecyclerViewListAdapter + UnusedParameter:ArchivedConversationsActivity.kt$ArchivedConversationsActivity$event: Events.RefreshMessages + UnusedParameter:MainActivity.kt$MainActivity$event: Events.RefreshMessages + UnusedParameter:RecycleBinConversationsActivity.kt$RecycleBinConversationsActivity$event: Events.RefreshMessages + UnusedParameter:ThreadActivity.kt$ThreadActivity$event: Events.RefreshMessages + UnusedPrivateMember:MessagesImporter.kt$MessagesImporter$private fun isJsonMimeType(mimeType: String): Boolean + UseCheckOrError:AttachmentUtils.kt$AttachmentUtils$throw IllegalStateException() + UseCheckOrError:MessagesImporter.kt$MessagesImporter$throw IllegalStateException() + UseRequire:SmsSender.kt$SmsSender$throw IllegalArgumentException("SmsSender: empty text message") + VariableNaming:MainActivity.kt$MainActivity$private val MAKE_DEFAULT_APP_REQUEST = 1 + VariableNaming:MessagesWriter.kt$MessagesWriter$private val INVALID_ID = -1L + VariableNaming:ThreadActivity.kt$ThreadActivity$private val MIN_DATE_TIME_DIFF_SECS = 300 + VariableNaming:ThreadActivity.kt$ThreadActivity$private val SCROLL_TO_BOTTOM_FAB_LIMIT = 20 + VariableNaming:ThreadActivity.kt$ThreadActivity$private val TYPE_DELETE = 16 + VariableNaming:ThreadActivity.kt$ThreadActivity$private val TYPE_EDIT = 14 + VariableNaming:ThreadActivity.kt$ThreadActivity$private val TYPE_SEND = 15 + WildcardImport:Activity.kt$import org.fossify.commons.extensions.* + WildcardImport:ArchivedConversationsActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:AttachmentPreviews.kt$import org.fossify.commons.extensions.* + WildcardImport:AttachmentPreviews.kt$import org.fossify.messages.extensions.* + WildcardImport:AttachmentsAdapter.kt$import org.fossify.commons.extensions.* + WildcardImport:AttachmentsAdapter.kt$import org.fossify.messages.extensions.* + WildcardImport:AttachmentsAdapter.kt$import org.fossify.messages.helpers.* + WildcardImport:BaseConversationsAdapter.kt$import org.fossify.commons.extensions.* + WildcardImport:Context.kt$import android.provider.Telephony.* + WildcardImport:Context.kt$import org.fossify.commons.extensions.* + WildcardImport:Context.kt$import org.fossify.commons.helpers.* + WildcardImport:Context.kt$import org.fossify.messages.helpers.* + WildcardImport:Context.kt$import org.fossify.messages.models.* + WildcardImport:ConversationDetailsActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:ConversationDetailsActivity.kt$import org.fossify.messages.extensions.* + WildcardImport:ConversationsAdapter.kt$import org.fossify.commons.extensions.* + WildcardImport:ConversationsAdapter.kt$import org.fossify.messages.extensions.* + WildcardImport:DirectReplyReceiver.kt$import org.fossify.messages.extensions.* + WildcardImport:ExportMessagesDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:JsonElement.kt$import com.google.gson.* + WildcardImport:MainActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:MainActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:MainActivity.kt$import org.fossify.messages.extensions.* + WildcardImport:ManageBlockedKeywordsActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:ManageBlockedKeywordsAdapter.kt$import android.view.* + WildcardImport:MessagesDao.kt$import androidx.room.* + WildcardImport:MessagesDatabase.kt$import org.fossify.messages.models.* + WildcardImport:MessagesImporter.kt$import org.fossify.messages.models.* + WildcardImport:MessagesReader.kt$import org.fossify.commons.extensions.* + WildcardImport:MessagesReader.kt$import org.fossify.messages.models.* + WildcardImport:MmsReceiver.kt$import org.fossify.messages.extensions.* + WildcardImport:NewConversationActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:NewConversationActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:NewConversationActivity.kt$import org.fossify.messages.helpers.* + WildcardImport:RecycleBinConversationsActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:ScheduleMessageDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:SettingsActivity.kt$import org.fossify.commons.dialogs.* + WildcardImport:SettingsActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:SettingsActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:SettingsActivity.kt$import org.fossify.messages.helpers.* + WildcardImport:SmsReceiver.kt$import org.fossify.messages.extensions.* + WildcardImport:SmsStatusSentReceiver.kt$import org.fossify.messages.extensions.* + WildcardImport:ThreadActivity.kt$import androidx.core.view.* + WildcardImport:ThreadActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:ThreadActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:ThreadActivity.kt$import org.fossify.messages.extensions.* + WildcardImport:ThreadActivity.kt$import org.fossify.messages.helpers.* + WildcardImport:ThreadActivity.kt$import org.fossify.messages.messaging.* + WildcardImport:ThreadActivity.kt$import org.fossify.messages.models.* + WildcardImport:ThreadActivity.kt$import org.fossify.messages.models.ThreadItem.* + WildcardImport:ThreadAdapter.kt$import org.fossify.commons.extensions.* + WildcardImport:ThreadAdapter.kt$import org.fossify.messages.databinding.* + WildcardImport:ThreadAdapter.kt$import org.fossify.messages.extensions.* + WildcardImport:ThreadAdapter.kt$import org.fossify.messages.helpers.* + WildcardImport:ThreadAdapter.kt$import org.fossify.messages.models.ThreadItem.* + WildcardImport:VCard.kt$import ezvcard.property.* + WildcardImport:VCardViewerAdapter.kt$import org.fossify.commons.extensions.* + + diff --git a/app/lint-baseline.xml b/app/lint-baseline.xml new file mode 100644 index 00000000..328e901f --- /dev/null +++ b/app/lint-baseline.xml @@ -0,0 +1,2178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build.gradle.kts b/build.gradle.kts index 46e23adf..06775b3b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,6 +3,7 @@ plugins { alias(libs.plugins.kotlinAndroid).apply(false) alias(libs.plugins.kotlinSerialization).apply(false) alias(libs.plugins.ksp).apply(false) + alias(libs.plugins.detekt).apply(false) } tasks.register("clean") { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d2f914e8..52208bbd 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,6 +4,8 @@ kotlin = "1.9.21" kotlinxSerializationJson = "1.6.0" #KSP ksp = "1.9.21-1.0.16" +#Detekt +detekt = "1.23.3" #AndroidX androidx-constraintlayout = "2.1.4" androidx-swiperefreshlayout = "1.1.0" @@ -61,3 +63,4 @@ android = { id = "com.android.application", version.ref = "gradlePlugins-agp" } kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } +detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } From d947b8b87ed39852b655c2bb3697e3de30fb68e1 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Tue, 1 Oct 2024 20:12:27 +0530 Subject: [PATCH 63/92] Update image-minimizer.js --- .github/workflows/image-minimizer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/image-minimizer.js b/.github/workflows/image-minimizer.js index 6ec67b57..f81a49e1 100644 --- a/.github/workflows/image-minimizer.js +++ b/.github/workflows/image-minimizer.js @@ -34,7 +34,7 @@ module.exports = async ({github, context}) => { // Regex for finding images (simple variant) ![ALT_TEXT](https://*.githubusercontent.com//.) const REGEX_USER_CONTENT_IMAGE_LOOKUP = /\!\[(.*)\]\((https:\/\/[-a-z0-9]+\.githubusercontent\.com\/\d+\/[-0-9a-f]{32,512}\.(jpg|gif|png))\)/gm; - const REGEX_ASSETS_IMAGE_LOCKUP = /\!\[(.*)\]\((https:\/\/github\.com\/[-\w\d]+\/[-\w\d]+\/assets\/\d+\/[\-0-9a-f]{32,512})\)/gm; + const REGEX_ASSETS_IMAGE_LOCKUP = /\!\[(.*)\]\((https:\/\/github\.com\/user-attachments\/assets\/[\-0-9a-f]{36,})\)/gm; // Check if we found something let foundSimpleImages = REGEX_USER_CONTENT_IMAGE_LOOKUP.test(initialBody) From fdb021d4c8137280518b1f868a54c4f41f30ada3 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Sat, 26 Oct 2024 03:53:09 +0530 Subject: [PATCH 64/92] Reduce no-response duration to 14 days --- .github/workflows/no-response.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/no-response.yml b/.github/workflows/no-response.yml index eef815bd..65ae5a77 100644 --- a/.github/workflows/no-response.yml +++ b/.github/workflows/no-response.yml @@ -21,5 +21,5 @@ jobs: with: token: ${{ github.token }} # Number of days of inactivity before an issue is closed for lack of response. - daysUntilClose: 30 + daysUntilClose: 14 responseRequiredLabel: waiting for author From 18c3028523ad791c5783412aab16400015503612 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Fri, 15 Nov 2024 16:56:58 +0530 Subject: [PATCH 65/92] Update no-response.yml --- .github/workflows/no-response.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/no-response.yml b/.github/workflows/no-response.yml index 65ae5a77..2b2d329d 100644 --- a/.github/workflows/no-response.yml +++ b/.github/workflows/no-response.yml @@ -1,13 +1,9 @@ name: no-response -# Both `issue_comment` and `scheduled` event types are required for this Action -# to work properly. on: - issue_comment: - types: [created] schedule: - # Run daily at midnight. - - cron: '0 0 * * *' + - cron: '0 0 * * *' # Runs daily at midnight + workflow_dispatch: permissions: issues: write @@ -17,9 +13,14 @@ jobs: noResponse: runs-on: ubuntu-latest steps: - - uses: lee-dohm/no-response@v0.5.0 + - uses: actions/stale@v9 with: - token: ${{ github.token }} + repo-token: ${{ secrets.GITHUB_TOKEN }} + days-before-stale: -1 # Number of days of inactivity before an issue is closed for lack of response. - daysUntilClose: 14 - responseRequiredLabel: waiting for author + days-before-close: 14 + only-labels: 'waiting for author' + stale-issue-label: 'waiting for author' + stale-pr-label: 'waiting for author' + close-issue-message: This issue has been automatically closed due to inactivity. We requested additional information but have not received a response from the original author. Without the requested details, we cannot proceed. If you have or find the information needed, please comment so we can reopen the issue. + close-pr-message: This pull request has been automatically closed due to inactivity. We requested additional information but have not received a response from the original author. Without the requested details, we cannot proceed. If you have the needed information or updates, please reopen the PR or comment so we can continue the review. From 6e83ad5c7b5be9e44a967ddbe93441c6ef0eaa59 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Sun, 17 Nov 2024 22:42:38 +0530 Subject: [PATCH 66/92] Update image minimizer --- .github/workflows/image-minimizer.js | 4 ++-- .github/workflows/image-minimizer.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/image-minimizer.js b/.github/workflows/image-minimizer.js index f81a49e1..ca4ae10e 100644 --- a/.github/workflows/image-minimizer.js +++ b/.github/workflows/image-minimizer.js @@ -18,7 +18,7 @@ module.exports = async ({github, context}) => { initialBody = context.payload.comment.body; } else if (context.eventName == 'issues') { initialBody = context.payload.issue.body; - } else if (context.eventName == 'pull_request') { + } else if (context.eventName == 'pull_request_target') { initialBody = context.payload.pull_request.body; } else { console.log('Aborting: No body found'); @@ -77,7 +77,7 @@ module.exports = async ({github, context}) => { repo: context.repo.repo, body: newBody }); - } else if (context.eventName == 'pull_request') { + } else if (context.eventName == 'pull_request_target') { console.log('Updating pull request', context.payload.pull_request.number); await github.rest.pulls.update({ pull_number: context.payload.pull_request.number, diff --git a/.github/workflows/image-minimizer.yml b/.github/workflows/image-minimizer.yml index d9241c33..a3c1f07e 100644 --- a/.github/workflows/image-minimizer.yml +++ b/.github/workflows/image-minimizer.yml @@ -5,7 +5,7 @@ on: types: [created, edited] issues: types: [opened, edited] - pull_request: + pull_request_target: types: [opened, edited] permissions: From 581c45b29b668efbaa526e32d5deafe009aff95b Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Sun, 17 Nov 2024 23:19:40 +0530 Subject: [PATCH 67/92] Update image minimizer --- .github/workflows/image-minimizer.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/image-minimizer.yml b/.github/workflows/image-minimizer.yml index a3c1f07e..5e585402 100644 --- a/.github/workflows/image-minimizer.yml +++ b/.github/workflows/image-minimizer.yml @@ -30,6 +30,7 @@ jobs: uses: actions/github-script@v7 timeout-minutes: 3 with: + github-token: ${{ secrets.FOSSIFYBOT_TOKEN }} script: | const script = require('.github/workflows/image-minimizer.js'); await script({github, context}); From 6b20ddba783a5667e7fbaba7ca909eea789c1681 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Sun, 17 Nov 2024 23:35:09 +0530 Subject: [PATCH 68/92] Update image minimizer --- .github/workflows/image-minimizer.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/image-minimizer.yml b/.github/workflows/image-minimizer.yml index 5e585402..5b9e0c03 100644 --- a/.github/workflows/image-minimizer.yml +++ b/.github/workflows/image-minimizer.yml @@ -8,16 +8,14 @@ on: pull_request_target: types: [opened, edited] -permissions: - issues: write - pull-requests: write - jobs: try-minimize: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + with: + token: ${{ secrets.FOSSIFYBOT_TOKEN }} - uses: actions/setup-node@v4 with: From 0348601d0d78895ce49bbdb064cf1c3ca83473c5 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Sun, 17 Nov 2024 23:44:48 +0530 Subject: [PATCH 69/92] Update no-response.yml --- .github/workflows/no-response.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/no-response.yml b/.github/workflows/no-response.yml index 2b2d329d..7ce741c9 100644 --- a/.github/workflows/no-response.yml +++ b/.github/workflows/no-response.yml @@ -5,17 +5,13 @@ on: - cron: '0 0 * * *' # Runs daily at midnight workflow_dispatch: -permissions: - issues: write - pull-requests: write - jobs: noResponse: runs-on: ubuntu-latest steps: - uses: actions/stale@v9 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} + repo-token: ${{ secrets.FOSSIFYBOT_TOKEN }} days-before-stale: -1 # Number of days of inactivity before an issue is closed for lack of response. days-before-close: 14 From 638150c5ff39643bd3045f01ea8e38becc0b3741 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Thu, 18 Jul 2024 22:48:01 +0200 Subject: [PATCH 70/92] Deleted translation using Weblate (Hindi (Hinglish)) --- fastlane/metadata/android/hi@hinglish/title.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 fastlane/metadata/android/hi@hinglish/title.txt diff --git a/fastlane/metadata/android/hi@hinglish/title.txt b/fastlane/metadata/android/hi@hinglish/title.txt deleted file mode 100644 index 1d5049dd..00000000 --- a/fastlane/metadata/android/hi@hinglish/title.txt +++ /dev/null @@ -1 +0,0 @@ -Fossify SMS Messenger From 183b58fd3721accd37cb71c4f27221cde1832913 Mon Sep 17 00:00:00 2001 From: Dan Date: Fri, 19 Jul 2024 18:03:59 +0000 Subject: [PATCH 71/92] Translated using Weblate (Ukrainian) Currently translated at 20.0% (1 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/uk/ --- fastlane/metadata/android/uk/changelogs/1.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/uk/changelogs/1.txt b/fastlane/metadata/android/uk/changelogs/1.txt index 15f431ca..4ac55aba 100644 --- a/fastlane/metadata/android/uk/changelogs/1.txt +++ b/fastlane/metadata/android/uk/changelogs/1.txt @@ -1 +1 @@ -* Релізний випуск +* Початковий реліз From 28fc9063b297315e2dff230c51d615957c09b5c9 Mon Sep 17 00:00:00 2001 From: mrkaato0 Date: Fri, 26 Jul 2024 13:09:25 +0000 Subject: [PATCH 72/92] Translated using Weblate (Finnish) Currently translated at 80.0% (4 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/fi/ --- fastlane/metadata/android/fi-FI/changelogs/1.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/fi-FI/changelogs/1.txt b/fastlane/metadata/android/fi-FI/changelogs/1.txt index 8bcddd6e..5a64ffbe 100644 --- a/fastlane/metadata/android/fi-FI/changelogs/1.txt +++ b/fastlane/metadata/android/fi-FI/changelogs/1.txt @@ -1 +1 @@ -* Alkuperäinen julkaisu +* Ensimmäinen julkaisu From f2fd295d22b91d1e90ed29223006d874d0bf491f Mon Sep 17 00:00:00 2001 From: Dan Date: Tue, 30 Jul 2024 19:32:28 +0000 Subject: [PATCH 73/92] Translated using Weblate (Ukrainian) Currently translated at 80.0% (4 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/uk/ --- fastlane/metadata/android/uk/changelogs/2.txt | 2 ++ fastlane/metadata/android/uk/short_description.txt | 1 + fastlane/metadata/android/uk/title.txt | 1 + 3 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/uk/changelogs/2.txt create mode 100644 fastlane/metadata/android/uk/short_description.txt create mode 100644 fastlane/metadata/android/uk/title.txt diff --git a/fastlane/metadata/android/uk/changelogs/2.txt b/fastlane/metadata/android/uk/changelogs/2.txt new file mode 100644 index 00000000..ef191db3 --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/2.txt @@ -0,0 +1,2 @@ +* Виправлено незначні помилки та зроблено покращення +* Додано деякі переклади diff --git a/fastlane/metadata/android/uk/short_description.txt b/fastlane/metadata/android/uk/short_description.txt new file mode 100644 index 00000000..d926a763 --- /dev/null +++ b/fastlane/metadata/android/uk/short_description.txt @@ -0,0 +1 @@ +Застосунок для SMS/MMS повідомлень з відкритим вихідним кодом і без реклами diff --git a/fastlane/metadata/android/uk/title.txt b/fastlane/metadata/android/uk/title.txt new file mode 100644 index 00000000..ac71a28a --- /dev/null +++ b/fastlane/metadata/android/uk/title.txt @@ -0,0 +1 @@ +Fossify SMS-месенджер From d97afd49280831988559c96e6e2d2cb5ba271a83 Mon Sep 17 00:00:00 2001 From: Sketch6580 Date: Tue, 20 Aug 2024 10:00:02 +0000 Subject: [PATCH 74/92] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/zh_Hans/ --- .../metadata/android/zh-CN/changelogs/1.txt | 1 + .../metadata/android/zh-CN/changelogs/2.txt | 2 ++ .../android/zh-CN/full_description.txt | 32 +++++++++++++++++++ .../android/zh-CN/short_description.txt | 1 + fastlane/metadata/android/zh-CN/title.txt | 1 + 5 files changed, 37 insertions(+) create mode 100644 fastlane/metadata/android/zh-CN/changelogs/1.txt create mode 100644 fastlane/metadata/android/zh-CN/changelogs/2.txt create mode 100644 fastlane/metadata/android/zh-CN/full_description.txt create mode 100644 fastlane/metadata/android/zh-CN/short_description.txt create mode 100644 fastlane/metadata/android/zh-CN/title.txt diff --git a/fastlane/metadata/android/zh-CN/changelogs/1.txt b/fastlane/metadata/android/zh-CN/changelogs/1.txt new file mode 100644 index 00000000..ebac50d2 --- /dev/null +++ b/fastlane/metadata/android/zh-CN/changelogs/1.txt @@ -0,0 +1 @@ +* 首次发布 diff --git a/fastlane/metadata/android/zh-CN/changelogs/2.txt b/fastlane/metadata/android/zh-CN/changelogs/2.txt new file mode 100644 index 00000000..b29cce93 --- /dev/null +++ b/fastlane/metadata/android/zh-CN/changelogs/2.txt @@ -0,0 +1,2 @@ +* 小错误修复和改进 +* 添加了一些翻译 diff --git a/fastlane/metadata/android/zh-CN/full_description.txt b/fastlane/metadata/android/zh-CN/full_description.txt new file mode 100644 index 00000000..94529352 --- /dev/null +++ b/fastlane/metadata/android/zh-CN/full_description.txt @@ -0,0 +1,32 @@ +Fossify 信息是您值得信赖的消息传递伴侣,旨在以多种方式增强您的消息传递体验。 + +📱 轻松保持联系: +使用 Fossify 信息,您可以轻松发送短信和彩信,与亲人保持联系。享受基于短信/彩信的群组消息传递,用照片、表情符号和快速问候来表达自己。 + +🚫 阻止不需要的消息: +通过强大的阻止功能控制您的消息传递体验,轻松阻止不需要的消息,甚至来自未知联系人的消息。您还可以导出和导入被阻止的号码,以便轻松备份。此外,通过阻止带有特定单词或短语的消息到达您的收信箱来定制您的体验。 + +🔒 轻松备份短信: +告别丢失重要信息的担忧。Fossify 信息提供方便的短信备份功能,允许您导出和导入消息。此功能可确保您可以轻松切换设备,而不会丢失宝贵的对话。 + +🚀 快速轻量: +尽管 Fossify 信息功能强大,但应用体积却非常小,使其下载和安装快速简单。体验速度和效率,同时享受短信备份带来的安心。 + +🔐 增强隐私: +自定义锁屏上显示的内容,以增加隐私。选择仅显示发送者、消息内容或根本不显示。您的消息由您控制。 + +🔍 高效的消息搜索: +告别无休止地浏览对话。Fossify 信息通过快速高效的搜索功能简化了消息检索。在您需要时找到您需要的内容。 + +🌈 现代设计和用户友好的界面: +享受简洁、现代的设计和用户友好的界面。本应用具有 Material 设计和深色主题选项,提供视觉上吸引人和舒适的用户体验。 + +🌐 开源透明度: +您的隐私是重中之重。Fossify 信息无需互联网连接即可运行,保证了消息的安全性和稳定性。我们的应用完全没有广告,也不会请求不必要的权限。此外,它是完全开源的,让您放心,因为您可以访问源代码进行安全和隐私审核。 + +切换到 Fossify 信息,以应有的方式体验消息传递 – 私密、高效和用户友好。立即下载并加入我们致力于保护您的消息传递体验的社区。 + +探索更多 Fossify 应用:https://www.fossify.org +开源代码:https://www.github.com/FossifyOrg +加入 Reddit 社区:https://www.reddit.com/r/Fossify +在 Telegram 上联系:https://t.me/Fossify diff --git a/fastlane/metadata/android/zh-CN/short_description.txt b/fastlane/metadata/android/zh-CN/short_description.txt new file mode 100644 index 00000000..6ef89abe --- /dev/null +++ b/fastlane/metadata/android/zh-CN/short_description.txt @@ -0,0 +1 @@ +开源无广告的短信/彩信应用 diff --git a/fastlane/metadata/android/zh-CN/title.txt b/fastlane/metadata/android/zh-CN/title.txt new file mode 100644 index 00000000..c5894354 --- /dev/null +++ b/fastlane/metadata/android/zh-CN/title.txt @@ -0,0 +1 @@ +Fossify 信息 From 17bd8fe046517dc8c024d0e081d4d4b5042f900f Mon Sep 17 00:00:00 2001 From: Assem Askarova Date: Wed, 21 Aug 2024 14:07:16 +0000 Subject: [PATCH 75/92] Translated using Weblate (Japanese) Currently translated at 88.7% (95 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/ja/ --- app/src/main/res/values-ja/strings.xml | 40 +++++++++++++++++++------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 330f5623..b84ba10a 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -50,16 +50,16 @@ %d 件のメッセージ - ロック画面の通知表示 - 差出人とメッセージ - 差出人のみ - 配信確認レポートを有効にする - 送信するメッセージから発音記号を取り除く (英語) + ロック画面の通知の可視性 + 送信者とメッセージ + 送信者のみ + 配信レポートを有効にする + 送信するメッセージから発音記号を取り除く Enter キーでメッセージを送信 - 送信する MMS の画像をリサイズ - 制限しない + 送信した MMS の画像をリサイズ + 制限なし 送信するメッセージ - グループメッセージは MMS として送信 + グループメッセージを MMS として送信 長いメッセージを MMS として送信 メッセージ メッセージをエクスポート @@ -68,8 +68,8 @@ メッセージをインポート SMS をインポート MMS をインポート - 1 つ以上のアイテムを選択する必要があります - 番号を空にすることはできません + 1 つ以上のアイテムを選択してください + 空の番号にメッセージを送信できません メッセージを電話データベースに保存できませんでした メッセージを送信できませんでした (サービス利用不可) メッセージを送信できませんでした (無線オフにより) @@ -83,4 +83,22 @@ MMS のサイズは通信キャリアによって制限されています。アプリの設定で制限を小さくしてみてください(「送信する MMS の画像をリサイズ」から制限を小さくできます)。 アプリは予約メッセージをサポートしていますか? はい、送信ボタンを長押しして、希望の日付と時刻を選択することで、今後送信したいメッセージを予約できます。 - + 送信者 + メッセージ + メッセージ詳細 + 受信者 + すべてのアーカイブされた会話を削除する + アーカイブ + 非アーカイブ + アーカイブされた会話を表示する + アーカイブ + アーカイブされた会話が見つかりませんでした + すべてのメッセージを復元する + 復元 + カスタム通知を有効にする + キーワード + ブロックされたキーワード + ブロックされたキーワードを管理する + ブロックされたキーワードを追加する + キーワードをブロックしていません。 ここでキーワードを追加して、それらを含むすべてのメッセージをブロックすることができます。 + \ No newline at end of file From 7999fc0f145ff97b45860fc80c66b487f67435f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Marques?= Date: Thu, 12 Sep 2024 23:14:19 +0000 Subject: [PATCH 76/92] Translated using Weblate (Portuguese (Portugal)) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/pt_PT/ --- app/src/main/res/values-pt-rPT/strings.xml | 102 +++++++++++++-------- 1 file changed, 63 insertions(+), 39 deletions(-) diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 04c8b3a5..90a11ad4 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -1,55 +1,55 @@ O arquivo foi limpo com sucesso - Escrever uma mensagem … + Escrever uma mensagem… Responder - Mantenha o dispositivo ligado e certifique-se de que nada interrompe a aplicação em segundo plano. + Mantenha o telefone ligado e verifique se não há nada que esteja a bloquear a aplicação em segundo plano. Enviar agora - Não foram encontradas conversas arquivadas - Tem a certeza que pretende limpar o arquivo? Todas as conversas arquivadas serão apagadas permanentemente. + Não existem conversas arquivadas + Tem a certeza de que pretende limpar o arquivo? Todas as conversas arquivadas serão eliminadas. Restaurar - Tem a certeza que deseja apagar todas as mensagens desta conversa? - Tem a certeza que deseja arquivar %s? - Não foram encontradas conversas arquivadas + Tem a certeza de que pretende apagar todas as mensagens desta conversa? + Tem a certeza de que pretende arquivar %s? + Não foram encontradas conversas %d conversa %d conversas - %d conversas + %d mensagem %d mensagens - %d mensagens + Sem limite Enviar mensagens de grupo como MMS Enviar mensagens longas como MMS Mensagens Exportar mensagens - Não foi possível enviar mensagem, código de erro: %d - O tamanho do anexo excede os limites máximos de MMS - Cartão SIM indisponível - Não foi possível descarregar o MMS - Qual o motivo da aplicação necessitar de internet? - A aplicação suporta o agendamento de mensagens? + Não foi possível enviar a mensagem. Erro: %d + O anexo excede o tamanho máximo permitido para MMS + Cartão SIM não encontrado + Não foi possível descarregar a MMS + Porque é que a aplicação requer acesso à Internet? + Posso agendar mensagens com esta aplicação? Atualizar mensagem Exportar SMS - Enviar mensagem ao clicar no Enter + Enviar mensagem ao premir Enter Mensagens Mensagem não enviada - Não enviada. Clique para tentar novamente. - A sua mensagem para \'%s\' não foi enviada - Comece uma conversa + Não enviada. Toque para tentar novamente. + A mensagem destinada a \'%s\' não foi enviada + Iniciar uma conversa Adicionar pessoa Anexo - Mostrar contador de caractéres ao escrever mensagens + Mostrar número de caracteres ao escrever a mensagem A carregar mensagens… - Recebido a - Itens duplicados não foram incluídos + Recebida a + O item duplicado não foi incluído - e %d outro - e %d outros - e %d outros + e mais %d + e mais %d + Nova conversa Adicionar contacto ou número… @@ -58,7 +58,7 @@ Nome da conversa Detalhes da conversa Renomear conversa - Só pode visualizar o nome da conversa + Apenas você pode ver o nome desta conversa Detalhes da mensagem SMS recebida Nova mensagem @@ -70,29 +70,53 @@ Agendar envio Remetente Eu - Fixar no topo + Fixar Desafixar - Cancelar o envio de agendamento + Cancelar envio agendado Ativar notificações personalizadas Eliminar todas as conversas arquivadas - Arquivo / Arquivadas + Arquivo Mostrar conversas arquivadas Desarquivar - Tem a certeza que deseja limpar a reciclagem? As mensagens serão permanentemente apagadas. - Ignorar a reciclagem e apagar as mensagens de forma direta - Tem certeza de que deseja restaurar todas as mensagens desta conversa? + Tem a certeza de que pretende esvaziar a reciclagem? As mensagens não poderão ser recuperadas. + Eliminar mensagens sem as colocar na reciclagem + Tem a certeza de que pretende restaurar todas as mensagens desta conversa? Restaurar todas as mensagens - Arquivo / Arquivadas - Tem a certeza que quer restaurar %s? + Arquivo + Tem a certeza de que pretende restaurar %s? Exportar MMS Importar mensagens Importar SMS Importar MMS - Deve selecionar pelo menos um item - Não é possível enviar mensagem a um número vazio - Não foi possível enviar mensagem, serviço indisponível - Visibilidade da notificação no ecrã de bloqueio + Tem que selecionar, pelo menos, 1 item + Não pode enviar mensagens se não existir um destinatário + Serviço indisponível. Não pode enviar a mensagem + Notificação no ecrã de bloqueio Remetente e mensagem - Apenas o remetente + Apenas remetente Ativar relatórios de entrega + Erro da operadora. Não pode enviar a mensagem + Infelizmente, é a única forma de poder enviar anexos MMS. Não ter a capacidade de enviar MMS representaria uma enorme desvantagem comparativamente a outras aplicações e foi por isso que tomámos esta decisão. Mas, como habitualmente, a aplicação não tem anúncios, não rastreia os utilizadores nem recolhe dados pessoais. Esta permissão apenas é necessária para enviar MMS. + O destinatário não recebe as minhas MMS, o que posso fazer? + Palavra-chave + Palavras-chave bloqueadas + Gerir palavras-chave bloqueadas + Não existem quaisquer palavras-chave bloqueadas. Pode adicionar palavras-chave para bloquear todas as mensagens que as contenham. + Adicionar palavra-chave + Remover acentos e diacríticos nas mensagens enviadas + Não foi possível guardar a mensagem na base de dados do telefone + Rádio desligado. Não pode enviar a mensagem + Não é possível responder a códigos deste tipo + O tamanho das MMS é limitado pelas operadoras. Tente definir um limite inferior nas definições da aplicação. + Sim, pode agendar mensagens e escolher a data e hora de envio com um toque longo no botão Enviar. + Apenas é possível responder a códigos curtos com números como, por exemplo, e não a códigos que combinem letras e números com, por exemplo, \"AB-CD0\". + Tem que escolher um momento futuro + Redimensionar imagens MMS enviadas + Mensagens a enviar + O remetente não aceita respostas + Rascunho + Encaminhar + Não foi possível comprimir a imagem para o tamanho selecionado + Destinatário + Enviada a \ No newline at end of file From dd22ad541d402e206a04fda06fc1e33b063cfa7b Mon Sep 17 00:00:00 2001 From: Yeasin Hossain Date: Mon, 16 Sep 2024 09:53:42 +0000 Subject: [PATCH 77/92] Translated using Weblate (Bengali (Bangladesh)) Currently translated at 76.6% (82 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/bn_BD/ --- app/src/main/res/values-bn-rBD/strings.xml | 119 ++++++++++++++++++++- 1 file changed, 118 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml index a6b3daec..633573f2 100644 --- a/app/src/main/res/values-bn-rBD/strings.xml +++ b/app/src/main/res/values-bn-rBD/strings.xml @@ -1,2 +1,119 @@ - \ No newline at end of file + + পুনরুদ্ধার করুন + সমস্ত বার্তা পুনরুদ্ধার করুন + আপনি কি রিসাইকেল বিন খালি করার বিষয়ে নিশ্চিত? বার্তা স্থায়ীভাবে হারিয়ে যাবে। + প্রেরক এবং বার্তা + আপনাকে অন্তত একটি আইটেম নির্বাচন করতে হবে + এমএমএস আমদানি করুন + একটি খালি নম্বরে বার্তা পাঠাতে পারবেন না + টেলিফোনি ডাটাবেসে বার্তা সংরক্ষণ করতে অক্ষম + বার্তা পাঠানো যায়নি, রেডিও বন্ধ আছে + বার্তা পাঠানো যায়নি, ক্যারিয়ার ত্রুটি + বার্তা পাঠানো যায়নি, ত্রুটি কোড: %d + এর মত শর্ট কোডে উত্তর দিতে পারবেন না + সংযুক্তির আকার সর্বাধিক এমএমএস সীমা ছাড়িয়ে গেছে৷ + সিম কার্ড উপলব্ধ নেই + এমএমএস ডাউনলোড করা যায়নি + কেন অ্যাপটির ইন্টারনেট অ্যাক্সেস প্রয়োজন? + এমএমএস আকার ক্যারিয়ার দ্বারা সীমিত, আপনি অ্যাপ সেটিংসে একটি ছোট সীমা সেট করে চেষ্টা করতে পারেন। + অন্য প্রান্তটি আমার এমএমএস পাচ্ছে না, আমি কি এটি সম্পর্কে কিছু করতে পারি? + অ্যাপটি কি সময় নির্ধারিত বার্তা সমর্থন করে? + হ্যাঁ, আপনি পাঠান বোতামটি দীর্ঘক্ষণ টিপে এবং পছন্দসই তারিখ এবং সময় বেছে নিয়ে ভবিষ্যতে পাঠানোর জন্য বার্তাগুলি নির্ধারণ করতে পারেন। + সদস্যরা + কথোপকথনের নাম + নতুন কথোপকথন + যোগাযোগ বা নম্বর যোগ করুন… + পরামর্শ + শুধুমাত্র আপনি এই কথোপকথন নাম দেখতে পারবেন + কথোপকথনের নাম পরিবর্তন করুন + সময় নির্ধারিত বার্তা + বার্তা পাঠানোর জন্য সময় নির্ধারণ করুন + পাঠানোর সময় নির্ধারণ করুন + বার্তার বিবরণ + পাঠানোর নির্ধারিত সময় বাতিল করুন + এ প্রাপ্ত + বার্তা আপডেট করুন + ফোনটি চালু রাখুন এবং নিশ্চিত করুন যে ব্যাকগ্রাউন্ডে থাকা অবস্থায় অ্যাপটিকে বন্ধ করার কিছু নেই। + প্রেরক + আপনাকে অবশ্যই ভবিষ্যতের একটি সময় বেছে নিতে হবে + এখনই পাঠান + প্রাপক + এ পাঠানো হয়েছে + আর্কাইভ করা কথোপকথন দেখুন + সমস্ত আর্কাইভ করা কথোপকথন মুছুন + আর্কাইভ করুন + আপনি কি নিশ্চিত যে আপনি আর্কাইভ খালি করতে চান? সমস্ত আর্কাইভ করা কথোপকথন স্থায়ীভাবে হারিয়ে যাবে। + আপনি কি এই কথোপকথনের সমস্ত বার্তা পুনরুদ্ধার করার বিষয়ে নিশ্চিত? + + %dটি কথোপকথন + %dটি কথোপকথন + + ব্লক করা কীওয়ার্ড + ব্লক করা কীওয়ার্ড পরিচালনা করুন + আপনি কোন কীওয়ার্ড ব্লক করছেন না. আপনি এখানে কীওয়ার্ড যুক্ত করতে পারেন যাতে সেগুলি ধারণকারী সমস্ত বার্তা ব্লক করা যায়। + পাঠানো এমএমএস চিত্রের আকার পরিবর্তন করুন + কোন সীমা নেই + বার্তাসমূহ + বহির্গামী বার্তা + এমএমএস হিসাবে গ্রুপ বার্তা পাঠান + এমএমএস হিসাবে দীর্ঘ বার্তা পাঠান + বার্তা রপ্তানি করুন + বার্তা আমদানি করুন + এসএমএস আমদানি করুন + এসএমএস রপ্তানি করুন + এমএমএস রপ্তানি করুন + বার্তা পাঠানো যায়নি, পরিষেবা অনুপলব্ধ + আপনি শুধুমাত্র \"503501\" এর মতো নম্বর সহ শর্ট কোডের উত্তর দিতে পারেন কিন্তু \"AB-CD0\" এর মতো অক্ষর এবং সংখ্যা সম্বলিত কোডগুলিতে নয়। + দুঃখজনকভাবে এটি এমএমএস সংযুক্তি পাঠানোর জন্য প্রয়োজন. অন্যান্য অ্যাপের তুলনায় এমএমএস পাঠাতে না পারা সত্যিই একটি বড় অসুবিধা হবে, তাই আমরা এই পথে যাওয়ার সিদ্ধান্ত নিয়েছি। যাইহোক, সাধারণত, কোন বিজ্ঞাপন, ট্র্যাকিং বা বিশ্লেষণ কোনো কিছুই নেই, ইন্টারনেট শুধুমাত্র এমএমএস পাঠানোর জন্য ব্যবহার করা হয়। + + উপরে পিন করুন + আর্কাইভকৃত বার্তাসমূহ + ফরোয়ার্ড করুন + কোনো আর্কাইভকৃত কথোপকথন পাওয়া যায়নি + কাস্টম বিজ্ঞপ্তি সক্রিয় করুন + আর্কাইভ সফলভাবে খালি করা হয়েছে৷ + একটি ব্লকড কীওয়ার্ড যোগ করুন + আর্কাইভ মুক্ত করুন + লক স্ক্রীন বিজ্ঞপ্তি দৃশ্যমানতা + + এবং আরও %d জন + এবং আরও %d জন + + \'%s\' এর নিকট আপনার বার্তা পাঠানো হয় নি + ব্যক্তি যোগ করুন + সংযুক্তি + কোন সংরক্ষিত কথোপকথন পাওয়া যায়নি + একটি কথোপকথন শুরু করুন + উত্তর দিন + বার্তা লেখার সময় একটি অক্ষর কাউন্টার দেখান + বার্তা লোড হচ্ছে… + প্রেরক উত্তর সমর্থন করে না + কথোপকথনের বিবরণ + রিসাইকেল বিন এড়িয়ে যান, সরাসরি বার্তা মুছুন + আপনি কি এই কথোপকথনের সমস্ত বার্তা মুছে ফেলার বিষয়ে নিশ্চিত? + আপনি কি নিশ্চিত আপনি %s আর্কাইভ করতে চান? + আপনি কি %s পুনরুদ্ধার করার বিষয়ে নিশ্চিত? + কীওয়ার্ড + + %dটি বার্তা + %dটি বার্তা + + শুধুমাত্র প্রেরক + ডেলিভারি রিপোর্ট সক্রিয় করুন + বার্তা পাঠানোর সময় উচ্চারণ এবং ডায়াক্রিটিকগুলি সরান + এন্টার চাপলে বার্তা পাঠান + একটি বার্তা লিখুন… + বার্তা পাঠানো হয়নি + পাঠানো হয় নি। পুনরায় চেষ্টা করতে স্পর্শ করুন। + খসড়া + পাঠানো হচ্ছে… + আনপিন করুন + নির্বাচিত আকারে ছবি সংকুচিত করা যায় নি + ডুপ্লিকেট আইটেম অন্তর্ভুক্ত করা হয়নি + এসএমএস পেয়েছেন + নতুন বার্তা + পঠিত হিসাবে চিহ্নিত করুন + অপঠিত হিসাবে চিহ্নিত করুন + আমাকে + \ No newline at end of file From 109be8da6e7b87772269b7a766a0e9d83a873b08 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Sep 2024 10:09:19 +0000 Subject: [PATCH 78/92] Update translation files Updated by "Remove blank strings" hook in Weblate. Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/ --- app/src/main/res/values-bn-rBD/strings.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml index 633573f2..8a90cef0 100644 --- a/app/src/main/res/values-bn-rBD/strings.xml +++ b/app/src/main/res/values-bn-rBD/strings.xml @@ -66,7 +66,6 @@ বার্তা পাঠানো যায়নি, পরিষেবা অনুপলব্ধ আপনি শুধুমাত্র \"503501\" এর মতো নম্বর সহ শর্ট কোডের উত্তর দিতে পারেন কিন্তু \"AB-CD0\" এর মতো অক্ষর এবং সংখ্যা সম্বলিত কোডগুলিতে নয়। দুঃখজনকভাবে এটি এমএমএস সংযুক্তি পাঠানোর জন্য প্রয়োজন. অন্যান্য অ্যাপের তুলনায় এমএমএস পাঠাতে না পারা সত্যিই একটি বড় অসুবিধা হবে, তাই আমরা এই পথে যাওয়ার সিদ্ধান্ত নিয়েছি। যাইহোক, সাধারণত, কোন বিজ্ঞাপন, ট্র্যাকিং বা বিশ্লেষণ কোনো কিছুই নেই, ইন্টারনেট শুধুমাত্র এমএমএস পাঠানোর জন্য ব্যবহার করা হয়। - উপরে পিন করুন আর্কাইভকৃত বার্তাসমূহ ফরোয়ার্ড করুন From 4462c2fe5eccd8ae1a4338b500123c442d81234b Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 19 Sep 2024 18:32:27 +0000 Subject: [PATCH 79/92] Translated using Weblate (Japanese) Currently translated at 60.0% (3 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/ja/ --- fastlane/metadata/android/ja-JP/changelogs/1.txt | 1 + fastlane/metadata/android/ja-JP/short_description.txt | 1 + fastlane/metadata/android/ja-JP/title.txt | 1 + 3 files changed, 3 insertions(+) create mode 100644 fastlane/metadata/android/ja-JP/changelogs/1.txt create mode 100644 fastlane/metadata/android/ja-JP/short_description.txt create mode 100644 fastlane/metadata/android/ja-JP/title.txt diff --git a/fastlane/metadata/android/ja-JP/changelogs/1.txt b/fastlane/metadata/android/ja-JP/changelogs/1.txt new file mode 100644 index 00000000..5d91ad87 --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/1.txt @@ -0,0 +1 @@ +* 初公開 diff --git a/fastlane/metadata/android/ja-JP/short_description.txt b/fastlane/metadata/android/ja-JP/short_description.txt new file mode 100644 index 00000000..591b1b16 --- /dev/null +++ b/fastlane/metadata/android/ja-JP/short_description.txt @@ -0,0 +1 @@ +オープンソースで広告なしのSMS/MMSメッセージングアプリ diff --git a/fastlane/metadata/android/ja-JP/title.txt b/fastlane/metadata/android/ja-JP/title.txt new file mode 100644 index 00000000..1109b22a --- /dev/null +++ b/fastlane/metadata/android/ja-JP/title.txt @@ -0,0 +1 @@ +Fossify SMSメッセンジャー From 990a58951e72b1ab7ac879de6021ee72ac73354d Mon Sep 17 00:00:00 2001 From: Sketch6580 Date: Thu, 19 Sep 2024 12:52:30 +0000 Subject: [PATCH 80/92] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/zh_Hans/ --- fastlane/metadata/android/zh-CN/full_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/zh-CN/full_description.txt b/fastlane/metadata/android/zh-CN/full_description.txt index 94529352..463abb9f 100644 --- a/fastlane/metadata/android/zh-CN/full_description.txt +++ b/fastlane/metadata/android/zh-CN/full_description.txt @@ -24,7 +24,7 @@ Fossify 信息是您值得信赖的消息传递伴侣,旨在以多种方式增 🌐 开源透明度: 您的隐私是重中之重。Fossify 信息无需互联网连接即可运行,保证了消息的安全性和稳定性。我们的应用完全没有广告,也不会请求不必要的权限。此外,它是完全开源的,让您放心,因为您可以访问源代码进行安全和隐私审核。 -切换到 Fossify 信息,以应有的方式体验消息传递 – 私密、高效和用户友好。立即下载并加入我们致力于保护您的消息传递体验的社区。 +切换到 Fossify 信息,以应有的方式体验消息传递——私密、高效和用户友好。立即下载并加入我们致力于保护您的消息传递体验的社区。 探索更多 Fossify 应用:https://www.fossify.org 开源代码:https://www.github.com/FossifyOrg From eeb630911b2a115911b115b82bc82ade1c93c803 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 20 Sep 2024 14:13:17 +0000 Subject: [PATCH 81/92] Translated using Weblate (Japanese) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/ja/ --- app/src/main/res/values-ja/strings.xml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index b84ba10a..c1aff288 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -20,7 +20,7 @@ 選択したサイズに画像を圧縮できません 重複したアイテムは含まれていませんでした - and %d others + とあと%d件 新しい会話 連絡先や電話番号を追加… @@ -45,10 +45,10 @@ 自分 本当にこの会話のすべてのメッセージを削除しますか? - %d 件の会話 + %d件の会話 - %d 件のメッセージ + %d件のメッセージ ロック画面の通知の可視性 送信者とメッセージ @@ -78,9 +78,9 @@ このようなショートコードには返信できません 「503501」のような数字のみのショートコードには返信できますが、「AB-CD0」のようなアルファベットと数字を含んだショートコードには返信できません。 なぜアプリの使用にインターネットへのアクセスが必要なのですか? - MMS (マルチメディアメッセージサービス) にはインターネットが必要となります。ほかのアプリでは使用できる MMS が使用できないことは大きな不利益となるため、このようになっています。 ただし、通常通り広告・追跡・分析は一切行わず、インターネットは MMS のみに使用されます。 - メッセージ相手が MMS を受信できません。何かできますか? - MMS のサイズは通信キャリアによって制限されています。アプリの設定で制限を小さくしてみてください(「送信する MMS の画像をリサイズ」から制限を小さくできます)。 + SSMの添付ファイルを送信するために必要となります。ほかのアプリでは使用できるMMSを使用できないことは非常な不利となるため、そのようになっています。ただし他の場合と同様、広告・追跡・分析は一切行わず、インターネットはMMSのみに使用されます。 + メッセージ相手が MMS を受信できません。どうすればいいですか? + MMSのサイズは通信キャリアによって制限されています。アプリの設定で制限を小さくしてみてください。 アプリは予約メッセージをサポートしていますか? はい、送信ボタンを長押しして、希望の日付と時刻を選択することで、今後送信したいメッセージを予約できます。 送信者 @@ -101,4 +101,16 @@ ブロックされたキーワードを管理する ブロックされたキーワードを追加する キーワードをブロックしていません。 ここでキーワードを追加して、それらを含むすべてのメッセージをブロックすることができます。 + ごみ箱に入れずメッセージを直接削除 + 添付ファイルのサイズがMMSの制限を超えています + SIMカードは利用できません + 送信時間 + 受信時間 + アーカイブを空にしました + アーカイブを空にしてよろしいですか?全ての会話は完全に消去されます。 + ごみ箱を空にしてよろしいですか?メッセージは完全に消去されます。 + %sを復元してよろしいですか? + %sをアーカイブしてよろしいですか? + この会話の全てのメッセージを復元してよろしいですか? + MMSをダウンロードできませんでした \ No newline at end of file From 7e6e08d9219af3d0794fd2adbffda5c8516c1524 Mon Sep 17 00:00:00 2001 From: Yeasin Hossain Date: Mon, 7 Oct 2024 20:39:42 +0000 Subject: [PATCH 82/92] Translated using Weblate (Bengali (Bangladesh)) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/bn_BD/ --- .../metadata/android/bn-BD/changelogs/1.txt | 1 + .../metadata/android/bn-BD/changelogs/2.txt | 2 ++ .../android/bn-BD/full_description.txt | 32 +++++++++++++++++++ .../android/bn-BD/short_description.txt | 1 + fastlane/metadata/android/bn-BD/title.txt | 1 + 5 files changed, 37 insertions(+) create mode 100644 fastlane/metadata/android/bn-BD/changelogs/1.txt create mode 100644 fastlane/metadata/android/bn-BD/changelogs/2.txt create mode 100644 fastlane/metadata/android/bn-BD/full_description.txt create mode 100644 fastlane/metadata/android/bn-BD/short_description.txt create mode 100644 fastlane/metadata/android/bn-BD/title.txt diff --git a/fastlane/metadata/android/bn-BD/changelogs/1.txt b/fastlane/metadata/android/bn-BD/changelogs/1.txt new file mode 100644 index 00000000..1105627e --- /dev/null +++ b/fastlane/metadata/android/bn-BD/changelogs/1.txt @@ -0,0 +1 @@ +* প্রাথমিক প্রকাশ diff --git a/fastlane/metadata/android/bn-BD/changelogs/2.txt b/fastlane/metadata/android/bn-BD/changelogs/2.txt new file mode 100644 index 00000000..0cabe38e --- /dev/null +++ b/fastlane/metadata/android/bn-BD/changelogs/2.txt @@ -0,0 +1,2 @@ +* ছোটখাট বাগ সংশোধন এবং উন্নতি +* কিছু অনুবাদ যোগ করা হয়েছে diff --git a/fastlane/metadata/android/bn-BD/full_description.txt b/fastlane/metadata/android/bn-BD/full_description.txt new file mode 100644 index 00000000..88c2b258 --- /dev/null +++ b/fastlane/metadata/android/bn-BD/full_description.txt @@ -0,0 +1,32 @@ +Fossify Messenger হল আপনার বিশ্বস্ত মেসেজিং সঙ্গী, যা আপনার মেসেজিং অভিজ্ঞতাকে বিভিন্ন উপায়ে উন্নত করার জন্য ডিজাইন করা হয়েছে। + +📱 সহজে কানেক্টেড থাকুন: +Fossify Messenger এর মাধ্যমে, আপনি আপনার প্রিয়জনদের সাথে সংযুক্ত থাকতে অনায়াসে SMS এবং MMS বার্তা পাঠাতে পারেন। SMS/MMS ভিত্তিক গ্রুপ মেসেজিং উপভোগ করুন এবং ফটো, ইমোজি এবং দ্রুত শুভেচ্ছার মাধ্যমে নিজেকে প্রকাশ করুন। + +🚫 অবাঞ্ছিত বার্তা ব্লক করুন: +একটি শক্তিশালী ব্লকিং বৈশিষ্ট্য সহ আপনার মেসেজিং অভিজ্ঞতার নিয়ন্ত্রণ নিন, সহজেই অবাঞ্ছিত বার্তাগুলিকে প্রতিরোধ করুন, এমনকি অজানা পরিচিতি থেকেও। আপনি ঝামেলা-মুক্ত ব্যাকআপের জন্য ব্লক করা নম্বরগুলি ইমপোর্ট এবং এক্সপোর্ট করতে পারেন। উপরন্তু, নির্দিষ্ট শব্দ বা বাক্যাংশ সহ বার্তাগুলিকে আপনার ইনবক্সে পৌঁছাতে বাধা দিয়ে আপনার অভিজ্ঞতা কাস্টমাইজ করুন। + +🔒 অনায়াসে এসএমএস ব্যাকআপ: +গুরুত্বপূর্ণ বার্তা হারানোর বিষয়ে উদ্বেগকে বিদায় জানান। Fossify Messenger আপনাকে আপনার বার্তা রপ্তানি এবং আমদানি করার অনুমতি দিয়ে সুবিধাজনক SMS ব্যাকআপ কার্যকারিতা প্রদান করে। এই বৈশিষ্ট্যটি নিশ্চিত করে যে আপনি আপনার মূল্যবান কথোপকথন না হারিয়ে সহজেই ডিভাইসগুলি স্যুইচ করতে পারেন৷ + +🚀 বিদ্যুত-দ্রুত এবং হালকা: +এর শক্তিশালী বৈশিষ্ট্য থাকা সত্ত্বেও, ফসিফাই মেসেঞ্জার একটি উল্লেখযোগ্যভাবে ছোট অ্যাপের আকার নিয়ে গর্ব করে, এটিকে দ্রুত এবং সহজে ডাউনলোড এবং ইনস্টল করে। এসএমএস ব্যাকআপের সাথে আসা মানসিক শান্তি উপভোগ করার সময় গতি এবং দক্ষতার অভিজ্ঞতা নিন। + +🔐 উন্নত গোপনীয়তা: +অতিরিক্ত গোপনীয়তার জন্য আপনার লক স্ক্রিনে যা প্রদর্শিত হবে তা কাস্টমাইজ করুন। শুধুমাত্র প্রেরক, বার্তা সামগ্রী বা কিছুই প্রদর্শন করতে বেছে নিন। আপনার বার্তা আপনার নিয়ন্ত্রণে আছে. + +🔍 কার্যকরী বার্তা অনুসন্ধান: +কথোপকথনের মাধ্যমে অন্তহীন স্ক্রোলিংকে বিদায় বলুন। ফসিফাই মেসেঞ্জার দ্রুত এবং দক্ষ অনুসন্ধান বৈশিষ্ট্য সহ বার্তা পুনরুদ্ধারকে সহজ করে। আপনার যা প্রয়োজন তা সন্ধান করুন, যখন আপনার এটি প্রয়োজন। + +🌈 আধুনিক ডিজাইন এবং ব্যবহারকারী-বান্ধব ইন্টারফেস: +একটি ব্যবহারকারী-বান্ধব ইন্টারফেসের সাথে একটি পরিষ্কার, আধুনিক ডিজাইন উপভোগ করুন। অ্যাপটিতে একটি বস্তুগত নকশা এবং একটি অন্ধকার থিম বিকল্প রয়েছে, যা একটি দৃশ্যমান আকর্ষণীয় এবং আরামদায়ক ব্যবহারকারীর অভিজ্ঞতা প্রদান করে। + +🌐 ওপেন সোর্স স্বচ্ছতা: +আপনার গোপনীয়তা একটি শীর্ষ অগ্রাধিকার. ফসিফাই মেসেঞ্জার ইন্টারনেট সংযোগের প্রয়োজন ছাড়াই কাজ করে, বার্তা নিরাপত্তা এবং স্থিতিশীলতার নিশ্চয়তা দেয়। আমাদের অ্যাপটি সম্পূর্ণ বিজ্ঞাপন মুক্ত এবং অপ্রয়োজনীয় অনুমতির জন্য অনুরোধ করে না। অধিকন্তু, এটি সম্পূর্ণরূপে ওপেন সোর্স, যা আপনাকে মানসিক শান্তি প্রদান করে, কারণ আপনার কাছে নিরাপত্তা এবং গোপনীয়তা নিরীক্ষার জন্য সোর্স কোডের অ্যাক্সেস রয়েছে। + +ফসিফাই মেসেঞ্জারে স্যুইচ করুন এবং মেসেজ করার অভিজ্ঞতা নিন যেভাবে এটি হওয়া উচিত - ব্যক্তিগত, দক্ষ এবং ব্যবহারকারী-বান্ধব৷ এখনই ডাউনলোড করুন এবং আপনার মেসেজিং অভিজ্ঞতা সুরক্ষিত করতে প্রতিশ্রুতিবদ্ধ আমাদের সম্প্রদায়ে যোগ দিন। + +আরও Fossify অ্যাপগুলি অন্বেষণ করুন: https://www.fossify.org +ওপেন-সোর্স কোড: https://www.github.com/FossifyOrg +Reddit এ সম্প্রদায়ে যোগ দিন: https://www.reddit.com/r/Fossify +টেলিগ্রামে সংযোগ করুন: https://t.me/Fossify diff --git a/fastlane/metadata/android/bn-BD/short_description.txt b/fastlane/metadata/android/bn-BD/short_description.txt new file mode 100644 index 00000000..f504aca3 --- /dev/null +++ b/fastlane/metadata/android/bn-BD/short_description.txt @@ -0,0 +1 @@ +ওপেন সোর্স এবং বিজ্ঞাপন-মুক্ত SMS/MMS মেসেজিং অ্যাপ diff --git a/fastlane/metadata/android/bn-BD/title.txt b/fastlane/metadata/android/bn-BD/title.txt new file mode 100644 index 00000000..a3d175b2 --- /dev/null +++ b/fastlane/metadata/android/bn-BD/title.txt @@ -0,0 +1 @@ +Fossify এসএমএস মেসেঞ্জার From cca9159279511fd71e1f18c8896e9c8c2d4b0fd7 Mon Sep 17 00:00:00 2001 From: Yeasin Hossain Date: Mon, 7 Oct 2024 20:17:10 +0000 Subject: [PATCH 83/92] Translated using Weblate (Bengali (Bangladesh)) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/bn_BD/ --- app/src/main/res/values-bn-rBD/strings.xml | 39 +++++++++++----------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml index 8a90cef0..5d055e0d 100644 --- a/app/src/main/res/values-bn-rBD/strings.xml +++ b/app/src/main/res/values-bn-rBD/strings.xml @@ -5,25 +5,25 @@ আপনি কি রিসাইকেল বিন খালি করার বিষয়ে নিশ্চিত? বার্তা স্থায়ীভাবে হারিয়ে যাবে। প্রেরক এবং বার্তা আপনাকে অন্তত একটি আইটেম নির্বাচন করতে হবে - এমএমএস আমদানি করুন + এমএমএস ইমপোর্ট করুন একটি খালি নম্বরে বার্তা পাঠাতে পারবেন না টেলিফোনি ডাটাবেসে বার্তা সংরক্ষণ করতে অক্ষম বার্তা পাঠানো যায়নি, রেডিও বন্ধ আছে বার্তা পাঠানো যায়নি, ক্যারিয়ার ত্রুটি বার্তা পাঠানো যায়নি, ত্রুটি কোড: %d এর মত শর্ট কোডে উত্তর দিতে পারবেন না - সংযুক্তির আকার সর্বাধিক এমএমএস সীমা ছাড়িয়ে গেছে৷ + সংযুক্তির আকার সর্বাধিক এমএমএস সীমা ছাড়িয়ে গেছে সিম কার্ড উপলব্ধ নেই এমএমএস ডাউনলোড করা যায়নি কেন অ্যাপটির ইন্টারনেট অ্যাক্সেস প্রয়োজন? এমএমএস আকার ক্যারিয়ার দ্বারা সীমিত, আপনি অ্যাপ সেটিংসে একটি ছোট সীমা সেট করে চেষ্টা করতে পারেন। - অন্য প্রান্তটি আমার এমএমএস পাচ্ছে না, আমি কি এটি সম্পর্কে কিছু করতে পারি? + অন্য প্রান্তের জন আমার এমএমএস পাচ্ছে না, আমি কি এটি সম্পর্কে কিছু করতে পারি? অ্যাপটি কি সময় নির্ধারিত বার্তা সমর্থন করে? হ্যাঁ, আপনি পাঠান বোতামটি দীর্ঘক্ষণ টিপে এবং পছন্দসই তারিখ এবং সময় বেছে নিয়ে ভবিষ্যতে পাঠানোর জন্য বার্তাগুলি নির্ধারণ করতে পারেন। সদস্যরা কথোপকথনের নাম নতুন কথোপকথন - যোগাযোগ বা নম্বর যোগ করুন… + কন্টাক্ট বা নম্বর যোগ করুন… পরামর্শ শুধুমাত্র আপনি এই কথোপকথন নাম দেখতে পারবেন কথোপকথনের নাম পরিবর্তন করুন @@ -32,22 +32,22 @@ পাঠানোর সময় নির্ধারণ করুন বার্তার বিবরণ পাঠানোর নির্ধারিত সময় বাতিল করুন - এ প্রাপ্ত + এই সময়ে প্রাপ্ত বার্তা আপডেট করুন ফোনটি চালু রাখুন এবং নিশ্চিত করুন যে ব্যাকগ্রাউন্ডে থাকা অবস্থায় অ্যাপটিকে বন্ধ করার কিছু নেই। প্রেরক আপনাকে অবশ্যই ভবিষ্যতের একটি সময় বেছে নিতে হবে এখনই পাঠান প্রাপক - এ পাঠানো হয়েছে + এই সময়ে পাঠানো হয়েছে আর্কাইভ করা কথোপকথন দেখুন সমস্ত আর্কাইভ করা কথোপকথন মুছুন আর্কাইভ করুন আপনি কি নিশ্চিত যে আপনি আর্কাইভ খালি করতে চান? সমস্ত আর্কাইভ করা কথোপকথন স্থায়ীভাবে হারিয়ে যাবে। আপনি কি এই কথোপকথনের সমস্ত বার্তা পুনরুদ্ধার করার বিষয়ে নিশ্চিত? - %dটি কথোপকথন - %dটি কথোপকথন + %d টি কথোপকথন + %d গুলো কথোপকথন ব্লক করা কীওয়ার্ড ব্লক করা কীওয়ার্ড পরিচালনা করুন @@ -58,11 +58,11 @@ বহির্গামী বার্তা এমএমএস হিসাবে গ্রুপ বার্তা পাঠান এমএমএস হিসাবে দীর্ঘ বার্তা পাঠান - বার্তা রপ্তানি করুন - বার্তা আমদানি করুন - এসএমএস আমদানি করুন - এসএমএস রপ্তানি করুন - এমএমএস রপ্তানি করুন + বার্তা এক্সপোর্ট করুন + বার্তা ইমপোর্ট করুন + এসএমএস ইমপোর্ট করুন + এসএমএস এক্সপোর্ট করুন + এমএমএস এক্সপোর্ট করুন বার্তা পাঠানো যায়নি, পরিষেবা অনুপলব্ধ আপনি শুধুমাত্র \"503501\" এর মতো নম্বর সহ শর্ট কোডের উত্তর দিতে পারেন কিন্তু \"AB-CD0\" এর মতো অক্ষর এবং সংখ্যা সম্বলিত কোডগুলিতে নয়। দুঃখজনকভাবে এটি এমএমএস সংযুক্তি পাঠানোর জন্য প্রয়োজন. অন্যান্য অ্যাপের তুলনায় এমএমএস পাঠাতে না পারা সত্যিই একটি বড় অসুবিধা হবে, তাই আমরা এই পথে যাওয়ার সিদ্ধান্ত নিয়েছি। যাইহোক, সাধারণত, কোন বিজ্ঞাপন, ট্র্যাকিং বা বিশ্লেষণ কোনো কিছুই নেই, ইন্টারনেট শুধুমাত্র এমএমএস পাঠানোর জন্য ব্যবহার করা হয়। @@ -71,13 +71,13 @@ ফরোয়ার্ড করুন কোনো আর্কাইভকৃত কথোপকথন পাওয়া যায়নি কাস্টম বিজ্ঞপ্তি সক্রিয় করুন - আর্কাইভ সফলভাবে খালি করা হয়েছে৷ + আর্কাইভ সফলভাবে খালি করা হয়েছে একটি ব্লকড কীওয়ার্ড যোগ করুন আর্কাইভ মুক্ত করুন লক স্ক্রীন বিজ্ঞপ্তি দৃশ্যমানতা এবং আরও %d জন - এবং আরও %d জন + এবং আরও %d জনকে \'%s\' এর নিকট আপনার বার্তা পাঠানো হয় নি ব্যক্তি যোগ করুন @@ -95,8 +95,8 @@ আপনি কি %s পুনরুদ্ধার করার বিষয়ে নিশ্চিত? কীওয়ার্ড - %dটি বার্তা - %dটি বার্তা + %d টি বার্তা + %d গুলো বার্তা শুধুমাত্র প্রেরক ডেলিভারি রিপোর্ট সক্রিয় করুন @@ -109,10 +109,11 @@ পাঠানো হচ্ছে… আনপিন করুন নির্বাচিত আকারে ছবি সংকুচিত করা যায় নি - ডুপ্লিকেট আইটেম অন্তর্ভুক্ত করা হয়নি + সদৃশ আইটেম অন্তর্ভুক্ত করা হয়নি এসএমএস পেয়েছেন নতুন বার্তা পঠিত হিসাবে চিহ্নিত করুন অপঠিত হিসাবে চিহ্নিত করুন - আমাকে + আমি + Messages \ No newline at end of file From acf2f9ba694c2c93f98aac52311bd8323f053405 Mon Sep 17 00:00:00 2001 From: Fjuro Date: Mon, 21 Oct 2024 15:19:57 +0000 Subject: [PATCH 84/92] Translated using Weblate (Czech) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/cs/ --- fastlane/metadata/android/cs-CZ/changelogs/1.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/cs-CZ/changelogs/1.txt b/fastlane/metadata/android/cs-CZ/changelogs/1.txt index 909b4eb0..9ad7f851 100644 --- a/fastlane/metadata/android/cs-CZ/changelogs/1.txt +++ b/fastlane/metadata/android/cs-CZ/changelogs/1.txt @@ -1 +1 @@ -* Initial release +* Prvotní vydání From 7016984e28e476987842055513ed87935e5ddf39 Mon Sep 17 00:00:00 2001 From: Yeasin Hossain Date: Sat, 26 Oct 2024 07:27:51 +0000 Subject: [PATCH 85/92] Translated using Weblate (Bengali (Bangladesh)) Currently translated at 80.0% (4 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/bn_BD/ --- fastlane/metadata/android/bn-BD/changelogs/2.txt | 2 +- .../metadata/android/bn-BD/full_description.txt | 14 +++++++------- .../metadata/android/bn-BD/short_description.txt | 2 +- fastlane/metadata/android/bn-BD/title.txt | 1 - 4 files changed, 9 insertions(+), 10 deletions(-) delete mode 100644 fastlane/metadata/android/bn-BD/title.txt diff --git a/fastlane/metadata/android/bn-BD/changelogs/2.txt b/fastlane/metadata/android/bn-BD/changelogs/2.txt index 0cabe38e..913f3b46 100644 --- a/fastlane/metadata/android/bn-BD/changelogs/2.txt +++ b/fastlane/metadata/android/bn-BD/changelogs/2.txt @@ -1,2 +1,2 @@ * ছোটখাট বাগ সংশোধন এবং উন্নতি -* কিছু অনুবাদ যোগ করা হয়েছে +* কিছু translation যোগ করা হয়েছে diff --git a/fastlane/metadata/android/bn-BD/full_description.txt b/fastlane/metadata/android/bn-BD/full_description.txt index 88c2b258..5c4642f9 100644 --- a/fastlane/metadata/android/bn-BD/full_description.txt +++ b/fastlane/metadata/android/bn-BD/full_description.txt @@ -10,23 +10,23 @@ Fossify Messenger এর মাধ্যমে, আপনি আপনার প গুরুত্বপূর্ণ বার্তা হারানোর বিষয়ে উদ্বেগকে বিদায় জানান। Fossify Messenger আপনাকে আপনার বার্তা রপ্তানি এবং আমদানি করার অনুমতি দিয়ে সুবিধাজনক SMS ব্যাকআপ কার্যকারিতা প্রদান করে। এই বৈশিষ্ট্যটি নিশ্চিত করে যে আপনি আপনার মূল্যবান কথোপকথন না হারিয়ে সহজেই ডিভাইসগুলি স্যুইচ করতে পারেন৷ 🚀 বিদ্যুত-দ্রুত এবং হালকা: -এর শক্তিশালী বৈশিষ্ট্য থাকা সত্ত্বেও, ফসিফাই মেসেঞ্জার একটি উল্লেখযোগ্যভাবে ছোট অ্যাপের আকার নিয়ে গর্ব করে, এটিকে দ্রুত এবং সহজে ডাউনলোড এবং ইনস্টল করে। এসএমএস ব্যাকআপের সাথে আসা মানসিক শান্তি উপভোগ করার সময় গতি এবং দক্ষতার অভিজ্ঞতা নিন। +এর শক্তিশালী বৈশিষ্ট্য থাকা সত্ত্বেও, ফসিফাই মেসেঞ্জার একটি উল্লেখযোগ্যভাবে ছোট app এর আকার নিয়ে গর্ব করে, এটিকে দ্রুত এবং সহজে ডাউনলোড এবং ইনস্টল করে। এসএমএস ব্যাকআপের সাথে আসা মানসিক শান্তি উপভোগ করার সময় speed এবং দক্ষতার অভিজ্ঞতা নিন। 🔐 উন্নত গোপনীয়তা: -অতিরিক্ত গোপনীয়তার জন্য আপনার লক স্ক্রিনে যা প্রদর্শিত হবে তা কাস্টমাইজ করুন। শুধুমাত্র প্রেরক, বার্তা সামগ্রী বা কিছুই প্রদর্শন করতে বেছে নিন। আপনার বার্তা আপনার নিয়ন্ত্রণে আছে. +অতিরিক্ত গোপনীয়তার জন্য আপনার lockscreen যা প্রদর্শিত হবে তা কাস্টমাইজ করুন। শুধুমাত্র প্রেরক, বার্তা সামগ্রী বা all প্রদর্শন করতে বেছে নিন। আপনার বার্তা আপনার নিয়ন্ত্রণে আছে. -🔍 কার্যকরী বার্তা অনুসন্ধান: -কথোপকথনের মাধ্যমে অন্তহীন স্ক্রোলিংকে বিদায় বলুন। ফসিফাই মেসেঞ্জার দ্রুত এবং দক্ষ অনুসন্ধান বৈশিষ্ট্য সহ বার্তা পুনরুদ্ধারকে সহজ করে। আপনার যা প্রয়োজন তা সন্ধান করুন, যখন আপনার এটি প্রয়োজন। +🔍 কার্যকরী বার্তা search: +কথোপকথনের মাধ্যমে অন্তহীন স্ক্রোলিংকে বিদায় বলুন। ফসিফাই মেসেঞ্জার দ্রুত এবং দক্ষ অনুসন্ধান বৈশিষ্ট্য সহ বার্তা পুনরুদ্ধারকে সহজ করে। আপনার যা প্রয়োজন তা search করুন। যখন আপনার এটি প্রয়োজন। 🌈 আধুনিক ডিজাইন এবং ব্যবহারকারী-বান্ধব ইন্টারফেস: -একটি ব্যবহারকারী-বান্ধব ইন্টারফেসের সাথে একটি পরিষ্কার, আধুনিক ডিজাইন উপভোগ করুন। অ্যাপটিতে একটি বস্তুগত নকশা এবং একটি অন্ধকার থিম বিকল্প রয়েছে, যা একটি দৃশ্যমান আকর্ষণীয় এবং আরামদায়ক ব্যবহারকারীর অভিজ্ঞতা প্রদান করে। +একটি ব্যবহারকারী-বান্ধব ইন্টারফেসের সাথে একটি পরিষ্কার, আধুনিক ডিজাইন উপভোগ করুন। app টিতে একটি বস্তুগত নকশা এবং একটি অন্ধকার থিম বিকল্প রয়েছে, যা একটি দৃশ্যমান আকর্ষণীয় এবং আরামদায়ক ব্যবহারকারীর অভিজ্ঞতা প্রদান করে। 🌐 ওপেন সোর্স স্বচ্ছতা: -আপনার গোপনীয়তা একটি শীর্ষ অগ্রাধিকার. ফসিফাই মেসেঞ্জার ইন্টারনেট সংযোগের প্রয়োজন ছাড়াই কাজ করে, বার্তা নিরাপত্তা এবং স্থিতিশীলতার নিশ্চয়তা দেয়। আমাদের অ্যাপটি সম্পূর্ণ বিজ্ঞাপন মুক্ত এবং অপ্রয়োজনীয় অনুমতির জন্য অনুরোধ করে না। অধিকন্তু, এটি সম্পূর্ণরূপে ওপেন সোর্স, যা আপনাকে মানসিক শান্তি প্রদান করে, কারণ আপনার কাছে নিরাপত্তা এবং গোপনীয়তা নিরীক্ষার জন্য সোর্স কোডের অ্যাক্সেস রয়েছে। +আপনার গোপনীয়তা একটি শীর্ষ অগ্রাধিকার. ফসিফাই মেসেঞ্জার ইন্টারনেট সংযোগের প্রয়োজন ছাড়াই কাজ করে, বার্তা নিরাপত্তা এবং স্থিতিশীলতার নিশ্চয়তা দেয়। আমাদের app টি সম্পূর্ণ বিজ্ঞাপন মুক্ত এবং অপ্রয়োজনীয় অনুমতির জন্য অনুরোধ করে না। অধিকন্তু, এটি সম্পূর্ণরূপে ওপেন সোর্স, যা আপনাকে মানসিক শান্তি প্রদান করে, কারণ আপনার কাছে নিরাপত্তা এবং গোপনীয়তা নিরীক্ষার জন্য সোর্স কোডের অ্যাক্সেস রয়েছে। ফসিফাই মেসেঞ্জারে স্যুইচ করুন এবং মেসেজ করার অভিজ্ঞতা নিন যেভাবে এটি হওয়া উচিত - ব্যক্তিগত, দক্ষ এবং ব্যবহারকারী-বান্ধব৷ এখনই ডাউনলোড করুন এবং আপনার মেসেজিং অভিজ্ঞতা সুরক্ষিত করতে প্রতিশ্রুতিবদ্ধ আমাদের সম্প্রদায়ে যোগ দিন। -আরও Fossify অ্যাপগুলি অন্বেষণ করুন: https://www.fossify.org +আরও Fossify app গুলি অন্বেষণ করুন: https://www.fossify.org ওপেন-সোর্স কোড: https://www.github.com/FossifyOrg Reddit এ সম্প্রদায়ে যোগ দিন: https://www.reddit.com/r/Fossify টেলিগ্রামে সংযোগ করুন: https://t.me/Fossify diff --git a/fastlane/metadata/android/bn-BD/short_description.txt b/fastlane/metadata/android/bn-BD/short_description.txt index f504aca3..f79c3502 100644 --- a/fastlane/metadata/android/bn-BD/short_description.txt +++ b/fastlane/metadata/android/bn-BD/short_description.txt @@ -1 +1 @@ -ওপেন সোর্স এবং বিজ্ঞাপন-মুক্ত SMS/MMS মেসেজিং অ্যাপ +ওপেন সোর্স এবং বিজ্ঞাপন-মুক্ত SMS/MMS মেসেজিং app diff --git a/fastlane/metadata/android/bn-BD/title.txt b/fastlane/metadata/android/bn-BD/title.txt deleted file mode 100644 index a3d175b2..00000000 --- a/fastlane/metadata/android/bn-BD/title.txt +++ /dev/null @@ -1 +0,0 @@ -Fossify এসএমএস মেসেঞ্জার From 4d199d2334c42c17e7fa3a7c1c1e1502b7ae5119 Mon Sep 17 00:00:00 2001 From: Sergio Marques Date: Thu, 31 Oct 2024 23:39:29 +0000 Subject: [PATCH 86/92] Translated using Weblate (Portuguese) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/pt/ --- app/src/main/res/values-pt/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 4bac849d..1f9cab61 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -14,7 +14,7 @@ O remetente não aceita respostas Rascunho A enviar… - Fixar + Afixar no topo Desafixar Encaminhar Não foi possível comprimir a imagem para o tamanho selecionado @@ -61,7 +61,7 @@ Restaurar todas as mensagens Tem a certeza de que pretende esvaziar a reciclagem\? As mensagens não poderão ser recuperadas. Eliminar mensagens sem as colocar na reciclagem - Tem a certeza de que pretende apagar todas as mensagens desta conversa\? + Tem a certeza de que pretende eliminar todas as mensagens desta conversa? Tem a certeza de que pretende arquivar %s\? Tem a certeza de que pretende restaurar todas as mensagens desta conversa\? Tem a certeza de que pretende restaurar %s\? From 9f36d82fb03d89a31714dcca011979e3ac5c25f1 Mon Sep 17 00:00:00 2001 From: CyanWolf Date: Sat, 2 Nov 2024 13:37:59 +0000 Subject: [PATCH 87/92] Translated using Weblate (Spanish) Currently translated at 100.0% (107 of 107 strings) Translation: Fossify/Messages Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger/es/ --- app/src/main/res/values-es/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 211e4ab1..ca769db9 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -118,5 +118,5 @@ ¿La aplicación admite mensajes programados\? Sí, puedes programar el envío de mensajes en el futuro pulsando prolongadamente el botón de envío y eligiendo la fecha y hora deseadas. Activar las notificaciones personalizadas - Messages + Mensajes \ No newline at end of file From b122751470dd9a1b1af8ae39d7548afbd323f296 Mon Sep 17 00:00:00 2001 From: Alberto Date: Sun, 3 Nov 2024 14:01:51 +0000 Subject: [PATCH 88/92] Translated using Weblate (Italian) Currently translated at 80.0% (4 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/it/ --- fastlane/metadata/android/it-IT/changelogs/1.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/it-IT/changelogs/1.txt b/fastlane/metadata/android/it-IT/changelogs/1.txt index b7527bff..44bd2bb2 100644 --- a/fastlane/metadata/android/it-IT/changelogs/1.txt +++ b/fastlane/metadata/android/it-IT/changelogs/1.txt @@ -1 +1 @@ -* Rilascio iniziale +* Versione iniziale From 3e52ddc1634da7ffb09d716241a813868c6fd116 Mon Sep 17 00:00:00 2001 From: Dan Date: Wed, 13 Nov 2024 17:18:47 +0000 Subject: [PATCH 89/92] Translated using Weblate (Ukrainian) Currently translated at 100.0% (5 of 5 strings) Translation: Fossify/Messages metadata Translate-URL: https://hosted.weblate.org/projects/fossify/sms-messenger-metadata/uk/ --- fastlane/metadata/android/uk/changelogs/1.txt | 2 +- .../metadata/android/uk/full_description.txt | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 fastlane/metadata/android/uk/full_description.txt diff --git a/fastlane/metadata/android/uk/changelogs/1.txt b/fastlane/metadata/android/uk/changelogs/1.txt index 4ac55aba..cf2a5326 100644 --- a/fastlane/metadata/android/uk/changelogs/1.txt +++ b/fastlane/metadata/android/uk/changelogs/1.txt @@ -1 +1 @@ -* Початковий реліз +* Початковий випуск diff --git a/fastlane/metadata/android/uk/full_description.txt b/fastlane/metadata/android/uk/full_description.txt new file mode 100644 index 00000000..b6defce9 --- /dev/null +++ b/fastlane/metadata/android/uk/full_description.txt @@ -0,0 +1,32 @@ +Fossify Месенджер – це ваш надійний компаньйон для обміну повідомленнями, розроблений, щоб покращити ваш досвід обміну повідомленнями різними способами. + +📱 ЗАЛИШАЙТЕСЯ НА ЗВ'ЯЗКУ З ЛЕГКІСТЮ: +За допомогою Fossify Месенджер ви можете легко надсилати SMS та MMS-повідомлення, щоб залишатися на зв'язку зі своїми близькими. Насолоджуйтесь груповими повідомленнями на основі SMS/MMS та виражайте себе за допомогою фотографій, емоджі та швидких привітань. + +🚫 БЛОКУЙТЕ НЕБАЖАНІ ПОВІДОМЛЕННЯ: +Контролюйте обмін повідомленнями за допомогою надійної функції блокування, яка легко запобігає отриманню небажаних повідомлень, навіть від невідомих контактів. Ви також можете експортувати та імпортувати заблоковані номери для зручного резервного копіювання. Крім того, ви можете налаштувати свій досвід, запобігаючи отриманню повідомлень з певними словами або фразами у вашій поштовій скриньці. + +🔒 РЕЗЕРВНЕ КОПІЮВАННЯ СМС БЕЗ ЗАЙВИХ ЗУСИЛЬ: +Попрощайтеся із занепокоєнням про втрату важливих повідомлень. Fossify Месенджер пропонує зручну функцію резервного копіювання SMS, дозволяючи вам експортувати та імпортувати ваші повідомлення. Ця функція гарантує, що ви зможете легко переходити з одного пристрою на інший, не втрачаючи цінних розмов. + +🚀 БЛИСКАВИЧНО ШВИДКИЙ І ЛЕГКИЙ: +Попри свої потужні функції, Fossify Месенджер може похвалитися надзвичайно малим розміром, що робить його швидким і простим у завантаженні та встановленні. Відчуйте швидкість та ефективність, насолоджуючись душевним спокоєм, який приходить з резервним копіюванням SMS. + +🔐 ПОКРАЩЕНА ПРИВАТНІСТЬ: +Налаштуйте те, що показується на екрані блокування, для додаткової приватності. Вибирайте, щоби показувати тільки відправника, вміст повідомлення або взагалі нічого. Ви можете контролювати свої повідомлення. + +🔍 ЕФЕКТИВНИЙ ПОШУК ПОВІДОМЛЕНЬ: +Попрощайтеся з нескінченною прокруткою розмов. Fossify Месенджер спрощує пошук повідомлень завдяки швидкій та ефективній функції пошуку. Знаходьте те, що вам потрібно, коли вам це потрібно. + +🌈 СУЧАСНИЙ ДИЗАЙН ТА ЗРУЧНИЙ ІНТЕРФЕЙС: +Насолоджуйтесь чистим, сучасним дизайном та зручним інтерфейсом. Застосунок має матеріальний дизайн та темну тему, що забезпечує візуально привабливий та комфортний користувацький досвід. + +🌐 ПРОЗОРІСТЬ З ВІДКРИТИМ ВИХІДНИМ КОДОМ: +Ваша приватність є головним пріоритетом. Fossify Месенджер працює без з'єднання з мережею, гарантуючи безпеку та стабільність повідомлень. Наш застосунок не має і не запитує непотрібних дозволів. Більше того, він повністю відкритий, що дає вам спокій, оскільки ви маєте доступ до вихідного коду для аудиту безпеки та приватності. + +Переходьте на Fossify Месенджер і відчуйте, що обмін повідомленнями має бути таким, яким він має бути: приватним, ефективним і зручним для користувача. Завантажуйте зараз і приєднуйтесь до нашої спільноти, яка прагне захистити ваш досвід обміну повідомленнями. + +Дізнайтеся більше про застосунки Fossify: https://www.fossify.org +Відкритий код: https://www.github.com/FossifyOrg +Приєднуйтесь до спільноти на Reddit: https://www.reddit.com/r/Fossify +Приєднуйтесь у Telegram: https://t.me/Fossify From d6b3d3b1227893a5619f6ae7c852dfe5f82e2106 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Mon, 18 Nov 2024 12:21:37 +0530 Subject: [PATCH 90/92] Update no-response.yml --- .github/workflows/no-response.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/no-response.yml b/.github/workflows/no-response.yml index 7ce741c9..0eaf9af8 100644 --- a/.github/workflows/no-response.yml +++ b/.github/workflows/no-response.yml @@ -18,5 +18,7 @@ jobs: only-labels: 'waiting for author' stale-issue-label: 'waiting for author' stale-pr-label: 'waiting for author' + remove-stale-when-updated: false + ignore-updates: true close-issue-message: This issue has been automatically closed due to inactivity. We requested additional information but have not received a response from the original author. Without the requested details, we cannot proceed. If you have or find the information needed, please comment so we can reopen the issue. close-pr-message: This pull request has been automatically closed due to inactivity. We requested additional information but have not received a response from the original author. Without the requested details, we cannot proceed. If you have the needed information or updates, please reopen the PR or comment so we can continue the review. From 48dcb05554059d2f7d7728ec62df9bbe711a9d75 Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Sun, 8 Dec 2024 09:50:49 +0100 Subject: [PATCH 91/92] Added sorting blocked keywords (#256) --- .../messages/activities/ManageBlockedKeywordsActivity.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/org/fossify/messages/activities/ManageBlockedKeywordsActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/ManageBlockedKeywordsActivity.kt index a294acc0..f6db61d1 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/ManageBlockedKeywordsActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/ManageBlockedKeywordsActivity.kt @@ -71,9 +71,9 @@ class ManageBlockedKeywordsActivity : BaseSimpleActivity(), RefreshRecyclerViewL private fun updateBlockedKeywords() { ensureBackgroundThread { - val blockedKeywords = config.blockedKeywords + val blockedKeywords = config.blockedKeywords.sorted().toArrayList() runOnUiThread { - ManageBlockedKeywordsAdapter(this, blockedKeywords.toArrayList(), this, binding.manageBlockedKeywordsList) { + ManageBlockedKeywordsAdapter(this, blockedKeywords, this, binding.manageBlockedKeywordsList) { addOrEditBlockedKeyword(it as String) }.apply { binding.manageBlockedKeywordsList.adapter = this From 29520d5a2d34b656ccd608532d3b4e4653125acd Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Wed, 25 Dec 2024 18:01:03 +0530 Subject: [PATCH 92/92] Construct import mime type based on API level Format code. --- .../messages/activities/SettingsActivity.kt | 150 ++++++++++++++---- 1 file changed, 119 insertions(+), 31 deletions(-) diff --git a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt index 644f6968..1c12634d 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt @@ -9,9 +9,36 @@ import androidx.activity.result.contract.ActivityResultContracts import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import org.fossify.commons.activities.ManageBlockedNumbersActivity -import org.fossify.commons.dialogs.* -import org.fossify.commons.extensions.* -import org.fossify.commons.helpers.* +import org.fossify.commons.dialogs.ChangeDateTimeFormatDialog +import org.fossify.commons.dialogs.ConfirmationDialog +import org.fossify.commons.dialogs.FeatureLockedDialog +import org.fossify.commons.dialogs.RadioGroupDialog +import org.fossify.commons.dialogs.SecurityDialog +import org.fossify.commons.extensions.addLockedLabelIfNeeded +import org.fossify.commons.extensions.beGoneIf +import org.fossify.commons.extensions.beVisibleIf +import org.fossify.commons.extensions.getBlockedNumbers +import org.fossify.commons.extensions.getCustomizeColorsString +import org.fossify.commons.extensions.getFontSizeText +import org.fossify.commons.extensions.getProperPrimaryColor +import org.fossify.commons.extensions.isOrWasThankYouInstalled +import org.fossify.commons.extensions.launchPurchaseThankYouIntent +import org.fossify.commons.extensions.showErrorToast +import org.fossify.commons.extensions.toast +import org.fossify.commons.extensions.updateTextColors +import org.fossify.commons.extensions.viewBinding +import org.fossify.commons.helpers.FONT_SIZE_EXTRA_LARGE +import org.fossify.commons.helpers.FONT_SIZE_LARGE +import org.fossify.commons.helpers.FONT_SIZE_MEDIUM +import org.fossify.commons.helpers.FONT_SIZE_SMALL +import org.fossify.commons.helpers.NavigationIcon +import org.fossify.commons.helpers.PROTECTION_FINGERPRINT +import org.fossify.commons.helpers.SHOW_ALL_TABS +import org.fossify.commons.helpers.ensureBackgroundThread +import org.fossify.commons.helpers.isNougatPlus +import org.fossify.commons.helpers.isOreoPlus +import org.fossify.commons.helpers.isPiePlus +import org.fossify.commons.helpers.isTiramisuPlus import org.fossify.commons.models.RadioItem import org.fossify.messages.R import org.fossify.messages.databinding.ActivitySettingsBinding @@ -19,7 +46,19 @@ import org.fossify.messages.dialogs.ExportMessagesDialog import org.fossify.messages.extensions.config import org.fossify.messages.extensions.emptyMessagesRecycleBin import org.fossify.messages.extensions.messagesDB -import org.fossify.messages.helpers.* +import org.fossify.messages.helpers.FILE_SIZE_100_KB +import org.fossify.messages.helpers.FILE_SIZE_1_MB +import org.fossify.messages.helpers.FILE_SIZE_200_KB +import org.fossify.messages.helpers.FILE_SIZE_2_MB +import org.fossify.messages.helpers.FILE_SIZE_300_KB +import org.fossify.messages.helpers.FILE_SIZE_600_KB +import org.fossify.messages.helpers.FILE_SIZE_NONE +import org.fossify.messages.helpers.LOCK_SCREEN_NOTHING +import org.fossify.messages.helpers.LOCK_SCREEN_SENDER +import org.fossify.messages.helpers.LOCK_SCREEN_SENDER_MESSAGE +import org.fossify.messages.helpers.MessagesImporter +import org.fossify.messages.helpers.MessagesReader +import org.fossify.messages.helpers.refreshMessages import java.util.Locale import kotlin.system.exitProcess @@ -27,7 +66,14 @@ class SettingsActivity : SimpleActivity() { private var blockedNumbersAtPause = -1 private var recycleBinMessages = 0 private val messagesFileType = "application/json" - private val messageImportFileTypes = listOf("application/json", "application/xml", "text/xml", "application/octet-stream") + private val messageImportFileTypes = buildList { + add("application/json") + add("application/xml") + add("text/xml") + if (!isPiePlus()) { + add("application/octet-stream") + } + } private val binding by viewBinding(ActivitySettingsBinding::inflate) @@ -42,7 +88,10 @@ class SettingsActivity : SimpleActivity() { useTransparentNavigation = true, useTopSearchMenu = false ) - setupMaterialScrollListener(scrollingView = binding.settingsNestedScrollview, toolbar = binding.settingsToolbar) + setupMaterialScrollListener( + scrollingView = binding.settingsNestedScrollview, + toolbar = binding.settingsToolbar + ) } override fun onResume() { @@ -73,7 +122,9 @@ class SettingsActivity : SimpleActivity() { setupMessagesImport() updateTextColors(binding.settingsNestedScrollview) - if (blockedNumbersAtPause != -1 && blockedNumbersAtPause != getBlockedNumbers().hashCode()) { + if ( + blockedNumbersAtPause != -1 && blockedNumbersAtPause != getBlockedNumbers().hashCode() + ) { refreshMessages() } @@ -90,18 +141,20 @@ class SettingsActivity : SimpleActivity() { } } - private val getContent = registerForActivityResult(ActivityResultContracts.OpenDocument()) { uri -> - if (uri != null) { - MessagesImporter(this).importMessages(uri) + private val getContent = + registerForActivityResult(ActivityResultContracts.OpenDocument()) { uri -> + if (uri != null) { + MessagesImporter(this).importMessages(uri) + } } - } - private val saveDocument = registerForActivityResult(ActivityResultContracts.CreateDocument(messagesFileType)) { uri -> - if (uri != null) { - toast(org.fossify.commons.R.string.exporting) - exportMessages(uri) + private val saveDocument = + registerForActivityResult(ActivityResultContracts.CreateDocument(messagesFileType)) { uri -> + if (uri != null) { + toast(org.fossify.commons.R.string.exporting) + exportMessages(uri) + } } - } private fun setupMessagesExport() { binding.settingsExportMessagesHolder.setOnClickListener { @@ -120,7 +173,10 @@ class SettingsActivity : SimpleActivity() { private fun exportMessages(uri: Uri) { ensureBackgroundThread { try { - MessagesReader(this).getMessagesToExport(config.exportSms, config.exportMms) { messagesToExport -> + MessagesReader(this).getMessagesToExport( + config.exportSms, + config.exportMms + ) { messagesToExport -> if (messagesToExport.isEmpty()) { toast(org.fossify.commons.R.string.no_entries_for_exporting) return@getMessagesToExport @@ -167,7 +223,10 @@ class SettingsActivity : SimpleActivity() { } private fun setupUseEnglish() = binding.apply { - settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus()) + settingsUseEnglishHolder.beVisibleIf( + (config.wasUseEnglishToggled || Locale.getDefault().language != "en") + && !isTiramisuPlus() + ) settingsUseEnglish.isChecked = config.useEnglish settingsUseEnglishHolder.setOnClickListener { settingsUseEnglish.toggle() @@ -187,7 +246,8 @@ class SettingsActivity : SimpleActivity() { // support for device-wise blocking came on Android 7, rely only on that @TargetApi(Build.VERSION_CODES.N) private fun setupManageBlockedNumbers() = binding.apply { - settingsManageBlockedNumbers.text = addLockedLabelIfNeeded(org.fossify.commons.R.string.manage_blocked_numbers) + settingsManageBlockedNumbers.text = + addLockedLabelIfNeeded(org.fossify.commons.R.string.manage_blocked_numbers) settingsManageBlockedNumbersHolder.beVisibleIf(isNougatPlus()) settingsManageBlockedNumbersHolder.setOnClickListener { @@ -202,7 +262,8 @@ class SettingsActivity : SimpleActivity() { } private fun setupManageBlockedKeywords() = binding.apply { - settingsManageBlockedKeywords.text = addLockedLabelIfNeeded(R.string.manage_blocked_keywords) + settingsManageBlockedKeywords.text = + addLockedLabelIfNeeded(R.string.manage_blocked_keywords) settingsManageBlockedKeywordsHolder.setOnClickListener { if (isOrWasThankYouInstalled()) { @@ -230,7 +291,10 @@ class SettingsActivity : SimpleActivity() { RadioItem(FONT_SIZE_SMALL, getString(org.fossify.commons.R.string.small)), RadioItem(FONT_SIZE_MEDIUM, getString(org.fossify.commons.R.string.medium)), RadioItem(FONT_SIZE_LARGE, getString(org.fossify.commons.R.string.large)), - RadioItem(FONT_SIZE_EXTRA_LARGE, getString(org.fossify.commons.R.string.extra_large)) + RadioItem( + FONT_SIZE_EXTRA_LARGE, + getString(org.fossify.commons.R.string.extra_large) + ) ) RadioGroupDialog(this@SettingsActivity, items, config.fontSize) { @@ -352,7 +416,11 @@ class SettingsActivity : SimpleActivity() { recycleBinMessages = messagesDB.getArchivedCount() runOnUiThread { settingsEmptyRecycleBinSize.text = - resources.getQuantityString(R.plurals.delete_messages, recycleBinMessages, recycleBinMessages) + resources.getQuantityString( + R.plurals.delete_messages, + recycleBinMessages, + recycleBinMessages + ) } } @@ -372,7 +440,11 @@ class SettingsActivity : SimpleActivity() { } recycleBinMessages = 0 settingsEmptyRecycleBinSize.text = - resources.getQuantityString(R.plurals.delete_messages, recycleBinMessages, recycleBinMessages) + resources.getQuantityString( + R.plurals.delete_messages, + recycleBinMessages, + recycleBinMessages + ) } } } @@ -381,8 +453,17 @@ class SettingsActivity : SimpleActivity() { private fun setupAppPasswordProtection() = binding.apply { settingsAppPasswordProtection.isChecked = config.isAppPasswordProtectionOn settingsAppPasswordProtectionHolder.setOnClickListener { - val tabToShow = if (config.isAppPasswordProtectionOn) config.appProtectionType else SHOW_ALL_TABS - SecurityDialog(this@SettingsActivity, config.appPasswordHash, tabToShow) { hash, type, success -> + val tabToShow = if (config.isAppPasswordProtectionOn) { + config.appProtectionType + } else { + SHOW_ALL_TABS + } + + SecurityDialog( + activity = this@SettingsActivity, + requiredHash = config.appPasswordHash, + showTabIndex = tabToShow + ) { hash, type, success -> if (success) { val hasPasswordProtection = config.isAppPasswordProtectionOn settingsAppPasswordProtection.isChecked = !hasPasswordProtection @@ -391,13 +472,20 @@ class SettingsActivity : SimpleActivity() { config.appProtectionType = type if (config.isAppPasswordProtectionOn) { - val confirmationTextId = if (config.appProtectionType == PROTECTION_FINGERPRINT) { - org.fossify.commons.R.string.fingerprint_setup_successfully - } else { - org.fossify.commons.R.string.protection_setup_successfully - } + val confirmationTextId = + if (config.appProtectionType == PROTECTION_FINGERPRINT) { + org.fossify.commons.R.string.fingerprint_setup_successfully + } else { + org.fossify.commons.R.string.protection_setup_successfully + } - ConfirmationDialog(this@SettingsActivity, "", confirmationTextId, org.fossify.commons.R.string.ok, 0) { } + ConfirmationDialog( + activity = this@SettingsActivity, + message = "", + messageId = confirmationTextId, + positive = org.fossify.commons.R.string.ok, + negative = 0 + ) { } } } }