feat(alarmas): replace one-line reliability button with full diagnostics screen

Surface all six DiagnosticoAlarmasAndroid fields instead of three: the
battery-optimization exemption and native pending-alarm count were
already collected but silently dropped by the old widget. Each failing
signal now offers a "Fix this" action that opens the right system
settings screen (exact alarms, notifications, full-screen intent,
battery optimization), guarded by SDK level and never crashing when a
ROM lacks that screen. Manufacturers known for aggressive background
killing (Xiaomi/Redmi/POCO, Huawei, Oppo, Vivo, OnePlus, Samsung) get
an honest explanation that Autostart must be enabled manually, since
there is no API to detect or grant it.

Notifications now deep-links straight to
ACTION_APP_NOTIFICATION_SETTINGS via a new openNotificationSettings
native method, instead of reusing the runtime permission popup meant
for first-time alarm creation.

New copy is added to all 13 ARB locales with real per-language
translations (not Spanish copies), verified by the ARB parity and
anti-copy tests plus the corruption scanner.
This commit is contained in:
2026-07-31 19:10:52 +02:00
parent ef9705a30e
commit 049ab78acb
35 changed files with 2262 additions and 79 deletions
+69
View File
@@ -1694,4 +1694,73 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get alarmCardVacationPausedBadge => 'छुट्टी के कारण रोका गया';
@override
String get alarmDiagnosticsExactAlarmsTitle => 'सटीक अलार्म शेड्यूलिंग';
@override
String get alarmDiagnosticsExactAlarmsHint =>
'फ़ोन के सुप्त मोड में होने पर भी अलार्म को ठीक तय किए गए मिनट पर बजने देता है।';
@override
String get alarmDiagnosticsNotificationsTitle => 'सूचनाएं';
@override
String get alarmDiagnosticsNotificationsHint =>
'अलार्म और पूर्व-चेतावनी सूचना दिखाने के लिए ज़रूरी।';
@override
String get alarmDiagnosticsFullScreenTitle =>
'अलार्म की फ़ुल-स्क्रीन डिस्प्ले';
@override
String get alarmDiagnosticsFullScreenHint =>
'फ़ोन लॉक होने पर भी अलार्म स्क्रीन को अपने आप दिखने देता है।';
@override
String get alarmDiagnosticsBatteryTitle => 'बैटरी ऑप्टिमाइज़ेशन';
@override
String get alarmDiagnosticsBatteryHint =>
'सिस्टम को बैकग्राउंड में PluriWave बंद करने से रोकता है, ताकि अलार्म फिर भी बज सके।';
@override
String get alarmDiagnosticsNativeCountTitle => 'Android में दर्ज अलार्म';
@override
String alarmDiagnosticsNativeCountValue(int count) {
return 'अभी दर्ज: $count';
}
@override
String get alarmDiagnosticsNativeCountAttentionHint =>
'आपने एक अलार्म चालू किया है, लेकिन अभी तक कोई भी सिस्टम में दर्ज नहीं हुआ है। PluriWave को दोबारा खोलें, या पहले ऊपर दी गई बातों को ठीक करें।';
@override
String get alarmDiagnosticsManufacturerLabel => 'निर्माता';
@override
String get alarmDiagnosticsSdkLabel => 'Android वर्शन (SDK)';
@override
String get alarmDiagnosticsNeedsAttentionStatus => 'ध्यान देने की ज़रूरत है';
@override
String get alarmDiagnosticsAutostartTitle => 'इस फ़ोन पर एक और मैन्युअल चरण';
@override
String alarmDiagnosticsAutostartBody(String manufacturer) {
return '$manufacturer फ़ोन बैटरी बचाने के लिए अक्सर बैकग्राउंड में चल रहे ऐप बंद कर देते हैं। ऐसी कोई सेटिंग नहीं है जिसे PluriWave खुद चालू कर सके — आपको PluriWave के लिए खुद ऑटोस्टार्ट (कभी-कभी \"Auto-start\" या \"बैकग्राउंड एक्टिविटी\" भी कहा जाता है) चालू करना होगा। इसे सेटिंग्स में, ऐप्स या बैटरी के अंदर, या फ़ोन के अपने सिक्योरिटी ऐप में देखें।';
}
@override
String get alarmDiagnosticsFixAction => 'ठीक करें';
@override
String get alarmDiagnosticsIntentUnavailable =>
'इस फ़ोन पर वह सेटिंग्स स्क्रीन नहीं खोली जा सकी। कृपया सेटिंग्स में इसे खुद ढूंढने की कोशिश करें।';
@override
String get alarmDiagnosticsUnavailableHint =>
'हम अभी तक आपकी अलार्म सेटिंग्स जांच नहीं पाए हैं।';
}