mirror of
https://github.com/bitwarden/mobile
synced 2025-12-28 06:03:40 +00:00
support for faceid labels
This commit is contained in:
@@ -8,5 +8,6 @@
|
||||
bool NfcEnabled { get; }
|
||||
bool HasCamera { get; }
|
||||
bool AutofillServiceSupported { get; }
|
||||
bool HasFaceIdSupport { get; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ namespace Bit.App.Pages
|
||||
private readonly IFingerprint _fingerprint;
|
||||
private readonly ISettings _settings;
|
||||
private readonly IAppSettingsService _appSettings;
|
||||
private readonly IDeviceInfoService _deviceInfoService;
|
||||
private readonly bool _checkFingerprintImmediately;
|
||||
private DateTime? _lastAction;
|
||||
|
||||
@@ -24,6 +25,7 @@ namespace Bit.App.Pages
|
||||
_fingerprint = Resolver.Resolve<IFingerprint>();
|
||||
_settings = Resolver.Resolve<ISettings>();
|
||||
_appSettings = Resolver.Resolve<IAppSettingsService>();
|
||||
_deviceInfoService = Resolver.Resolve<IDeviceInfoService>();
|
||||
|
||||
Init();
|
||||
}
|
||||
@@ -32,7 +34,7 @@ namespace Bit.App.Pages
|
||||
{
|
||||
var fingerprintIcon = new ExtendedButton
|
||||
{
|
||||
Image = "fingerprint.png",
|
||||
Image = _deviceInfoService.HasFaceIdSupport ? "smile.png" : "fingerprint.png",
|
||||
BackgroundColor = Color.Transparent,
|
||||
Command = new Command(async () => await CheckFingerprintAsync()),
|
||||
VerticalOptions = LayoutOptions.CenterAndExpand,
|
||||
@@ -41,7 +43,8 @@ namespace Bit.App.Pages
|
||||
|
||||
var fingerprintButton = new ExtendedButton
|
||||
{
|
||||
Text = AppResources.UseFingerprintToUnlock,
|
||||
Text = _deviceInfoService.HasFaceIdSupport ? AppResources.UseFaceIDToUnlock :
|
||||
AppResources.UseFingerprintToUnlock,
|
||||
Command = new Command(async () => await CheckFingerprintAsync()),
|
||||
VerticalOptions = LayoutOptions.EndAndExpand,
|
||||
Style = (Style)Application.Current.Resources["btn-primary"]
|
||||
@@ -64,7 +67,7 @@ namespace Bit.App.Pages
|
||||
Children = { fingerprintIcon, fingerprintButton, logoutButton }
|
||||
};
|
||||
|
||||
Title = AppResources.VerifyFingerprint;
|
||||
Title = _deviceInfoService.HasFaceIdSupport ? AppResources.VerifyFaceID : AppResources.VerifyFingerprint;
|
||||
Content = stackLayout;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace Bit.App.Pages
|
||||
private readonly IPushNotificationService _pushNotification;
|
||||
private readonly IGoogleAnalyticsService _googleAnalyticsService;
|
||||
private readonly IDeviceActionService _deviceActionService;
|
||||
private readonly IDeviceInfoService _deviceInfoService;
|
||||
private readonly ILockService _lockService;
|
||||
|
||||
// TODO: Model binding context?
|
||||
@@ -33,6 +34,7 @@ namespace Bit.App.Pages
|
||||
_pushNotification = Resolver.Resolve<IPushNotificationService>();
|
||||
_googleAnalyticsService = Resolver.Resolve<IGoogleAnalyticsService>();
|
||||
_deviceActionService = Resolver.Resolve<IDeviceActionService>();
|
||||
_deviceInfoService = Resolver.Resolve<IDeviceInfoService>();
|
||||
_lockService = Resolver.Resolve<ILockService>();
|
||||
|
||||
Init();
|
||||
@@ -91,8 +93,9 @@ namespace Bit.App.Pages
|
||||
|
||||
if((await _fingerprint.GetAvailabilityAsync()) == FingerprintAvailability.Available)
|
||||
{
|
||||
var fingerprintName = Helpers.OnPlatform(iOS: AppResources.TouchID, Android: AppResources.Fingerprint,
|
||||
Windows: AppResources.Fingerprint, WinPhone: AppResources.Fingerprint);
|
||||
var fingerprintName = Helpers.OnPlatform(
|
||||
iOS: _deviceInfoService.HasFaceIdSupport ? AppResources.FaceID : AppResources.TouchID,
|
||||
Android: AppResources.Fingerprint, Windows: AppResources.Fingerprint, WinPhone: AppResources.Fingerprint);
|
||||
FingerprintCell = new ExtendedSwitchCell
|
||||
{
|
||||
Text = string.Format(AppResources.UnlockWith, fingerprintName),
|
||||
|
||||
36
src/App/Resources/AppResources.Designer.cs
generated
36
src/App/Resources/AppResources.Designer.cs
generated
@@ -1303,6 +1303,24 @@ namespace Bit.App.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Face ID.
|
||||
/// </summary>
|
||||
public static string FaceID {
|
||||
get {
|
||||
return ResourceManager.GetString("FaceID", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Use Face ID to verify..
|
||||
/// </summary>
|
||||
public static string FaceIDDirection {
|
||||
get {
|
||||
return ResourceManager.GetString("FaceIDDirection", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Favorite.
|
||||
/// </summary>
|
||||
@@ -2905,6 +2923,15 @@ namespace Bit.App.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Use Face ID To Unlock.
|
||||
/// </summary>
|
||||
public static string UseFaceIDToUnlock {
|
||||
get {
|
||||
return ResourceManager.GetString("UseFaceIDToUnlock", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Use Fingerprint to Unlock.
|
||||
/// </summary>
|
||||
@@ -2995,6 +3022,15 @@ namespace Bit.App.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Verify Face ID.
|
||||
/// </summary>
|
||||
public static string VerifyFaceID {
|
||||
get {
|
||||
return ResourceManager.GetString("VerifyFaceID", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Verify Fingerprint.
|
||||
/// </summary>
|
||||
|
||||
@@ -1218,4 +1218,17 @@
|
||||
<data name="BitwardenAutofillServiceOpenAutofillSettings" xml:space="preserve">
|
||||
<value>Open Autofill Settings</value>
|
||||
</data>
|
||||
<data name="FaceID" xml:space="preserve">
|
||||
<value>Face ID</value>
|
||||
<comment>What Apple calls their facial recognition reader.</comment>
|
||||
</data>
|
||||
<data name="FaceIDDirection" xml:space="preserve">
|
||||
<value>Use Face ID to verify.</value>
|
||||
</data>
|
||||
<data name="UseFaceIDToUnlock" xml:space="preserve">
|
||||
<value>Use Face ID To Unlock</value>
|
||||
</data>
|
||||
<data name="VerifyFaceID" xml:space="preserve">
|
||||
<value>Verify Face ID</value>
|
||||
</data>
|
||||
</root>
|
||||
Reference in New Issue
Block a user