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