This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Endpoint for the service description. | |
get(new Route("/describe/:serviceId") { | |
@Override | |
public Object handle(Request request, Response response) { | |
String serviceId = request.params("serviceId"); | |
System.out.println("DESCRIBE endpoint - ServiceID: " + serviceId); | |
JSONObject description = new JSONObject(); | |
// verify the serviceId | |
if (serviceId.equals(Constants.invokeServiceId)){ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
protected void onActivityResult(int requestCode, int resultCode, Intent data) { | |
if (requestCode == SERVICE_DELIVERY_REQUEST_CODE) { | |
if (resultCode == RESULT_OK) { | |
Log.i(TAG, "Cardlet installation returned SUCCESS"); | |
mainMessage.setText(R.string.put_card); | |
installButton.setVisibility(View.GONE); | |
} else { | |
Log.i(TAG, "Cardlet installation returned FAILURE"); | |
Toast.makeText(getApplicationContext(), getString(R.string.failure), Toast.LENGTH_LONG).show(); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
protected void launchCardletInstallation() { | |
if (appInstalledOrNot(FIDESMO_APP)) { | |
try { | |
Intent intent = new Intent(SERVICE_DELIVERY_CARD_ACTION, Uri.parse(SERVICE_URI + APPLICATION_ID + "/" + SERVICE_ID)); | |
startActivityForResult(intent, SERVICE_DELIVERY_REQUEST_CODE); | |
} catch (IllegalArgumentException e) { | |
Log.e(TAG, "Error when parsing URI"); | |
} | |
} else { | |
notifyMustInstall(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
protected void readCard(final IsoDep card) { | |
byte[] response = null; | |
try { | |
card.connect(); | |
response = card.transceive(Utils.selectApdu(APPLICATION_ID)); | |
card.close(); | |
} catch (IOException e) { | |
Log.e(TAG, "Error reading card", e); | |
} | |
if (response != null && Arrays.equals(Utils.statusBytes(response), successfulApdu)) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static IsoDep getIsoTag(Intent intent) { | |
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); | |
if(tag != null) { | |
return IsoDep.get(tag); | |
} else { | |
return null; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static void disableForegroundDispatch(Activity activity, NfcAdapter adapter) { | |
adapter.disableForegroundDispatch(activity); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static void enableForegroundDispatch(Activity activity, NfcAdapter adapter) { | |
Intent intent = activity.getIntent(); | |
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); | |
if(adapter.isEnabled()) { | |
PendingIntent tagIntent = PendingIntent.getActivity(activity, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); | |
IntentFilter iso = new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED); | |
adapter.enableForegroundDispatch(activity, tagIntent, new IntentFilter[]{iso}, | |
new String[][]{new String[]{IsoDep.class.getName()}}); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@AfterViews | |
void setupNFC(){ | |
mAdapter = NfcAdapter.getDefaultAdapter(this); | |
if (!mAdapter.isEnabled()) { | |
Log.i(TAG, "NFC is not enabled. This is an error"); | |
showTurnNFCDialog(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
buildscript { | |
repositories { | |
mavenCentral() | |
} | |
dependencies { | |
classpath 'com.android.tools.build:gradle:1.3.0' | |
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7' | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.List; | |
import java.util.Arrays; | |
import java.lang.String; | |
import javax.smartcardio.*; | |
public class HelloFidesmoTest { | |
// don't forget to set the HELLO_FIDESMO_APPID environment variable with the AppID | |
// assigned by Fidesmo to your app in https://developer.fidesmo.com | |
public static String applicationId = System.getenv().get("HELLO_FIDESMO_APPID"); | |
final private static String aidPrefix = "A00000061700"; |
NewerOlder