Merge branch 'kp2aforsync'
Conflicts: src/AndroidFileChooserBinding/AndroidFileChooserBinding.csproj src/AndroidFileChooserBinding/Transforms/Metadata.xml src/JavaFileStorageBindings/JavaFileStorageBindings.csproj src/KeePassLib2Android/KeePassLib2Android.csproj src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj src/java/InputStickAPI/gen/com/inputstick/api/R.java src/java/InputStickAPI/src/com/inputstick/api/BTConnectionManager.java src/java/InputStickAPI/src/com/inputstick/api/PacketManager.java src/java/InputStickAPI/src/com/inputstick/api/bluetooth/BTService.java src/java/InputStickAPI/src/com/inputstick/api/layout/KeyboardLayout.java src/java/InputStickAPI/src/com/inputstick/init/BasicInitManager.java src/java/InputStickAPI/src/com/inputstick/init/InitManager.java src/java/JavaFileStorage/bin/javafilestorage.jar src/java/KP2AKdbLibrary/bin/kp2akdblibrary.jar src/java/Keepass2AndroidPluginSDK/bin/keepass2androidpluginsdk.jar src/java/PluginInputStick/AndroidManifest.xml src/java/PluginInputStick/gen/com/inputstick/api/R.java src/java/PluginInputStick/gen/keepass2android/plugin/inputstick/R.java src/java/PluginInputStick/res/values/strings_activity_settings.xml src/java/PluginInputStick/src/keepass2android/plugin/inputstick/ActionReceiver.java src/keepass2android/PasswordActivity.cs src/keepass2android/Resources/Resource.designer.cs src/keepass2android/keepass2android.csproj
This commit is contained in:
		| @@ -93,13 +93,31 @@ namespace keepass2android.Io | ||||
| 		} | ||||
|  | ||||
|  | ||||
| 		private Exception LogAndConvertJavaException(Java.Lang.Exception e) | ||||
| 		private Exception LogAndConvertJavaException(Exception e) | ||||
| 		{ | ||||
| 			Kp2aLog.Log(e.Message); | ||||
| 			var ex = new Exception(e.LocalizedMessage ??  | ||||
| 				e.Message ??  | ||||
| 				_app.GetResourceString(UiStringKey.ErrorOcurred)+e.GetType().Name, e); | ||||
| 			return ex;  | ||||
|  | ||||
| 			if (e is UserInteractionRequiredException) | ||||
| 				return e; | ||||
| 			//seems like UserInteractionRequiredException is not propagated correctly into the C# world, we can't catch it | ||||
| 			// -> rethrow correctly here | ||||
| 			// Note: the Contains-check looks a bit broad, but it should be safe | ||||
| 			if (e.ToString().Contains("keepass2android.javafilestorage.UserInteractionRequiredException")) | ||||
| 			{ | ||||
| 				throw new UserInteractionRequiredException(); | ||||
| 			} | ||||
|  | ||||
| 			Java.Lang.Exception exception = e as Java.Lang.Exception; | ||||
| 			if (exception != null) | ||||
| 			{ | ||||
| 				var ex = new Exception(exception.LocalizedMessage ?? | ||||
| 					e.Message ?? | ||||
| 					_app.GetResourceString(UiStringKey.ErrorOcurred) + exception.GetType().Name, e); | ||||
| 				return ex; 	 | ||||
| 			} | ||||
|  | ||||
| 			return e; | ||||
|  | ||||
| 		} | ||||
|  | ||||
| 		public IWriteTransaction OpenWriteTransaction(IOConnectionInfo ioc, bool useFileTransaction) | ||||
| @@ -241,12 +259,38 @@ namespace keepass2android.Io | ||||
|  | ||||
| 		public void PrepareFileUsage(IFileStorageSetupInitiatorActivity activity, IOConnectionInfo ioc, int requestCode, Boolean alwaysReturnSuccess) | ||||
| 		{ | ||||
| 			_jfs.PrepareFileUsage((IJavaFileStorageFileStorageSetupInitiatorActivity)activity, IocToPath(ioc), requestCode, alwaysReturnSuccess); | ||||
| 			try | ||||
| 			{ | ||||
| 				_jfs.PrepareFileUsage((IJavaFileStorageFileStorageSetupInitiatorActivity) activity, IocToPath(ioc), requestCode, | ||||
| 				                      alwaysReturnSuccess); | ||||
| 			} | ||||
| 			catch (Exception e) | ||||
| 			{ | ||||
| 				throw LogAndConvertJavaException(e); | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		public void PrepareFileUsage(Context ctx, IOConnectionInfo ioc) | ||||
| 		{ | ||||
| 			_jfs.PrepareFileUsage(ctx, IocToPath(ioc)); | ||||
| 			try | ||||
| 			{ | ||||
| 				_jfs.PrepareFileUsage(ctx, IocToPath(ioc)); | ||||
| 			} | ||||
| 			catch (Exception e) | ||||
| 			{ | ||||
| 				throw LogAndConvertJavaException(e); | ||||
| 			} | ||||
| 			 | ||||
| 		} | ||||
|  | ||||
| 		public bool IsPermanentLocation(IOConnectionInfo ioc) | ||||
| 		{ | ||||
| 			return true; | ||||
| 		} | ||||
|  | ||||
| 		public bool IsReadOnly(IOConnectionInfo ioc) | ||||
| 		{ | ||||
| 			return false; //TODO implement. note, however, that we MAY return false even if it's read-only | ||||
| 		} | ||||
|  | ||||
| 		public bool IsPermanentLocation(IOConnectionInfo ioc) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Philipp Crocoll
					Philipp Crocoll