mirror of
https://github.com/bitwarden/android.git
synced 2024-12-25 02:18:27 +03:00
android back on main pages goes to vault first
This commit is contained in:
parent
8f77df4ebb
commit
3f1aab27d6
5 changed files with 691 additions and 643 deletions
1264
src/Android/Resources/Resource.Designer.cs
generated
1264
src/Android/Resources/Resource.Designer.cs
generated
File diff suppressed because it is too large
Load diff
|
@ -1,31 +1,35 @@
|
||||||
using System;
|
using Bit.App.Controls;
|
||||||
using Bit.App.Controls;
|
|
||||||
using Xamarin.Forms;
|
using Xamarin.Forms;
|
||||||
|
|
||||||
namespace Bit.App.Pages
|
namespace Bit.App.Pages
|
||||||
{
|
{
|
||||||
public class MainPage : ExtendedTabbedPage
|
public class MainPage : ExtendedTabbedPage
|
||||||
{
|
{
|
||||||
|
private ExtendedNavigationPage _vaultPage;
|
||||||
|
|
||||||
public MainPage()
|
public MainPage()
|
||||||
{
|
{
|
||||||
TintColor = Color.FromHex("3c8dbc");
|
TintColor = Color.FromHex("3c8dbc");
|
||||||
|
|
||||||
var vaultNavigation = new ExtendedNavigationPage(new VaultListGroupingsPage());
|
_vaultPage = new ExtendedNavigationPage(new VaultListGroupingsPage());
|
||||||
var passwordGeneratorNavigation = new ExtendedNavigationPage(new ToolsPasswordGeneratorPage());
|
var passwordGeneratorNavigation = new ExtendedNavigationPage(new ToolsPasswordGeneratorPage(this));
|
||||||
var toolsNavigation = new ExtendedNavigationPage(new ToolsPage());
|
var toolsNavigation = new ExtendedNavigationPage(new ToolsPage(this));
|
||||||
var settingsNavigation = new ExtendedNavigationPage(new SettingsPage());
|
var settingsNavigation = new ExtendedNavigationPage(new SettingsPage(this));
|
||||||
|
|
||||||
vaultNavigation.Icon = "fa_lock.png";
|
_vaultPage.Icon = "fa_lock.png";
|
||||||
passwordGeneratorNavigation.Icon = "refresh.png";
|
passwordGeneratorNavigation.Icon = "refresh.png";
|
||||||
toolsNavigation.Icon = "tools.png";
|
toolsNavigation.Icon = "tools.png";
|
||||||
settingsNavigation.Icon = "cogs.png";
|
settingsNavigation.Icon = "cogs.png";
|
||||||
|
|
||||||
Children.Add(vaultNavigation);
|
Children.Add(_vaultPage);
|
||||||
Children.Add(passwordGeneratorNavigation);
|
Children.Add(passwordGeneratorNavigation);
|
||||||
Children.Add(toolsNavigation);
|
Children.Add(toolsNavigation);
|
||||||
Children.Add(settingsNavigation);
|
Children.Add(settingsNavigation);
|
||||||
|
}
|
||||||
|
|
||||||
SelectedItem = vaultNavigation;
|
public void ResetToVaultPage()
|
||||||
|
{
|
||||||
|
CurrentPage = _vaultPage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,11 +20,13 @@ namespace Bit.App.Pages
|
||||||
private readonly IDeviceActionService _deviceActionService;
|
private readonly IDeviceActionService _deviceActionService;
|
||||||
private readonly IDeviceInfoService _deviceInfoService;
|
private readonly IDeviceInfoService _deviceInfoService;
|
||||||
private readonly ILockService _lockService;
|
private readonly ILockService _lockService;
|
||||||
|
private readonly MainPage _mainPage;
|
||||||
|
|
||||||
// TODO: Model binding context?
|
// TODO: Model binding context?
|
||||||
|
|
||||||
public SettingsPage()
|
public SettingsPage(MainPage mainPage)
|
||||||
{
|
{
|
||||||
|
_mainPage = mainPage;
|
||||||
_authService = Resolver.Resolve<IAuthService>();
|
_authService = Resolver.Resolve<IAuthService>();
|
||||||
_settings = Resolver.Resolve<ISettings>();
|
_settings = Resolver.Resolve<ISettings>();
|
||||||
_fingerprint = Resolver.Resolve<IFingerprint>();
|
_fingerprint = Resolver.Resolve<IFingerprint>();
|
||||||
|
@ -266,6 +268,17 @@ namespace Bit.App.Pages
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override bool OnBackButtonPressed()
|
||||||
|
{
|
||||||
|
if(Device.RuntimePlatform == Device.Android && _mainPage != null)
|
||||||
|
{
|
||||||
|
_mainPage.ResetToVaultPage();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return base.OnBackButtonPressed();
|
||||||
|
}
|
||||||
|
|
||||||
private async void TwoStepCell_Tapped(object sender, EventArgs e)
|
private async void TwoStepCell_Tapped(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var confirmed = await DisplayAlert(null, AppResources.TwoStepLoginConfirmation, AppResources.Yes,
|
var confirmed = await DisplayAlert(null, AppResources.TwoStepLoginConfirmation, AppResources.Yes,
|
||||||
|
|
|
@ -13,9 +13,11 @@ namespace Bit.App.Pages
|
||||||
{
|
{
|
||||||
private readonly IGoogleAnalyticsService _googleAnalyticsService;
|
private readonly IGoogleAnalyticsService _googleAnalyticsService;
|
||||||
private readonly IDeviceInfoService _deviceInfoService;
|
private readonly IDeviceInfoService _deviceInfoService;
|
||||||
|
private readonly MainPage _mainPage;
|
||||||
|
|
||||||
public ToolsPage()
|
public ToolsPage(MainPage mainPage)
|
||||||
{
|
{
|
||||||
|
_mainPage = mainPage;
|
||||||
_googleAnalyticsService = Resolver.Resolve<IGoogleAnalyticsService>();
|
_googleAnalyticsService = Resolver.Resolve<IGoogleAnalyticsService>();
|
||||||
_deviceInfoService = Resolver.Resolve<IDeviceInfoService>();
|
_deviceInfoService = Resolver.Resolve<IDeviceInfoService>();
|
||||||
|
|
||||||
|
@ -113,6 +115,17 @@ namespace Bit.App.Pages
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override bool OnBackButtonPressed()
|
||||||
|
{
|
||||||
|
if(Device.RuntimePlatform == Device.Android && _mainPage != null)
|
||||||
|
{
|
||||||
|
_mainPage.ResetToVaultPage();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return base.OnBackButtonPressed();
|
||||||
|
}
|
||||||
|
|
||||||
private void AutofillCell_Tapped(object sender, EventArgs e)
|
private void AutofillCell_Tapped(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if(_deviceInfoService.AutofillServiceSupported)
|
if(_deviceInfoService.AutofillServiceSupported)
|
||||||
|
|
|
@ -18,6 +18,7 @@ namespace Bit.App.Pages
|
||||||
private readonly IGoogleAnalyticsService _googleAnalyticsService;
|
private readonly IGoogleAnalyticsService _googleAnalyticsService;
|
||||||
private readonly Action<string> _passwordValueAction;
|
private readonly Action<string> _passwordValueAction;
|
||||||
private readonly bool _fromAutofill;
|
private readonly bool _fromAutofill;
|
||||||
|
private readonly MainPage _mainPage;
|
||||||
|
|
||||||
public ToolsPasswordGeneratorPage(Action<string> passwordValueAction = null, bool fromAutofill = false)
|
public ToolsPasswordGeneratorPage(Action<string> passwordValueAction = null, bool fromAutofill = false)
|
||||||
{
|
{
|
||||||
|
@ -31,6 +32,12 @@ namespace Bit.App.Pages
|
||||||
Init();
|
Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ToolsPasswordGeneratorPage(MainPage mainPage)
|
||||||
|
: this()
|
||||||
|
{
|
||||||
|
_mainPage = mainPage;
|
||||||
|
}
|
||||||
|
|
||||||
public PasswordGeneratorPageModel Model { get; private set; } = new PasswordGeneratorPageModel();
|
public PasswordGeneratorPageModel Model { get; private set; } = new PasswordGeneratorPageModel();
|
||||||
public Label Password { get; private set; }
|
public Label Password { get; private set; }
|
||||||
public SliderViewCell SliderCell { get; private set; }
|
public SliderViewCell SliderCell { get; private set; }
|
||||||
|
@ -253,6 +260,17 @@ namespace Bit.App.Pages
|
||||||
SliderCell.Dispose();
|
SliderCell.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override bool OnBackButtonPressed()
|
||||||
|
{
|
||||||
|
if(Device.RuntimePlatform == Device.Android && _mainPage != null)
|
||||||
|
{
|
||||||
|
_mainPage.ResetToVaultPage();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return base.OnBackButtonPressed();
|
||||||
|
}
|
||||||
|
|
||||||
private void RegenerateCell_Tapped(object sender, EventArgs e)
|
private void RegenerateCell_Tapped(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Model.Password = _passwordGenerationService.GeneratePassword();
|
Model.Password = _passwordGenerationService.GeneratePassword();
|
||||||
|
|
Loading…
Reference in a new issue