Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Android 14 #65

Merged
merged 46 commits into from
Aug 30, 2023
Merged

Upgrade to Android 14 #65

merged 46 commits into from
Aug 30, 2023

Conversation

WrichikBasu
Copy link
Owner

Compatibility update to Android 14!

Other changes:

  • New Integrated Permission Management System. One activity for managing permissions from all other activities. No dialogs with explanations. Explanations shown from the very beginning.
  • Upgraded Gradle, AGP, dependencies and JDK.
  • The ringtone picker now comes with audio focus control.
  • Fallback system in case the chosen alarm tone is unavailable when the alarm is ringing, so as not to miss an alarm.
  • Respect DND settings when ringing alarms.

Optional permissions are requested every 100 times the app is opened by the user.
User will now be able to navigate out of the activity even if all essential permissions have not been granted. RESULT_CANCELLED will be returned if all essential permissions have not been granted. RESULT_OK will be returned if all essential perms have been granted (notwithstanding status of non-essential perms).
 - Permissions will be checked for and requested from onResume() rather than onCreate()
 - If essential perms are denied, app will close.
 - Removed `settingsActIsOver` fields as they seemed unnecessary.
 - Renamed erstwhile `Service_UpdateAlarm` to `Service_SetAlarmsPostBoot`
 - Renamed erstwhile `Activity_RequestPerm` to `Activity_RequestPermIntro`
 - Modifications in the text shown in the activity
(for context-registered broadcast receivers)
The check for non-essential perms will now occur in the UI thread instead of background thread in Activity_AlarmsList. Reason: MutableLiveData.setValue() does not work in background threads, and we have to use postValue(). As a result, the value is actually not being set even after the thread finishes, and by that time, the activity is passing onResume(). If the app ever pauses and onResume() is called again, the perms. activity is suddenly launched. Hence, it is necessary to check for the non-essential perms in the main thread itself.
"Required" => if the chosen custom tone is not available or inaccessible.
@WrichikBasu WrichikBasu merged commit 35ff6d3 into master Aug 30, 2023
1 of 2 checks passed
@WrichikBasu WrichikBasu deleted the dev branch August 30, 2023 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant