feat(Networking): enhance offline handling and localization for diary and members data
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 44s

- Added `ACCESS_NETWORK_STATE` permission in AndroidManifest.xml to monitor network connectivity.
- Introduced `NetworkConnectivityHolder` to manage network state and trigger data refresh when connectivity is restored.
- Updated `DiaryManager` and `MembersManager` to support offline caching, allowing users to view previously loaded data when offline.
- Enhanced localization by adding new keys for offline cache hints in both German and English, improving user experience during connectivity issues.
- Updated UI components to display offline cache messages, ensuring users are informed when data is being served from cache.
This commit is contained in:
Torsten Schulz (local)
2026-05-15 08:10:01 +02:00
parent 2f15827658
commit 320010b94e
12 changed files with 198 additions and 8 deletions

View File

@@ -75,6 +75,7 @@ const MOBILE_STRINGS = {
'mobile.noMembers': 'Keine Mitglieder gefunden',
'mobile.noResults': 'Keine Treffer',
'mobile.noTimes': 'Keine Zeiten',
'mobile.offlineCacheHint': 'Keine Verbindung zuletzt geladene Daten.',
'mobile.participationTop': 'Top Teilnahmen',
'mobile.refresh': 'Aktualisieren',
'mobile.requestedAccess': 'Angefragt',
@@ -115,6 +116,7 @@ const MOBILE_STRINGS = {
'mobile.noMembers': 'No members found',
'mobile.noResults': 'No results',
'mobile.noTimes': 'No times',
'mobile.offlineCacheHint': 'No connection showing last loaded data.',
'mobile.participationTop': 'Top attendance',
'mobile.refresh': 'Refresh',
'mobile.requestedAccess': 'Requested',
@@ -131,6 +133,33 @@ const MOBILE_STRINGS = {
'mobile.inactive': 'Inactive',
'mobile.user': 'User',
},
es: {
'mobile.offlineCacheHint': 'Sin conexión: se muestran los datos cargados por última vez.',
},
fr: {
'mobile.offlineCacheHint': 'Pas de connexion affichage des données du dernier chargement.',
},
it: {
'mobile.offlineCacheHint': 'Nessuna connessione dati dellultimo caricamento.',
},
pl: {
'mobile.offlineCacheHint': 'Brak połączenia wyświetlane ostatnio wczytane dane.',
},
ja: {
'mobile.offlineCacheHint': 'ネットワークに接続されていません。最後に読み込んだデータを表示しています。',
},
th: {
'mobile.offlineCacheHint': 'ไม่มีการเชื่อมต่อ แสดงข้อมูลที่โหลดล่าสุด',
},
tl: {
'mobile.offlineCacheHint': 'Walang koneksyon ipinapakita ang huling na-load na datos.',
},
fil: {
'mobile.offlineCacheHint': 'Walang koneksyon ipinapakita ang huling na-load na datos.',
},
zh: {
'mobile.offlineCacheHint': '无网络连接,显示上次加载的数据。',
},
};
/** Kalender-Tab (CalendarScreen.kt): eigene Übersetzungen pro Locale, damit nicht nur Deutsch aus dem Basis-Flat greift. */