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
+66
View File
@@ -1645,4 +1645,70 @@ class AppLocalizationsJa 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の自動起動(「オートスタート」や「バックグラウンド動作」と呼ばれることもあります)を、自分で有効にする必要があります。設定内のアプリまたはバッテリーの項目、あるいは端末のセキュリティアプリを確認してください。';
}
@override
String get alarmDiagnosticsFixAction => '修正する';
@override
String get alarmDiagnosticsIntentUnavailable =>
'この端末では設定画面を開けませんでした。設定アプリ内で手動で探してみてください。';
@override
String get alarmDiagnosticsUnavailableHint => 'アラームの設定をまだ確認できていません。';
}