diff --git a/src/AndroidFileChooserBindingSdkStyle/Transforms/EnumFields.xml b/src/AndroidFileChooserBindingSdkStyle/Transforms/EnumFields.xml
index 22959957..4dddf452 100644
--- a/src/AndroidFileChooserBindingSdkStyle/Transforms/EnumFields.xml
+++ b/src/AndroidFileChooserBindingSdkStyle/Transforms/EnumFields.xml
@@ -1,14 +1,3 @@
-
+
\ No newline at end of file
diff --git a/src/AndroidFileChooserBindingSdkStyle/Transforms/EnumMethods.xml b/src/AndroidFileChooserBindingSdkStyle/Transforms/EnumMethods.xml
index 49216c61..85202262 100644
--- a/src/AndroidFileChooserBindingSdkStyle/Transforms/EnumMethods.xml
+++ b/src/AndroidFileChooserBindingSdkStyle/Transforms/EnumMethods.xml
@@ -1,13 +1,3 @@
-
+
\ No newline at end of file
diff --git a/src/AndroidFileChooserBindingSdkStyle/Transforms/Metadata.xml b/src/AndroidFileChooserBindingSdkStyle/Transforms/Metadata.xml
index ea974e92..e40a4beb 100644
--- a/src/AndroidFileChooserBindingSdkStyle/Transforms/Metadata.xml
+++ b/src/AndroidFileChooserBindingSdkStyle/Transforms/Metadata.xml
@@ -4,19 +4,4 @@
-
diff --git a/src/JavaFileStorageBindingsStkStyle/Transforms/EnumFields.xml b/src/JavaFileStorageBindingsStkStyle/Transforms/EnumFields.xml
index 22959957..4dddf452 100644
--- a/src/JavaFileStorageBindingsStkStyle/Transforms/EnumFields.xml
+++ b/src/JavaFileStorageBindingsStkStyle/Transforms/EnumFields.xml
@@ -1,14 +1,3 @@
-
+
\ No newline at end of file
diff --git a/src/JavaFileStorageBindingsStkStyle/Transforms/EnumMethods.xml b/src/JavaFileStorageBindingsStkStyle/Transforms/EnumMethods.xml
index 49216c61..1918b0cf 100644
--- a/src/JavaFileStorageBindingsStkStyle/Transforms/EnumMethods.xml
+++ b/src/JavaFileStorageBindingsStkStyle/Transforms/EnumMethods.xml
@@ -1,13 +1,3 @@
-
+
\ No newline at end of file
diff --git a/src/JavaFileStorageBindingsStkStyle/Transforms/Metadata.xml b/src/JavaFileStorageBindingsStkStyle/Transforms/Metadata.xml
index d1e7bc03..b10d2858 100644
--- a/src/JavaFileStorageBindingsStkStyle/Transforms/Metadata.xml
+++ b/src/JavaFileStorageBindingsStkStyle/Transforms/Metadata.xml
@@ -1,11 +1,5 @@
-
+
diff --git a/src/KP2AKdbLibraryBinding/Transforms/EnumFields.xml b/src/KP2AKdbLibraryBinding/Transforms/EnumFields.xml
index 22959957..8ee086d7 100644
--- a/src/KP2AKdbLibraryBinding/Transforms/EnumFields.xml
+++ b/src/KP2AKdbLibraryBinding/Transforms/EnumFields.xml
@@ -1,14 +1,3 @@
-
+
\ No newline at end of file
diff --git a/src/KP2AKdbLibraryBinding/Transforms/EnumMethods.xml b/src/KP2AKdbLibraryBinding/Transforms/EnumMethods.xml
index 49216c61..85202262 100644
--- a/src/KP2AKdbLibraryBinding/Transforms/EnumMethods.xml
+++ b/src/KP2AKdbLibraryBinding/Transforms/EnumMethods.xml
@@ -1,13 +1,3 @@
-
+
\ No newline at end of file
diff --git a/src/KP2AKdbLibraryBinding/Transforms/Metadata.xml b/src/KP2AKdbLibraryBinding/Transforms/Metadata.xml
index 0dd04e93..02f7e992 100644
--- a/src/KP2AKdbLibraryBinding/Transforms/Metadata.xml
+++ b/src/KP2AKdbLibraryBinding/Transforms/Metadata.xml
@@ -1,12 +1,4 @@
-
diff --git a/src/KP2AKdbLibraryBindingSdkStyle/Transforms/EnumFields.xml b/src/KP2AKdbLibraryBindingSdkStyle/Transforms/EnumFields.xml
index 22959957..8ee086d7 100644
--- a/src/KP2AKdbLibraryBindingSdkStyle/Transforms/EnumFields.xml
+++ b/src/KP2AKdbLibraryBindingSdkStyle/Transforms/EnumFields.xml
@@ -1,14 +1,3 @@
-
+
\ No newline at end of file
diff --git a/src/KP2AKdbLibraryBindingSdkStyle/Transforms/EnumMethods.xml b/src/KP2AKdbLibraryBindingSdkStyle/Transforms/EnumMethods.xml
index 49216c61..85202262 100644
--- a/src/KP2AKdbLibraryBindingSdkStyle/Transforms/EnumMethods.xml
+++ b/src/KP2AKdbLibraryBindingSdkStyle/Transforms/EnumMethods.xml
@@ -1,13 +1,3 @@
-
+
\ No newline at end of file
diff --git a/src/KP2AKdbLibraryBindingSdkStyle/Transforms/Metadata.xml b/src/KP2AKdbLibraryBindingSdkStyle/Transforms/Metadata.xml
index 0dd04e93..6bd74e5f 100644
--- a/src/KP2AKdbLibraryBindingSdkStyle/Transforms/Metadata.xml
+++ b/src/KP2AKdbLibraryBindingSdkStyle/Transforms/Metadata.xml
@@ -1,12 +1,5 @@
-
+
diff --git a/src/KeePassLib2AndroidSdkStyle/KeePassLib2AndroidSdkStyle.csproj b/src/KeePassLib2AndroidSdkStyle/KeePassLib2AndroidSdkStyle.csproj
index 2ccc629a..79610507 100644
--- a/src/KeePassLib2AndroidSdkStyle/KeePassLib2AndroidSdkStyle.csproj
+++ b/src/KeePassLib2AndroidSdkStyle/KeePassLib2AndroidSdkStyle.csproj
@@ -12,7 +12,6 @@
-
diff --git a/src/Kp2aBusinessLogic/Io/BuiltInFileStorage.cs b/src/Kp2aBusinessLogic/Io/BuiltInFileStorage.cs
index aa8f428f..eaf5e127 100644
--- a/src/Kp2aBusinessLogic/Io/BuiltInFileStorage.cs
+++ b/src/Kp2aBusinessLogic/Io/BuiltInFileStorage.cs
@@ -13,7 +13,7 @@ using Android.Content.PM;
using Android.OS;
using Android.Preferences;
using Java.IO;
-using Android.Support.V4;
+
using KeePassLib.Serialization;
using KeePassLib.Utility;
using File = System.IO.File;
diff --git a/src/Kp2aBusinessLogicSdkStyle/Io/JavaFileStorage.cs b/src/Kp2aBusinessLogicSdkStyle/Io/JavaFileStorage.cs
index 7fab70ad..f0429e11 100644
--- a/src/Kp2aBusinessLogicSdkStyle/Io/JavaFileStorage.cs
+++ b/src/Kp2aBusinessLogicSdkStyle/Io/JavaFileStorage.cs
@@ -307,7 +307,7 @@ namespace keepass2android.Io
public void OnResume(IFileStorageSetupActivity activity)
{
#if DEBUG
- Kp2aLog.Log("JFS/OnResume Ioc.Path=" +activity.Ioc.Path+". Path="+((IJavaFileStorageFileStorageSetupActivity)activity).Path);
+ Kp2aLog.Log("JFS/OnResume Ioc.Path=" +activity.Ioc.Path+". Path="+((IJavaFileStorage.IFileStorageSetupActivity)activity).Path);
#endif
_jfs.OnResume(((IJavaFileStorage.IFileStorageSetupActivity) activity));
}
diff --git a/src/Kp2aKeyboardBinding/Transforms/EnumFields.xml b/src/Kp2aKeyboardBinding/Transforms/EnumFields.xml
index b3aca487..bf784b2c 100644
--- a/src/Kp2aKeyboardBinding/Transforms/EnumFields.xml
+++ b/src/Kp2aKeyboardBinding/Transforms/EnumFields.xml
@@ -1,14 +1,3 @@
-
+
diff --git a/src/Kp2aKeyboardBinding/Transforms/EnumMethods.xml b/src/Kp2aKeyboardBinding/Transforms/EnumMethods.xml
index 0ffc15ca..e6241b51 100644
--- a/src/Kp2aKeyboardBinding/Transforms/EnumMethods.xml
+++ b/src/Kp2aKeyboardBinding/Transforms/EnumMethods.xml
@@ -1,11 +1,3 @@
-
+
diff --git a/src/Kp2aKeyboardBinding/Transforms/Metadata.xml b/src/Kp2aKeyboardBinding/Transforms/Metadata.xml
index 3601ad1c..8409a9fe 100644
--- a/src/Kp2aKeyboardBinding/Transforms/Metadata.xml
+++ b/src/Kp2aKeyboardBinding/Transforms/Metadata.xml
@@ -1,11 +1,5 @@
-
+
diff --git a/src/Kp2aKeyboardBindingSdkStyle/Additions/AboutAdditions.txt b/src/Kp2aKeyboardBindingSdkStyle/Additions/AboutAdditions.txt
new file mode 100644
index 00000000..2775bd36
--- /dev/null
+++ b/src/Kp2aKeyboardBindingSdkStyle/Additions/AboutAdditions.txt
@@ -0,0 +1,48 @@
+Additions allow you to add arbitrary C# to the generated classes
+before they are compiled. This can be helpful for providing convenience
+methods or adding pure C# classes.
+
+== Adding Methods to Generated Classes ==
+
+Let's say the library being bound has a Rectangle class with a constructor
+that takes an x and y position, and a width and length size. It will look like
+this:
+
+public partial class Rectangle
+{
+ public Rectangle (int x, int y, int width, int height)
+ {
+ // JNI bindings
+ }
+}
+
+Imagine we want to add a constructor to this class that takes a Point and
+Size structure instead of 4 ints. We can add a new file called Rectangle.cs
+with a partial class containing our new method:
+
+public partial class Rectangle
+{
+ public Rectangle (Point location, Size size) :
+ this (location.X, location.Y, size.Width, size.Height)
+ {
+ }
+}
+
+At compile time, the additions class will be added to the generated class
+and the final assembly will a Rectangle class with both constructors.
+
+
+== Adding C# Classes ==
+
+Another thing that can be done is adding fully C# managed classes to the
+generated library. In the above example, let's assume that there isn't a
+Point class available in Java or our library. The one we create doesn't need
+to interact with Java, so we'll create it like a normal class in C#.
+
+By adding a Point.cs file with this class, it will end up in the binding library:
+
+public class Point
+{
+ public int X { get; set; }
+ public int Y { get; set; }
+}
\ No newline at end of file
diff --git a/src/Kp2aKeyboardBindingSdkStyle/Kp2aKeyboardBindingSdkStyle.csproj b/src/Kp2aKeyboardBindingSdkStyle/Kp2aKeyboardBindingSdkStyle.csproj
new file mode 100644
index 00000000..46e766ee
--- /dev/null
+++ b/src/Kp2aKeyboardBindingSdkStyle/Kp2aKeyboardBindingSdkStyle.csproj
@@ -0,0 +1,11 @@
+
+
+ net8.0-android
+ 21
+ enable
+ enable
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Kp2aKeyboardBindingSdkStyle/Transforms/EnumFields.xml b/src/Kp2aKeyboardBindingSdkStyle/Transforms/EnumFields.xml
new file mode 100644
index 00000000..4dddf452
--- /dev/null
+++ b/src/Kp2aKeyboardBindingSdkStyle/Transforms/EnumFields.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/Kp2aKeyboardBindingSdkStyle/Transforms/EnumMethods.xml b/src/Kp2aKeyboardBindingSdkStyle/Transforms/EnumMethods.xml
new file mode 100644
index 00000000..1918b0cf
--- /dev/null
+++ b/src/Kp2aKeyboardBindingSdkStyle/Transforms/EnumMethods.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/Kp2aKeyboardBindingSdkStyle/Transforms/Metadata.xml b/src/Kp2aKeyboardBindingSdkStyle/Transforms/Metadata.xml
new file mode 100644
index 00000000..ccb9c065
--- /dev/null
+++ b/src/Kp2aKeyboardBindingSdkStyle/Transforms/Metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/PCloudBindings/Transforms/EnumFields.xml b/src/PCloudBindings/Transforms/EnumFields.xml
index 22959957..f8105b31 100644
--- a/src/PCloudBindings/Transforms/EnumFields.xml
+++ b/src/PCloudBindings/Transforms/EnumFields.xml
@@ -1,14 +1,2 @@
-
\ No newline at end of file
diff --git a/src/PCloudBindings/Transforms/EnumMethods.xml b/src/PCloudBindings/Transforms/EnumMethods.xml
index 49216c61..d3d28fd5 100644
--- a/src/PCloudBindings/Transforms/EnumMethods.xml
+++ b/src/PCloudBindings/Transforms/EnumMethods.xml
@@ -1,13 +1,3 @@
-
\ No newline at end of file
diff --git a/src/PCloudBindings/Transforms/Metadata.xml b/src/PCloudBindings/Transforms/Metadata.xml
index e1ee3276..e3fbdac6 100644
--- a/src/PCloudBindings/Transforms/Metadata.xml
+++ b/src/PCloudBindings/Transforms/Metadata.xml
@@ -1,10 +1,4 @@
-
diff --git a/src/PCloudBindingsSdkStyle/Additions/AboutAdditions.txt b/src/PCloudBindingsSdkStyle/Additions/AboutAdditions.txt
new file mode 100644
index 00000000..2775bd36
--- /dev/null
+++ b/src/PCloudBindingsSdkStyle/Additions/AboutAdditions.txt
@@ -0,0 +1,48 @@
+Additions allow you to add arbitrary C# to the generated classes
+before they are compiled. This can be helpful for providing convenience
+methods or adding pure C# classes.
+
+== Adding Methods to Generated Classes ==
+
+Let's say the library being bound has a Rectangle class with a constructor
+that takes an x and y position, and a width and length size. It will look like
+this:
+
+public partial class Rectangle
+{
+ public Rectangle (int x, int y, int width, int height)
+ {
+ // JNI bindings
+ }
+}
+
+Imagine we want to add a constructor to this class that takes a Point and
+Size structure instead of 4 ints. We can add a new file called Rectangle.cs
+with a partial class containing our new method:
+
+public partial class Rectangle
+{
+ public Rectangle (Point location, Size size) :
+ this (location.X, location.Y, size.Width, size.Height)
+ {
+ }
+}
+
+At compile time, the additions class will be added to the generated class
+and the final assembly will a Rectangle class with both constructors.
+
+
+== Adding C# Classes ==
+
+Another thing that can be done is adding fully C# managed classes to the
+generated library. In the above example, let's assume that there isn't a
+Point class available in Java or our library. The one we create doesn't need
+to interact with Java, so we'll create it like a normal class in C#.
+
+By adding a Point.cs file with this class, it will end up in the binding library:
+
+public class Point
+{
+ public int X { get; set; }
+ public int Y { get; set; }
+}
\ No newline at end of file
diff --git a/src/PCloudBindingsSdkStyle/PCloudBindingsSdkStyle.csproj b/src/PCloudBindingsSdkStyle/PCloudBindingsSdkStyle.csproj
new file mode 100644
index 00000000..495b27a6
--- /dev/null
+++ b/src/PCloudBindingsSdkStyle/PCloudBindingsSdkStyle.csproj
@@ -0,0 +1,12 @@
+
+
+ net8.0-android
+ 21
+ enable
+ enable
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/PCloudBindingsSdkStyle/Transforms/EnumFields.xml b/src/PCloudBindingsSdkStyle/Transforms/EnumFields.xml
new file mode 100644
index 00000000..8ee086d7
--- /dev/null
+++ b/src/PCloudBindingsSdkStyle/Transforms/EnumFields.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/PCloudBindingsSdkStyle/Transforms/EnumMethods.xml b/src/PCloudBindingsSdkStyle/Transforms/EnumMethods.xml
new file mode 100644
index 00000000..1918b0cf
--- /dev/null
+++ b/src/PCloudBindingsSdkStyle/Transforms/EnumMethods.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/PCloudBindingsSdkStyle/Transforms/Metadata.xml b/src/PCloudBindingsSdkStyle/Transforms/Metadata.xml
new file mode 100644
index 00000000..6b36b978
--- /dev/null
+++ b/src/PCloudBindingsSdkStyle/Transforms/Metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/PCloudBindingsSdkStyle/pcloud-sdk-android-1.9.1.aar b/src/PCloudBindingsSdkStyle/pcloud-sdk-android-1.9.1.aar
new file mode 100644
index 00000000..0a5eaf80
Binary files /dev/null and b/src/PCloudBindingsSdkStyle/pcloud-sdk-android-1.9.1.aar differ
diff --git a/src/PCloudBindingsSdkStyle/pcloud-sdk-java-core-1.9.1.jar b/src/PCloudBindingsSdkStyle/pcloud-sdk-java-core-1.9.1.jar
new file mode 100644
index 00000000..5357925c
Binary files /dev/null and b/src/PCloudBindingsSdkStyle/pcloud-sdk-java-core-1.9.1.jar differ
diff --git a/src/PluginSdkBinding/Transforms/EnumFields.xml b/src/PluginSdkBinding/Transforms/EnumFields.xml
index 22959957..4dddf452 100644
--- a/src/PluginSdkBinding/Transforms/EnumFields.xml
+++ b/src/PluginSdkBinding/Transforms/EnumFields.xml
@@ -1,14 +1,3 @@
-
+
\ No newline at end of file
diff --git a/src/PluginSdkBinding/Transforms/EnumMethods.xml b/src/PluginSdkBinding/Transforms/EnumMethods.xml
index 49216c61..1918b0cf 100644
--- a/src/PluginSdkBinding/Transforms/EnumMethods.xml
+++ b/src/PluginSdkBinding/Transforms/EnumMethods.xml
@@ -1,13 +1,3 @@
-
+
\ No newline at end of file
diff --git a/src/PluginSdkBinding/Transforms/Metadata.xml b/src/PluginSdkBinding/Transforms/Metadata.xml
index 2587ddc4..2aa7b272 100644
--- a/src/PluginSdkBinding/Transforms/Metadata.xml
+++ b/src/PluginSdkBinding/Transforms/Metadata.xml
@@ -1,9 +1,3 @@
-
+
diff --git a/src/PluginSdkBindingSdkStyle/Additions/AboutAdditions.txt b/src/PluginSdkBindingSdkStyle/Additions/AboutAdditions.txt
new file mode 100644
index 00000000..2775bd36
--- /dev/null
+++ b/src/PluginSdkBindingSdkStyle/Additions/AboutAdditions.txt
@@ -0,0 +1,48 @@
+Additions allow you to add arbitrary C# to the generated classes
+before they are compiled. This can be helpful for providing convenience
+methods or adding pure C# classes.
+
+== Adding Methods to Generated Classes ==
+
+Let's say the library being bound has a Rectangle class with a constructor
+that takes an x and y position, and a width and length size. It will look like
+this:
+
+public partial class Rectangle
+{
+ public Rectangle (int x, int y, int width, int height)
+ {
+ // JNI bindings
+ }
+}
+
+Imagine we want to add a constructor to this class that takes a Point and
+Size structure instead of 4 ints. We can add a new file called Rectangle.cs
+with a partial class containing our new method:
+
+public partial class Rectangle
+{
+ public Rectangle (Point location, Size size) :
+ this (location.X, location.Y, size.Width, size.Height)
+ {
+ }
+}
+
+At compile time, the additions class will be added to the generated class
+and the final assembly will a Rectangle class with both constructors.
+
+
+== Adding C# Classes ==
+
+Another thing that can be done is adding fully C# managed classes to the
+generated library. In the above example, let's assume that there isn't a
+Point class available in Java or our library. The one we create doesn't need
+to interact with Java, so we'll create it like a normal class in C#.
+
+By adding a Point.cs file with this class, it will end up in the binding library:
+
+public class Point
+{
+ public int X { get; set; }
+ public int Y { get; set; }
+}
\ No newline at end of file
diff --git a/src/PluginSdkBindingSdkStyle/Jars/AboutJars.txt b/src/PluginSdkBindingSdkStyle/Jars/AboutJars.txt
new file mode 100644
index 00000000..c359b62f
--- /dev/null
+++ b/src/PluginSdkBindingSdkStyle/Jars/AboutJars.txt
@@ -0,0 +1,24 @@
+This directory is for Android .jars.
+
+There are 2 types of jars that are supported:
+
+== Input Jar ==
+
+This is the jar that bindings should be generated for.
+
+For example, if you were binding the Google Maps library, this would
+be Google's "maps.jar".
+
+Set the build action for these jars in the properties page to "InputJar".
+
+
+== Reference Jars ==
+
+These are jars that are referenced by the input jar. C# bindings will
+not be created for these jars. These jars will be used to resolve
+types used by the input jar.
+
+NOTE: Do not add "android.jar" as a reference jar. It will be added automatically
+based on the Target Framework selected.
+
+Set the build action for these jars in the properties page to "ReferenceJar".
\ No newline at end of file
diff --git a/src/PluginSdkBindingSdkStyle/PluginSdkBindingSdkStyle.csproj b/src/PluginSdkBindingSdkStyle/PluginSdkBindingSdkStyle.csproj
new file mode 100644
index 00000000..5e473f80
--- /dev/null
+++ b/src/PluginSdkBindingSdkStyle/PluginSdkBindingSdkStyle.csproj
@@ -0,0 +1,11 @@
+
+
+ net8.0-android
+ 21
+ enable
+ enable
+
+
+
+
+
\ No newline at end of file
diff --git a/src/PluginSdkBindingSdkStyle/Transforms/EnumFields.xml b/src/PluginSdkBindingSdkStyle/Transforms/EnumFields.xml
new file mode 100644
index 00000000..4dddf452
--- /dev/null
+++ b/src/PluginSdkBindingSdkStyle/Transforms/EnumFields.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/PluginSdkBindingSdkStyle/Transforms/EnumMethods.xml b/src/PluginSdkBindingSdkStyle/Transforms/EnumMethods.xml
new file mode 100644
index 00000000..85202262
--- /dev/null
+++ b/src/PluginSdkBindingSdkStyle/Transforms/EnumMethods.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/PluginSdkBindingSdkStyle/Transforms/Metadata.xml b/src/PluginSdkBindingSdkStyle/Transforms/Metadata.xml
new file mode 100644
index 00000000..8c503795
--- /dev/null
+++ b/src/PluginSdkBindingSdkStyle/Transforms/Metadata.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/keepass2android-appSdkStyle/AboutDialog.cs b/src/keepass2android-appSdkStyle/AboutDialog.cs
index e1f70884..72f4c902 100644
--- a/src/keepass2android-appSdkStyle/AboutDialog.cs
+++ b/src/keepass2android-appSdkStyle/AboutDialog.cs
@@ -23,6 +23,7 @@ using Android.Runtime;
using Android.Text.Method;
using Android.Widget;
using Android.Content.PM;
+using keepass2android_appSdkStyle;
namespace keepass2android
{
diff --git a/src/keepass2android-appSdkStyle/AndroidManifest.xml b/src/keepass2android-appSdkStyle/AndroidManifest.xml
deleted file mode 100644
index a08146fd..00000000
--- a/src/keepass2android-appSdkStyle/AndroidManifest.xml
+++ /dev/null
@@ -1,280 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- android:label="@string/language_selection_title"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/keepass2android-appSdkStyle/AndroidManifest.xml b/src/keepass2android-appSdkStyle/AndroidManifest.xml
new file mode 120000
index 00000000..93e6417b
--- /dev/null
+++ b/src/keepass2android-appSdkStyle/AndroidManifest.xml
@@ -0,0 +1 @@
+Manifests/AndroidManifest_debug.xml
\ No newline at end of file
diff --git a/src/keepass2android-appSdkStyle/AppKilledInfo.cs b/src/keepass2android-appSdkStyle/AppKilledInfo.cs
index 48a846dc..a7afd65a 100644
--- a/src/keepass2android-appSdkStyle/AppKilledInfo.cs
+++ b/src/keepass2android-appSdkStyle/AppKilledInfo.cs
@@ -9,6 +9,7 @@ using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
+using keepass2android_appSdkStyle;
namespace keepass2android
{
diff --git a/src/keepass2android-appSdkStyle/AttachmentContentProvider.cs b/src/keepass2android-appSdkStyle/AttachmentContentProvider.cs
index 00cdb8f7..e7a45ac9 100644
--- a/src/keepass2android-appSdkStyle/AttachmentContentProvider.cs
+++ b/src/keepass2android-appSdkStyle/AttachmentContentProvider.cs
@@ -3,6 +3,7 @@ using Android.Content;
using Android.OS;
using Android.Util;
using Java.IO;
+using File = Java.IO.File;
namespace keepass2android
{
@@ -55,7 +56,7 @@ namespace keepass2android
}
Log.Verbose(logTag, "Unsupported uri: '" + uri + "'.");
- throw new FileNotFoundException("Unsupported uri: "
+ throw new Java.IO.FileNotFoundException("Unsupported uri: "
+ uri.ToString());
}
diff --git a/src/keepass2android-appSdkStyle/AutoOpenEdit.cs b/src/keepass2android-appSdkStyle/AutoOpenEdit.cs
index 730d5f14..99651906 100644
--- a/src/keepass2android-appSdkStyle/AutoOpenEdit.cs
+++ b/src/keepass2android-appSdkStyle/AutoOpenEdit.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using Android.App;
+using keepass2android_appSdkStyle;
using KeePassLib;
using KeePassLib.Security;
using KeePassLib.Serialization;
diff --git a/src/keepass2android-appSdkStyle/BiometricModule.cs b/src/keepass2android-appSdkStyle/BiometricModule.cs
index 13afd03b..a4a04431 100644
--- a/src/keepass2android-appSdkStyle/BiometricModule.cs
+++ b/src/keepass2android-appSdkStyle/BiometricModule.cs
@@ -16,6 +16,7 @@ using Java.IO;
using Java.Security.Cert;
using Java.Util.Concurrent;
using Javax.Crypto.Spec;
+using keepass2android_appSdkStyle;
using Exception = System.Exception;
using File = System.IO.File;
@@ -314,7 +315,7 @@ namespace keepass2android
{
throw new RuntimeException(FailedToInitCipher + " (UnrecoverableKeyException)", e);
}
- catch (IOException e)
+ catch (Java.IO.IOException e)
{
throw new RuntimeException(FailedToInitCipher + " (IOException)", e);
}
@@ -395,7 +396,7 @@ namespace keepass2android
{
throw new RuntimeException(e);
}
- catch (IOException e)
+ catch (Java.IO.IOException e)
{
throw new RuntimeException(e);
}
@@ -433,7 +434,7 @@ namespace keepass2android
{
throw new RuntimeException(FailedToInitCipher, e);
}
- catch (IOException e)
+ catch (Java.IO.IOException e)
{
throw new RuntimeException(FailedToInitCipher, e);
}
diff --git a/src/keepass2android-appSdkStyle/ChallengeXCKey.cs b/src/keepass2android-appSdkStyle/ChallengeXCKey.cs
index 8303cfe5..d2c50342 100644
--- a/src/keepass2android-appSdkStyle/ChallengeXCKey.cs
+++ b/src/keepass2android-appSdkStyle/ChallengeXCKey.cs
@@ -1,4 +1,5 @@
using Java.Lang;
+using keepass2android_appSdkStyle;
using KeePassLib.Cryptography;
using KeePassLib.Keys;
using KeePassLib.Security;
@@ -48,7 +49,7 @@ namespace keepass2android
});
while ((Response == null) && (Error == null))
{
- Thread.Sleep(50);
+ System.Threading.Thread.Sleep(50);
}
if (Error != null)
{
diff --git a/src/keepass2android-appSdkStyle/ChangeLog.cs b/src/keepass2android-appSdkStyle/ChangeLog.cs
index 807b4ccb..72794ba0 100644
--- a/src/keepass2android-appSdkStyle/ChangeLog.cs
+++ b/src/keepass2android-appSdkStyle/ChangeLog.cs
@@ -17,6 +17,7 @@ using Android.Text.Util;
using Android.Views;
using Android.Webkit;
using Android.Widget;
+using keepass2android_appSdkStyle;
namespace keepass2android
{
diff --git a/src/keepass2android-appSdkStyle/CloseImmediatelyActivity.cs b/src/keepass2android-appSdkStyle/CloseImmediatelyActivity.cs
index 1d7baac1..5813f45a 100644
--- a/src/keepass2android-appSdkStyle/CloseImmediatelyActivity.cs
+++ b/src/keepass2android-appSdkStyle/CloseImmediatelyActivity.cs
@@ -8,9 +8,9 @@ using Android.Content;
using Android.Content.PM;
using Android.OS;
using Android.Runtime;
-using Android.Support.V7.App;
using Android.Views;
using Android.Widget;
+using keepass2android_appSdkStyle;
namespace keepass2android
{
diff --git a/src/keepass2android-appSdkStyle/ConfigureChildDatabasesActivity.cs b/src/keepass2android-appSdkStyle/ConfigureChildDatabasesActivity.cs
index 293e9f86..3d2f334d 100644
--- a/src/keepass2android-appSdkStyle/ConfigureChildDatabasesActivity.cs
+++ b/src/keepass2android-appSdkStyle/ConfigureChildDatabasesActivity.cs
@@ -12,13 +12,13 @@ using Android.Graphics.Drawables;
using Android.OS;
using Android.Provider;
using Android.Runtime;
-using Android.Support.V7.App;
using Android.Text;
using Android.Util;
using Android.Views;
using Android.Widget;
using keepass2android.database.edit;
using KeePass.Util.Spr;
+using keepass2android_appSdkStyle;
using KeePassLib;
using KeePassLib.Keys;
using KeePassLib.Security;
diff --git a/src/keepass2android-appSdkStyle/CreateDatabaseActivity.cs b/src/keepass2android-appSdkStyle/CreateDatabaseActivity.cs
index d3a88b54..ec7a4586 100644
--- a/src/keepass2android-appSdkStyle/CreateDatabaseActivity.cs
+++ b/src/keepass2android-appSdkStyle/CreateDatabaseActivity.cs
@@ -5,7 +5,6 @@ using Android.Content.PM;
using Android.Graphics.Drawables;
using Android.OS;
using Android.Preferences;
-using Android.Support.V7.App;
using Android.Text;
using Android.Views;
using Android.Widget;
@@ -13,6 +12,7 @@ using Java.IO;
using KeePassLib.Keys;
using KeePassLib.Serialization;
using keepass2android.Io;
+using keepass2android_appSdkStyle;
using Environment = Android.OS.Environment;
using IOException = Java.IO.IOException;
@@ -277,18 +277,18 @@ namespace keepass2android
private void SetDefaultIoc()
{
- File directory = GetExternalFilesDir(null);
+ Java.IO.File directory = GetExternalFilesDir(null);
if (directory == null)
directory = FilesDir;
string strDir = directory.CanonicalPath;
- if (!strDir.EndsWith(File.Separator))
- strDir += File.Separator;
+ if (!strDir.EndsWith(Java.IO.File.Separator))
+ strDir += Java.IO.File.Separator;
string filename = strDir + "keepass.kdbx";
filename = FileSelectHelper.ConvertFilenameToIocPath(filename);
int count = 2;
- while (new File(filename).Exists())
+ while (new Java.IO.File(filename).Exists())
{
filename = FileSelectHelper.ConvertFilenameToIocPath(strDir + "keepass" + count + ".kdbx");
count++;
diff --git a/src/keepass2android-appSdkStyle/DonateReminder.cs b/src/keepass2android-appSdkStyle/DonateReminder.cs
index 319516d6..ddb43347 100644
--- a/src/keepass2android-appSdkStyle/DonateReminder.cs
+++ b/src/keepass2android-appSdkStyle/DonateReminder.cs
@@ -10,6 +10,7 @@ using Android.Preferences;
using Android.Runtime;
using Android.Views;
using Android.Widget;
+using keepass2android_appSdkStyle;
using KeePassLib.Utility;
namespace keepass2android
diff --git a/src/keepass2android-appSdkStyle/EntryActivity.cs b/src/keepass2android-appSdkStyle/EntryActivity.cs
index d4b791fc..d97ddf96 100644
--- a/src/keepass2android-appSdkStyle/EntryActivity.cs
+++ b/src/keepass2android-appSdkStyle/EntryActivity.cs
@@ -53,6 +53,7 @@ using keepass2android.fileselect;
using KeeTrayTOTP.Libraries;
using Boolean = Java.Lang.Boolean;
using Android.Util;
+using keepass2android_appSdkStyle;
namespace keepass2android
{
@@ -623,7 +624,7 @@ namespace keepass2android
edit.Commit();
//request permission. user must grant, we'll show notifications in the OnRequestPermissionResults() callback
- Android.Support.V4.App.ActivityCompat.RequestPermissions(this, new[] { Android.Manifest.Permission.PostNotifications }, activateKeyboard ? 1 : 0 /*use requestCode to transfer the flag*/);
+ AndroidX.Core.App.ActivityCompat.RequestPermissions(this, new[] { Android.Manifest.Permission.PostNotifications }, activateKeyboard ? 1 : 0 /*use requestCode to transfer the flag*/);
})
diff --git a/src/keepass2android-appSdkStyle/EntryActivityClasses/CopyToClipboardPopupMenuIcon.cs b/src/keepass2android-appSdkStyle/EntryActivityClasses/CopyToClipboardPopupMenuIcon.cs
index d8a226cf..ac10283e 100644
--- a/src/keepass2android-appSdkStyle/EntryActivityClasses/CopyToClipboardPopupMenuIcon.cs
+++ b/src/keepass2android-appSdkStyle/EntryActivityClasses/CopyToClipboardPopupMenuIcon.cs
@@ -1,5 +1,6 @@
using Android.Content;
using Android.Graphics.Drawables;
+using keepass2android_appSdkStyle;
namespace keepass2android
{
diff --git a/src/keepass2android-appSdkStyle/EntryActivityClasses/GotoUrlMenuItem.cs b/src/keepass2android-appSdkStyle/EntryActivityClasses/GotoUrlMenuItem.cs
index c4d42a0f..cb88406c 100644
--- a/src/keepass2android-appSdkStyle/EntryActivityClasses/GotoUrlMenuItem.cs
+++ b/src/keepass2android-appSdkStyle/EntryActivityClasses/GotoUrlMenuItem.cs
@@ -1,4 +1,5 @@
using Android.Graphics.Drawables;
+using keepass2android_appSdkStyle;
namespace keepass2android
diff --git a/src/keepass2android-appSdkStyle/EntryActivityClasses/OpenBinaryPopupItem.cs b/src/keepass2android-appSdkStyle/EntryActivityClasses/OpenBinaryPopupItem.cs
index ae45e3f0..56719dcc 100644
--- a/src/keepass2android-appSdkStyle/EntryActivityClasses/OpenBinaryPopupItem.cs
+++ b/src/keepass2android-appSdkStyle/EntryActivityClasses/OpenBinaryPopupItem.cs
@@ -1,4 +1,5 @@
using Android.Graphics.Drawables;
+using keepass2android_appSdkStyle;
namespace keepass2android
{
diff --git a/src/keepass2android-appSdkStyle/EntryActivityClasses/ToggleVisibilityPopupMenuItem.cs b/src/keepass2android-appSdkStyle/EntryActivityClasses/ToggleVisibilityPopupMenuItem.cs
index ad4baf16..712f8be9 100644
--- a/src/keepass2android-appSdkStyle/EntryActivityClasses/ToggleVisibilityPopupMenuItem.cs
+++ b/src/keepass2android-appSdkStyle/EntryActivityClasses/ToggleVisibilityPopupMenuItem.cs
@@ -1,5 +1,6 @@
using Android.Graphics.Drawables;
using Android.Widget;
+using keepass2android_appSdkStyle;
namespace keepass2android
{
diff --git a/src/keepass2android-appSdkStyle/EntryActivityClasses/ViewImagePopupItem.cs b/src/keepass2android-appSdkStyle/EntryActivityClasses/ViewImagePopupItem.cs
index ec1f4f73..e1a12bbf 100644
--- a/src/keepass2android-appSdkStyle/EntryActivityClasses/ViewImagePopupItem.cs
+++ b/src/keepass2android-appSdkStyle/EntryActivityClasses/ViewImagePopupItem.cs
@@ -11,6 +11,7 @@ using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
+using keepass2android_appSdkStyle;
namespace keepass2android.EntryActivityClasses
{
diff --git a/src/keepass2android-appSdkStyle/EntryActivityClasses/WriteBinaryToFilePopupItem.cs b/src/keepass2android-appSdkStyle/EntryActivityClasses/WriteBinaryToFilePopupItem.cs
index c1044e3c..42d5b01d 100644
--- a/src/keepass2android-appSdkStyle/EntryActivityClasses/WriteBinaryToFilePopupItem.cs
+++ b/src/keepass2android-appSdkStyle/EntryActivityClasses/WriteBinaryToFilePopupItem.cs
@@ -1,4 +1,5 @@
using Android.Graphics.Drawables;
+using keepass2android_appSdkStyle;
namespace keepass2android
{
diff --git a/src/keepass2android-appSdkStyle/EntryEditActivity.cs b/src/keepass2android-appSdkStyle/EntryEditActivity.cs
index cd1ba122..0a479e13 100644
--- a/src/keepass2android-appSdkStyle/EntryEditActivity.cs
+++ b/src/keepass2android-appSdkStyle/EntryEditActivity.cs
@@ -45,13 +45,12 @@ using keepass2android.Io;
using KeePassLib.Serialization;
using KeeTrayTOTP.Libraries;
using PluginTOTP;
-using Xamarin.Essentials;
-using Xamarin.Forms.Platform.Android;
-using ZXing.Mobile;
+
using Debug = System.Diagnostics.Debug;
using File = System.IO.File;
using Object = Java.Lang.Object;
using Uri = Android.Net.Uri;
+using Resource = keepass2android_appSdkStyle.Resource;
namespace keepass2android
{
@@ -248,11 +247,6 @@ namespace keepass2android
};
-
-
- // Save button
- //SupportActionBar.SetCustomView(Resource.Layout.SaveButton);
-
if (State.IsNew)
{
SupportActionBar.Title = GetString(Resource.String.add_entry);
@@ -1183,7 +1177,8 @@ namespace keepass2android
dlgView.FindViewById