ssbg04
d0164c0db3
fix(notif): fix Android background push notification delivery and deduplicate alerts
2026-09-11 19:42:58 +08:00
ssbg04
1133c8fdf3
chore: update Android launcher icon and remove native splash screen
2026-08-23 22:48:04 +08:00
ssbg04
2e25b78c52
fix(ui): add backdrop overlay mini blur, search bar margins, and lock backdrop positioning on search active
2026-08-22 20:22:40 +08:00
ssbg04
030322d496
chore: untrack google-services.json from git and add to gitignore
2026-08-18 16:03:55 +08:00
ssbg04
0c859d7142
feat(fcm): support firebase-admin v14 modular API and google-services integration
2026-08-18 15:35:47 +08:00
ssbg04
0725f4ecf9
feat(flutter): FCM real-time push notifications
...
- firebase_core + firebase_messaging added to pubspec.yaml
- google-services gradle plugin wired in settings.gradle.kts + app/build.gradle.kts
- fcm_service.dart: initialize FCM, handle foreground messages, register token with backend
- main.dart: Firebase.initializeApp (graceful no-op until google-services.json added)
- auth_provider.dart: FcmService.registerToken() on login and auto-login
- AndroidManifest.xml: FCM default notification channel metadata
2026-08-18 13:56:29 +08:00
ssbg04
fa8b101b34
fix(android): guard setExactAndAllowWhileIdle with canScheduleExactAlarms() check
...
SecurityException crash on Android 12+ when SCHEDULE_EXACT_ALARM special
access not user-granted. Now checks canScheduleExactAlarms() and falls back
to setAndAllowWhileIdle() (inexact, no special permission needed). Both
schedule() and cancel() wrapped in try/catch to prevent future alarm crashes.
2026-08-18 13:37:05 +08:00
ssbg04
281a782b93
fix(android): remove startForegroundService from BootReceiver (crash on boot)
...
ForegroundService requires a live Flutter engine and cannot be cold-started
from a BroadcastReceiver. flutter_foreground_task handles boot-restart
internally via autoRunOnBoot=true. BootReceiver now only reschedules
the AlarmManager chain.
2026-08-18 13:25:49 +08:00
ssbg04
648280ab45
fix(android): add AlarmManager 2-min background notification polling
...
- AlarmScheduler.kt: schedules setExactAndAllowWhileIdle every 2 min
- AlarmReceiver.kt: reads FlutterSharedPreferences, polls LAN backend, posts native notifications, self-chains next alarm
- MainActivity.kt: schedule alarm on app open
- BootReceiver.kt: schedule alarm on device reboot
- AndroidManifest.xml: register AlarmReceiver
2026-08-18 13:19:11 +08:00
ssbg04
4306a19d7b
fix(android): add BootReceiver.kt (force-add past gitignore)
2026-08-18 13:03:02 +08:00
ssbg04
1f02eb1f26
fix(android): enable push notifications in background/killed state
2026-08-18 13:02:37 +08:00
ssbg04
4487f2872f
feat: implement Android Foreground Service for real-time LAN background notifications
2026-08-18 11:29:24 +08:00
ssbg04
8c80bc0033
Fix Android 13+ notification permissions
2026-07-22 23:08:48 +08:00
ssbg04
a8133e2013
Update frontend UI and backend studentController
2026-07-22 22:11:40 +08:00
ssbg04
9f72e31f20
Fix Android build errors and add native edge-to-edge UI colors
2026-07-21 17:34:08 +08:00
ssbg04
47b1821b78
feat: UI improvements and bug fixes
...
- Migrated user management to a 3-step stepper
- Redesigned Reports screen with side-by-side charts and KPIs
- Fixed timezone date formatting in Dashboard Activity logs
- Implemented custom native Android splash screen and removed flutter_native_splash
2026-07-15 03:01:38 +08:00
ssbg04
ad166c860f
Updates UI/UX
2026-06-20 18:22:27 +08:00
ssbg04
c99ad4bce1
major update:large codebase changed
2026-06-03 19:51:44 +08:00
ssbg04
654104cbed
first commit
2026-05-17 00:12:57 +08:00