update fingerprint libraries

This commit is contained in:
Kyle Spearrin 2017-06-02 14:46:10 -04:00
parent feacb3ed14
commit 753d01d413
23 changed files with 227 additions and 236 deletions

View file

@ -151,13 +151,14 @@
<HintPath>..\..\packages\Plugin.CurrentActivity.1.0.1\lib\MonoAndroid10\Plugin.CurrentActivity.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Plugin.Fingerprint, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\MonoAndroid\Plugin.Fingerprint.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\MonoAndroid\Plugin.Fingerprint.dll</HintPath>
</Reference>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\MonoAndroid\Plugin.Fingerprint.Abstractions.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\MonoAndroid\Plugin.Fingerprint.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Fingerprint.Android.Samsung, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\MonoAndroid\Plugin.Fingerprint.Android.Samsung.dll</HintPath>
</Reference>
<Reference Include="Plugin.Settings, Version=2.5.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xam.Plugins.Settings.2.5.4\lib\MonoAndroid10\Plugin.Settings.dll</HintPath>

View file

@ -5,7 +5,6 @@ using Android.Views;
using Android.OS;
using Bit.App.Abstractions;
using XLabs.Ioc;
using Plugin.Fingerprint.Abstractions;
using Plugin.Settings.Abstractions;
using Plugin.Connectivity.Abstractions;
using Acr.UserDialogs;
@ -68,7 +67,6 @@ namespace Bit.Android
Resolver.Resolve<IUserDialogs>(),
Resolver.Resolve<IDatabaseService>(),
Resolver.Resolve<ISyncService>(),
Resolver.Resolve<IFingerprint>(),
Resolver.Resolve<ISettings>(),
Resolver.Resolve<ILockService>(),
Resolver.Resolve<IGoogleAnalyticsService>(),

View file

@ -187,6 +187,8 @@ namespace Bit.Android
global::PCLCrypto.Resource.String.Hello = global::Bit.Android.Resource.String.Hello;
global::Plugin.Fingerprint.Resource.Drawable.fingerprint_white = global::Bit.Android.Resource.Drawable.fingerprint_white;
global::Plugin.Fingerprint.Resource.Id.fingerprint_btnCancel = global::Bit.Android.Resource.Id.fingerprint_btnCancel;
global::Plugin.Fingerprint.Resource.Id.fingerprint_btnFallback = global::Bit.Android.Resource.Id.fingerprint_btnFallback;
global::Plugin.Fingerprint.Resource.Id.fingerprint_imgFingerprint = global::Bit.Android.Resource.Id.fingerprint_imgFingerprint;
global::Plugin.Fingerprint.Resource.Id.fingerprint_txtReason = global::Bit.Android.Resource.Id.fingerprint_txtReason;
global::Plugin.Fingerprint.Resource.Layout.FingerprintDialog = global::Bit.Android.Resource.Layout.FingerprintDialog;
global::Splat.Resource.String.library_name = global::Bit.Android.Resource.String.library_name;
@ -2800,8 +2802,8 @@ namespace Bit.Android
public partial class Id
{
// aapt resource value: 0x7f0c00b5
public const int action0 = 2131493045;
// aapt resource value: 0x7f0c00b7
public const int action0 = 2131493047;
// aapt resource value: 0x7f0c0062
public const int action_bar = 2131492962;
@ -2827,8 +2829,8 @@ namespace Bit.Android
// aapt resource value: 0x7f0c0063
public const int action_context_bar = 2131492963;
// aapt resource value: 0x7f0c00b9
public const int action_divider = 2131493049;
// aapt resource value: 0x7f0c00bb
public const int action_divider = 2131493051;
// aapt resource value: 0x7f0c0003
public const int action_menu_divider = 2131492867;
@ -2872,26 +2874,26 @@ namespace Bit.Android
// aapt resource value: 0x7f0c004c
public const int buttonPanel = 2131492940;
// aapt resource value: 0x7f0c0089
public const int button_add_response = 2131493001;
// aapt resource value: 0x7f0c008b
public const int button_add_response = 2131493003;
// aapt resource value: 0x7f0c0084
public const int button_attachment = 2131492996;
// aapt resource value: 0x7f0c0086
public const int button_attachment = 2131492998;
// aapt resource value: 0x7f0c008e
public const int button_login = 2131493006;
// aapt resource value: 0x7f0c0090
public const int button_login = 2131493008;
// aapt resource value: 0x7f0c008a
public const int button_refresh = 2131493002;
// aapt resource value: 0x7f0c008c
public const int button_refresh = 2131493004;
// aapt resource value: 0x7f0c0085
public const int button_send = 2131492997;
// aapt resource value: 0x7f0c0087
public const int button_send = 2131492999;
// aapt resource value: 0x7f0c0092
public const int button_update = 2131493010;
// aapt resource value: 0x7f0c0094
public const int button_update = 2131493012;
// aapt resource value: 0x7f0c00b6
public const int cancel_action = 2131493046;
// aapt resource value: 0x7f0c00b8
public const int cancel_action = 2131493048;
// aapt resource value: 0x7f0c0033
public const int center = 2131492915;
@ -2905,8 +2907,8 @@ namespace Bit.Android
// aapt resource value: 0x7f0c005a
public const int checkbox = 2131492954;
// aapt resource value: 0x7f0c00bc
public const int chronometer = 2131493052;
// aapt resource value: 0x7f0c00be
public const int chronometer = 2131493054;
// aapt resource value: 0x7f0c003b
public const int clip_horizontal = 2131492923;
@ -2959,8 +2961,8 @@ namespace Bit.Android
// aapt resource value: 0x7f0c0024
public const int end = 2131492900;
// aapt resource value: 0x7f0c00c1
public const int end_padder = 2131493057;
// aapt resource value: 0x7f0c00c3
public const int end_padder = 2131493059;
// aapt resource value: 0x7f0c002b
public const int enterAlways = 2131492907;
@ -2986,11 +2988,17 @@ namespace Bit.Android
// aapt resource value: 0x7f0c0036
public const int fill_vertical = 2131492918;
// aapt resource value: 0x7f0c007b
public const int fingerprint_btnCancel = 2131492987;
// aapt resource value: 0x7f0c007c
public const int fingerprint_btnCancel = 2131492988;
// aapt resource value: 0x7f0c007d
public const int fingerprint_btnFallback = 2131492989;
// aapt resource value: 0x7f0c007a
public const int fingerprint_txtReason = 2131492986;
public const int fingerprint_imgFingerprint = 2131492986;
// aapt resource value: 0x7f0c007b
public const int fingerprint_txtReason = 2131492987;
// aapt resource value: 0x7f0c0040
public const int @fixed = 2131492928;
@ -3013,47 +3021,47 @@ namespace Bit.Android
// aapt resource value: 0x7f0c0047
public const int image = 2131492935;
// aapt resource value: 0x7f0c00c0
public const int info = 2131493056;
// aapt resource value: 0x7f0c0080
public const int input_email = 2131492992;
// aapt resource value: 0x7f0c00c2
public const int info = 2131493058;
// aapt resource value: 0x7f0c0082
public const int input_message = 2131492994;
public const int input_email = 2131492994;
// aapt resource value: 0x7f0c007f
public const int input_name = 2131492991;
// aapt resource value: 0x7f0c008d
public const int input_password = 2131493005;
// aapt resource value: 0x7f0c0084
public const int input_message = 2131492996;
// aapt resource value: 0x7f0c0081
public const int input_subject = 2131492993;
public const int input_name = 2131492993;
// aapt resource value: 0x7f0c008f
public const int input_password = 2131493007;
// aapt resource value: 0x7f0c0083
public const int input_subject = 2131492995;
// aapt resource value: 0x7f0c0000
public const int item_touch_helper_previous_elevation = 2131492864;
// aapt resource value: 0x7f0c0094
public const int label_author = 2131493012;
// aapt resource value: 0x7f0c0095
public const int label_date = 2131493013;
// aapt resource value: 0x7f0c0087
public const int label_last_updated = 2131492999;
// aapt resource value: 0x7f0c007c
public const int label_message = 2131492988;
// aapt resource value: 0x7f0c0096
public const int label_text = 2131493014;
public const int label_author = 2131493014;
// aapt resource value: 0x7f0c0090
public const int label_title = 2131493008;
// aapt resource value: 0x7f0c0097
public const int label_date = 2131493015;
// aapt resource value: 0x7f0c0091
public const int label_version = 2131493009;
// aapt resource value: 0x7f0c0089
public const int label_last_updated = 2131493001;
// aapt resource value: 0x7f0c007e
public const int label_message = 2131492990;
// aapt resource value: 0x7f0c0098
public const int label_text = 2131493016;
// aapt resource value: 0x7f0c0092
public const int label_title = 2131493010;
// aapt resource value: 0x7f0c0093
public const int label_version = 2131493011;
// aapt resource value: 0x7f0c0037
public const int left = 2131492919;
@ -3061,35 +3069,35 @@ namespace Bit.Android
// aapt resource value: 0x7f0c0013
public const int light = 2131492883;
// aapt resource value: 0x7f0c00ba
public const int line1 = 2131493050;
// aapt resource value: 0x7f0c00bc
public const int line1 = 2131493052;
// aapt resource value: 0x7f0c00be
public const int line3 = 2131493054;
// aapt resource value: 0x7f0c00c0
public const int line3 = 2131493056;
// aapt resource value: 0x7f0c0014
public const int listMode = 2131492884;
// aapt resource value: 0x7f0c0097
public const int list_attachments = 2131493015;
// aapt resource value: 0x7f0c0099
public const int list_attachments = 2131493017;
// aapt resource value: 0x7f0c008b
public const int list_feedback_messages = 2131493003;
// aapt resource value: 0x7f0c008d
public const int list_feedback_messages = 2131493005;
// aapt resource value: 0x7f0c0049
public const int list_item = 2131492937;
// aapt resource value: 0x7f0c009c
public const int loadingImage = 2131493020;
// aapt resource value: 0x7f0c009a
public const int loadingImage = 2131493018;
public const int loadingProgressBar = 2131493018;
// aapt resource value: 0x7f0c0098
public const int loadingProgressBar = 2131493016;
// aapt resource value: 0x7f0c009d
public const int loadingProgressWheel = 2131493021;
// aapt resource value: 0x7f0c009b
public const int loadingProgressWheel = 2131493019;
// aapt resource value: 0x7f0c00b8
public const int media_actions = 2131493048;
// aapt resource value: 0x7f0c00ba
public const int media_actions = 2131493050;
// aapt resource value: 0x7f0c0025
public const int middle = 2131492901;
@ -3097,77 +3105,77 @@ namespace Bit.Android
// aapt resource value: 0x7f0c003f
public const int mini = 2131492927;
// aapt resource value: 0x7f0c00a7
public const int mr_art = 2131493031;
// aapt resource value: 0x7f0c009c
public const int mr_chooser_list = 2131493020;
// aapt resource value: 0x7f0c009f
public const int mr_chooser_route_desc = 2131493023;
// aapt resource value: 0x7f0c009d
public const int mr_chooser_route_icon = 2131493021;
// aapt resource value: 0x7f0c00a9
public const int mr_art = 2131493033;
// aapt resource value: 0x7f0c009e
public const int mr_chooser_route_name = 2131493022;
// aapt resource value: 0x7f0c00a4
public const int mr_close = 2131493028;
// aapt resource value: 0x7f0c00aa
public const int mr_control_divider = 2131493034;
// aapt resource value: 0x7f0c00b0
public const int mr_control_play_pause = 2131493040;
// aapt resource value: 0x7f0c00b3
public const int mr_control_subtitle = 2131493043;
// aapt resource value: 0x7f0c00b2
public const int mr_control_title = 2131493042;
// aapt resource value: 0x7f0c00b1
public const int mr_control_title_container = 2131493041;
// aapt resource value: 0x7f0c00a5
public const int mr_custom_control = 2131493029;
// aapt resource value: 0x7f0c00a6
public const int mr_default_control = 2131493030;
public const int mr_chooser_list = 2131493022;
// aapt resource value: 0x7f0c00a1
public const int mr_dialog_area = 2131493025;
public const int mr_chooser_route_desc = 2131493025;
// aapt resource value: 0x7f0c009f
public const int mr_chooser_route_icon = 2131493023;
// aapt resource value: 0x7f0c00a0
public const int mr_expandable_area = 2131493024;
public const int mr_chooser_route_name = 2131493024;
// aapt resource value: 0x7f0c00b4
public const int mr_group_expand_collapse = 2131493044;
// aapt resource value: 0x7f0c00a8
public const int mr_media_main_control = 2131493032;
// aapt resource value: 0x7f0c00a3
public const int mr_name = 2131493027;
// aapt resource value: 0x7f0c00a9
public const int mr_playback_control = 2131493033;
// aapt resource value: 0x7f0c00a2
public const int mr_title_bar = 2131493026;
// aapt resource value: 0x7f0c00ab
public const int mr_volume_control = 2131493035;
// aapt resource value: 0x7f0c00a6
public const int mr_close = 2131493030;
// aapt resource value: 0x7f0c00ac
public const int mr_volume_group_list = 2131493036;
public const int mr_control_divider = 2131493036;
// aapt resource value: 0x7f0c00b2
public const int mr_control_play_pause = 2131493042;
// aapt resource value: 0x7f0c00b5
public const int mr_control_subtitle = 2131493045;
// aapt resource value: 0x7f0c00b4
public const int mr_control_title = 2131493044;
// aapt resource value: 0x7f0c00b3
public const int mr_control_title_container = 2131493043;
// aapt resource value: 0x7f0c00a7
public const int mr_custom_control = 2131493031;
// aapt resource value: 0x7f0c00a8
public const int mr_default_control = 2131493032;
// aapt resource value: 0x7f0c00a3
public const int mr_dialog_area = 2131493027;
// aapt resource value: 0x7f0c00a2
public const int mr_expandable_area = 2131493026;
// aapt resource value: 0x7f0c00b6
public const int mr_group_expand_collapse = 2131493046;
// aapt resource value: 0x7f0c00aa
public const int mr_media_main_control = 2131493034;
// aapt resource value: 0x7f0c00a5
public const int mr_name = 2131493029;
// aapt resource value: 0x7f0c00ab
public const int mr_playback_control = 2131493035;
// aapt resource value: 0x7f0c00a4
public const int mr_title_bar = 2131493028;
// aapt resource value: 0x7f0c00ad
public const int mr_volume_control = 2131493037;
// aapt resource value: 0x7f0c00ae
public const int mr_volume_item_icon = 2131493038;
public const int mr_volume_group_list = 2131493038;
// aapt resource value: 0x7f0c00af
public const int mr_volume_slider = 2131493039;
// aapt resource value: 0x7f0c00b0
public const int mr_volume_item_icon = 2131493040;
// aapt resource value: 0x7f0c00b1
public const int mr_volume_slider = 2131493041;
// aapt resource value: 0x7f0c001e
public const int multiply = 2131492894;
@ -3268,8 +3276,8 @@ namespace Bit.Android
// aapt resource value: 0x7f0c001b
public const int showTitle = 2131492891;
// aapt resource value: 0x7f0c00c2
public const int sliding_tabs = 2131493058;
// aapt resource value: 0x7f0c00c4
public const int sliding_tabs = 2131493060;
// aapt resource value: 0x7f0c0074
public const int snackbar_action = 2131492980;
@ -3301,8 +3309,8 @@ namespace Bit.Android
// aapt resource value: 0x7f0c0039
public const int start = 2131492921;
// aapt resource value: 0x7f0c00b7
public const int status_bar_latest_event_content = 2131493047;
// aapt resource value: 0x7f0c00b9
public const int status_bar_latest_event_content = 2131493049;
// aapt resource value: 0x7f0c006d
public const int submit_area = 2131492973;
@ -3310,23 +3318,23 @@ namespace Bit.Android
// aapt resource value: 0x7f0c0016
public const int tabMode = 2131492886;
// aapt resource value: 0x7f0c00bf
public const int text = 2131493055;
// aapt resource value: 0x7f0c00c1
public const int text = 2131493057;
// aapt resource value: 0x7f0c00bd
public const int text2 = 2131493053;
// aapt resource value: 0x7f0c00bf
public const int text2 = 2131493055;
// aapt resource value: 0x7f0c0055
public const int textSpacerNoButtons = 2131492949;
// aapt resource value: 0x7f0c0099
public const int textViewStatus = 2131493017;
// aapt resource value: 0x7f0c009b
public const int textViewStatus = 2131493019;
// aapt resource value: 0x7f0c008c
public const int text_headline = 2131493004;
// aapt resource value: 0x7f0c008e
public const int text_headline = 2131493006;
// aapt resource value: 0x7f0c00bb
public const int time = 2131493051;
// aapt resource value: 0x7f0c00bd
public const int time = 2131493053;
// aapt resource value: 0x7f0c004b
public const int title = 2131492939;
@ -3334,8 +3342,8 @@ namespace Bit.Android
// aapt resource value: 0x7f0c0050
public const int title_template = 2131492944;
// aapt resource value: 0x7f0c00c3
public const int toolbar = 2131493059;
// aapt resource value: 0x7f0c00c5
public const int toolbar = 2131493061;
// aapt resource value: 0x7f0c003a
public const int top = 2131492922;
@ -3352,17 +3360,17 @@ namespace Bit.Android
// aapt resource value: 0x7f0c001c
public const int useLogo = 2131492892;
// aapt resource value: 0x7f0c008f
public const int view_header = 2131493007;
// aapt resource value: 0x7f0c0091
public const int view_header = 2131493009;
// aapt resource value: 0x7f0c000a
public const int view_offset_helper = 2131492874;
// aapt resource value: 0x7f0c00ad
public const int volume_item_container = 2131493037;
// aapt resource value: 0x7f0c00af
public const int volume_item_container = 2131493039;
// aapt resource value: 0x7f0c0093
public const int web_update_details = 2131493011;
// aapt resource value: 0x7f0c0095
public const int web_update_details = 2131493013;
// aapt resource value: 0x7f0c0010
public const int wide = 2131492880;
@ -3373,20 +3381,20 @@ namespace Bit.Android
// aapt resource value: 0x7f0c001d
public const int wrap_content = 2131492893;
// aapt resource value: 0x7f0c0083
public const int wrapper_attachments = 2131492995;
// aapt resource value: 0x7f0c0085
public const int wrapper_attachments = 2131492997;
// aapt resource value: 0x7f0c007e
public const int wrapper_feedback = 2131492990;
// aapt resource value: 0x7f0c0080
public const int wrapper_feedback = 2131492992;
// aapt resource value: 0x7f0c007d
public const int wrapper_feedback_scroll = 2131492989;
// aapt resource value: 0x7f0c0086
public const int wrapper_messages = 2131492998;
// aapt resource value: 0x7f0c007f
public const int wrapper_feedback_scroll = 2131492991;
// aapt resource value: 0x7f0c0088
public const int wrapper_messages_buttons = 2131493000;
public const int wrapper_messages = 2131493000;
// aapt resource value: 0x7f0c008a
public const int wrapper_messages_buttons = 2131493002;
static Id()
{

View file

@ -16,7 +16,7 @@
<package id="PInvoke.NCrypt" version="0.3.152" targetFramework="monoandroid60" />
<package id="PInvoke.Windows.Core" version="0.3.152" targetFramework="monoandroid60" />
<package id="Plugin.CurrentActivity" version="1.0.1" targetFramework="monoandroid60" />
<package id="Plugin.Fingerprint" version="1.2.0" targetFramework="monoandroid60" />
<package id="Plugin.Fingerprint" version="1.4.4" targetFramework="monoandroid71" />
<package id="SimpleInjector" version="4.0.7" targetFramework="monoandroid71" />
<package id="Splat" version="1.6.2" targetFramework="monoandroid60" />
<package id="sqlite-net-pcl" version="1.2.1" targetFramework="monoandroid60" />

View file

@ -1,11 +1,12 @@
using Bit.App.Enums;
using System;
using System.Threading.Tasks;
namespace Bit.App.Abstractions
{
public interface ILockService
{
void UpdateLastActivity(DateTime? activityDate = null);
LockType GetLockType(bool forceLock);
Task<LockType> GetLockTypeAsync(bool forceLock);
}
}

View file

@ -4,7 +4,6 @@ using Bit.App.Abstractions;
using Bit.App.Pages;
using Xamarin.Forms;
using System.Diagnostics;
using Plugin.Fingerprint.Abstractions;
using System.Threading.Tasks;
using Plugin.Settings.Abstractions;
using Bit.App.Controls;
@ -27,7 +26,6 @@ namespace Bit.App
private readonly IUserDialogs _userDialogs;
private readonly ISyncService _syncService;
private readonly IAuthService _authService;
private readonly IFingerprint _fingerprint;
private readonly ISettings _settings;
private readonly ILockService _lockService;
private readonly IGoogleAnalyticsService _googleAnalyticsService;
@ -42,7 +40,6 @@ namespace Bit.App
IUserDialogs userDialogs,
IDatabaseService databaseService,
ISyncService syncService,
IFingerprint fingerprint,
ISettings settings,
ILockService lockService,
IGoogleAnalyticsService googleAnalyticsService,
@ -56,7 +53,6 @@ namespace Bit.App
_userDialogs = userDialogs;
_syncService = syncService;
_authService = authService;
_fingerprint = fingerprint;
_settings = settings;
_lockService = lockService;
_googleAnalyticsService = googleAnalyticsService;
@ -245,7 +241,7 @@ namespace Bit.App
return;
}
var lockType = _lockService.GetLockType(forceLock);
var lockType = await _lockService.GetLockTypeAsync(forceLock);
if(lockType == Enums.LockType.None)
{
return;

View file

@ -401,13 +401,11 @@
<Reference Include="Plugin.Connectivity.Abstractions, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xam.Plugin.Connectivity.2.3.0\lib\portable-net45+wp80+win8+wpa81\Plugin.Connectivity.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Fingerprint, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\portable-net45+win8+wpa81+wp8\Plugin.Fingerprint.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\portable-net45+win8+wpa81+wp8\Plugin.Fingerprint.dll</HintPath>
</Reference>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\portable-net45+win8+wpa81+wp8\Plugin.Fingerprint.Abstractions.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\portable-net45+win8+wpa81+wp8\Plugin.Fingerprint.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Settings, Version=2.5.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xam.Plugins.Settings.2.5.4\lib\portable-net45+wp80+win8+wpa81\Plugin.Settings.dll</HintPath>

View file

@ -13,22 +13,14 @@ namespace Bit.App.Pages
{
public class SettingsFeaturesPage : ExtendedContentPage
{
private readonly IAuthService _authService;
private readonly IUserDialogs _userDialogs;
private readonly ISettings _settings;
private readonly IAppSettingsService _appSettings;
private readonly IFingerprint _fingerprint;
private readonly IPushNotification _pushNotification;
private readonly IGoogleAnalyticsService _googleAnalyticsService;
public SettingsFeaturesPage()
{
_authService = Resolver.Resolve<IAuthService>();
_userDialogs = Resolver.Resolve<IUserDialogs>();
_settings = Resolver.Resolve<ISettings>();
_appSettings = Resolver.Resolve<IAppSettingsService>();
_fingerprint = Resolver.Resolve<IFingerprint>();
_pushNotification = Resolver.Resolve<IPushNotification>();
_googleAnalyticsService = Resolver.Resolve<IGoogleAnalyticsService>();
Init();

View file

@ -52,7 +52,7 @@ namespace Bit.App.Pages
private LongDetailViewCell RateCellLong { get; set; }
private ExtendedTableView Table { get; set; }
private void Init()
private async void Init()
{
PinCell = new ExtendedSwitchCell
{
@ -80,7 +80,7 @@ namespace Bit.App.Pages
TwoStepCell
};
if(_fingerprint.IsAvailable)
if((await _fingerprint.GetAvailabilityAsync()) == FingerprintAvailability.Available)
{
var fingerprintName = Helpers.OnPlatform(iOS: AppResources.TouchID, Android: AppResources.Fingerprint,
WinPhone: AppResources.Fingerprint);
@ -88,7 +88,7 @@ namespace Bit.App.Pages
{
Text = string.Format(AppResources.UnlockWith, fingerprintName),
On = _settings.GetValueOrDefault(Constants.SettingFingerprintUnlockOn, false),
IsEnabled = _fingerprint.IsAvailable
IsEnabled = true
};
securitySecion.Insert(1, FingerprintCell);
}

View file

@ -3,6 +3,7 @@ using Bit.App.Abstractions;
using Plugin.Settings.Abstractions;
using Plugin.Fingerprint.Abstractions;
using Bit.App.Enums;
using System.Threading.Tasks;
namespace Bit.App.Services
{
@ -35,7 +36,7 @@ namespace Bit.App.Services
_appSettings.LastActivity = activityDate.GetValueOrDefault(DateTime.UtcNow);
}
public LockType GetLockType(bool forceLock)
public async Task<LockType> GetLockTypeAsync(bool forceLock)
{
// Only lock if they are logged in
if(!_authService.IsAuthenticated)
@ -64,7 +65,8 @@ namespace Bit.App.Services
// What method are we using to unlock?
var fingerprintUnlock = _settings.GetValueOrDefault(Constants.SettingFingerprintUnlockOn, false);
var pinUnlock = _settings.GetValueOrDefault(Constants.SettingPinUnlockOn, false);
if(fingerprintUnlock && _fingerprint.IsAvailable)
var fingerprintAvailability = await _fingerprint.GetAvailabilityAsync();
if(fingerprintUnlock && fingerprintAvailability == FingerprintAvailability.Available)
{
return LockType.Fingerprint;
}

View file

@ -9,7 +9,7 @@
<package id="PInvoke.Kernel32" version="0.3.152" targetFramework="portable45-net45+win8+wpa81" />
<package id="PInvoke.NCrypt" version="0.3.152" targetFramework="portable45-net45+win8+wpa81" />
<package id="PInvoke.Windows.Core" version="0.3.152" targetFramework="portable45-net45+win8+wpa81" />
<package id="Plugin.Fingerprint" version="1.2.0" targetFramework="portable45-net45+win8+wpa81" />
<package id="Plugin.Fingerprint" version="1.4.4" targetFramework="portable45-net45+win8+wpa81" />
<package id="Splat" version="1.6.2" targetFramework="portable45-net45+win8+wpa81" />
<package id="sqlite-net-pcl" version="1.2.1" targetFramework="portable45-net45+win8+wpa81" />
<package id="SQLitePCL.bundle_green" version="0.9.3" targetFramework="portable45-net45+win8+wpa81" />

View file

@ -100,7 +100,7 @@ namespace Bit.iOS.Extension
}
var lockService = Resolver.Resolve<ILockService>();
var lockType = lockService.GetLockType(false);
var lockType = lockService.GetLockTypeAsync(false).GetAwaiter().GetResult();
switch(lockType)
{
case App.Enums.LockType.Fingerprint:

View file

@ -310,13 +310,11 @@
<Reference Include="Plugin.Connectivity.Abstractions, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xam.Plugin.Connectivity.2.3.0\lib\Xamarin.iOS10\Plugin.Connectivity.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Fingerprint, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\Xamarin.iOS10\Plugin.Fingerprint.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\Xamarin.iOS10\Plugin.Fingerprint.dll</HintPath>
</Reference>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\Xamarin.iOS10\Plugin.Fingerprint.Abstractions.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\Xamarin.iOS10\Plugin.Fingerprint.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Settings, Version=2.5.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xam.Plugins.Settings.2.5.4\lib\Xamarin.iOS10\Plugin.Settings.dll</HintPath>

View file

@ -12,7 +12,7 @@
<package id="PInvoke.Kernel32" version="0.3.152" targetFramework="xamarinios10" />
<package id="PInvoke.NCrypt" version="0.3.152" targetFramework="xamarinios10" />
<package id="PInvoke.Windows.Core" version="0.3.152" targetFramework="xamarinios10" />
<package id="Plugin.Fingerprint" version="1.2.0" targetFramework="xamarinios10" />
<package id="Plugin.Fingerprint" version="1.4.4" targetFramework="xamarinios10" />
<package id="SimpleInjector" version="4.0.7" targetFramework="xamarinios10" />
<package id="sqlite-net-pcl" version="1.2.1" targetFramework="xamarinios10" />
<package id="SQLitePCL.bundle_green" version="0.9.3" targetFramework="xamarinios10" />

View file

@ -12,7 +12,6 @@ using Plugin.Connectivity;
using Acr.UserDialogs;
using Bit.App.Repositories;
using Plugin.Fingerprint;
using Plugin.Fingerprint.Abstractions;
using Plugin.Settings.Abstractions;
using System.Diagnostics;
using Xamarin.Forms;
@ -65,7 +64,6 @@ namespace Bit.iOS
Resolver.Resolve<IUserDialogs>(),
Resolver.Resolve<IDatabaseService>(),
Resolver.Resolve<ISyncService>(),
Resolver.Resolve<IFingerprint>(),
Resolver.Resolve<ISettings>(),
_lockService,
Resolver.Resolve<IGoogleAnalyticsService>(),

View file

@ -324,13 +324,11 @@
<Reference Include="Plugin.Connectivity.Abstractions, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xam.Plugin.Connectivity.2.3.0\lib\Xamarin.iOS10\Plugin.Connectivity.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Fingerprint, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\Xamarin.iOS10\Plugin.Fingerprint.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\Xamarin.iOS10\Plugin.Fingerprint.dll</HintPath>
</Reference>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\Xamarin.iOS10\Plugin.Fingerprint.Abstractions.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\Xamarin.iOS10\Plugin.Fingerprint.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Settings, Version=2.5.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xam.Plugins.Settings.2.5.4\lib\Xamarin.iOS10\Plugin.Settings.dll</HintPath>

View file

@ -14,7 +14,7 @@
<package id="PInvoke.Kernel32" version="0.3.152" targetFramework="xamarinios10" />
<package id="PInvoke.NCrypt" version="0.3.152" targetFramework="xamarinios10" />
<package id="PInvoke.Windows.Core" version="0.3.152" targetFramework="xamarinios10" />
<package id="Plugin.Fingerprint" version="1.2.0" targetFramework="xamarinios10" />
<package id="Plugin.Fingerprint" version="1.4.4" targetFramework="xamarinios10" />
<package id="SimpleInjector" version="4.0.7" targetFramework="xamarinios10" />
<package id="Splat" version="1.6.2" targetFramework="xamarinios10" />
<package id="sqlite-net-pcl" version="1.2.1" targetFramework="xamarinios10" />

View file

@ -78,13 +78,14 @@
<HintPath>..\..\packages\PInvoke.Windows.Core.0.3.152\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Plugin.Fingerprint, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\MonoAndroid\Plugin.Fingerprint.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\MonoAndroid\Plugin.Fingerprint.dll</HintPath>
</Reference>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\MonoAndroid\Plugin.Fingerprint.Abstractions.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\MonoAndroid\Plugin.Fingerprint.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Fingerprint.Android.Samsung, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\MonoAndroid\Plugin.Fingerprint.Android.Samsung.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
@ -102,7 +103,9 @@
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
<None Include="Resources\AboutResources.txt" />
<None Include="Assets\AboutAssets.txt" />
</ItemGroup>

View file

@ -5,6 +5,6 @@
<package id="PInvoke.Kernel32" version="0.3.152" targetFramework="monoandroid60" />
<package id="PInvoke.NCrypt" version="0.3.152" targetFramework="monoandroid60" />
<package id="PInvoke.Windows.Core" version="0.3.152" targetFramework="monoandroid60" />
<package id="Plugin.Fingerprint" version="1.2.0" targetFramework="monoandroid60" />
<package id="Plugin.Fingerprint" version="1.4.4" targetFramework="monoandroid71" />
<package id="Validation" version="2.3.7" targetFramework="monoandroid60" />
</packages>

View file

@ -61,13 +61,11 @@
<HintPath>..\..\packages\PInvoke.Windows.Core.0.3.152\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Plugin.Fingerprint, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\net45\Plugin.Fingerprint.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\net45\Plugin.Fingerprint.dll</HintPath>
</Reference>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\net45\Plugin.Fingerprint.Abstractions.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\net45\Plugin.Fingerprint.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Settings, Version=2.5.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xam.Plugins.Settings.2.5.4\lib\net45\Plugin.Settings.dll</HintPath>
@ -115,7 +113,9 @@
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<Choose>
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">

View file

@ -6,7 +6,7 @@
<package id="PInvoke.Kernel32" version="0.3.152" targetFramework="net46" />
<package id="PInvoke.NCrypt" version="0.3.152" targetFramework="net46" />
<package id="PInvoke.Windows.Core" version="0.3.152" targetFramework="net46" />
<package id="Plugin.Fingerprint" version="1.2.0" targetFramework="net46" />
<package id="Plugin.Fingerprint" version="1.4.4" targetFramework="net46" />
<package id="Validation" version="2.3.7" targetFramework="net46" />
<package id="Xam.Plugins.Settings" version="2.5.4" targetFramework="net46" />
<package id="xunit" version="2.2.0" targetFramework="net46" />

View file

@ -130,13 +130,11 @@
<HintPath>..\..\packages\PInvoke.Windows.Core.0.3.152\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Plugin.Fingerprint, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\Xamarin.iOS10\Plugin.Fingerprint.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\Xamarin.iOS10\Plugin.Fingerprint.dll</HintPath>
</Reference>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.2.0\lib\Xamarin.iOS10\Plugin.Fingerprint.Abstractions.dll</HintPath>
<Private>True</Private>
<Reference Include="Plugin.Fingerprint.Abstractions, Version=1.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Fingerprint.1.4.4\lib\Xamarin.iOS10\Plugin.Fingerprint.Abstractions.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />

View file

@ -5,7 +5,7 @@
<package id="PInvoke.Kernel32" version="0.3.152" targetFramework="xamarinios10" />
<package id="PInvoke.NCrypt" version="0.3.152" targetFramework="xamarinios10" />
<package id="PInvoke.Windows.Core" version="0.3.152" targetFramework="xamarinios10" />
<package id="Plugin.Fingerprint" version="1.2.0" targetFramework="xamarinios10" />
<package id="Plugin.Fingerprint" version="1.4.4" targetFramework="xamarinios10" />
<package id="Validation" version="2.3.7" targetFramework="xamarinios10" />
<package id="Xamarin.Build.Download" version="0.4.3" targetFramework="xamarinios10" />
<package id="Xamarin.Google.iOS.Analytics" version="3.17.0.1" targetFramework="xamarinios10" />