Skip to content

Commit 06e4548

Browse files
author
Yevhen Babiichuk (DustDFG)
committed
Add warning banner about ongoing google certification for android apps
1 parent 9a292e3 commit 06e4548

19 files changed

Lines changed: 103 additions & 0 deletions

File tree

app/src/main/java/org/schabi/newpipe/MainActivity.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@
2020

2121
package org.schabi.newpipe;
2222

23+
import android.app.AlertDialog;
2324
import android.content.BroadcastReceiver;
2425
import android.content.Context;
2526
import android.content.Intent;
2627
import android.content.IntentFilter;
2728
import android.content.SharedPreferences;
2829
import android.content.pm.PackageManager;
30+
import android.net.Uri;
2931
import android.os.Bundle;
3032
import android.os.Handler;
3133
import android.os.Looper;
@@ -96,6 +98,8 @@
9698
import org.schabi.newpipe.util.external_communication.ShareUtils;
9799
import org.schabi.newpipe.views.FocusOverlayView;
98100

101+
import java.time.Instant;
102+
import java.time.temporal.ChronoUnit;
99103
import java.util.ArrayList;
100104
import java.util.List;
101105
import java.util.Objects;
@@ -196,6 +200,8 @@ protected void onCreate(final Bundle savedInstanceState) {
196200
UpdateSettingsFragment.askForConsentToUpdateChecks(this);
197201
}
198202

203+
showKeepAndroidDialog();
204+
199205
MigrationManager.showUserInfoIfPresent(this);
200206
}
201207

@@ -973,4 +979,44 @@ private boolean bottomSheetHiddenOrCollapsed() {
973979
|| sheetState == BottomSheetBehavior.STATE_COLLAPSED;
974980
}
975981

982+
private void showKeepAndroidDialog() {
983+
final var prefs = PreferenceManager.getDefaultSharedPreferences(this);
984+
985+
final var now = Instant.now();
986+
final var kaoLastCheck = Instant.ofEpochMilli(prefs.getLong(
987+
getString(R.string.kao_last_checked_key),
988+
0
989+
));
990+
991+
final var kaoURI = Uri.parse("https://keepandroidopen.org");
992+
final var solutionURI = Uri.parse(
993+
"https://github.com/woheller69/FreeDroidWarn?tab=readme-ov-file#solutions");
994+
995+
if (kaoLastCheck.plus(30, ChronoUnit.DAYS).isBefore(now)) {
996+
final var dialog = new AlertDialog.Builder(this)
997+
.setTitle("Keep Android Open")
998+
.setCancelable(false)
999+
.setMessage(this.getString(R.string.kao_dialog_warning))
1000+
.setPositiveButton(this.getString(android.R.string.ok), (d, w) -> {
1001+
prefs.edit()
1002+
.putLong(
1003+
getString(R.string.kao_last_checked_key),
1004+
now.toEpochMilli()
1005+
)
1006+
.apply();
1007+
})
1008+
.setNeutralButton(this.getString(R.string.kao_solution), null)
1009+
.setNegativeButton(this.getString(R.string.kao_dialog_more_info), null)
1010+
.show();
1011+
1012+
// If we use setNeutralButton and etc. dialog will close after pressing the buttons
1013+
// but we want it to close only when positive button is pressed
1014+
dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(v ->
1015+
this.startActivity(new Intent(Intent.ACTION_VIEW, kaoURI))
1016+
);
1017+
dialog.getButton(AlertDialog.BUTTON_NEUTRAL).setOnClickListener(v ->
1018+
this.startActivity(new Intent(Intent.ACTION_VIEW, solutionURI))
1019+
);
1020+
}
1021+
}
9761022
}

app/src/main/java/org/schabi/newpipe/about/AboutActivity.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,13 @@ class AboutActivity : AppCompatActivity() {
254254
"ByteHamster",
255255
"https://github.com/ByteHamster/SearchPreference",
256256
StandardLicenses.MIT
257+
),
258+
SoftwareComponent(
259+
"FreeDroidWarn",
260+
"2026",
261+
"woheller69",
262+
"https://github.com/woheller69/FreeDroidWarn",
263+
StandardLicenses.APACHE2
257264
)
258265
)
259266
}

app/src/main/res/values-ar/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -903,4 +903,7 @@
903903
<string name="youtube_player_http_403">تم تلقي خطأ HTTP 403 من الخادم أثناء التشغيل، ويرجح أن يكون السبب هو حظر عنوان IP أو مشكلات في إزالة التعتيم عن عنوان URL للبث</string>
904904
<string name="sign_in_confirm_not_bot_error">رفض %1$s تقديم البيانات، وطلب تسجيل الدخول للتأكد من أن الطالب ليس روبوتًا.\n\nربما تم حظر عنوان IP الخاص بك مؤقتًا من قبل %1$s، يمكنك الانتظار بعض الوقت أو التبديل إلى عنوان IP مختلف (على سبيل المثال عن طريق تشغيل/إيقاف تشغيل VPN، أو التبديل من WiFi إلى بيانات الهاتف المحمول).</string>
905905
<string name="unsupported_content_in_country">هذا المحتوى غير متاح للبلد المحدد حاليًا.\n\nقم بتغيير اختيارك من ”الإعدادات &gt; المحتوى &gt; البلد الافتراضي للمحتوى“.</string>
906+
<string name="kao_dialog_warning">أعلنت Google أنه ابتداءً من عام 2026/2027، ستتطلب جميع التطبيقات على الأجهزة المعتمدة من Android من المطورين تقديم معلومات هويتهم الشخصية مباشرةً إلى Google. بما أن مطوري هذا التطبيق لا يوافقون على هذا الشرط، فلن يعمل هذا التطبيق على أجهزة Android المعتمدة بعد ذلك الوقت.</string>
907+
<string name="kao_dialog_more_info">تفاصيل</string>
908+
<string name="kao_solution">حل</string>
906909
</resources>

app/src/main/res/values-cs/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -861,4 +861,7 @@
861861
<string name="youtube_player_http_403">Chyba HTTP 403 obdržená od serveru během přehrávání, pravděpodobně způsobená zákazem IP adresy nebo problémy s deobfuskací streamovací adresy URL</string>
862862
<string name="sign_in_confirm_not_bot_error">%1$s odmítl poskytnout data, žádá o přihlášení k potvrzení, že žadatel není bot.\n\nVaše IP adresa mohla být dočasně zakázána %1$s, můžete nějakou dobu počkat nebo přepnout na jinou IP adresu (například zapnutím/vypnutím VPN nebo přepnutím z WiFi na mobilní data).</string>
863863
<string name="unsupported_content_in_country">Tento obsah není pro aktuálně vybranou zemi obsahu dostupný.\n\nZměňte výběr v nabídce \"Nastavení &gt; Obsah &gt; Výchozí země obsahu\".</string>
864+
<string name="kao_dialog_warning">Společnost Google oznámila, že od roku 2026/2027 budou všechny aplikace na certifikovaných zařízeních Android vyžadovat, aby vývojář odeslal své osobní identifikační údaje přímo společnosti Google. Jelikož vývojáři této aplikace s tímto požadavkem nesouhlasí, aplikace po tomto datu přestane na certifikovaných zařízeních Android fungovat.</string>
865+
<string name="kao_dialog_more_info">Podrobnosti</string>
866+
<string name="kao_solution">Řešení</string>
864867
</resources>

app/src/main/res/values-de/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -847,4 +847,7 @@
847847
<string name="youtube_player_http_403">HTTP-Fehler 403 vom Server während der Wiedergabe erhalten, wahrscheinlich verursacht durch eine IP-Sperre oder Probleme beim Entschlüsseln der Streaming-URL</string>
848848
<string name="sign_in_confirm_not_bot_error">%1$s hat die Datenbereitstellung verweigert und verlangt eine Anmeldung, um zu bestätigen, dass es sich bei dem Anfragenden nicht um einen Bot handelt.\n\nDeine IP-Adresse wurde möglicherweise vorübergehend von %1$s gesperrt. Du kannst einige Zeit warten oder zu einer anderen IP-Adresse wechseln (z. B. durch Ein- und Ausschalten eines VPNs oder durch Wechseln von WLAN zu mobilen Daten).</string>
849849
<string name="unsupported_content_in_country">Dieser Inhalt ist für das aktuell ausgewählte Land des Inhalts nicht verfügbar.\n\nÄndere die Auswahl unter „Einstellungen &gt; Inhalt &gt; Bevorzugtes Land des Inhalts“.</string>
850+
<string name="kao_dialog_warning">Google hat angekündigt, dass ab 2026/2027 alle Apps auf zertifizierten Android-Geräten nur noch funktionieren, wenn die Entwickler ihre persönlichen Identitätsdaten direkt an Google übermitteln. Da die Entwickler dieser App dieser Anforderung nicht zustimmen, wird diese App ab diesem Zeitpunkt auf zertifizierten Android-Geräten nicht mehr funktionieren.</string>
851+
<string name="kao_dialog_more_info">Details</string>
852+
<string name="kao_solution">Lösung</string>
850853
</resources>

app/src/main/res/values-es/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -851,4 +851,7 @@
851851
<string name="short_billion">%sMM</string>
852852
<string name="unsupported_content_in_country">Este contenido no está disponible para el país seleccionado actualmente.\n\nCambia tu selección en «Ajustes &gt; Contenido &gt; País predefinido del contenido».</string>
853853
<string name="permission_display_over_apps_message">Para usar el reproductor emergente, seleccione %1$s en el siguiente menú de la configuración de Android y habilite %2$s.</string>
854+
<string name="kao_dialog_warning">Google ha anunciado que, a partir de 2026/2027, todas las aplicaciones en dispositivos Android certificados requerirán que los desarrolladores envíen sus datos personales de identidad directamente a Google. Como los desarrolladores de esta aplicación no están de acuerdo con este requisito, la aplicación dejará de funcionar en dispositivos Android certificados después de esa fecha.</string>
855+
<string name="kao_dialog_more_info">Detalles</string>
856+
<string name="kao_solution">Solución</string>
854857
</resources>

app/src/main/res/values-fr/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -863,4 +863,7 @@
863863
<string name="youtube_player_http_403">Erreur HTTP 403 reçue du serveur pendant la lecture, probablement causée par un bannissement d\'IP ou des problèmes de désobfuscation de l\'URL de streaming</string>
864864
<string name="sign_in_confirm_not_bot_error">%1$s a refusé de fournir des données et a demandé un identifiant pour confirmer que le demandeur n\'est pas un robot.\n\nVotre adresse IP a peut-être été temporairement bannie par %1$s. Vous pouvez patienter un peu ou changer d\'adresse IP (par exemple en activant/désactivant un VPN, ou en passant du Wi-Fi aux données mobiles).</string>
865865
<string name="unsupported_content_in_country">Ce contenu n\'est pas disponible pour le pays actuellement sélectionné.\n\nModifiez votre sélection dans « Paramètres &gt; Contenu &gt; Pays par défaut ».</string>
866+
<string name="kao_dialog_warning">Google a annoncé qu’à partir de 2026/2027, toutes les applications sur les appareils Android certifiés exigeront que les développeurs transmettent leurs informations d’identité personnelles directement à Google. Comme les développeurs de cette application n’acceptent pas cette exigence, l’application cessera de fonctionner sur les appareils Android certifiés après cette date.</string>
867+
<string name="kao_dialog_more_info">Détails</string>
868+
<string name="kao_solution">Solution</string>
866869
</resources>

app/src/main/res/values-hi/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -847,4 +847,7 @@
847847
<string name="youtube_player_http_403">पले करते समय सर्वर से HTTP error 403 मिला, जो शायद IP बैन या स्ट्रीमिंग URL डीओबफस्केशन की दिक्कतों की वजह से हुआ है</string>
848848
<string name="sign_in_confirm_not_bot_error">%1$s ने डेटा देने से मना कर दिया, और यह कन्फर्म करने के लिए लॉगिन मांगा कि रिक्वेस्ट करने वाला बोट नहीं है।\n\nहो सकता है कि %1$s ने आपके IP को कुछ समय के लिए बैन कर दिया हो, आप कुछ समय इंतज़ार कर सकते हैं या किसी दूसरे IP पर स्विच कर सकते हैं (जैसे VPN ऑन/ऑफ करके, या WiFi से मोबाइल डेटा पर स्विच करके)।</string>
849849
<string name="unsupported_content_in_country">यह कंटेंट अभी चुने गए देश के कंटेंट के लिए उपलब्ध नहीं है।\n\n\"सेटिंग्स &gt; कंटेंट &gt; डिफ़ॉल्ट कंटेंट देश\" से अपना चुनाव बदलें।</string>
850+
<string name="kao_dialog_warning">Google ने घोषणा की है कि 2026/2027 से, प्रमाणित Android डिवाइसों पर सभी ऐप्स के लिए डेवलपर्स को अपनी व्यक्तिगत पहचान संबंधी जानकारी सीधे Google को जमा करनी होगी। चूँकि इस ऐप के डेवलपर्स इस आवश्यकता से सहमत नहीं हैं, यह ऐप उस समय के बाद प्रमाणित Android डिवाइसों पर काम नहीं करेगा।</string>
851+
<string name="kao_dialog_more_info">विवरण</string>
852+
<string name="kao_solution">समाधान</string>
850853
</resources>

app/src/main/res/values-hu/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -818,4 +818,7 @@
818818
<string name="youtube_player_http_403">HTTP 403-as hiba érkezett a kiszolgálótól a lejátszás közben, valószínűleg IP-tiltás vagy a közvetítési hivatkozás feloldási problémák miatt</string>
819819
<string name="sign_in_confirm_not_bot_error">%1$s visszautasította az adatok szolgáltatását, és bejelentkezést kér annak megerősítésére, hogy a kérés nem robot által érkezik.\n\nElőfordulhat, hogy az IP-címét ideiglenesen letiltotta %1$s, várhat egy keveset, vagy váltson egy másik IP-címre (például VPN be-/kikapcsolásával, vagy Wi-Fi-ről mobiladat-forgalomra váltva).</string>
820820
<string name="unsupported_content_in_country">Ez a tartalom a jelenleg kiválasztott tartalom országában nem elérhető.\n\nVáltoztassa meg a „Beállítások &gt; Tartalom &gt;Tartalom alapértelmezett országa” menüpontban.</string>
821+
<string name="kao_dialog_warning">A Google bejelentette, hogy 2026/2027-től minden alkalmazás a hitelesített Android-eszközökön meg fogja követelni, hogy a fejlesztők személyes azonosító adataikat közvetlenül a Google-nek adják át. Mivel ennek az alkalmazásnak a fejlesztői nem értenek egyet ezzel a követelménnyel, az alkalmazás ezen időpont után nem fog működni a hitelesített Android-eszközökön.</string>
822+
<string name="kao_dialog_more_info">Részletek</string>
823+
<string name="kao_solution">Megoldás</string>
821824
</resources>

app/src/main/res/values-it/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -861,4 +861,7 @@
861861
<string name="youtube_player_http_403">Errore HTTP 403 ricevuto dal server durante la riproduzione, probabilmente causato da un divieto dell\'IP o problemi di de-offuscamento dell\'URL in streaming</string>
862862
<string name="sign_in_confirm_not_bot_error">%1$s ha rifiutato di fornire i dati, chiedendo un accesso per confermare che il richiedente non sia un bot.\n\nIl tuo IP potrebbe essere stato temporaneamente vietato da %1$s, puoi aspettare un po\' di tempo o passare ad un IP diverso (ad esempio accendendo/spegnendo una VPN, o passando dal WiFi ai dati mobili).</string>
863863
<string name="unsupported_content_in_country">Questo contenuto non è disponibile per il Paese dei contenuti attualmente selezionato.\n\nModifica la selezione da \"Impostazioni &gt; Contenuti &gt; Paese dei contenuti predefinito\".</string>
864+
<string name="kao_dialog_warning">Google ha annunciato che, a partire dal 2026/2027, tutte le app sui dispositivi Android certificati richiederanno agli sviluppatori di fornire i propri dati personali di identità direttamente a Google. Poiché gli sviluppatori di questa app non accettano tale requisito, l’app smetterà di funzionare sui dispositivi Android certificati dopo quella data.</string>
865+
<string name="kao_dialog_more_info">Dettagli</string>
866+
<string name="kao_solution">Soluzione</string>
864867
</resources>

0 commit comments

Comments
 (0)