diff --git a/src/Android/Services/DeviceActionService.cs b/src/Android/Services/DeviceActionService.cs index c83689c97..c0e5a79e1 100644 --- a/src/Android/Services/DeviceActionService.cs +++ b/src/Android/Services/DeviceActionService.cs @@ -938,5 +938,11 @@ namespace Bit.Droid.Services Context.ClipboardService) as Android.Content.ClipboardManager; clipboardManager.PrimaryClip = ClipData.NewPlainText("bitwarden", text); } + + public float GetSystemFontSizeScale() + { + var activity = CrossCurrentActivity.Current?.Activity as MainActivity; + return activity?.Resources?.Configuration?.FontScale ?? 1; + } } } diff --git a/src/App/Abstractions/IDeviceActionService.cs b/src/App/Abstractions/IDeviceActionService.cs index e9d2b7dfb..ea54a7b44 100644 --- a/src/App/Abstractions/IDeviceActionService.cs +++ b/src/App/Abstractions/IDeviceActionService.cs @@ -45,5 +45,6 @@ namespace Bit.App.Abstractions long GetActiveTime(); void CloseMainApp(); bool SupportsFido2(); + float GetSystemFontSizeScale(); } } diff --git a/src/App/Controls/CipherViewCell/CipherViewCell.xaml b/src/App/Controls/CipherViewCell/CipherViewCell.xaml index 9f2d6d2f4..2ed40b071 100644 --- a/src/App/Controls/CipherViewCell/CipherViewCell.xaml +++ b/src/App/Controls/CipherViewCell/CipherViewCell.xaml @@ -12,10 +12,10 @@ x:DataType="controls:CipherViewCellViewModel"> - - - - + + + + @@ -23,7 +23,7 @@ - + @@ -35,6 +35,7 @@ StyleClass="list-icon, list-icon-platform" IsVisible="{Binding ShowIconImage, Converter={StaticResource inverseBool}}" Text="{Binding Cipher, Converter={StaticResource iconGlyphConverter}}" + ShouldUpdateFontSizeDynamicallyForAccesibility="True" AutomationProperties.IsInAccessibleTree="False" /> @@ -112,4 +115,4 @@ AutomationProperties.IsInAccessibleTree="True" AutomationProperties.Name="{u:I18n Options}" /> - + \ No newline at end of file diff --git a/src/App/Controls/CipherViewCell/CipherViewCell.xaml.cs b/src/App/Controls/CipherViewCell/CipherViewCell.xaml.cs index 54b87c1e7..98f0805b6 100644 --- a/src/App/Controls/CipherViewCell/CipherViewCell.xaml.cs +++ b/src/App/Controls/CipherViewCell/CipherViewCell.xaml.cs @@ -1,5 +1,7 @@ using System; +using Bit.App.Abstractions; using Bit.Core.Models.View; +using Bit.Core.Utilities; using Xamarin.Forms; namespace Bit.App.Controls @@ -18,6 +20,9 @@ namespace Bit.App.Controls public CipherViewCell() { InitializeComponent(); + + var deviceActionService = ServiceContainer.Resolve("deviceActionService"); + _iconColumn.Width = new GridLength(40 * deviceActionService.GetSystemFontSizeScale(), GridUnitType.Absolute); } public bool? WebsiteIconsEnabled diff --git a/src/App/Controls/IconLabel.cs b/src/App/Controls/IconLabel.cs index 79310f936..fce9159f6 100644 --- a/src/App/Controls/IconLabel.cs +++ b/src/App/Controls/IconLabel.cs @@ -4,6 +4,8 @@ namespace Bit.App.Controls { public class IconLabel : Label { + public bool ShouldUpdateFontSizeDynamicallyForAccesibility { get; set; } + public IconLabel() { switch (Device.RuntimePlatform) diff --git a/src/App/Controls/SendViewCell/SendViewCell.xaml b/src/App/Controls/SendViewCell/SendViewCell.xaml index 2db1a40ce..527e731e6 100644 --- a/src/App/Controls/SendViewCell/SendViewCell.xaml +++ b/src/App/Controls/SendViewCell/SendViewCell.xaml @@ -19,7 +19,7 @@ - + @@ -31,6 +31,7 @@ VerticalOptions="Center" StyleClass="list-icon, list-icon-platform" Text="{Binding Send, Converter={StaticResource sendIconGlyphConverter}}" + ShouldUpdateFontSizeDynamicallyForAccesibility="True" AutomationProperties.IsInAccessibleTree="False" /> diff --git a/src/App/Controls/SendViewCell/SendViewCell.xaml.cs b/src/App/Controls/SendViewCell/SendViewCell.xaml.cs index afa7c4922..0b01c1004 100644 --- a/src/App/Controls/SendViewCell/SendViewCell.xaml.cs +++ b/src/App/Controls/SendViewCell/SendViewCell.xaml.cs @@ -1,5 +1,7 @@ using System; +using Bit.App.Abstractions; using Bit.Core.Models.View; +using Bit.Core.Utilities; using Xamarin.Forms; namespace Bit.App.Controls @@ -18,6 +20,9 @@ namespace Bit.App.Controls public SendViewCell() { InitializeComponent(); + + var deviceActionService = ServiceContainer.Resolve("deviceActionService"); + _iconColumn.Width = new GridLength(40 * deviceActionService.GetSystemFontSizeScale(), GridUnitType.Absolute); } public SendView Send diff --git a/src/App/Pages/Send/SendGroupingsPage/SendGroupingsPage.xaml b/src/App/Pages/Send/SendGroupingsPage/SendGroupingsPage.xaml index c83b6ad10..2c6905d25 100644 --- a/src/App/Pages/Send/SendGroupingsPage/SendGroupingsPage.xaml +++ b/src/App/Pages/Send/SendGroupingsPage/SendGroupingsPage.xaml @@ -54,7 +54,8 @@ + StyleClass="list-icon, list-icon-platform" + ShouldUpdateFontSizeDynamicallyForAccesibility="True"> diff --git a/src/App/Pages/Vault/GroupingsPage/GroupingsPage.xaml b/src/App/Pages/Vault/GroupingsPage/GroupingsPage.xaml index cd9a3332a..3284050ae 100644 --- a/src/App/Pages/Vault/GroupingsPage/GroupingsPage.xaml +++ b/src/App/Pages/Vault/GroupingsPage/GroupingsPage.xaml @@ -50,7 +50,8 @@ + StyleClass="list-icon, list-icon-platform" + ShouldUpdateFontSizeDynamicallyForAccesibility="True"> diff --git a/src/App/Styles/Base.xaml b/src/App/Styles/Base.xaml index bee9af4dc..e468b03a9 100644 --- a/src/App/Styles/Base.xaml +++ b/src/App/Styles/Base.xaml @@ -239,9 +239,9 @@