public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
        {
            if (requestCode == FINGERPRINT_PERMISSION_REQUEST_CODE && grantResults[0] == Android.Content.PM.Permission.Granted)
            {
                Button encButton = FindViewById <Button>(Resource.Id.MyButton);
                Button decButton = FindViewById <Button>(Resource.Id.Decrypt);
                encButton.Visibility = ViewStates.Visible;
                encButton.Enabled    = true;
                var fingerprint = new keepass2android.FingerprintModule(this);

                encButton.Click += (sender, args) =>
                {
                    var fingerprintEnc = new FingerprintEncryption(fingerprint, _keyId);


                    if (fingerprintEnc.InitCipher())
                    {
                        fingerprintEnc.StartListening(new EncryptionCallback(this, fingerprintEnc, prefKey));
                    }
                    else
                    {
                        Toast.MakeText(this, "Error initiating cipher", ToastLength.Long).Show();
                    }
                };

                decButton.Click += (sender, args) =>
                {
                    var fingerprintDec = new FingerprintDecryption(fingerprint, _keyId, this, prefKey);


                    if (fingerprintDec.InitCipher())
                    {
                        fingerprintDec.StartListening(new DecryptionCallback(this, fingerprintDec, prefKey));
                    }
                    else
                    {
                        Toast.MakeText(this, "Error initiating cipher", ToastLength.Long).Show();
                    }
                };

                if (!fingerprint.KeyguardManager.IsKeyguardSecure)
                {
                    encButton.Enabled = false;
                    // Show a message that the user hasn't set up a fingerprint or lock screen.
                    Toast.MakeText(this, "Secure lock screen hasn't set up.\n"
                                   + "Go to 'Settings -> Security -> Fingerprint' to set up a fingerprint", ToastLength.Long).Show();
                    return;
                }


                if (!fingerprint.FingerprintManager.HasEnrolledFingerprints)
                {
                    encButton.Enabled = false;
                    // This happens when no fingerprints are registered.
                    Toast.MakeText(this, "Go to 'Settings -> Security -> Fingerprint' " +
                                   "and register at least one fingerprint", ToastLength.Long).Show();
                    return;
                }
            }
        }
 public DecryptionCallback(Context context, FingerprintDecryption fingerprintDec, string prefKey)
 {
     _context        = context;
     _fingerprintDec = fingerprintDec;
     _prefKey        = prefKey;
 }