feat: add application password retention
This commit is contained in:
parent
f50881c1fc
commit
542aba6ea3
6 changed files with 21 additions and 2 deletions
|
@ -168,7 +168,6 @@ class MainActivity : NoSplashAppCompatActivity() {
|
|||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
protectionCheck.resetAuthorization()
|
||||
if (!isProtectionCheckActive) {
|
||||
isProtectionCheckActive = true
|
||||
protectionCheck.queryProtection(this, ProtectionCheck.Protection.APPLICATION, UIRunnable { isProtectionCheckActive = false },
|
||||
|
|
|
@ -6,6 +6,7 @@ import android.content.IntentFilter
|
|||
import android.net.ConnectivityManager
|
||||
import android.net.wifi.WifiManager
|
||||
import android.os.Build
|
||||
import androidx.lifecycle.ProcessLifecycleOwner
|
||||
import com.uber.rxdogtag.RxDogTag
|
||||
import dagger.android.AndroidInjector
|
||||
import dagger.android.DaggerApplication
|
||||
|
@ -35,6 +36,7 @@ import info.nightscout.androidaps.receivers.TimeDateOrTZChangeReceiver
|
|||
import info.nightscout.androidaps.services.AlarmSoundServiceHelper
|
||||
import info.nightscout.androidaps.utils.ActivityMonitor
|
||||
import info.nightscout.androidaps.utils.DateUtil
|
||||
import info.nightscout.androidaps.utils.ProcessLifecycleListener
|
||||
import info.nightscout.androidaps.utils.buildHelper.BuildHelper
|
||||
import info.nightscout.androidaps.utils.locale.LocaleHelper
|
||||
import info.nightscout.androidaps.utils.protection.PasswordCheck
|
||||
|
@ -70,6 +72,7 @@ class MainApp : DaggerApplication() {
|
|||
@Inject lateinit var passwordCheck: PasswordCheck
|
||||
@Inject lateinit var alarmSoundServiceHelper: AlarmSoundServiceHelper
|
||||
@Inject lateinit var notificationStore: NotificationStore
|
||||
@Inject lateinit var processLifecycleListener: ProcessLifecycleListener
|
||||
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
|
@ -77,6 +80,7 @@ class MainApp : DaggerApplication() {
|
|||
RxDogTag.install()
|
||||
setRxErrorHandler()
|
||||
LocaleHelper.update(this)
|
||||
ProcessLifecycleOwner.get().lifecycle.addObserver(processLifecycleListener)
|
||||
|
||||
var gitRemote: String? = BuildConfig.REMOTE
|
||||
var commitHash: String? = BuildConfig.HEAD
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package info.nightscout.androidaps.utils
|
||||
|
||||
import androidx.lifecycle.DefaultLifecycleObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import info.nightscout.androidaps.utils.protection.ProtectionCheck
|
||||
import javax.inject.Inject
|
||||
|
||||
class ProcessLifecycleListener @Inject constructor(private val protectionCheck: ProtectionCheck) : DefaultLifecycleObserver {
|
||||
|
||||
override fun onPause(owner: LifecycleOwner) {
|
||||
protectionCheck.resetAuthorization()
|
||||
}
|
||||
}
|
|
@ -86,6 +86,7 @@
|
|||
android:inputType="number"
|
||||
android:key="@string/key_protection_timeout"
|
||||
android:title="@string/protection_timeout_title"
|
||||
android:summary="@string/protection_timeout_summary"
|
||||
app:defaultValue="0"
|
||||
validate:maxNumber="180"
|
||||
validate:minNumber="0"
|
||||
|
|
|
@ -14,6 +14,7 @@ dependencies {
|
|||
api "androidx.browser:browser:1.3.0"
|
||||
api "androidx.activity:activity-ktx:${activity_version}"
|
||||
api "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
|
||||
api "androidx.lifecycle:lifecycle-process:$lifecycle_version"
|
||||
api 'androidx.cardview:cardview:1.0.0'
|
||||
api 'androidx.recyclerview:recyclerview:1.2.1'
|
||||
api 'androidx.gridlayout:gridlayout:1.0.0'
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
<string name="application_pin">Application PIN</string>
|
||||
<string name="bolus_password">Bolus password</string>
|
||||
<string name="bolus_pin">Bolus PIN</string>
|
||||
<string name="protection_timeout_title">Time before Bolus and Settings password / PIN expires (seconds)</string>
|
||||
<string name="protection_timeout_title">Password and PIN retention [s]</string>
|
||||
<string name="protection_timeout_summary">Time before the password or PIN should be entered</string>
|
||||
<string name="unlock_settings">Unlock settings</string>
|
||||
<string name="biometric">Biometric</string>
|
||||
<string name="custom_password">Custom password</string>
|
||||
|
|
Loading…
Reference in a new issue