From d9366008dcf483dbade5504b0f4fa20af354695d Mon Sep 17 00:00:00 2001 From: jacquarg Date: Thu, 20 Mar 2025 09:29:43 +0100 Subject: [PATCH 1/2] feat:3129: Share weekly report mechanism. --- app/src/main/AndroidManifest.xml | 9 ++ .../contentproviders/ScreenshotsProvider.kt | 57 ++++++++ .../debug/DebugWeeklyReportFragment.kt | 17 +++ .../features/trackers/TrackersFragment.kt | 36 +++-- .../weeklyreport/WeeklyReportViewFactory.kt | 52 ++++++- .../res/drawable/bg_share_blue_gradient.xml | 24 ++++ app/src/main/res/drawable/ic_murena_logo.xml | 132 ++++++++++++++++++ app/src/main/res/drawable/ic_share.xml | 9 ++ .../main/res/drawable/ic_shield_verified.xml | 9 ++ .../res/layout/debug_weekly_report_item.xml | 2 - app/src/main/res/layout/fragment_trackers.xml | 79 ++++++++++- .../layout/weekly_report_share_template.xml | 85 +++++++++++ app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-es/strings.xml | 1 + app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values/strings.xml | 8 ++ app/src/main/res/xml/fileprovider_paths.xml | 20 +++ 18 files changed, 522 insertions(+), 21 deletions(-) create mode 100644 app/src/main/java/foundation/e/advancedprivacy/externalinterfaces/contentproviders/ScreenshotsProvider.kt create mode 100644 app/src/main/res/drawable/bg_share_blue_gradient.xml create mode 100644 app/src/main/res/drawable/ic_murena_logo.xml create mode 100644 app/src/main/res/drawable/ic_share.xml create mode 100644 app/src/main/res/drawable/ic_shield_verified.xml create mode 100644 app/src/main/res/layout/weekly_report_share_template.xml create mode 100644 app/src/main/res/xml/fileprovider_paths.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 667891d7..90a5bbf1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,6 @@ + + + + diff --git a/app/src/main/res/drawable/ic_murena_logo.xml b/app/src/main/res/drawable/ic_murena_logo.xml new file mode 100644 index 00000000..24c856b6 --- /dev/null +++ b/app/src/main/res/drawable/ic_murena_logo.xml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_share.xml b/app/src/main/res/drawable/ic_share.xml new file mode 100644 index 00000000..e62c395f --- /dev/null +++ b/app/src/main/res/drawable/ic_share.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_shield_verified.xml b/app/src/main/res/drawable/ic_shield_verified.xml new file mode 100644 index 00000000..066b8dff --- /dev/null +++ b/app/src/main/res/drawable/ic_shield_verified.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/debug_weekly_report_item.xml b/app/src/main/res/layout/debug_weekly_report_item.xml index 18ee61b2..128f8679 100644 --- a/app/src/main/res/layout/debug_weekly_report_item.xml +++ b/app/src/main/res/layout/debug_weekly_report_item.xml @@ -43,8 +43,6 @@ android:layout_height="48dp" android:text="@string/debug_weekly_report_item_share" android:layout_margin="4dp" - - android:enabled="false" /> - - + + + + + + + + + + + - diff --git a/app/src/main/res/layout/weekly_report_share_template.xml b/app/src/main/res/layout/weekly_report_share_template.xml new file mode 100644 index 00000000..d23e7a52 --- /dev/null +++ b/app/src/main/res/layout/weekly_report_share_template.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index bbb3585e..5ae36fe7 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -152,4 +152,5 @@ Schandmauer Nur Apps mit Standort-Berechtigung werden angezeigt. Apps zurücksetzen + https://e.foundation/wp-content/uploads/2025/01/White_Paper_-_Privacy_-_DE.pdf \ No newline at end of file diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 86ed812a..bf17ea9f 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -152,4 +152,5 @@ Muro de deshonra Reiniciar aplicaciones Sólo aparerán aplicaciones con permiso de localización. + https://e.foundation/wp-content/uploads/2025/01/White_Paper_-_Privacy_-_ES.pdf \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 7089ac0b..bf4c3699 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -150,4 +150,5 @@ Voir tous les pisteurs Mur de la honte %s fuites détectées + https://e.foundation/wp-content/uploads/2025/01/White_Paper_-_Privacy_-_FR.pdf \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 38393108..53d92c32 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -152,4 +152,5 @@ create %s fughe di dati Visualizzate esclusivamente le app con autorizzazione alla geolocalizzazione. Ripristino delle applicazioni + https://e.foundation/wp-content/uploads/2025/01/White_Paper_-_Privacy_-_IT.pdf \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9ed1aa5f..5840648f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -184,6 +184,14 @@ This option uses the TOR network to hide your real IP address. Only use it for specific applications. While your IP is faked, your Internet speed is likely to be reduced.\nImportant: we advise disabling this feature for email services as your address may end into permanent ban from your provider. I understand + + Weekly report + Share this report and show others what\'s happening! + Share + See how /e/OS protects my device from tracking attempts! \nWhy mobile apps trackers are one of the most impactful threats regarding your privacy and your freedom: read our Privacy Guide at + https://e.foundation/wp-content/uploads/2024/12/murena_white_paper_privacy.pdf + Weekly report: + murena.com @string/app_name diff --git a/app/src/main/res/xml/fileprovider_paths.xml b/app/src/main/res/xml/fileprovider_paths.xml new file mode 100644 index 00000000..282f9c33 --- /dev/null +++ b/app/src/main/res/xml/fileprovider_paths.xml @@ -0,0 +1,20 @@ + + + + + -- GitLab From 2f19789b8944b1934b4b30a335d2d36b7f98524d Mon Sep 17 00:00:00 2001 From: jacquarg Date: Wed, 2 Apr 2025 10:03:51 +0200 Subject: [PATCH 2/2] feat:3129: MR fixes, IA translate de, es, fr, it --- .../contentproviders/ScreenshotsProvider.kt | 2 +- .../advancedprivacy/features/trackers/TrackersFragment.kt | 1 - .../features/weeklyreport/WeeklyReportViewFactory.kt | 2 +- app/src/main/res/values-de/strings.xml | 6 ++++++ app/src/main/res/values-es/strings.xml | 6 ++++++ app/src/main/res/values-fr/strings.xml | 7 +++++++ app/src/main/res/values-it/strings.xml | 7 +++++++ 7 files changed, 28 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/foundation/e/advancedprivacy/externalinterfaces/contentproviders/ScreenshotsProvider.kt b/app/src/main/java/foundation/e/advancedprivacy/externalinterfaces/contentproviders/ScreenshotsProvider.kt index 15a83df2..ae0725d2 100644 --- a/app/src/main/java/foundation/e/advancedprivacy/externalinterfaces/contentproviders/ScreenshotsProvider.kt +++ b/app/src/main/java/foundation/e/advancedprivacy/externalinterfaces/contentproviders/ScreenshotsProvider.kt @@ -24,7 +24,7 @@ import androidx.core.content.FileProvider import androidx.core.content.FileProvider.getUriForFile import java.io.File -// Subclass (empty) of FileProvider, as advicsed in documentation +// Subclass (empty) of FileProvider, as advised in documentation // https://developer.android.com/reference/androidx/core/content/FileProvider : // "It is possible to use FileProvider directly instead of extending it. However, this is // not reliable and will causes crashes on some devices." diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersFragment.kt b/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersFragment.kt index 176c5c2b..7a616872 100644 --- a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersFragment.kt +++ b/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersFragment.kt @@ -87,7 +87,6 @@ class TrackersFragment : NavToolbarFragment(R.layout.fragment_trackers) { binding.weeklyreportShareBtn.setOnClickListener { viewModel.state.value?.let { report -> val bmp = weeklyReportViewFactory.createShareBmp(requireContext(), report) - if (bmp == null) return@let val sendIntent = ScreenshotsProvider.buildSendIntent( requireContext(), bmp, diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/weeklyreport/WeeklyReportViewFactory.kt b/app/src/main/java/foundation/e/advancedprivacy/features/weeklyreport/WeeklyReportViewFactory.kt index 6b85009b..af2eb301 100644 --- a/app/src/main/java/foundation/e/advancedprivacy/features/weeklyreport/WeeklyReportViewFactory.kt +++ b/app/src/main/java/foundation/e/advancedprivacy/features/weeklyreport/WeeklyReportViewFactory.kt @@ -44,7 +44,7 @@ class WeeklyReportViewFactory() { return binding.root } - fun createShareBmp(context: Context, report: DisplayableReport): Bitmap? { + fun createShareBmp(context: Context, report: DisplayableReport): Bitmap { val screenshotWidthPx = 1080 // expected Meta width, 360dp with density x3.0 val screenshotDensity = DisplayMetrics.DENSITY_XXHIGH // x3.0 val screenshotFontScale = 1f // base value, 1sp == 1dp diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 5ae36fe7..7ca97586 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -152,5 +152,11 @@ Schandmauer Nur Apps mit Standort-Berechtigung werden angezeigt. Apps zurücksetzen + + Wöchentlicher Bericht + Teilen Sie diesen Bericht und zeigen Sie anderen, was passiert! + Teilen + Sehen Sie, wie /e/OS mein Gerät vor Tracking-Versuchen schützt! \nWarum mobile App-Tracker eine der größten Bedrohungen für Ihre Privatsphäre und Freiheit sind: Lesen Sie unseren Datenschutzleitfaden unter + Wöchentlicher Bericht: https://e.foundation/wp-content/uploads/2025/01/White_Paper_-_Privacy_-_DE.pdf \ No newline at end of file diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index bf17ea9f..a6eb3b55 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -152,5 +152,11 @@ Muro de deshonra Reiniciar aplicaciones Sólo aparerán aplicaciones con permiso de localización. + + Informe semanal + ¡Comparte este informe y muestra a otros lo que está pasando! + Compartir + ¡Vea cómo /e/OS protege mi dispositivo de intentos de seguimiento! \nPor qué los rastreadores de aplicaciones móviles son una de las amenazas más impactantes para su privacidad y su libertad: lea nuestra Guía de Privacidad en + Informe semanal: https://e.foundation/wp-content/uploads/2025/01/White_Paper_-_Privacy_-_ES.pdf \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index bf4c3699..b6e96c86 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -150,5 +150,12 @@ Voir tous les pisteurs Mur de la honte %s fuites détectées + + + Rapport Hebdomadaire + Partagez ce rapport et montrez aux autres ce qui se passe ! + Partager + Voyez comment /e/OS protège mon appareil des tentatives de traçage ! \nPourquoi les trackers d\'applications mobiles sont l\'une des menaces les plus impactantes pour votre vie privée et votre liberté : lisez notre Guide de Confidentialité : + Rapport Hebdomadaire : https://e.foundation/wp-content/uploads/2025/01/White_Paper_-_Privacy_-_FR.pdf \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 53d92c32..00239f0f 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -152,5 +152,12 @@ create %s fughe di dati Visualizzate esclusivamente le app con autorizzazione alla geolocalizzazione. Ripristino delle applicazioni + + Rapporto settimanale + Condividi questo rapporto e mostra agli altri cosa sta succedendo! + Condividi + Guarda come /e/OS protegge il mio dispositivo dai tentativi di tracciamento! \nPerché i tracker delle app mobili sono una delle minacce più impattanti per la tua privacy e la tua libertà: leggi la nostra Guida alla Privacy su + Rapporto settimanale: + https://e.foundation/wp-content/uploads/2025/01/White_Paper_-_Privacy_-_IT.pdf \ No newline at end of file -- GitLab