From ff208173c625002b0800ed37605788487952bf59 Mon Sep 17 00:00:00 2001 From: TopFox Date: Sat, 5 Jul 2025 22:31:18 +0200 Subject: [PATCH 1/2] fix: use incognito mode in checklists --- .../kotlin/org/fossify/notes/dialogs/EditTaskDialog.kt | 10 ++++++++++ .../fossify/notes/dialogs/NewChecklistItemDialog.kt | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/app/src/main/kotlin/org/fossify/notes/dialogs/EditTaskDialog.kt b/app/src/main/kotlin/org/fossify/notes/dialogs/EditTaskDialog.kt index 27b7962db..a1c2e1ba6 100644 --- a/app/src/main/kotlin/org/fossify/notes/dialogs/EditTaskDialog.kt +++ b/app/src/main/kotlin/org/fossify/notes/dialogs/EditTaskDialog.kt @@ -2,13 +2,23 @@ package org.fossify.notes.dialogs import android.app.Activity import android.content.DialogInterface.BUTTON_POSITIVE +import android.view.inputmethod.EditorInfo import org.fossify.commons.extensions.* import org.fossify.notes.databinding.DialogRenameChecklistItemBinding +import org.fossify.notes.extensions.config class EditTaskDialog(val activity: Activity, val oldTitle: String, callback: (newTitle: String) -> Unit) { init { val binding = DialogRenameChecklistItemBinding.inflate(activity.layoutInflater).apply { checklistItemTitle.setText(oldTitle) + + if (activity.config.useIncognitoMode == true) { + checklistItemTitle.imeOptions = + checklistItemTitle.imeOptions or EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING + } else { + checklistItemTitle.imeOptions = + checklistItemTitle.imeOptions.removeBit(EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING) + } } activity.getAlertDialogBuilder() diff --git a/app/src/main/kotlin/org/fossify/notes/dialogs/NewChecklistItemDialog.kt b/app/src/main/kotlin/org/fossify/notes/dialogs/NewChecklistItemDialog.kt index 1360fd936..5c7ad3532 100644 --- a/app/src/main/kotlin/org/fossify/notes/dialogs/NewChecklistItemDialog.kt +++ b/app/src/main/kotlin/org/fossify/notes/dialogs/NewChecklistItemDialog.kt @@ -94,6 +94,15 @@ class NewChecklistItemDialog( titles.add(titleEditText) binding.checklistHolder.addView(this.root) } + + if (activity.config.useIncognitoMode == true) { + titleEditText.imeOptions = + titleEditText.imeOptions or EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING + } else { + titleEditText.imeOptions = + titleEditText.imeOptions.removeBit(EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING) + } + activity.updateTextColors(binding.checklistHolder) binding.dialogHolder.post { binding.dialogHolder.fullScroll(View.FOCUS_DOWN) From e4da7e8bffd993e4c16dc880c0b2185680a47927 Mon Sep 17 00:00:00 2001 From: TopFox Date: Sun, 6 Jul 2025 09:14:35 +0200 Subject: [PATCH 2/2] fix: use an extension function to request incognito mode --- .../org/fossify/notes/dialogs/EditTaskDialog.kt | 12 ++---------- .../fossify/notes/dialogs/NewChecklistItemDialog.kt | 9 ++------- .../kotlin/org/fossify/notes/extensions/TextView.kt | 13 +++++++++++++ .../org/fossify/notes/fragments/TextFragment.kt | 9 ++------- 4 files changed, 19 insertions(+), 24 deletions(-) create mode 100644 app/src/main/kotlin/org/fossify/notes/extensions/TextView.kt diff --git a/app/src/main/kotlin/org/fossify/notes/dialogs/EditTaskDialog.kt b/app/src/main/kotlin/org/fossify/notes/dialogs/EditTaskDialog.kt index a1c2e1ba6..8ee763c31 100644 --- a/app/src/main/kotlin/org/fossify/notes/dialogs/EditTaskDialog.kt +++ b/app/src/main/kotlin/org/fossify/notes/dialogs/EditTaskDialog.kt @@ -2,23 +2,15 @@ package org.fossify.notes.dialogs import android.app.Activity import android.content.DialogInterface.BUTTON_POSITIVE -import android.view.inputmethod.EditorInfo import org.fossify.commons.extensions.* import org.fossify.notes.databinding.DialogRenameChecklistItemBinding -import org.fossify.notes.extensions.config +import org.fossify.notes.extensions.maybeRequestIncognito class EditTaskDialog(val activity: Activity, val oldTitle: String, callback: (newTitle: String) -> Unit) { init { val binding = DialogRenameChecklistItemBinding.inflate(activity.layoutInflater).apply { checklistItemTitle.setText(oldTitle) - - if (activity.config.useIncognitoMode == true) { - checklistItemTitle.imeOptions = - checklistItemTitle.imeOptions or EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING - } else { - checklistItemTitle.imeOptions = - checklistItemTitle.imeOptions.removeBit(EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING) - } + checklistItemTitle.maybeRequestIncognito() } activity.getAlertDialogBuilder() diff --git a/app/src/main/kotlin/org/fossify/notes/dialogs/NewChecklistItemDialog.kt b/app/src/main/kotlin/org/fossify/notes/dialogs/NewChecklistItemDialog.kt index 5c7ad3532..de69bc3b6 100644 --- a/app/src/main/kotlin/org/fossify/notes/dialogs/NewChecklistItemDialog.kt +++ b/app/src/main/kotlin/org/fossify/notes/dialogs/NewChecklistItemDialog.kt @@ -13,6 +13,7 @@ import org.fossify.notes.R import org.fossify.notes.databinding.DialogNewChecklistItemBinding import org.fossify.notes.databinding.ItemAddChecklistBinding import org.fossify.notes.extensions.config +import org.fossify.notes.extensions.maybeRequestIncognito class NewChecklistItemDialog( val activity: Activity, @@ -95,13 +96,7 @@ class NewChecklistItemDialog( binding.checklistHolder.addView(this.root) } - if (activity.config.useIncognitoMode == true) { - titleEditText.imeOptions = - titleEditText.imeOptions or EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING - } else { - titleEditText.imeOptions = - titleEditText.imeOptions.removeBit(EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING) - } + titleEditText.maybeRequestIncognito() activity.updateTextColors(binding.checklistHolder) binding.dialogHolder.post { diff --git a/app/src/main/kotlin/org/fossify/notes/extensions/TextView.kt b/app/src/main/kotlin/org/fossify/notes/extensions/TextView.kt new file mode 100644 index 000000000..2acfd14dc --- /dev/null +++ b/app/src/main/kotlin/org/fossify/notes/extensions/TextView.kt @@ -0,0 +1,13 @@ +package org.fossify.notes.extensions + +import android.view.inputmethod.EditorInfo +import android.widget.TextView +import org.fossify.commons.extensions.removeBit + +fun TextView.maybeRequestIncognito() { + imeOptions = if (context.config.useIncognitoMode) { + imeOptions or EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING + } else { + imeOptions.removeBit(EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING) + } +} diff --git a/app/src/main/kotlin/org/fossify/notes/fragments/TextFragment.kt b/app/src/main/kotlin/org/fossify/notes/fragments/TextFragment.kt index bf7ebcdd8..557b945bf 100644 --- a/app/src/main/kotlin/org/fossify/notes/fragments/TextFragment.kt +++ b/app/src/main/kotlin/org/fossify/notes/fragments/TextFragment.kt @@ -14,7 +14,6 @@ import android.view.LayoutInflater import android.view.MotionEvent import android.view.View import android.view.ViewGroup -import android.view.inputmethod.EditorInfo import android.view.inputmethod.InputMethodManager import android.widget.ImageView import android.widget.TextView @@ -28,6 +27,7 @@ import org.fossify.notes.databinding.NoteViewHorizScrollableBinding import org.fossify.notes.databinding.NoteViewStaticBinding import org.fossify.notes.extensions.config import org.fossify.notes.extensions.getPercentageFontSize +import org.fossify.notes.extensions.maybeRequestIncognito import org.fossify.notes.extensions.updateWidgets import org.fossify.notes.helpers.MyMovementMethod import org.fossify.notes.helpers.NOTE_ID @@ -172,12 +172,7 @@ class TextFragment : NoteFragment() { } } } - - imeOptions = if (config.useIncognitoMode) { - imeOptions or EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING - } else { - imeOptions.removeBit(EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING) - } + maybeRequestIncognito() } noteEditText.setOnTouchListener { v, event ->