Commit Graph

1257 Commits

Author SHA1 Message Date
Naveen Singh
1db9a30cf6 Update prepaid flavor config 2025-03-30 04:21:52 +05:30
Naveen Singh
135d54b93c Removed support for Android 7 and older versions
See https://github.com/orgs/FossifyOrg/discussions/241
2025-03-30 04:20:43 +05:30
Naveen Singh
0dc663abb0 Update commons 2025-03-30 03:49:55 +05:30
Naveen Singh
ff13f852c1 Move register/unregister calls to onCreate/onDestroy 2025-03-30 02:09:08 +05:30
Naveen Singh
6e5d79d56f Auto dismiss alarms properly
Replaced `stopSelf()` call with `alarmController.stopAlarm(alarmId)`. This ensures that:

 - Onetime alarms are disabled properly
 - Alarm activity is finished when alarm is stopped
 - Widgets and other views are updated properly.
2025-03-29 15:57:34 +05:30
Naveen Singh
179b36c364 Remove unnecessary setting of firstDayOfWeek 2025-03-29 04:53:20 +05:30
Naveen Singh
8c3ceebf9e Finish alarm activity when alarm is stopped
Activity was never finished when alarm was stopped using notification actions.
2025-03-29 03:35:23 +05:30
Naveen Singh
733a4f6e06 Only reschedule recurring alarms
One-time alarms were being scheduled and triggered multiple times due to this.
2025-03-29 03:34:41 +05:30
Naveen Singh
16a68b173c Rename reminder activity to alarm activity 2025-03-29 02:16:29 +05:30
Naveen Singh
20ed501b18 More code improvements 2025-03-28 17:34:33 +05:30
Naveen Singh
555162c1ae Rework/refactor alarm management
Previously the logic was all over the place. This commit combines alarm scheduling and dismissal logic into a central AlarmController
class to improve code organization and maintainability.

Changes:
- Created AlarmController singleton to centralize alarm operations
- Renamed receivers to match their actual functions
- Update services and activities to utilize the new controller class
- Clean up redundant code and improve naming conventions
2025-03-28 16:33:11 +05:30
Naveen Singh
1b41438218 Format some code 2025-03-28 15:32:26 +05:30
Naveen Singh
3327af6e72 Update name in Context.kt 🤦 2025-03-26 19:05:13 +05:30
Naveen Singh
9a434f4849 Update name in manifest 2025-03-26 18:59:29 +05:30
Naveen Singh
1c2b4d9008 Minor readability improvement
- Renamed `EarlyAlarmDismissalReceiver` to `UpcomingAlarmReceiver`
- Renamed `triggerEarlyDismissalNotification` to `showUpcomingAlarmNotification`
2025-03-26 18:58:56 +05:30
Naveen Singh
7a15de5926 Merge branch 'master' into fix_silent_alarms 2025-03-26 16:42:04 +05:30
Priit Jõerüüt
adbeb40bd2 Translated using Weblate (Estonian)
Currently translated at 100.0% (47 of 47 strings)

Translation: Fossify/Clock
Translate-URL: https://hosted.weblate.org/projects/fossify/clock/et/
2025-03-25 15:40:10 +01:00
Gwenn M
932ea42de1 Translated using Weblate (Breton)
Currently translated at 100.0% (47 of 47 strings)

Translation: Fossify/Clock
Translate-URL: https://hosted.weblate.org/projects/fossify/clock/br/
2025-03-24 17:07:26 +01:00
Edgars Andersons
355089dd3d Translated using Weblate (Latvian)
Currently translated at 6.3% (3 of 47 strings)

Translation: Fossify/Clock
Translate-URL: https://hosted.weblate.org/projects/fossify/clock/lv/
2025-03-24 10:45:41 +01:00
Naveen Singh
3ffbbfb2e7 Merge branch 'master' into fix_silent_alarms 2025-03-24 04:09:17 +05:30
Courtney Avidson
c13c1b659c Translated using Weblate (Latvian)
Currently translated at 4.2% (2 of 47 strings)

Translation: Fossify/Clock
Translate-URL: https://hosted.weblate.org/projects/fossify/clock/lv/
2025-03-23 15:39:31 +01:00
Naveen Singh
4ae0569a59 Use descriptive name 2025-03-22 02:11:44 +05:30
Naveen Singh
1b39dcc94a Don't dismiss alarms automatically
Alarm was being dismissed automatically when notification was tapped twice.
2025-03-22 02:05:56 +05:30
Naveen Singh
f3ab66004b Minor code improvement
- Replaced repeated code with `notificationManager` extension
- Formatted code
2025-03-21 22:51:52 +05:30
Naveen Singh
129abc1c65 Remove invalid parameter 2025-03-21 19:19:00 +05:30
Naveen Singh
9fa209dfbc Format code 2025-03-21 18:47:30 +05:30
Naveen Singh
dd5762c744 Remove notification channel deletion
It's not needed anymore since we no longer rely on notifications for sounding alarms
2025-03-21 18:40:02 +05:30
Naveen Singh
677ec58dfa Remove unused timer related code from reminder activity
It's not actually used, see https://github.com/FossifyOrg/Clock/issues/40
2025-03-21 18:37:49 +05:30
Naveen Singh
7a7e53ed09 Use a foreground service for sounding alarms
- Simplified the overengineered on/off screen notification logic. Alarms now use a notification with a full screen intent for reminder activity regardless of the device state.
- Added a foreground service, the app will no longer rely on repeating notification sounds or the reminder activity for sounding alarms.
- Simplified the reminder activity by delegating some responsibilities to the foreground service
2025-03-21 18:33:55 +05:30
Naveen Singh
fe498c9b4a Minor code formatting 2025-03-21 14:48:17 +05:30
Naveen Singh
01c6df4d00 Add content descriptions to buttons 2025-03-21 14:47:04 +05:30
Naveen Singh
3f6ddaed2e Disable notification auto cancelling
Alarm/timer notifications shouldn't be dismissed automatically.
2025-03-18 19:58:44 +05:30
elid
5f6ea1c8a3 Translated using Weblate (Hebrew)
Currently translated at 100.0% (47 of 47 strings)

Translation: Fossify/Clock
Translate-URL: https://hosted.weblate.org/projects/fossify/clock/he/
2025-03-18 12:01:07 +01:00
Naveen Singh
22d0f69b29 Properly refresh alarms fragment
Adapter was being passed the same list of alarms over and over
2025-03-18 01:10:05 +05:30
Naveen Singh
2d3aa18e2c Properly disable expired alarms
- Moved duplicated code to an extension
 - Removed alarm clearing logic from alarms fragment as it's not necessary there. Instead, the alarms fragment is refreshed by `disableExpiredAlarm()`.
 - Disabled expired alarms when alarms are auto dismissed as well.
2025-03-18 01:09:01 +05:30
Naveen Singh
3b475642ce Always clear expired alarms
Same issue as 7d35b0413c.

Original code relied on the scheduled alarms returned by the system as a filter but the updated code by https://github.com/SimpleMobileTools/Simple-Clock/pull/469 clears/disables expired alarms when there are no enabled alarms which doesn't make much sense. One can not disable already disabled alarms
2025-03-17 21:32:28 +05:30
Naveen Singh
9ac0a4e1ac Ask for notification permission on startup
Previously, the app didn't ask for notification permission unless the user tried to enable/disable an alarm. This is a problem in case the notifications were turned off (for whatever reason) after an alarm was configured. The user would think that everything is ok and miss their alarm.

https://github.com/FossifyOrg/Clock/issues/89#issuecomment-2510246925
2025-03-17 19:41:49 +05:30
Naveen Singh
7d35b0413c Reschedule alarms properly
It seems faulty code was originally introduced in https://github.com/SimpleMobileTools/Simple-Clock/pull/469

Before that PR, the code rescheduled enabled alarms when there were no scheduled alarms according to the system APIs.

After that PR, the code rescheduled enabled alarms when there were NO enabled alarms enabled in the database i.e. a contradiction.

See https://github.com/FossifyOrg/Clock/issues/89
2025-03-17 18:27:23 +05:30
Naveen Singh
6dac731f6f Fix typo in variable name 2025-03-17 17:31:42 +05:30
Naveen Singh
e9afd550f0 Use safe context
Fixed crash `java.lang.IllegalStateException` in `updateAlarm()``
2025-03-17 16:52:28 +05:30
Naveen Singh
5e7b756257 Cancel alarm notification when alarm is auto dismissed
See https://github.com/FossifyOrg/Clock/issues/113
2025-03-16 01:12:56 +05:30
Naveen Singh
9221364ac9 Minor readability improvement 2025-03-15 23:50:52 +05:30
Naveen Singh
89979bef62 Use KTX extension 2025-03-15 17:49:17 +05:30
Naveen Singh
9f0111e384 Format some code 2025-03-15 17:47:25 +05:30
Naveen Singh
6df69d9f98 Avoid re-scheduling disabled one-shot alarms
https://github.com/FossifyOrg/Clock/issues/26
2025-03-15 00:04:56 +05:30
Naveen Singh
d957a56e34 Replace if with when and format code 2025-03-14 14:29:12 +05:30
Naveen Singh
1cc26e72a8 Merge pull request #99 from Joshix-1/master
Timezone aware scheduling of Alarms
2025-03-10 01:25:41 +05:30
Agnieszka C
3599e0a8d5 Fixed widget not respecting the tab setting (#125) 2025-03-09 20:19:45 +01:00
Naveen Singh
6297777919 Avoid showing "0 minutes" as remaining time 2025-03-09 20:19:45 +05:30
Naveen Singh
b25ac8707b Rename snoozeTime back to snoozeMinutes 2025-03-09 19:07:03 +05:30