diff --git a/app/src/main/java/be/digitalia/fosdem/activities/EventDetailsActivity.java b/app/src/main/java/be/digitalia/fosdem/activities/EventDetailsActivity.java index 43ba8c1..f156531 100644 --- a/app/src/main/java/be/digitalia/fosdem/activities/EventDetailsActivity.java +++ b/app/src/main/java/be/digitalia/fosdem/activities/EventDetailsActivity.java @@ -59,7 +59,7 @@ public class EventDetailsActivity extends AppCompatActivity implements Observer< String eventIdString; if (NfcUtils.hasAppData(intent)) { // NFC intent - eventIdString = new String(NfcUtils.extractAppData(intent)); + eventIdString = NfcUtils.toEventIdString((NfcUtils.extractAppData(intent))); } else { // Normal in-app intent eventIdString = intent.getDataString(); @@ -128,6 +128,6 @@ public class EventDetailsActivity extends AppCompatActivity implements Observer< @Override public NdefRecord createNfcAppData() { - return NfcUtils.createSingleEventAppData(this, event); + return NfcUtils.createEventAppData(this, event); } } diff --git a/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleActivity.java b/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleActivity.java index 28d3fbb..9d176ad 100644 --- a/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleActivity.java +++ b/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleActivity.java @@ -152,6 +152,6 @@ public class TrackScheduleActivity extends AppCompatActivity if (lastSelectedEvent == null) { return null; } - return NfcUtils.createSingleEventAppData(this, lastSelectedEvent); + return NfcUtils.createEventAppData(this, lastSelectedEvent); } } diff --git a/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleEventActivity.java b/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleEventActivity.java index 7ddcaec..2e659bd 100644 --- a/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleEventActivity.java +++ b/app/src/main/java/be/digitalia/fosdem/activities/TrackScheduleEventActivity.java @@ -96,7 +96,7 @@ public class TrackScheduleEventActivity extends AppCompatActivity implements Obs if (event == null) { return null; } - return NfcUtils.createSingleEventAppData(this, event); + return NfcUtils.createEventAppData(this, event); } @Override diff --git a/app/src/main/java/be/digitalia/fosdem/utils/NfcUtils.java b/app/src/main/java/be/digitalia/fosdem/utils/NfcUtils.java index 67bda9a..dfca837 100644 --- a/app/src/main/java/be/digitalia/fosdem/utils/NfcUtils.java +++ b/app/src/main/java/be/digitalia/fosdem/utils/NfcUtils.java @@ -59,12 +59,16 @@ public class NfcUtils { return true; } - public static NdefRecord createSingleEventAppData(@NonNull Context context, @NonNull Event event) { + public static NdefRecord createEventAppData(@NonNull Context context, @NonNull Event event) { String mimeType = "application/" + context.getPackageName(); byte[] mimeData = String.valueOf(event.getId()).getBytes(); return NdefRecord.createMime(mimeType, mimeData); } + public static String toEventIdString(@NonNull NdefRecord record) { + return new String(record.getPayload()); + } + /** * Determines if the intent contains NFC NDEF application-specific data to be extracted. */ @@ -73,14 +77,14 @@ public class NfcUtils { } /** - * Extracts application-specific data sent through NFC from an intent. You must first ensure that the intent contains NFC data by calling hasAppData(). + * Extracts application-specific data sent through NFC from an intent. + * You must first ensure that the intent contains NFC data by calling hasAppData(). * - * @param intent - * @return The extracted data + * @return The extracted app data as an NdefRecord */ - public static byte[] extractAppData(Intent intent) { + public static NdefRecord extractAppData(Intent intent) { Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); NdefMessage msg = (NdefMessage) rawMsgs[0]; - return msg.getRecords()[0].getPayload(); + return msg.getRecords()[0]; } }