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