diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt index ec6c42d70..314203306 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt @@ -284,7 +284,8 @@ class MediaPreviewV2Fragment : Fragment(R.layout.fragment_media_preview_v2), Med windowInsetsCompat.getSystemWindowInsetLeft(), layoutParams.topMargin, windowInsetsCompat.getSystemWindowInsetRight(), - windowInsetsCompat.getSystemWindowInsetBottom()) + windowInsetsCompat.getSystemWindowInsetBottom() + ) view.layoutParams = layoutParams windowInsetsCompat } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostLinkEntryFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostLinkEntryFragment.kt index c71621d6b..9f0f92891 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostLinkEntryFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostLinkEntryFragment.kt @@ -15,7 +15,9 @@ import org.thoughtcrime.securesms.linkpreview.LinkPreviewRepository import org.thoughtcrime.securesms.linkpreview.LinkPreviewViewModel import org.thoughtcrime.securesms.stories.StoryLinkPreviewView import org.thoughtcrime.securesms.util.LinkUtil +import org.thoughtcrime.securesms.util.TextSecurePreferences import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.setIncognitoKeyboardEnabled import org.thoughtcrime.securesms.util.visible class TextStoryPostLinkEntryFragment : KeyboardEntryDialogFragment( @@ -41,6 +43,7 @@ class TextStoryPostLinkEntryFragment : KeyboardEntryDialogFragment( val confirmButton: View = view.findViewById(R.id.confirm_button) val shareALinkGroup: Group = view.findViewById(R.id.share_a_link_group) + input.setIncognitoKeyboardEnabled(TextSecurePreferences.isIncognitoKeyboardEnabled(requireContext())) input.addTextChangedListener( afterTextChanged = { val scheme = "https://" diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostTextEntryFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostTextEntryFragment.kt index 7c3b4a9f3..207cc30b3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostTextEntryFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostTextEntryFragment.kt @@ -33,8 +33,10 @@ import org.thoughtcrime.securesms.scribbles.HSVColorSlider.getColor import org.thoughtcrime.securesms.scribbles.HSVColorSlider.setColor import org.thoughtcrime.securesms.scribbles.HSVColorSlider.setUpForColor import org.thoughtcrime.securesms.util.FeatureFlags +import org.thoughtcrime.securesms.util.TextSecurePreferences import org.thoughtcrime.securesms.util.ViewUtil import org.thoughtcrime.securesms.util.fragments.findListener +import org.thoughtcrime.securesms.util.setIncognitoKeyboardEnabled import java.util.Locale /** @@ -117,6 +119,7 @@ class TextStoryPostTextEntryFragment : KeyboardEntryDialogFragment( viewModel.setTemporaryBody(text?.toString() ?: "") } input.setText(viewModel.getBody()) + input.setIncognitoKeyboardEnabled(TextSecurePreferences.isIncognitoKeyboardEnabled(requireContext())) } private fun presentHint() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/EditTextExtensions.kt b/app/src/main/java/org/thoughtcrime/securesms/util/EditTextExtensions.kt new file mode 100644 index 000000000..b295e0609 --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/util/EditTextExtensions.kt @@ -0,0 +1,22 @@ +package org.thoughtcrime.securesms.util + +import android.widget.EditText + +/** + * Since this value is only supported on API26+ we hard-code it here + * to avoid issues with older versions. This mirrors the approach + * taken by [org.thoughtcrime.securesms.components.ComposeText]. + */ +private const val INCOGNITO_KEYBOARD = 16777216 + +/** + * Enables or disables incognito-mode for the keyboard. Note that this might not + * be respected by all IMEs. + */ +fun EditText.setIncognitoKeyboardEnabled(isIncognitoKeyboardEnabled: Boolean) { + imeOptions = if (isIncognitoKeyboardEnabled) { + imeOptions or INCOGNITO_KEYBOARD + } else { + imeOptions and INCOGNITO_KEYBOARD.inv() + } +} \ No newline at end of file