Skip to content
This repository was archived by the owner on Dec 20, 2018. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions XDemo.Android/MainActivity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using FFImageLoading.Forms.Platform;
using Android.Views;
using Xamarin.Forms;
using Plugin.CurrentActivity;

namespace XDemo.Droid
{
Expand Down Expand Up @@ -34,6 +35,8 @@ protected override void OnCreate(Bundle savedInstanceState)
* ================================================================================================*/
CachedImageRenderer.Init(true);

CrossCurrentActivity.Current.Init(this, savedInstanceState);

/* ==================================================================================================
* set the app info secure in app switcher
* ================================================================================================*/
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
using System;
using Android;
using Android.Content;
using Android.Hardware.Fingerprints;
using Android.OS;
using Android.Runtime;
using Java.Lang;
using Plugin.CurrentActivity;
using XDemo.Core.BusinessServices.Interfaces.Hardwares.LocalAuthentications;

namespace XDemo.Droid.Services.Implementations.Fingerprints
{
public interface IFingerprint
{
void AuthenticationResult(FingerprintResult result);
}


public class FingerprintHandler : FingerprintManager.AuthenticationCallback
{
private IFingerprint fingerprint;

public FingerprintHandler(IFingerprint fingerprint)
{
this.fingerprint = fingerprint;
}

public CancellationSignal Start(FingerprintManager manager, FingerprintManager.CryptoObject cryptoObject)
{
CancellationSignal cancellationSignal = new CancellationSignal();
if(CrossCurrentActivity.Current.Activity.CheckSelfPermission(Manifest.Permission.UseFingerprint) != Android.Content.PM.Permission.Granted)
{
return cancellationSignal;
}
manager.Authenticate(cryptoObject, cancellationSignal, 0, this, null);
return cancellationSignal;
}

public override void OnAuthenticationError([GeneratedEnum] FingerprintState errorCode, ICharSequence errString)
{
fingerprint?.AuthenticationResult(FingerprintResult.Error);
}

public override void OnAuthenticationFailed()
{
fingerprint?.AuthenticationResult(FingerprintResult.Failed);
}

public override void OnAuthenticationHelp([GeneratedEnum] FingerprintState helpCode, ICharSequence helpString)
{
fingerprint?.AuthenticationResult(FingerprintResult.Help);
}

public override void OnAuthenticationSucceeded(FingerprintManager.AuthenticationResult result)
{
fingerprint?.AuthenticationResult(FingerprintResult.Succeed);
}
}
}
Loading