X-Git-Url: http://www.average.org/gitweb/?p=YkNeoCR.git;a=blobdiff_plain;f=src%2Forg%2Faverage%2Fnfcauthcr%2FNfcCRdispatch.java;fp=src%2Forg%2Faverage%2Fnfcauthcr%2FNfcCRdispatch.java;h=25198beff5fdf39e9b1819d673d8822bbe688cc7;hp=bfacfa988a257a214ee0c09fcec052069e7762bf;hb=0c96e6ff75abc6adfa713c00963fd14f5de2f34c;hpb=08b05b67a65e78e80fb0fffec8855a69a72ebff9 diff --git a/src/org/average/nfcauthcr/NfcCRdispatch.java b/src/org/average/nfcauthcr/NfcCRdispatch.java index bfacfa9..25198be 100644 --- a/src/org/average/nfcauthcr/NfcCRdispatch.java +++ b/src/org/average/nfcauthcr/NfcCRdispatch.java @@ -1,5 +1,8 @@ package org.average.nfcauthcr; +import java.io.IOException; +import java.util.ArrayList; + import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; @@ -20,30 +23,39 @@ public class NfcCRdispatch { private Activity activity = null; private PendingIntent tagIntent = null; - private byte[] challenge; + private ArrayList challenge; NfcCRdispatch(Activity activity) { Log.v(TAG, "new NfcCRdispatch, activity=" + activity); this.activity = activity; } - public byte[] onNewIntent(Intent intent) { + public ArrayList onNewIntent(Intent intent) { Log.v(TAG, "NFC Intent arrived"); Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); if (tag == null) return null; IsoDep isoTag = IsoDep.get(tag); try { int slot = intent.getIntExtra("yubikey_neo_slot", -1); + isoTag.connect(); return YkNeo.doChalResp(isoTag, slot, challenge); + } catch (TagLostException e) { + Log.v(TAG, e.getMessage()); + Toast.makeText(activity, e.getMessage(), + Toast.LENGTH_LONG).show(); + } catch (IOException e) { + Log.v(TAG, e.getMessage()); + Toast.makeText(activity, e.getMessage(), + Toast.LENGTH_LONG).show(); } catch (CRException e) { Log.v(TAG, e.getMessage()); Toast.makeText(activity, e.getMessage(), Toast.LENGTH_LONG).show(); - return null; } + return null; } - public void onResume(byte[] challenge) { + public void onResume(ArrayList challenge) { this.challenge = challenge; Intent intent = activity.getIntent(); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);