From bb31fbd9f83d4cb2e295155fe3f0123aa6073370 Mon Sep 17 00:00:00 2001 From: fkloft Date: Sun, 26 Jan 2014 15:33:17 +0100 Subject: [PATCH] Don't crash if no NfcAdapter present; Replace constructor from API 16+ --- .../src/com/cradle/iitc_mobile/IITC_Mobile.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java index 0925c120..48b34712 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java @@ -149,7 +149,7 @@ public class IITC_Mobile extends Activity registerReceiver(mBroadcastReceiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); final NfcAdapter nfc = NfcAdapter.getDefaultAdapter(this); - nfc.setNdefPushMessageCallback(this, this); + if (nfc != null) nfc.setNdefPushMessageCallback(this, this); handleIntent(getIntent(), true); } @@ -793,12 +793,17 @@ public class IITC_Mobile extends Activity @Override public NdefMessage createNdefMessage(final NfcEvent event) { + NdefRecord[] records; if (mPermalink == null) { // no permalink yet, just provide AAR - return new NdefMessage(NdefRecord.createApplicationRecord(getPackageName())); + records = new NdefRecord[] { + NdefRecord.createApplicationRecord(getPackageName()) + }; + } else { + records = new NdefRecord[] { + NdefRecord.createUri(mPermalink), + NdefRecord.createApplicationRecord(getPackageName()) + }; } - - return new NdefMessage( - NdefRecord.createUri(mPermalink), - NdefRecord.createApplicationRecord(getPackageName())); + return new NdefMessage(records); } }