diff --git a/app/src/main/kotlin/org/fossify/notes/activities/MainActivity.kt b/app/src/main/kotlin/org/fossify/notes/activities/MainActivity.kt index 919a8587..1ec97831 100644 --- a/app/src/main/kotlin/org/fossify/notes/activities/MainActivity.kt +++ b/app/src/main/kotlin/org/fossify/notes/activities/MainActivity.kt @@ -1090,13 +1090,9 @@ class MainActivity : SimpleActivity() { private fun displayDeleteNotePrompt() { DeleteNoteDialog(this, mCurrentNote) { - if (config.isAppPasswordProtectionOn) { - handleAppPasswordProtection { - mWasProtectionHandled = it - if (it) { - mIsPasswordProtectionPending = false + if (config.isDeletePasswordProtectionOn) { + handleDeletePasswordProtection { deleteNote(it, mCurrentNote) - } } } else diff --git a/app/src/main/kotlin/org/fossify/notes/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/notes/activities/SettingsActivity.kt index 0d93fd71..486de9a8 100644 --- a/app/src/main/kotlin/org/fossify/notes/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/notes/activities/SettingsActivity.kt @@ -65,6 +65,7 @@ class SettingsActivity : SimpleActivity() { setupEnableAutomaticBackups() setupManageAutomaticBackups() setupAppPasswordProtection() + setupNoteDeletionPasswordProtection() updateTextColors(binding.settingsNestedScrollview) arrayOf( @@ -420,4 +421,26 @@ class SettingsActivity : SimpleActivity() { } } } + + private fun setupNoteDeletionPasswordProtection() { + binding.settingsNoteDeletionPasswordProtection.isChecked = config.isDeletePasswordProtectionOn + binding.settingsNoteDeletionPasswordProtectionHolder.setOnClickListener { + val tabToShow = if (config.isDeletePasswordProtectionOn) config.deleteProtectionType else SHOW_ALL_TABS + SecurityDialog(this, config.deletePasswordHash, tabToShow) { hash, type, success -> + if (success) { + val hasPasswordProtection = config.isDeletePasswordProtectionOn + binding.settingsNoteDeletionPasswordProtection.isChecked = !hasPasswordProtection + config.isDeletePasswordProtectionOn = !hasPasswordProtection + config.deletePasswordHash = if (hasPasswordProtection) "" else hash + config.deleteProtectionType = type + + if (config.isDeletePasswordProtectionOn) { + val confirmationTextId = if (config.deleteProtectionType == PROTECTION_FINGERPRINT) + org.fossify.commons.R.string.fingerprint_setup_successfully else org.fossify.commons.R.string.protection_setup_successfully + ConfirmationDialog(this, "", confirmationTextId, org.fossify.commons.R.string.ok, 0) { } + } + } + } + } + } } diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index f63c325d..8bc43697 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -351,6 +351,51 @@ android:id="@+id/settings_saving_divider" layout="@layout/divider" /> + + + + + + + + + + + + + + + + + + - - - - - - - - - - Use Incognito mode of keyboards Move done checklist items to the bottom Add new checklist items at the top + Password protect note deletion Checklist