mirror of
https://github.com/home-assistant/android
synced 2024-10-15 12:32:54 +00:00
Hot fix removing authentication from settings. (#651)
Was causing crashes.
This commit is contained in:
parent
756556046a
commit
949a826e15
|
@ -4,12 +4,10 @@ import android.os.Build
|
|||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.biometric.BiometricManager
|
||||
import androidx.core.app.ActivityCompat.finishAffinity
|
||||
import androidx.preference.EditTextPreference
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.SwitchPreference
|
||||
import eightbitlab.com.blurview.BlurView
|
||||
import io.homeassistant.companion.android.BuildConfig
|
||||
import io.homeassistant.companion.android.DaggerPresenterComponent
|
||||
import io.homeassistant.companion.android.PresenterModule
|
||||
|
@ -34,8 +32,6 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
|||
@Inject
|
||||
lateinit var presenter: SettingsPresenter
|
||||
private lateinit var authenticator: Authenticator
|
||||
private lateinit var blurView: BlurView
|
||||
private var unlocked = false
|
||||
private var setLock = false
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
|
@ -46,14 +42,6 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
|||
.build()
|
||||
.inject(this)
|
||||
|
||||
blurView = requireActivity().findViewById(R.id.blurView)
|
||||
|
||||
blurView.setupWith(requireActivity().findViewById(R.id.content))
|
||||
.setOverlayColor(resources.getColor(R.color.colorOnPrimary))
|
||||
|
||||
if (!presenter.isLockEnabled())
|
||||
blurView.setBlurEnabled(false)
|
||||
|
||||
authenticator = Authenticator(requireContext(), requireActivity(), ::authenticationResult)
|
||||
|
||||
preferenceManager.preferenceDataStore = presenter.getPreferenceDataStore()
|
||||
|
@ -177,36 +165,8 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
|||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (presenter.isLockEnabled() && !unlocked)
|
||||
if (System.currentTimeMillis() > presenter.getSessionExpireMillis()) {
|
||||
blurView.setBlurEnabled(true)
|
||||
setLock = false
|
||||
authenticator.title = getString(R.string.biometric_title)
|
||||
authenticator.authenticate()
|
||||
} else blurView.setBlurEnabled(false)
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
presenter.setSessionExpireMillis((System.currentTimeMillis() + (presenter.sessionTimeOut() * 1000)))
|
||||
unlocked = false
|
||||
super.onPause()
|
||||
}
|
||||
|
||||
private fun authenticationResult(result: Int) {
|
||||
val switchLock = findPreference<SwitchPreference>("app_lock")
|
||||
if (result == Authenticator.SUCCESS) {
|
||||
if (!setLock) {
|
||||
unlocked = true
|
||||
blurView.setBlurEnabled(false)
|
||||
} else switchLock?.isChecked = true
|
||||
} else {
|
||||
switchLock?.isChecked = false
|
||||
if (result == Authenticator.CANCELED) {
|
||||
if (!setLock)
|
||||
finishAffinity(requireActivity())
|
||||
} else authenticator.authenticate()
|
||||
}
|
||||
switchLock?.isChecked = result == Authenticator.SUCCESS
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,30 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/root2"
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:theme="@style/ThemeOverlay.HomeAssistant.ActionBar"
|
||||
android:elevation="4dp" />
|
||||
<FrameLayout
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
</LinearLayout>
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:elevation="4dp"
|
||||
android:theme="@style/ThemeOverlay.HomeAssistant.ActionBar" />
|
||||
|
||||
<eightbitlab.com.blurview.BlurView
|
||||
android:id="@+id/blurView"
|
||||
<FrameLayout
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
</eightbitlab.com.blurview.BlurView>
|
||||
|
||||
</RelativeLayout>
|
||||
android:layout_height="wrap_content" />
|
||||
</LinearLayout>
|
||||
|
|
Loading…
Reference in a new issue