diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 91dfc6ec..3820008d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,7 +21,7 @@ @@ -55,9 +55,9 @@ android:name=".activities.ThreadActivity" android:configChanges="orientation" android:exported="false" + android:launchMode="singleTop" android:parentActivityName=".activities.MainActivity" - android:windowSoftInputMode="adjustResize" - android:launchMode="singleTop" /> + android:windowSoftInputMode="adjustResize" /> toast(R.string.invalid_file_format) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt index fc86ece8..f366044f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt @@ -5,9 +5,7 @@ import android.content.Intent import android.os.Build import android.os.Bundle import com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity -import com.simplemobiletools.commons.dialogs.ChangeDateTimeFormatDialog -import com.simplemobiletools.commons.dialogs.FeatureLockedDialog -import com.simplemobiletools.commons.dialogs.RadioGroupDialog +import com.simplemobiletools.commons.dialogs.* import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.models.RadioItem @@ -49,6 +47,7 @@ class SettingsActivity : SimpleActivity() { setupGroupMessageAsMMS() setupLockScreenVisibility() setupMMSFileSizeLimit() + setupAppPasswordProtection() updateTextColors(settings_nested_scrollview) if (blockedNumbersAtPause != -1 && blockedNumbersAtPause != getBlockedNumbers().hashCode()) { @@ -244,6 +243,28 @@ class SettingsActivity : SimpleActivity() { } } + private fun setupAppPasswordProtection() { + settings_app_password_protection.isChecked = config.isAppPasswordProtectionOn + settings_app_password_protection_holder.setOnClickListener { + val tabToShow = if (config.isAppPasswordProtectionOn) config.appProtectionType else SHOW_ALL_TABS + SecurityDialog(this, config.appPasswordHash, tabToShow) { hash, type, success -> + if (success) { + val hasPasswordProtection = config.isAppPasswordProtectionOn + settings_app_password_protection.isChecked = !hasPasswordProtection + config.isAppPasswordProtectionOn = !hasPasswordProtection + config.appPasswordHash = if (hasPasswordProtection) "" else hash + config.appProtectionType = type + + if (config.isAppPasswordProtectionOn) { + val confirmationTextId = if (config.appProtectionType == PROTECTION_FINGERPRINT) + R.string.fingerprint_setup_successfully else R.string.protection_setup_successfully + ConfirmationDialog(this, "", confirmationTextId, R.string.ok, 0) { } + } + } + } + } + } + private fun getMMSFileLimitText() = getString( when (config.mmsFileSizeLimit) { FILE_SIZE_100_KB -> R.string.mms_file_size_limit_100kb diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 7083d0c3..99dfaa9b 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -341,6 +341,32 @@ tools:text="@string/mms_file_size_limit_none" /> + + + + + + + + + +