diff --git a/src/App/Pages/Settings/SettingsPage/SettingsPage.xaml b/src/App/Pages/Settings/SettingsPage/SettingsPage.xaml index 133ccbfe0..1fe0c876c 100644 --- a/src/App/Pages/Settings/SettingsPage/SettingsPage.xaml +++ b/src/App/Pages/Settings/SettingsPage/SettingsPage.xaml @@ -45,20 +45,47 @@ VerticalOptions="CenterAndExpand" TextColor="{Binding SubLabelColor}" StyleClass="list-sub" /> - + + + + + - + + RegularTemplate="{StaticResource regularTemplate}" + TimePickerTemplate="{StaticResource timePickerTemplate}" /> diff --git a/src/App/Pages/Settings/SettingsPage/SettingsPage.xaml.cs b/src/App/Pages/Settings/SettingsPage/SettingsPage.xaml.cs index 9fb7b7524..9d7fac2bf 100644 --- a/src/App/Pages/Settings/SettingsPage/SettingsPage.xaml.cs +++ b/src/App/Pages/Settings/SettingsPage/SettingsPage.xaml.cs @@ -1,4 +1,5 @@ -using System.ComponentModel; +using System; +using System.ComponentModel; using System.Linq; using System.Threading.Tasks; using Bit.App.Abstractions; @@ -45,6 +46,17 @@ namespace Bit.App.Pages return base.OnBackButtonPressed(); } + void ActivateTimePicker(object sender, EventArgs args) + { + var stackLayout = (ExtendedStackLayout)sender; + SettingsPageListItem item = (SettingsPageListItem)stackLayout.BindingContext; + if (item.ShowTimeInput) + { + var timePicker = stackLayout.Children.Where(x => x is TimePicker).FirstOrDefault(); + ((TimePicker)timePicker)?.Focus(); + } + } + async void OnTimePickerPropertyChanged(object sender, PropertyChangedEventArgs args) { var s = (TimePicker) sender; diff --git a/src/App/Pages/Settings/SettingsPage/SettingsPageListItemSelector.cs b/src/App/Pages/Settings/SettingsPage/SettingsPageListItemSelector.cs index feb562453..246967de1 100644 --- a/src/App/Pages/Settings/SettingsPage/SettingsPageListItemSelector.cs +++ b/src/App/Pages/Settings/SettingsPage/SettingsPageListItemSelector.cs @@ -5,12 +5,20 @@ namespace Bit.App.Pages public class SettingsPageListItemSelector : DataTemplateSelector { public DataTemplate RegularTemplate { get; set; } + public DataTemplate TimePickerTemplate { get; set; } protected override DataTemplate OnSelectTemplate(object item, BindableObject container) { if (item is SettingsPageListItem listItem) { - return RegularTemplate; + if (listItem.ShowTimeInput) + { + return TimePickerTemplate; + } + else + { + return RegularTemplate; + } } return null; }