mirror of
https://github.com/FossifyOrg/Notes.git
synced 2026-06-11 10:09:29 -04:00
Remove USE_EXACT_ALARM permission.
It's only available to Clock and Calendar apps.
This commit is contained in:
@@ -8,7 +8,6 @@
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
|
||||
<uses-permission android:name="android.permission.USE_EXACT_ALARM" />
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.faketouch"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.fossify.notes.activities
|
||||
|
||||
import android.app.AlarmManager
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
@@ -11,11 +12,13 @@ import kotlinx.serialization.SerializationException
|
||||
import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.Json
|
||||
import org.fossify.commons.dialogs.ConfirmationDialog
|
||||
import org.fossify.commons.dialogs.PermissionRequiredDialog
|
||||
import org.fossify.commons.dialogs.RadioGroupDialog
|
||||
import org.fossify.commons.dialogs.SecurityDialog
|
||||
import org.fossify.commons.extensions.*
|
||||
import org.fossify.commons.helpers.*
|
||||
import org.fossify.commons.models.RadioItem
|
||||
import org.fossify.notes.BuildConfig
|
||||
import org.fossify.notes.R
|
||||
import org.fossify.notes.databinding.ActivitySettingsBinding
|
||||
import org.fossify.notes.dialogs.ExportNotesDialog
|
||||
@@ -368,13 +371,15 @@ class SettingsActivity : SimpleActivity() {
|
||||
binding.settingsEnableAutomaticBackupsHolder.setOnClickListener {
|
||||
val wasBackupDisabled = !config.autoBackup
|
||||
if (wasBackupDisabled) {
|
||||
ManageAutoBackupsDialog(
|
||||
activity = this,
|
||||
onSuccess = {
|
||||
enableOrDisableAutomaticBackups(true)
|
||||
scheduleNextAutomaticBackup()
|
||||
}
|
||||
)
|
||||
maybeRequestExactAlarmPermission {
|
||||
ManageAutoBackupsDialog(
|
||||
activity = this,
|
||||
onSuccess = {
|
||||
enableOrDisableAutomaticBackups(true)
|
||||
scheduleNextAutomaticBackup()
|
||||
}
|
||||
)
|
||||
}
|
||||
} else {
|
||||
cancelScheduledAutomaticBackup()
|
||||
enableOrDisableAutomaticBackups(false)
|
||||
@@ -400,6 +405,25 @@ class SettingsActivity : SimpleActivity() {
|
||||
binding.settingsManageAutomaticBackupsHolder.beVisibleIf(enable)
|
||||
}
|
||||
|
||||
private fun maybeRequestExactAlarmPermission(callback: () -> Unit = {}) {
|
||||
if (isSPlus()) {
|
||||
val alarmManager: AlarmManager = getSystemService(ALARM_SERVICE) as AlarmManager
|
||||
if (alarmManager.canScheduleExactAlarms()) {
|
||||
callback()
|
||||
} else {
|
||||
PermissionRequiredDialog(
|
||||
activity = this,
|
||||
textId = R.string.allow_alarm_automatic_backups,
|
||||
positiveActionCallback = {
|
||||
openRequestExactAlarmSettings(BuildConfig.APPLICATION_ID)
|
||||
},
|
||||
)
|
||||
}
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupAppPasswordProtection() {
|
||||
binding.settingsAppPasswordProtection.isChecked = config.isAppPasswordProtectionOn
|
||||
binding.settingsAppPasswordProtectionHolder.setOnClickListener {
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
<string name="new_text_note">New text note</string>
|
||||
<string name="new_checklist">New checklist</string>
|
||||
<string name="cannot_load_over_internet">The app cannot load files over the internet</string>
|
||||
<string name="allow_alarm_automatic_backups">To backup notes automatically, please grant the app permission to schedule exact alarms.</string>
|
||||
|
||||
<!-- File notes -->
|
||||
<string name="open_file">Open file</string>
|
||||
|
||||
Reference in New Issue
Block a user