+ if (slot > 0) {
+ runChallenge(slot);
+ } else {
+ showEnrollResult("Must specify which slot to use");
+ }
+ }
+
+ public void onActivityResult(int requestCode, int resultCode,
+ Intent intent) {
+ Log.v(TAG, "Got activity result");
+ waitingForResult = false;
+ if (resultCode == RESULT_OK) {
+ String res = intent.getStringExtra("response");
+ Log.v(TAG, "Response is \"" + res + "\"");
+ } else {
+ Log.v(TAG, "Error result code " + resultCode);
+ }
+ }
+
+ private void showEnrollResult(final String msg) {
+ Log.v(TAG, "Show result: \"" + msg + "\"");
+
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ builder.setTitle(R.string.enrollresult);
+ builder.setMessage(msg);
+ builder.setPositiveButton(android.R.string.ok,
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ if (!waitingForResult) { finish(); }
+ }
+ });
+ AlertDialog dialog = builder.create();
+ dialog.show();
+ }
+
+ private void runChallenge(int slot) {
+ Log.v(TAG, "Launching challenging activity");
+ Intent crIntent = new Intent(this, NFCAuthCRCheck.class);
+ crIntent.putExtra("slot", slot);
+ this.startActivityForResult(crIntent, 0);
+ waitingForResult = true;