diff --git a/src/keepass2android-app/PasswordActivity.cs b/src/keepass2android-app/PasswordActivity.cs index c157e43e..9cd6d54b 100644 --- a/src/keepass2android-app/PasswordActivity.cs +++ b/src/keepass2android-app/PasswordActivity.cs @@ -1423,6 +1423,8 @@ namespace keepass2android if (cbQuickUnlock == null) throw new NullPointerException("cpQuickUnlock"); App.Kp2a.SetQuickUnlockEnabled(cbQuickUnlock.Checked); + App.Kp2a.ScreenLockWasEnabledWhenOpeningDatabase = + (((KeyguardManager)GetSystemService(Context.KeyguardService)!)!).IsDeviceSecure; if ((_loadDbFileTask != null) && (App.Kp2a.OfflineMode != _loadDbTaskOffline)) { diff --git a/src/keepass2android-app/QuickUnlock.cs b/src/keepass2android-app/QuickUnlock.cs index 4dd2176a..4a8b35fa 100644 --- a/src/keepass2android-app/QuickUnlock.cs +++ b/src/keepass2android-app/QuickUnlock.cs @@ -25,6 +25,7 @@ using Android.Widget; using Android.Content.PM; using KeePassLib.Keys; using Android.Preferences; +using Android.Provider; using Android.Runtime; using Android.Views.InputMethods; @@ -162,6 +163,29 @@ namespace keepass2android if (bundle != null) numFailedAttempts = bundle.GetInt(NumFailedAttemptsKey, 0); + FindViewById(Resource.Id.QuickUnlock_buttonEnableLock).Click += (object sender, EventArgs e) => + { + Intent intent = new Intent(Settings.ActionSecuritySettings); + StartActivity(intent); + + }; + + FindViewById(Resource.Id.QuickUnlock_buttonCloseDb).Click += (object sender, EventArgs e) => + { + App.Kp2a.Lock(false); + }; + + if (App.Kp2a.ScreenLockWasEnabledWhenOpeningDatabase == false) + { + FindViewById(Resource.Id.QuickUnlockForm).Visibility = ViewStates.Gone; + FindViewById(Resource.Id.QuickUnlockBlocked).Visibility = ViewStates.Visible; + } + else + { + FindViewById(Resource.Id.QuickUnlockForm).Visibility = ViewStates.Visible; + FindViewById(Resource.Id.QuickUnlockBlocked).Visibility = ViewStates.Gone; + } + } diff --git a/src/keepass2android-app/Resources/layout/QuickUnlock.xml b/src/keepass2android-app/Resources/layout/QuickUnlock.xml index c3b8fdfb..0c4da5c4 100644 --- a/src/keepass2android-app/Resources/layout/QuickUnlock.xml +++ b/src/keepass2android-app/Resources/layout/QuickUnlock.xml @@ -78,20 +78,21 @@ android:paddingLeft="16dp" android:paddingRight="16dp" android:paddingTop="16dp"> - - + android:orientation="horizontal" + android:id="@+id/QuickUnlockForm"> + + + + + + + + +