diff --git a/src/Android/Android.csproj b/src/Android/Android.csproj index 4f10b70dcd..d5d9369853 100644 --- a/src/Android/Android.csproj +++ b/src/Android/Android.csproj @@ -17,7 +17,7 @@ Off Properties\AndroidManifest.xml false - v7.1 + v8.0 armeabi,armeabi-v7a,x86 Xamarin.Android.Net.AndroidClientHandler @@ -287,6 +287,7 @@ + @@ -1062,6 +1063,9 @@ + + + diff --git a/src/Android/AutofillFrameworkService.cs b/src/Android/AutofillFrameworkService.cs new file mode 100644 index 0000000000..07ae9a6173 --- /dev/null +++ b/src/Android/AutofillFrameworkService.cs @@ -0,0 +1,30 @@ +using Android; +using Android.App; +using Android.OS; +using Android.Runtime; +using Android.Service.Autofill; +using Android.Util; + +namespace Bit.Android +{ + [Service(Permission = Manifest.Permission.BindAutofillService, Label = "bitwarden")] + [IntentFilter(new string[] { "android.service.autofill.AutofillService" })] + [MetaData("android.autofill", Resource = "@xml/autofillservice")] + [Register("com.x8bit.bitwarden.AutofillFrameworkService")] + public class AutofillFrameworkService : global::Android.Service.Autofill.AutofillService + { + public override void OnFillRequest(FillRequest request, CancellationSignal cancellationSignal, FillCallback callback) + { + var structure = request.FillContexts[request.FillContexts.Count - 1].Structure; + var data = request.ClientState; + } + + public override void OnSaveRequest(SaveRequest request, SaveCallback callback) + { + var context = request.FillContexts; + var structure = context[context.Count - 1].Structure; + var data = request.ClientState; + + } + } +} diff --git a/src/Android/Properties/AndroidManifest.xml b/src/Android/Properties/AndroidManifest.xml index a4df64b43c..fe6c676284 100644 --- a/src/Android/Properties/AndroidManifest.xml +++ b/src/Android/Properties/AndroidManifest.xml @@ -1,6 +1,6 @@ - + diff --git a/src/Android/Resources/Resource.Designer.cs b/src/Android/Resources/Resource.Designer.cs index b6eae7d991..2b082bb55c 100644 --- a/src/Android/Resources/Resource.Designer.cs +++ b/src/Android/Resources/Resource.Designer.cs @@ -5397,7 +5397,10 @@ namespace Bit.Android public const int accessibilityservice = 2131099648; // aapt resource value: 0x7f060001 - public const int filepaths = 2131099649; + public const int autofillservice = 2131099649; + + // aapt resource value: 0x7f060002 + public const int filepaths = 2131099650; static Xml() { diff --git a/src/Android/Resources/xml/autofillservice.xml b/src/Android/Resources/xml/autofillservice.xml new file mode 100644 index 0000000000..422e6f3e4b --- /dev/null +++ b/src/Android/Resources/xml/autofillservice.xml @@ -0,0 +1,3 @@ + + \ No newline at end of file diff --git a/test/Android.Test/Android.Test.csproj b/test/Android.Test/Android.Test.csproj index 0942313952..6afe7e1689 100644 --- a/test/Android.Test/Android.Test.csproj +++ b/test/Android.Test/Android.Test.csproj @@ -16,7 +16,7 @@ Resources\Resource.Designer.cs Off false - v7.1 + v8.0 Properties\AndroidManifest.xml