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:
@@ -1692,4 +1692,74 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get alarmCardVacationPausedBadge => 'Paused for vacation';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsExactAlarmsTitle => 'Exact alarm scheduling';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsExactAlarmsHint =>
|
||||
'Lets the alarm ring at the exact minute you set, even while the phone is asleep.';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsNotificationsTitle => 'Notifications';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsNotificationsHint =>
|
||||
'Needed to show the alarm and the advance-warning notice.';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsFullScreenTitle => 'Full-screen alarm display';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsFullScreenHint =>
|
||||
'Lets the ringing screen appear automatically, even with the phone locked.';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsBatteryTitle => 'Battery optimization';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsBatteryHint =>
|
||||
'Stops the system from closing PluriWave in the background so the alarm can still fire.';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsNativeCountTitle =>
|
||||
'Alarms registered with Android';
|
||||
|
||||
@override
|
||||
String alarmDiagnosticsNativeCountValue(int count) {
|
||||
return 'Currently registered: $count';
|
||||
}
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsNativeCountAttentionHint =>
|
||||
'You have an alarm turned on, but none are registered with the system yet. Reopen PluriWave, or fix the items above first.';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsManufacturerLabel => 'Manufacturer';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsSdkLabel => 'Android version (SDK)';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsNeedsAttentionStatus => 'Needs attention';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsAutostartTitle =>
|
||||
'One more manual step on this phone';
|
||||
|
||||
@override
|
||||
String alarmDiagnosticsAutostartBody(String manufacturer) {
|
||||
return '$manufacturer phones often close apps running in the background to save battery. There is no setting PluriWave can switch on its own — you need to turn on Autostart (sometimes called \"Auto-start\" or \"Background activity\") for PluriWave yourself. Look in Settings, under Apps or Battery, or in the phone\'s own Security app.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsFixAction => 'Fix this';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsIntentUnavailable =>
|
||||
'Couldn\'t open that settings screen on this phone. Try looking for it manually in Settings.';
|
||||
|
||||
@override
|
||||
String get alarmDiagnosticsUnavailableHint =>
|
||||
'We couldn\'t check your alarm settings yet.';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user