diff --git a/src/App/Pages/Tools/ToolsAutofillServicePage.cs b/src/App/Pages/Tools/ToolsAutofillServicePage.cs index 0f71f4ba2..0342ea70f 100644 --- a/src/App/Pages/Tools/ToolsAutofillServicePage.cs +++ b/src/App/Pages/Tools/ToolsAutofillServicePage.cs @@ -207,7 +207,7 @@ namespace Bit.App.Pages { return new Label { - Text = AppResources.AutofillDescription, + Text = AppResources.AutofillAccessibilityDescription, VerticalOptions = LayoutOptions.Start, HorizontalTextAlignment = TextAlignment.Center, LineBreakMode = LineBreakMode.WordWrap, @@ -219,7 +219,7 @@ namespace Bit.App.Pages { return new ExtendedButton { - Text = AppResources.BitwardenAutofillServiceOpenSettings, + Text = AppResources.BitwardenAutofillServiceOpenAccessibilitySettings, Command = new Command(() => { _googleAnalyticsService.TrackAppEvent("OpenAccessibilitySettings"); diff --git a/src/App/Pages/Tools/ToolsAutofillServicePage2.cs b/src/App/Pages/Tools/ToolsAutofillServicePage2.cs index 58d8bac24..9ab019e20 100644 --- a/src/App/Pages/Tools/ToolsAutofillServicePage2.cs +++ b/src/App/Pages/Tools/ToolsAutofillServicePage2.cs @@ -46,7 +46,8 @@ namespace Bit.App.Pages HorizontalTextAlignment = TextAlignment.Center, LineBreakMode = LineBreakMode.WordWrap, FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)), - TextColor = Color.Black + TextColor = Color.Black, + VerticalOptions = LayoutOptions.CenterAndExpand }; var disabledFs = new FormattedString(); @@ -65,12 +66,27 @@ namespace Bit.App.Pages HorizontalTextAlignment = TextAlignment.Center, LineBreakMode = LineBreakMode.WordWrap, FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)), - TextColor = Color.Black + TextColor = Color.Black, + VerticalOptions = LayoutOptions.CenterAndExpand + }; + + var goButton = new ExtendedButton + { + Text = AppResources.BitwardenAutofillServiceOpenAutofillSettings, + Command = new Command(() => + { + _googleAnalyticsService.TrackAppEvent("OpenAutofillSettings"); + _deviceActionService.OpenAutofillSettings(); + }), + VerticalOptions = LayoutOptions.End, + HorizontalOptions = LayoutOptions.Fill, + Style = (Style)Application.Current.Resources["btn-primary"], + FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Button)) }; DisabledStackLayout = new StackLayout { - Children = { BuildServiceLabel(), statusDisabledLabel, BuildGoButton() }, + Children = { BuildServiceLabel(), statusDisabledLabel, goButton, BuildAccessibilityButton() }, Orientation = StackOrientation.Vertical, Spacing = 20, Padding = new Thickness(20, 30), @@ -79,7 +95,7 @@ namespace Bit.App.Pages EnabledStackLayout = new StackLayout { - Children = { BuildServiceLabel(), statusEnabledLabel }, + Children = { BuildServiceLabel(), statusEnabledLabel, BuildAccessibilityButton() }, Orientation = StackOrientation.Vertical, Spacing = 20, Padding = new Thickness(20, 30), @@ -125,7 +141,7 @@ namespace Bit.App.Pages { return new Label { - Text = AppResources.AutofillDescription, + Text = AppResources.AutofillServiceDescription, VerticalOptions = LayoutOptions.Start, HorizontalTextAlignment = TextAlignment.Center, LineBreakMode = LineBreakMode.WordWrap, @@ -133,19 +149,20 @@ namespace Bit.App.Pages }; } - private ExtendedButton BuildGoButton() + private ExtendedButton BuildAccessibilityButton() { return new ExtendedButton { - Text = AppResources.BitwardenAutofillServiceOpenSettings, - Command = new Command(() => + Text = AppResources.AutofillAccessibilityService, + Command = new Command(async () => { - _googleAnalyticsService.TrackAppEvent("OpenAutofillSettings"); - _deviceActionService.OpenAutofillSettings(); + await Navigation.PushAsync(new ToolsAutofillServicePage()); }), VerticalOptions = LayoutOptions.End, HorizontalOptions = LayoutOptions.Fill, - Style = (Style)Application.Current.Resources["btn-primary"], + Style = (Style)Application.Current.Resources["btn-primaryAccent"], + Uppercase = false, + BackgroundColor = Color.Transparent, FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Button)) }; } diff --git a/src/App/Pages/Tools/ToolsPage.cs b/src/App/Pages/Tools/ToolsPage.cs index d13e4a20b..9039cbb45 100644 --- a/src/App/Pages/Tools/ToolsPage.cs +++ b/src/App/Pages/Tools/ToolsPage.cs @@ -46,13 +46,15 @@ namespace Bit.App.Pages if(Device.RuntimePlatform == Device.iOS) { ExtensionCell = new ToolsViewCell(AppResources.BitwardenAppExtension, - AppResources.BitwardenAppExtensionDescription, "upload"); + AppResources.BitwardenAppExtensionDescription, "upload.png"); section.Add(ExtensionCell); } else { - AutofillCell = new ToolsViewCell(AppResources.BitwardenAutofillService, - AppResources.BitwardenAutofillServiceDescription, "upload.png"); + var desc = _deviceInfoService.AutofillServiceSupported ? + AppResources.BitwardenAutofillServiceDescription : + AppResources.BitwardenAutofillAccessibilityServiceDescription; + AutofillCell = new ToolsViewCell(AppResources.BitwardenAutofillService, desc, "upload.png"); section.Add(AutofillCell); } diff --git a/src/App/Resources/AppResources.Designer.cs b/src/App/Resources/AppResources.Designer.cs index ef57dd515..df4aa4dc2 100644 --- a/src/App/Resources/AppResources.Designer.cs +++ b/src/App/Resources/AppResources.Designer.cs @@ -295,6 +295,24 @@ namespace Bit.App.Resources { } } + /// + /// Looks up a localized string similar to Use the bitwarden accessibility service to auto-fill your logins across apps and the web.. + /// + public static string AutofillAccessibilityDescription { + get { + return ResourceManager.GetString("AutofillAccessibilityDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Auto-fill Accessibility Service. + /// + public static string AutofillAccessibilityService { + get { + return ResourceManager.GetString("AutofillAccessibilityService", resourceCulture); + } + } + /// /// Looks up a localized string similar to Always Scan. /// @@ -313,15 +331,6 @@ namespace Bit.App.Resources { } } - /// - /// Looks up a localized string similar to Use the bitwarden accessibility service to auto-fill your logins across apps and the web.. - /// - public static string AutofillDescription { - get { - return ResourceManager.GetString("AutofillDescription", resourceCulture); - } - } - /// /// Looks up a localized string similar to Do you want to auto-fill or view this item?. /// @@ -376,6 +385,15 @@ namespace Bit.App.Resources { } } + /// + /// Looks up a localized string similar to The bitwarden auto-fill service uses the Android Autofill Framework to assist in filling logins, credit cards, and identity information into other apps on your device.. + /// + public static string AutofillServiceDescription { + get { + return ResourceManager.GetString("AutofillServiceDescription", resourceCulture); + } + } + /// /// Looks up a localized string similar to Auto-fill with bitwarden. /// @@ -448,6 +466,15 @@ namespace Bit.App.Resources { } } + /// + /// Looks up a localized string similar to Use the bitwarden accessibility service to auto-fill your logins.. + /// + public static string BitwardenAutofillAccessibilityServiceDescription { + get { + return ResourceManager.GetString("BitwardenAutofillAccessibilityServiceDescription", resourceCulture); + } + } + /// /// Looks up a localized string similar to bitwarden Auto-fill Service. /// @@ -467,7 +494,7 @@ namespace Bit.App.Resources { } /// - /// Looks up a localized string similar to Use the bitwarden accessibility service to auto-fill your logins.. + /// Looks up a localized string similar to Use the bitwarden auto-fill service to fill logins, credit cards, and identity information into other apps.. /// public static string BitwardenAutofillServiceDescription { get { @@ -514,9 +541,18 @@ namespace Bit.App.Resources { /// /// Looks up a localized string similar to Open Accessibility Settings. /// - public static string BitwardenAutofillServiceOpenSettings { + public static string BitwardenAutofillServiceOpenAccessibilitySettings { get { - return ResourceManager.GetString("BitwardenAutofillServiceOpenSettings", resourceCulture); + return ResourceManager.GetString("BitwardenAutofillServiceOpenAccessibilitySettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Autofill Settings. + /// + public static string BitwardenAutofillServiceOpenAutofillSettings { + get { + return ResourceManager.GetString("BitwardenAutofillServiceOpenAutofillSettings", resourceCulture); } } diff --git a/src/App/Resources/AppResources.resx b/src/App/Resources/AppResources.resx index 5ca64ef2f..8dda401b0 100644 --- a/src/App/Resources/AppResources.resx +++ b/src/App/Resources/AppResources.resx @@ -402,7 +402,7 @@ App Extension - + Use the bitwarden accessibility service to auto-fill your logins across apps and the web. @@ -423,7 +423,7 @@ bitwarden Auto-fill Service - + Use the bitwarden accessibility service to auto-fill your logins. @@ -764,7 +764,7 @@ Tap this notification to auto-fill an item from your vault. - + Open Accessibility Settings @@ -1209,4 +1209,16 @@ There are no items in this folder. + + Auto-fill Accessibility Service + + + The bitwarden auto-fill service uses the Android Autofill Framework to assist in filling logins, credit cards, and identity information into other apps on your device. + + + Use the bitwarden auto-fill service to fill logins, credit cards, and identity information into other apps. + + + Open Autofill Settings + \ No newline at end of file