mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
fix: Min Android version
This commit is contained in:
@@ -119,6 +119,15 @@ class NestedAppSettingsFragment : NestedSettingsFragment() {
|
||||
|
||||
activity?.let { activity ->
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
|
||||
// Hide Passkeys settings if needed
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||
findPreference<Preference>(getString(R.string.passkeys_explanation_key))
|
||||
?.isVisible = false
|
||||
findPreference<Preference>(getString(R.string.settings_passkeys_key))
|
||||
?.isVisible = false
|
||||
}
|
||||
|
||||
val autoFillEnablePreference: TwoStatePreference? = findPreference(getString(R.string.settings_credential_provider_enable_key))
|
||||
activity.getSystemService(AutofillManager::class.java)?.let { autofillManager ->
|
||||
if (autofillManager.hasEnabledAutofillServices())
|
||||
@@ -192,14 +201,17 @@ class NestedAppSettingsFragment : NestedSettingsFragment() {
|
||||
false
|
||||
}
|
||||
|
||||
findPreference<Preference>(getString(R.string.passkeys_explanation_key))?.setOnPreferenceClickListener {
|
||||
context?.openUrl(R.string.passkeys_explanation_url)
|
||||
false
|
||||
}
|
||||
|
||||
findPreference<Preference>(getString(R.string.settings_passkeys_key))?.setOnPreferenceClickListener {
|
||||
startActivity(Intent(context, PasskeysSettingsActivity::class.java))
|
||||
false
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||
findPreference<Preference>(getString(R.string.passkeys_explanation_key))?.setOnPreferenceClickListener {
|
||||
context?.openUrl(R.string.passkeys_explanation_url)
|
||||
false
|
||||
}
|
||||
|
||||
findPreference<Preference>(getString(R.string.settings_passkeys_key))?.setOnPreferenceClickListener {
|
||||
startActivity(Intent(context, PasskeysSettingsActivity::class.java))
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
findPreference<Preference>(getString(R.string.autofill_explanation_key))?.setOnPreferenceClickListener {
|
||||
|
||||
@@ -19,9 +19,12 @@
|
||||
*/
|
||||
package com.kunzisoft.keepass.settings
|
||||
|
||||
import android.os.Build
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import com.kunzisoft.keepass.R
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
|
||||
class PasskeysSettingsActivity : ExternalSettingsActivity() {
|
||||
|
||||
override fun retrieveTitle(): Int {
|
||||
|
||||
@@ -21,12 +21,14 @@ package com.kunzisoft.keepass.settings
|
||||
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import com.kunzisoft.keepass.R
|
||||
import com.kunzisoft.keepass.settings.preferencedialogfragment.PasskeysPrivilegedAppsPreferenceDialogFragmentCompat
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
|
||||
class PasskeysSettingsFragment : PreferenceFragmentCompat() {
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
@@ -34,24 +36,21 @@ class PasskeysSettingsFragment : PreferenceFragmentCompat() {
|
||||
setPreferencesFromResource(R.xml.preferences_passkeys, rootKey)
|
||||
}
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
override fun onDisplayPreferenceDialog(preference: Preference) {
|
||||
var otherDialogFragment = false
|
||||
|
||||
var dialogFragment: DialogFragment? = null
|
||||
|
||||
when (preference.key) {
|
||||
getString(R.string.passkeys_privileged_apps_key) -> {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||
dialogFragment = PasskeysPrivilegedAppsPreferenceDialogFragmentCompat.newInstance(preference.key)
|
||||
}
|
||||
dialogFragment = PasskeysPrivilegedAppsPreferenceDialogFragmentCompat.newInstance(preference.key)
|
||||
}
|
||||
else -> otherDialogFragment = true
|
||||
else -> {}
|
||||
}
|
||||
|
||||
if (dialogFragment != null) {
|
||||
dialogFragment.setTargetFragment(this, 0)
|
||||
dialogFragment.show(parentFragmentManager, TAG_PASSKEYS_PREF_FRAGMENT)
|
||||
} else if (otherDialogFragment) {
|
||||
} else {
|
||||
super.onDisplayPreferenceDialog(preference)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user