mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-04-21 20:12:00 +00:00
Add log-switch to app.
- New switch in More > Settings > About "Enable logging". When ON, it inits the AppLogger and shows the "Share app logs" button below. When OFF, it disposes the AppLogger and hides the "Share app logs" button. It also prevents the AppLogger from init. OFF by default. - added localizations accordingly.
This commit is contained in:
parent
9ac6237caf
commit
284fccd1ef
39 changed files with 565 additions and 329 deletions
|
|
@ -451,6 +451,7 @@
|
||||||
"downloaded_only": "المحملة فقط",
|
"downloaded_only": "المحملة فقط",
|
||||||
"downloaded_only_description": "إظهار الإدخالات المحملة فقط في مكتبتك",
|
"downloaded_only_description": "إظهار الإدخالات المحملة فقط في مكتبتك",
|
||||||
"concurrent_downloads": "التحميلات المتزامنة",
|
"concurrent_downloads": "التحميلات المتزامنة",
|
||||||
|
"logs_on": "تفعيل التسجيل",
|
||||||
"share_app_logs": "مشاركة سجلات التطبيق",
|
"share_app_logs": "مشاركة سجلات التطبيق",
|
||||||
"no_app_logs": "لا يوجد ملف log.txt!",
|
"no_app_logs": "لا يوجد ملف log.txt!",
|
||||||
"failed": "فشل!",
|
"failed": "فشل!",
|
||||||
|
|
@ -560,4 +561,4 @@
|
||||||
"show_scroll_percentage": "إظهار نسبة التمرير",
|
"show_scroll_percentage": "إظهار نسبة التمرير",
|
||||||
"remove_extra_paragraph_spacing": "إزالة المسافات الإضافية بين الفقرات",
|
"remove_extra_paragraph_spacing": "إزالة المسافات الإضافية بين الفقرات",
|
||||||
"select_label_color": "تحديد لون {label}"
|
"select_label_color": "تحديد لون {label}"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -305,6 +305,7 @@
|
||||||
"default_subtitle_language": "ডিফল্ট উপশিৰোনাম ভাষা",
|
"default_subtitle_language": "ডিফল্ট উপশিৰোনাম ভাষা",
|
||||||
"follow_system_theme": "ছিষ্টেম থিম অনুসৰণ কৰক",
|
"follow_system_theme": "ছিষ্টেম থিম অনুসৰণ কৰক",
|
||||||
"concurrent_downloads": "সমসাময়িক ডাউনলোড",
|
"concurrent_downloads": "সমসাময়িক ডাউনলোড",
|
||||||
|
"logs_on": "লগিং সক্ষম কৰক",
|
||||||
"share_app_logs": "এপ লগ শ্বেয়াৰ কৰক",
|
"share_app_logs": "এপ লগ শ্বেয়াৰ কৰক",
|
||||||
"no_app_logs": "কোনো log.txt ফাইল উপলব্ধ নাই!",
|
"no_app_logs": "কোনো log.txt ফাইল উপলব্ধ নাই!",
|
||||||
"failed": "বিফল!",
|
"failed": "বিফল!",
|
||||||
|
|
|
||||||
|
|
@ -465,6 +465,7 @@
|
||||||
"downloaded_only": "Nur heruntergeladene",
|
"downloaded_only": "Nur heruntergeladene",
|
||||||
"downloaded_only_description": "Nur heruntergeladene Einträge in deiner Bibliothek anzeigen",
|
"downloaded_only_description": "Nur heruntergeladene Einträge in deiner Bibliothek anzeigen",
|
||||||
"concurrent_downloads": "Gleichzeitige Downloads",
|
"concurrent_downloads": "Gleichzeitige Downloads",
|
||||||
|
"logs_on": "Protokollierung aktivieren",
|
||||||
"share_app_logs": "App-Protokolle teilen",
|
"share_app_logs": "App-Protokolle teilen",
|
||||||
"no_app_logs": "Keine log.txt Datei verfügbar!",
|
"no_app_logs": "Keine log.txt Datei verfügbar!",
|
||||||
"failed": "Fehlgeschlagen!",
|
"failed": "Fehlgeschlagen!",
|
||||||
|
|
|
||||||
|
|
@ -143,6 +143,7 @@
|
||||||
"nsfw_sources_info": "This does not prevent unofficial or potentially incorrectly flagged extensions from surfacing NSFW (18+) content within the app",
|
"nsfw_sources_info": "This does not prevent unofficial or potentially incorrectly flagged extensions from surfacing NSFW (18+) content within the app",
|
||||||
"version": "Version",
|
"version": "Version",
|
||||||
"check_for_update": "Check for update",
|
"check_for_update": "Check for update",
|
||||||
|
"logs_on": "Enable logging",
|
||||||
"share_app_logs": "Share app logs",
|
"share_app_logs": "Share app logs",
|
||||||
"no_app_logs": "No log.txt available!",
|
"no_app_logs": "No log.txt available!",
|
||||||
"failed": "Failed!",
|
"failed": "Failed!",
|
||||||
|
|
|
||||||
|
|
@ -449,6 +449,7 @@
|
||||||
"downloaded_only": "Solo descargados",
|
"downloaded_only": "Solo descargados",
|
||||||
"downloaded_only_description": "Mostrar solo entradas descargadas en tu biblioteca",
|
"downloaded_only_description": "Mostrar solo entradas descargadas en tu biblioteca",
|
||||||
"concurrent_downloads": "Descargas simultáneas",
|
"concurrent_downloads": "Descargas simultáneas",
|
||||||
|
"logs_on": "Activar registro",
|
||||||
"share_app_logs": "Compartir registros de la aplicación",
|
"share_app_logs": "Compartir registros de la aplicación",
|
||||||
"no_app_logs": "¡No hay archivo log.txt disponible!",
|
"no_app_logs": "¡No hay archivo log.txt disponible!",
|
||||||
"failed": "¡Fallido!",
|
"failed": "¡Fallido!",
|
||||||
|
|
|
||||||
|
|
@ -451,6 +451,7 @@
|
||||||
"downloaded_only": "Solo descargados",
|
"downloaded_only": "Solo descargados",
|
||||||
"downloaded_only_description": "Mostrar solo entradas descargadas en tu biblioteca",
|
"downloaded_only_description": "Mostrar solo entradas descargadas en tu biblioteca",
|
||||||
"concurrent_downloads": "Descargas simultáneas",
|
"concurrent_downloads": "Descargas simultáneas",
|
||||||
|
"logs_on": "Habilitar registro",
|
||||||
"share_app_logs": "Compartir registros de la aplicación",
|
"share_app_logs": "Compartir registros de la aplicación",
|
||||||
"no_app_logs": "¡No hay archivo log.txt disponible!",
|
"no_app_logs": "¡No hay archivo log.txt disponible!",
|
||||||
"failed": "¡Fallido!",
|
"failed": "¡Fallido!",
|
||||||
|
|
|
||||||
|
|
@ -455,6 +455,7 @@
|
||||||
"downloaded_only": "Téléchargés uniquement",
|
"downloaded_only": "Téléchargés uniquement",
|
||||||
"downloaded_only_description": "Afficher uniquement les entrées téléchargées dans votre bibliothèque",
|
"downloaded_only_description": "Afficher uniquement les entrées téléchargées dans votre bibliothèque",
|
||||||
"concurrent_downloads": "Téléchargements simultanés",
|
"concurrent_downloads": "Téléchargements simultanés",
|
||||||
|
"logs_on": "Activer la journalisation",
|
||||||
"share_app_logs": "Partager les journaux de l'application",
|
"share_app_logs": "Partager les journaux de l'application",
|
||||||
"no_app_logs": "Aucun fichier log.txt disponible !",
|
"no_app_logs": "Aucun fichier log.txt disponible !",
|
||||||
"failed": "Échoué !",
|
"failed": "Échoué !",
|
||||||
|
|
|
||||||
|
|
@ -305,6 +305,7 @@
|
||||||
"default_subtitle_language": "डिफ़ॉल्ट उपशीर्षक भाषा",
|
"default_subtitle_language": "डिफ़ॉल्ट उपशीर्षक भाषा",
|
||||||
"follow_system_theme": "सिस्टम थीम का पालन करें",
|
"follow_system_theme": "सिस्टम थीम का पालन करें",
|
||||||
"concurrent_downloads": "समवर्ती डाउनलोड",
|
"concurrent_downloads": "समवर्ती डाउनलोड",
|
||||||
|
"logs_on": "लॉगिंग सक्षम करें",
|
||||||
"share_app_logs": "ऐप लॉग साझा करें",
|
"share_app_logs": "ऐप लॉग साझा करें",
|
||||||
"no_app_logs": "कोई log.txt फ़ाइल उपलब्ध नहीं!",
|
"no_app_logs": "कोई log.txt फ़ाइल उपलब्ध नहीं!",
|
||||||
"failed": "विफल!",
|
"failed": "विफल!",
|
||||||
|
|
|
||||||
|
|
@ -449,6 +449,7 @@
|
||||||
"downloaded_only": "Hanya yang diunduh",
|
"downloaded_only": "Hanya yang diunduh",
|
||||||
"downloaded_only_description": "Hanya tampilkan entri yang diunduh di perpustakaan Anda",
|
"downloaded_only_description": "Hanya tampilkan entri yang diunduh di perpustakaan Anda",
|
||||||
"concurrent_downloads": "Unduhan bersamaan",
|
"concurrent_downloads": "Unduhan bersamaan",
|
||||||
|
"logs_on": "Aktifkan pencatatan",
|
||||||
"share_app_logs": "Bagikan log aplikasi",
|
"share_app_logs": "Bagikan log aplikasi",
|
||||||
"no_app_logs": "Tidak ada file log.txt tersedia!",
|
"no_app_logs": "Tidak ada file log.txt tersedia!",
|
||||||
"failed": "Gagal!",
|
"failed": "Gagal!",
|
||||||
|
|
|
||||||
|
|
@ -449,6 +449,7 @@
|
||||||
"downloaded_only": "Solo scaricati",
|
"downloaded_only": "Solo scaricati",
|
||||||
"downloaded_only_description": "Mostra solo le voci scaricate nella tua libreria",
|
"downloaded_only_description": "Mostra solo le voci scaricate nella tua libreria",
|
||||||
"concurrent_downloads": "Download simultanei",
|
"concurrent_downloads": "Download simultanei",
|
||||||
|
"logs_on": "Abilita registrazione",
|
||||||
"share_app_logs": "Condividi i log dell'app",
|
"share_app_logs": "Condividi i log dell'app",
|
||||||
"no_app_logs": "Nessun file log.txt disponibile!",
|
"no_app_logs": "Nessun file log.txt disponibile!",
|
||||||
"failed": "Fallito!",
|
"failed": "Fallito!",
|
||||||
|
|
|
||||||
|
|
@ -304,6 +304,7 @@
|
||||||
"default_subtitle_language": "デフォルト字幕言語",
|
"default_subtitle_language": "デフォルト字幕言語",
|
||||||
"follow_system_theme": "システムテーマに従う",
|
"follow_system_theme": "システムテーマに従う",
|
||||||
"concurrent_downloads": "同時ダウンロード",
|
"concurrent_downloads": "同時ダウンロード",
|
||||||
|
"logs_on": "ログを有効にする",
|
||||||
"share_app_logs": "アプリログを共有",
|
"share_app_logs": "アプリログを共有",
|
||||||
"no_app_logs": "log.txtファイルが利用できません!",
|
"no_app_logs": "log.txtファイルが利用できません!",
|
||||||
"failed": "失敗!",
|
"failed": "失敗!",
|
||||||
|
|
|
||||||
|
|
@ -449,6 +449,7 @@
|
||||||
"downloaded_only": "Apenas baixados",
|
"downloaded_only": "Apenas baixados",
|
||||||
"downloaded_only_description": "Mostrar apenas entradas baixadas na sua biblioteca",
|
"downloaded_only_description": "Mostrar apenas entradas baixadas na sua biblioteca",
|
||||||
"concurrent_downloads": "Downloads simultâneos",
|
"concurrent_downloads": "Downloads simultâneos",
|
||||||
|
"logs_on": "Ativar registro",
|
||||||
"share_app_logs": "Compartilhar logs do aplicativo",
|
"share_app_logs": "Compartilhar logs do aplicativo",
|
||||||
"no_app_logs": "Nenhum arquivo log.txt disponível!",
|
"no_app_logs": "Nenhum arquivo log.txt disponível!",
|
||||||
"failed": "Falhou!",
|
"failed": "Falhou!",
|
||||||
|
|
|
||||||
|
|
@ -449,6 +449,7 @@
|
||||||
"downloaded_only": "Apenas baixados",
|
"downloaded_only": "Apenas baixados",
|
||||||
"downloaded_only_description": "Mostrar apenas entradas baixadas na sua biblioteca",
|
"downloaded_only_description": "Mostrar apenas entradas baixadas na sua biblioteca",
|
||||||
"concurrent_downloads": "Downloads simultâneos",
|
"concurrent_downloads": "Downloads simultâneos",
|
||||||
|
"logs_on": "Ativar registro",
|
||||||
"share_app_logs": "Compartilhar logs do aplicativo",
|
"share_app_logs": "Compartilhar logs do aplicativo",
|
||||||
"no_app_logs": "Nenhum arquivo log.txt disponível!",
|
"no_app_logs": "Nenhum arquivo log.txt disponível!",
|
||||||
"failed": "Falhou!",
|
"failed": "Falhou!",
|
||||||
|
|
|
||||||
|
|
@ -449,6 +449,7 @@
|
||||||
"downloaded_only": "Только загруженные",
|
"downloaded_only": "Только загруженные",
|
||||||
"downloaded_only_description": "Показывать только загруженные записи в вашей библиотеке",
|
"downloaded_only_description": "Показывать только загруженные записи в вашей библиотеке",
|
||||||
"concurrent_downloads": "Одновременные загрузки",
|
"concurrent_downloads": "Одновременные загрузки",
|
||||||
|
"logs_on": "Включить ведение журнала",
|
||||||
"share_app_logs": "Поделиться журналами приложения",
|
"share_app_logs": "Поделиться журналами приложения",
|
||||||
"no_app_logs": "Файл log.txt недоступен!",
|
"no_app_logs": "Файл log.txt недоступен!",
|
||||||
"failed": "Не удалось!",
|
"failed": "Не удалось!",
|
||||||
|
|
|
||||||
|
|
@ -452,6 +452,7 @@
|
||||||
"downloaded_only": "ที่ดาวน์โหลดแล้วเท่านั้น",
|
"downloaded_only": "ที่ดาวน์โหลดแล้วเท่านั้น",
|
||||||
"downloaded_only_description": "แสดงเฉพาะรายการที่ดาวน์โหลดแล้วในห้องสมุดของคุณ",
|
"downloaded_only_description": "แสดงเฉพาะรายการที่ดาวน์โหลดแล้วในห้องสมุดของคุณ",
|
||||||
"concurrent_downloads": "ดาวน์โหลดพร้อมกัน",
|
"concurrent_downloads": "ดาวน์โหลดพร้อมกัน",
|
||||||
|
"logs_on": "เปิดการบันทึก",
|
||||||
"share_app_logs": "แชร์บันทึกแอป",
|
"share_app_logs": "แชร์บันทึกแอป",
|
||||||
"no_app_logs": "ไม่มีไฟล์ log.txt!",
|
"no_app_logs": "ไม่มีไฟล์ log.txt!",
|
||||||
"failed": "ล้มเหลว!",
|
"failed": "ล้มเหลว!",
|
||||||
|
|
|
||||||
|
|
@ -449,6 +449,7 @@
|
||||||
"downloaded_only": "Sadece indirilmiş",
|
"downloaded_only": "Sadece indirilmiş",
|
||||||
"downloaded_only_description": "Kütüphanenizde yalnızca indirilmiş girişleri göster",
|
"downloaded_only_description": "Kütüphanenizde yalnızca indirilmiş girişleri göster",
|
||||||
"concurrent_downloads": "Eş zamanlı indirmeler",
|
"concurrent_downloads": "Eş zamanlı indirmeler",
|
||||||
|
"logs_on": "Günlük kaydını etkinleştir",
|
||||||
"share_app_logs": "Uygulama günlüklerini paylaş",
|
"share_app_logs": "Uygulama günlüklerini paylaş",
|
||||||
"no_app_logs": "log.txt dosyası yok!",
|
"no_app_logs": "log.txt dosyası yok!",
|
||||||
"failed": "Başarısız!",
|
"failed": "Başarısız!",
|
||||||
|
|
|
||||||
|
|
@ -454,6 +454,7 @@
|
||||||
"downloaded_only": "仅已下载",
|
"downloaded_only": "仅已下载",
|
||||||
"downloaded_only_description": "仅显示库中已下载的条目",
|
"downloaded_only_description": "仅显示库中已下载的条目",
|
||||||
"concurrent_downloads": "并发下载",
|
"concurrent_downloads": "并发下载",
|
||||||
|
"logs_on": "启用日志",
|
||||||
"share_app_logs": "分享应用日志",
|
"share_app_logs": "分享应用日志",
|
||||||
"no_app_logs": "没有可用的 log.txt 文件!",
|
"no_app_logs": "没有可用的 log.txt 文件!",
|
||||||
"failed": "失败!",
|
"failed": "失败!",
|
||||||
|
|
|
||||||
|
|
@ -935,6 +935,12 @@ abstract class AppLocalizations {
|
||||||
/// **'Check for update'**
|
/// **'Check for update'**
|
||||||
String get check_for_update;
|
String get check_for_update;
|
||||||
|
|
||||||
|
/// No description provided for @logs_on.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Enable logging'**
|
||||||
|
String get logs_on;
|
||||||
|
|
||||||
/// No description provided for @share_app_logs.
|
/// No description provided for @share_app_logs.
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
|
|
|
||||||
|
|
@ -434,6 +434,9 @@ class AppLocalizationsAr extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'التحقق من التحديثات';
|
String get check_for_update => 'التحقق من التحديثات';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'تفعيل التسجيل';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'مشاركة سجلات التطبيق';
|
String get share_app_logs => 'مشاركة سجلات التطبيق';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -436,6 +436,9 @@ class AppLocalizationsAs extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'আপডেটৰ বাবে পৰীক্ষা কৰক';
|
String get check_for_update => 'আপডেটৰ বাবে পৰীক্ষা কৰক';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'লগিং সক্ষম কৰক';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'এপ লগ শ্বেয়াৰ কৰক';
|
String get share_app_logs => 'এপ লগ শ্বেয়াৰ কৰক';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -438,6 +438,9 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'Auf Aktualisierung prüfen';
|
String get check_for_update => 'Auf Aktualisierung prüfen';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'Protokollierung aktivieren';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'App-Protokolle teilen';
|
String get share_app_logs => 'App-Protokolle teilen';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -436,6 +436,9 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'Check for update';
|
String get check_for_update => 'Check for update';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'Enable logging';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'Share app logs';
|
String get share_app_logs => 'Share app logs';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -440,6 +440,9 @@ class AppLocalizationsEs extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'Buscar actualizaciones';
|
String get check_for_update => 'Buscar actualizaciones';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'Activar registro';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'Compartir registros de la aplicación';
|
String get share_app_logs => 'Compartir registros de la aplicación';
|
||||||
|
|
||||||
|
|
@ -2245,6 +2248,9 @@ class AppLocalizationsEs419 extends AppLocalizationsEs {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'Buscar actualizaciones';
|
String get check_for_update => 'Buscar actualizaciones';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'Habilitar registro';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'Compartir registros de la aplicación';
|
String get share_app_logs => 'Compartir registros de la aplicación';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -442,6 +442,9 @@ class AppLocalizationsFr extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'Rechercher des mises à jour';
|
String get check_for_update => 'Rechercher des mises à jour';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'Activer la journalisation';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'Partager les journaux de l\'application';
|
String get share_app_logs => 'Partager les journaux de l\'application';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -436,6 +436,9 @@ class AppLocalizationsHi extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'अपडेट के लिए जांचें';
|
String get check_for_update => 'अपडेट के लिए जांचें';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'लॉगिंग सक्षम करें';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'ऐप लॉग साझा करें';
|
String get share_app_logs => 'ऐप लॉग साझा करें';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -440,6 +440,9 @@ class AppLocalizationsId extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'Periksa Pembaruan';
|
String get check_for_update => 'Periksa Pembaruan';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'Aktifkan pencatatan';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'Bagikan log aplikasi';
|
String get share_app_logs => 'Bagikan log aplikasi';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -440,6 +440,9 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'Controlla aggiornamenti';
|
String get check_for_update => 'Controlla aggiornamenti';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'Abilita registrazione';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'Condividi i log dell\'app';
|
String get share_app_logs => 'Condividi i log dell\'app';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -431,6 +431,9 @@ class AppLocalizationsJa extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'Check for update';
|
String get check_for_update => 'Check for update';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'ログを有効にする';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'アプリログを共有';
|
String get share_app_logs => 'アプリログを共有';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -440,6 +440,9 @@ class AppLocalizationsPt extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'Verificar atualização';
|
String get check_for_update => 'Verificar atualização';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'Ativar registro';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'Compartilhar logs do aplicativo';
|
String get share_app_logs => 'Compartilhar logs do aplicativo';
|
||||||
|
|
||||||
|
|
@ -2240,6 +2243,9 @@ class AppLocalizationsPtBr extends AppLocalizationsPt {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'Verificar atualização';
|
String get check_for_update => 'Verificar atualização';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'Ativar registro';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'Compartilhar logs do aplicativo';
|
String get share_app_logs => 'Compartilhar logs do aplicativo';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -441,6 +441,9 @@ class AppLocalizationsRu extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'Проверить обновления';
|
String get check_for_update => 'Проверить обновления';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'Включить ведение журнала';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'Поделиться журналами приложения';
|
String get share_app_logs => 'Поделиться журналами приложения';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -436,6 +436,9 @@ class AppLocalizationsTh extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'ตรวจสอบการอัพเดท';
|
String get check_for_update => 'ตรวจสอบการอัพเดท';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'เปิดการบันทึก';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'แชร์บันทึกแอป';
|
String get share_app_logs => 'แชร์บันทึกแอป';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -436,6 +436,9 @@ class AppLocalizationsTr extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => 'Güncelleme Kontrol Et';
|
String get check_for_update => 'Güncelleme Kontrol Et';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => 'Günlük kaydını etkinleştir';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => 'Uygulama günlüklerini paylaş';
|
String get share_app_logs => 'Uygulama günlüklerini paylaş';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -427,6 +427,9 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||||
@override
|
@override
|
||||||
String get check_for_update => '检查更新';
|
String get check_for_update => '检查更新';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get logs_on => '启用日志';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get share_app_logs => '分享应用日志';
|
String get share_app_logs => '分享应用日志';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -127,6 +127,8 @@ class Settings {
|
||||||
|
|
||||||
int? pagePreloadAmount;
|
int? pagePreloadAmount;
|
||||||
|
|
||||||
|
bool? enableLogs;
|
||||||
|
|
||||||
bool? checkForAppUpdates;
|
bool? checkForAppUpdates;
|
||||||
|
|
||||||
bool? checkForExtensionUpdates;
|
bool? checkForExtensionUpdates;
|
||||||
|
|
@ -357,6 +359,7 @@ class Settings {
|
||||||
this.sortLibraryAnime,
|
this.sortLibraryAnime,
|
||||||
this.pagePreloadAmount = 6,
|
this.pagePreloadAmount = 6,
|
||||||
this.scaleType = ScaleType.fitScreen,
|
this.scaleType = ScaleType.fitScreen,
|
||||||
|
this.enableLogs = false,
|
||||||
this.checkForAppUpdates = true,
|
this.checkForAppUpdates = true,
|
||||||
this.checkForExtensionUpdates = true,
|
this.checkForExtensionUpdates = true,
|
||||||
this.backgroundColor = BackgroundColor.black,
|
this.backgroundColor = BackgroundColor.black,
|
||||||
|
|
@ -482,6 +485,7 @@ class Settings {
|
||||||
.map((e) => ChapterPageurls.fromJson(e))
|
.map((e) => ChapterPageurls.fromJson(e))
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
enableLogs = json['enableLogs'];
|
||||||
checkForAppUpdates = json['checkForAppUpdates'];
|
checkForAppUpdates = json['checkForAppUpdates'];
|
||||||
checkForExtensionUpdates = json['checkForExtensionUpdates'];
|
checkForExtensionUpdates = json['checkForExtensionUpdates'];
|
||||||
if (json['cookiesList'] != null) {
|
if (json['cookiesList'] != null) {
|
||||||
|
|
@ -720,6 +724,7 @@ class Settings {
|
||||||
?.map((v) => v.toJson())
|
?.map((v) => v.toJson())
|
||||||
.toList(),
|
.toList(),
|
||||||
'chapterPageUrlsList': chapterPageUrlsList?.map((v) => v.toJson()).toList(),
|
'chapterPageUrlsList': chapterPageUrlsList?.map((v) => v.toJson()).toList(),
|
||||||
|
'enableLogs': enableLogs,
|
||||||
'checkForAppUpdates': checkForAppUpdates,
|
'checkForAppUpdates': checkForAppUpdates,
|
||||||
'checkForExtensionUpdates': checkForExtensionUpdates,
|
'checkForExtensionUpdates': checkForExtensionUpdates,
|
||||||
'cookiesList': cookiesList,
|
'cookiesList': cookiesList,
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -9,9 +9,11 @@ import 'package:mangayomi/main.dart';
|
||||||
import 'package:mangayomi/models/settings.dart';
|
import 'package:mangayomi/models/settings.dart';
|
||||||
import 'package:mangayomi/modules/more/about/providers/check_for_update.dart';
|
import 'package:mangayomi/modules/more/about/providers/check_for_update.dart';
|
||||||
import 'package:mangayomi/modules/more/about/providers/get_package_info.dart';
|
import 'package:mangayomi/modules/more/about/providers/get_package_info.dart';
|
||||||
|
import 'package:mangayomi/modules/more/about/providers/logs_state.dart';
|
||||||
import 'package:mangayomi/modules/widgets/progress_center.dart';
|
import 'package:mangayomi/modules/widgets/progress_center.dart';
|
||||||
import 'package:mangayomi/providers/l10n_providers.dart';
|
import 'package:mangayomi/providers/l10n_providers.dart';
|
||||||
import 'package:mangayomi/providers/storage_provider.dart';
|
import 'package:mangayomi/providers/storage_provider.dart';
|
||||||
|
import 'package:mangayomi/utils/log/logger.dart';
|
||||||
import 'package:path/path.dart' as path;
|
import 'package:path/path.dart' as path;
|
||||||
import 'package:share_plus/share_plus.dart';
|
import 'package:share_plus/share_plus.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
@ -23,6 +25,7 @@ class AboutScreen extends ConsumerWidget {
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
final l10n = l10nLocalizations(context);
|
final l10n = l10nLocalizations(context);
|
||||||
final checkForUpdates = ref.watch(checkForAppUpdatesProvider);
|
final checkForUpdates = ref.watch(checkForAppUpdatesProvider);
|
||||||
|
final enableLogs = ref.watch(logsStateProvider);
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(title: Text(l10n!.about)),
|
appBar: AppBar(title: Text(l10n!.about)),
|
||||||
body: ref
|
body: ref
|
||||||
|
|
@ -80,38 +83,58 @@ class AboutScreen extends ConsumerWidget {
|
||||||
},
|
},
|
||||||
title: Text(l10n.check_for_update),
|
title: Text(l10n.check_for_update),
|
||||||
),
|
),
|
||||||
ListTile(
|
SwitchListTile(
|
||||||
onTap: () async {
|
title: Text(l10n.logs_on),
|
||||||
final storage = StorageProvider();
|
value: enableLogs,
|
||||||
final directory = await storage.getDefaultDirectory();
|
onChanged: (value) {
|
||||||
final file = File(
|
isar.writeTxnSync(() {
|
||||||
path.join(directory!.path, 'logs.txt'),
|
final settings = isar.settings.getSync(227);
|
||||||
);
|
isar.settings.putSync(
|
||||||
if (await file.exists()) {
|
settings!..enableLogs = value,
|
||||||
if (Platform.isLinux) {
|
);
|
||||||
await Clipboard.setData(
|
});
|
||||||
ClipboardData(text: file.path),
|
ref.invalidate(logsStateProvider);
|
||||||
);
|
if (value) {
|
||||||
}
|
AppLogger.init();
|
||||||
if (context.mounted) {
|
|
||||||
final box =
|
|
||||||
context.findRenderObject() as RenderBox?;
|
|
||||||
SharePlus.instance.share(
|
|
||||||
ShareParams(
|
|
||||||
files: [XFile(file.path)],
|
|
||||||
text: "log.txt",
|
|
||||||
sharePositionOrigin:
|
|
||||||
box!.localToGlobal(Offset.zero) &
|
|
||||||
box.size,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
botToast(l10n.no_app_logs);
|
AppLogger.dispose();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
title: Text(l10n.share_app_logs),
|
|
||||||
),
|
),
|
||||||
|
if (enableLogs)
|
||||||
|
ListTile(
|
||||||
|
onTap: () async {
|
||||||
|
final storage = StorageProvider();
|
||||||
|
final directory = await storage
|
||||||
|
.getDefaultDirectory();
|
||||||
|
final file = File(
|
||||||
|
path.join(directory!.path, 'logs.txt'),
|
||||||
|
);
|
||||||
|
if (await file.exists()) {
|
||||||
|
if (Platform.isLinux) {
|
||||||
|
await Clipboard.setData(
|
||||||
|
ClipboardData(text: file.path),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (context.mounted) {
|
||||||
|
final box =
|
||||||
|
context.findRenderObject() as RenderBox?;
|
||||||
|
SharePlus.instance.share(
|
||||||
|
ShareParams(
|
||||||
|
files: [XFile(file.path)],
|
||||||
|
text: "log.txt",
|
||||||
|
sharePositionOrigin:
|
||||||
|
box!.localToGlobal(Offset.zero) &
|
||||||
|
box.size,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
botToast(l10n.no_app_logs);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
title: Text(l10n.share_app_logs),
|
||||||
|
),
|
||||||
// ListTile(
|
// ListTile(
|
||||||
// onTap: () {},
|
// onTap: () {},
|
||||||
// title: const Text("What's news"),
|
// title: const Text("What's news"),
|
||||||
|
|
|
||||||
9
lib/modules/more/about/providers/logs_state.dart
Normal file
9
lib/modules/more/about/providers/logs_state.dart
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
import 'package:mangayomi/main.dart';
|
||||||
|
import 'package:mangayomi/models/settings.dart';
|
||||||
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||||
|
part 'logs_state.g.dart';
|
||||||
|
|
||||||
|
@riverpod
|
||||||
|
bool logsState(Ref ref) {
|
||||||
|
return isar.settings.getSync(227)?.enableLogs ?? false;
|
||||||
|
}
|
||||||
50
lib/modules/more/about/providers/logs_state.g.dart
Normal file
50
lib/modules/more/about/providers/logs_state.g.dart
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
|
||||||
|
part of 'logs_state.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// RiverpodGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
// ignore_for_file: type=lint, type=warning
|
||||||
|
|
||||||
|
@ProviderFor(logsState)
|
||||||
|
const logsStateProvider = LogsStateProvider._();
|
||||||
|
|
||||||
|
final class LogsStateProvider extends $FunctionalProvider<bool, bool, bool>
|
||||||
|
with $Provider<bool> {
|
||||||
|
const LogsStateProvider._()
|
||||||
|
: super(
|
||||||
|
from: null,
|
||||||
|
argument: null,
|
||||||
|
retry: null,
|
||||||
|
name: r'logsStateProvider',
|
||||||
|
isAutoDispose: true,
|
||||||
|
dependencies: null,
|
||||||
|
$allTransitiveDependencies: null,
|
||||||
|
);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String debugGetCreateSourceHash() => _$logsStateHash();
|
||||||
|
|
||||||
|
@$internal
|
||||||
|
@override
|
||||||
|
$ProviderElement<bool> $createElement($ProviderPointer pointer) =>
|
||||||
|
$ProviderElement(pointer);
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool create(Ref ref) {
|
||||||
|
return logsState(ref);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// {@macro riverpod.override_with_value}
|
||||||
|
Override overrideWithValue(bool value) {
|
||||||
|
return $ProviderOverride(
|
||||||
|
origin: this,
|
||||||
|
providerOverride: $SyncValueProvider<bool>(value),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String _$logsStateHash() => r'680ab781a039e0441394dc0b376b8add0fb80910';
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
import 'package:mangayomi/main.dart';
|
||||||
|
import 'package:mangayomi/models/settings.dart';
|
||||||
import 'package:mangayomi/providers/storage_provider.dart';
|
import 'package:mangayomi/providers/storage_provider.dart';
|
||||||
import 'package:path/path.dart' as path;
|
import 'package:path/path.dart' as path;
|
||||||
|
|
||||||
|
|
@ -12,6 +13,8 @@ class AppLogger {
|
||||||
|
|
||||||
/// Initialize the logger
|
/// Initialize the logger
|
||||||
static Future<void> init() async {
|
static Future<void> init() async {
|
||||||
|
final enabled = isar.settings.getSync(227)?.enableLogs ?? false;
|
||||||
|
if (!enabled) return;
|
||||||
final storage = StorageProvider();
|
final storage = StorageProvider();
|
||||||
final directory = await storage.getDefaultDirectory();
|
final directory = await storage.getDefaultDirectory();
|
||||||
_logFile = File(path.join(directory!.path, 'logs.txt'));
|
_logFile = File(path.join(directory!.path, 'logs.txt'));
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue