Compare commits
	
		
			6 Commits
		
	
	
		
			2430-remov
			...
			2869-bug-b
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 43addb3cdc | ||
|   | f5f2adb88d | ||
|   | f162e868b9 | ||
|   | e5d28f0979 | ||
|   | 0e581a66c5 | ||
|   | ceb31c54b1 | 
| @@ -331,13 +331,18 @@ namespace keepass2android | ||||
|  | ||||
|         } | ||||
|  | ||||
| 	    protected override void OnStart() | ||||
|         private bool hasRequestedKeyboardActivation = false; | ||||
|         protected override void OnStart() | ||||
| 	    { | ||||
| 	        base.OnStart(); | ||||
| 	        if (PreferenceManager.GetDefaultSharedPreferences(this) | ||||
| 	            .GetBoolean(GetString(Resource.String.UseKp2aKeyboardInKp2a_key), false)) | ||||
| 	            .GetBoolean(GetString(Resource.String.UseKp2aKeyboardInKp2a_key), false) | ||||
|                 && (!hasRequestedKeyboardActivation)) | ||||
| 	        { | ||||
| 	            CopyToClipboardService.ActivateKeyboard(this); | ||||
|                 //only try this once. if the user clicks cancel, we don't want to ask again | ||||
| 				// (it may happen that the activity is restarted because of the NewTask flag immediately after the dialog) | ||||
|                 hasRequestedKeyboardActivation = true; | ||||
|                 CopyToClipboardService.ActivateKeyboard(this); | ||||
| 	        } | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -1570,15 +1570,19 @@ namespace keepass2android | ||||
|  | ||||
|             base.OnPause(); | ||||
| 		} | ||||
|  | ||||
|         private bool hasRequestedKeyboardActivation = false; | ||||
| 		protected override void OnStart() | ||||
| 		{ | ||||
| 			base.OnStart(); | ||||
| 			_starting = true; | ||||
|  | ||||
| 		    if (PreferenceManager.GetDefaultSharedPreferences(this) | ||||
| 		        .GetBoolean(GetString(Resource.String.UseKp2aKeyboardInKp2a_key), false)) | ||||
| 		    { | ||||
| 		        CopyToClipboardService.ActivateKeyboard(this); | ||||
| 		        .GetBoolean(GetString(Resource.String.UseKp2aKeyboardInKp2a_key), false) | ||||
|                 && !hasRequestedKeyboardActivation) | ||||
|             { | ||||
|                 hasRequestedKeyboardActivation = true; | ||||
|                 CopyToClipboardService.ActivateKeyboard(this); | ||||
| 		    } | ||||
|  | ||||
|             DonateReminder.ShowDonateReminderIfAppropriate(this); | ||||
|   | ||||
| @@ -1,4 +1,9 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|                                                      android:id="@+id/main_content" | ||||
|                                                      android:layout_width="match_parent" | ||||
|                                                      android:layout_height="match_parent" | ||||
|                                                      android:fitsSystemWindows="true"> | ||||
| <LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|                xmlns:tools="http://schemas.android.com/tools" | ||||
|                android:orientation="vertical" | ||||
| @@ -14,6 +19,7 @@ | ||||
|                android:text="@string/switch_ime_text" /> | ||||
|  | ||||
|     <Button  | ||||
|        | ||||
|       android:id="@+id/btn_reopen" | ||||
|       android:layout_width="match_parent" | ||||
|                android:layout_height="wrap_content" | ||||
| @@ -25,4 +31,51 @@ | ||||
|       android:layout_height="wrap_content" | ||||
|       android:text="@string/cancel" /> | ||||
|  | ||||
|     <LinearLayout android:orientation="vertical" | ||||
|             android:paddingTop="64dp" | ||||
|             android:id="@+id/settings_notes_container" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content"> | ||||
|             <TextView | ||||
|               android:paddingTop="12dp" | ||||
|                 android:id="@+id/note_kp2a_switch_rooted" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:text="@string/autoswitch_enabled_but_not_setup" | ||||
|                 /> | ||||
|  | ||||
|             <TextView | ||||
|               android:paddingTop="12dp" | ||||
|               android:id="@+id/note_AutoFillTotp_prefs_ActivateKeyboard" | ||||
|               android:layout_width="match_parent" | ||||
|               android:layout_height="wrap_content" | ||||
|               android:text="@string/switch_keyboard_for_totp_enabled" | ||||
|             /> | ||||
|  | ||||
|             <TextView | ||||
|               android:paddingTop="12dp" | ||||
|               android:id="@+id/note_UseKp2aKeyboardInKp2a" | ||||
|               android:layout_width="match_parent" | ||||
|               android:layout_height="wrap_content" | ||||
|               android:text="@string/switch_keyboard_inside_kp2a_enabled" | ||||
|             /> | ||||
|  | ||||
|             <TextView | ||||
|                 android:id="@+id/note_OpenKp2aKeyboardAutomatically" | ||||
|               android:paddingTop="12dp" | ||||
|               android:layout_width="match_parent" | ||||
|               android:layout_height="wrap_content" | ||||
|               android:text="@string/switch_keyboard_on_search_enabled" | ||||
|             /> | ||||
|              | ||||
|             <Button  | ||||
|               style="?attr/materialButtonOutlinedStyle" | ||||
|               android:id="@+id/btn_open_settings" | ||||
|               android:layout_width="match_parent" | ||||
|               android:layout_height="wrap_content" | ||||
|               android:text="@string/IconVisibilityInfo_Android8_btnSettings" /> | ||||
|  | ||||
|             </LinearLayout> | ||||
|  | ||||
| </LinearLayout> | ||||
| </androidx.coordinatorlayout.widget.CoordinatorLayout> | ||||
| @@ -200,7 +200,7 @@ | ||||
|     <item>System</item> | ||||
| 	</string-array> | ||||
| 	 | ||||
| 	<string name="AcceptAllServerCertificates_default">WARN</string> | ||||
| 	<string name="AcceptAllServerCertificates_default">ERROR</string> | ||||
| 	<string-array name="AcceptAllServerCertificates_values"> | ||||
| 		<item>IGNORE</item> | ||||
| 		<item>WARN</item> | ||||
|   | ||||
| @@ -1249,5 +1249,9 @@ | ||||
|   <string name="kp2a_switch_on_sendgodone_summary">Switch back when pressing send/go/done</string> | ||||
|   <string name="qr_scanning_error_no_google_play_services">QR code scanning requires Google Play Services. Please install or update Google Play Services on your device.</string> | ||||
| <string name="english_ime_settings">Android keyboard settings</string> | ||||
|      | ||||
|     </resources> | ||||
|   <string name="autoswitch_enabled_but_not_setup">Note: You have enabled App - Settings - Password access - Keyboard switching - Auto-switch keyboard, but it doesn\'t seem to be configured correctly.</string> | ||||
|   <string name="switch_keyboard_for_totp_enabled">Note: You have enabled App - Password access - Autofill-Service - Autofill for TOTP entries. This can cause this window to show when you open an entry with a TOTP.</string> | ||||
|   <string name="switch_keyboard_inside_kp2a_enabled">Note: You have enabled App - Security - Use built-in keyboard inside Keepass2Android. This can cause this window to show when you open the app or edit an entry.</string> | ||||
|   <string name="switch_keyboard_on_search_enabled">Note: You have enabled App - Security - Password access - Keyboard switching - Switch keyboard. This can cause this window to show when you search for an entry from the browser.</string> | ||||
|    | ||||
| </resources> | ||||
| @@ -6,6 +6,7 @@ using System.Threading; | ||||
| using Android.App; | ||||
| using Android.Content; | ||||
| using Android.OS; | ||||
| using Android.Preferences; | ||||
| using Android.Runtime; | ||||
| using Android.Util; | ||||
| using Android.Views; | ||||
| @@ -15,8 +16,8 @@ using keepass2android; | ||||
|  | ||||
| namespace keepass2android | ||||
| { | ||||
|     [Activity(Label = AppNames.AppName, TaskAffinity = "", NoHistory = true)] | ||||
|     public class SwitchImeActivity : Activity | ||||
|     [Activity(Label = AppNames.AppName, Theme = "@style/Kp2aTheme_BlueActionBar")] | ||||
|     public class SwitchImeActivity : AndroidX.AppCompat.App.AppCompatActivity | ||||
|     { | ||||
|         protected override void OnCreate(Bundle savedInstanceState) | ||||
|         { | ||||
| @@ -24,7 +25,26 @@ namespace keepass2android | ||||
|             SetContentView(Resource.Layout.switch_ime_activity_layout); | ||||
|             FindViewById<Button>(Resource.Id.btn_reopen).Click += (sender, args) => TrySwitchKeyboard(); | ||||
|             FindViewById<Button>(Resource.Id.btn_cancel).Click += (sender, args) => Finish(); | ||||
|             FindViewById<Button>(Resource.Id.btn_open_settings).Click += (sender, args) => AppSettingsActivity.Launch(this); | ||||
|  | ||||
|             var prefs = PreferenceManager.GetDefaultSharedPreferences(LocaleManager.LocalizedAppContext); | ||||
|  | ||||
|             bool useKp2aKeyboardInKp2a = prefs.GetBoolean(GetString(Resource.String.UseKp2aKeyboardInKp2a_key), false); | ||||
|             bool kp2a_switch_rooted = prefs.GetBoolean("kp2a_switch_rooted", false); | ||||
|             bool AutoFillTotp_prefs_ActivateKeyboard = prefs.GetBoolean("AutoFillTotp_prefs_ActivateKeyboard_key", false); | ||||
|             bool OpenKp2aKeyboardAutomatically = prefs.GetBoolean(GetString(Resource.String.OpenKp2aKeyboardAutomatically_key), Resources.GetBoolean(Resource.Boolean.OpenKp2aKeyboardAutomatically_default)); | ||||
|  | ||||
|             FindViewById(Resource.Id.note_UseKp2aKeyboardInKp2a).Visibility = useKp2aKeyboardInKp2a ? ViewStates.Visible : ViewStates.Gone; | ||||
|             FindViewById(Resource.Id.note_kp2a_switch_rooted).Visibility = kp2a_switch_rooted ? ViewStates.Visible : ViewStates.Gone; | ||||
|             FindViewById(Resource.Id.note_AutoFillTotp_prefs_ActivateKeyboard).Visibility = AutoFillTotp_prefs_ActivateKeyboard ? ViewStates.Visible : ViewStates.Gone; | ||||
|             FindViewById(Resource.Id.note_OpenKp2aKeyboardAutomatically).Visibility = OpenKp2aKeyboardAutomatically ? ViewStates.Visible : ViewStates.Gone; | ||||
|  | ||||
|             bool hasNote = useKp2aKeyboardInKp2a || kp2a_switch_rooted || AutoFillTotp_prefs_ActivateKeyboard || OpenKp2aKeyboardAutomatically; | ||||
|             ((LinearLayout)FindViewById(Resource.Id.settings_notes_container)).Visibility = hasNote ? ViewStates.Visible : ViewStates.Gone; | ||||
|  | ||||
|         } | ||||
|  | ||||
|  | ||||
|         private string Kp2aInputMethodName | ||||
|         { | ||||
|             get { return PackageName + "/keepass2android.softkeyboard.KP2AKeyboard"; } | ||||
|   | ||||
| @@ -918,14 +918,16 @@ namespace keepass2android | ||||
| 		{ | ||||
| 			var prefs = PreferenceManager.GetDefaultSharedPreferences(LocaleManager.LocalizedAppContext); | ||||
|  | ||||
| 			ValidationMode validationMode = ValidationMode.Warn; | ||||
| 			ValidationMode validationMode = ValidationMode.Error; | ||||
|  | ||||
| 			string strValMode = prefs.GetString(LocaleManager.LocalizedAppContext.Resources.GetString(Resource.String.AcceptAllServerCertificates_key), | ||||
| 												 LocaleManager.LocalizedAppContext.Resources.GetString(Resource.String.AcceptAllServerCertificates_default)); | ||||
|  | ||||
| 			if (strValMode == "IGNORE") | ||||
| 				validationMode = ValidationMode.Ignore; | ||||
| 			else if (strValMode == "ERROR") | ||||
|             else if (strValMode == "WARN") | ||||
|                 validationMode = ValidationMode.Warn; | ||||
|             else if (strValMode == "ERROR") | ||||
| 				validationMode = ValidationMode.Error; | ||||
| 			return validationMode; | ||||
| 		} | ||||
|   | ||||
| @@ -732,11 +732,17 @@ | ||||
|   <ItemGroup> | ||||
|     <AndroidNativeLibrary Include="..\java\argon2\libs\armeabi-v7a\libargon2.so" Link="armeabi-v7a\libargon2.so" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <AndroidNativeLibrary Include="..\java\argon2\libs\x86\libargon2.so" Link="x86\libargon2.so" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <AndroidNativeLibrary Include="..\java\argon2\libs\x86_64\libargon2.so" Link="x86_64\libargon2.so" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="Xamarin.AndroidX.AppCompat" Version="1.7.0.5" /> | ||||
|     <PackageReference Include="Xamarin.AndroidX.AppCompat.AppCompatResources" Version="1.7.0.5" /> | ||||
|     <PackageReference Include="Xamarin.AndroidX.AutoFill" Version="1.1.0.30" /> | ||||
|     <PackageReference Include="Xamarin.AndroidX.Biometric" Version="1.1.0.27" /> | ||||
|     <PackageReference Include="Xamarin.AndroidX.Biometric" Version="1.1.0.6" /> | ||||
|     <PackageReference Include="Xamarin.AndroidX.CoordinatorLayout" Version="1.3.0" /> | ||||
|     <PackageReference Include="Xamarin.AndroidX.CursorAdapter" Version="1.0.0.31" /> | ||||
|     <PackageReference Include="Xamarin.AndroidX.Lifecycle.Common" Version="2.8.7.2" /> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user