From 74a40b227438351d3feb699d3dbc0ea2b3b62c1f Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Tue, 14 Nov 2017 16:00:18 -0500 Subject: [PATCH] stub out autofill framework service --- src/Android/Android.csproj | 6 +++- src/Android/AutofillFrameworkService.cs | 30 +++++++++++++++++++ src/Android/Properties/AndroidManifest.xml | 2 +- src/Android/Resources/Resource.Designer.cs | 5 +++- src/Android/Resources/xml/autofillservice.xml | 3 ++ test/Android.Test/Android.Test.csproj | 2 +- 6 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 src/Android/AutofillFrameworkService.cs create mode 100644 src/Android/Resources/xml/autofillservice.xml diff --git a/src/Android/Android.csproj b/src/Android/Android.csproj index 4f10b70dc..d5d936985 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 000000000..07ae9a617 --- /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 a4df64b43..fe6c67628 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 b6eae7d99..2b082bb55 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 000000000..422e6f3e4 --- /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 094231395..6afe7e168 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