Update for NDEF push API change.

Change-Id: I9101e2f756fbaeaa392d9d5f4ebc6523618a8a5c
diff --git a/src/com/android/contacts/NfcHandler.java b/src/com/android/contacts/NfcHandler.java
index e059a3d..e3e94a9 100644
--- a/src/com/android/contacts/NfcHandler.java
+++ b/src/com/android/contacts/NfcHandler.java
@@ -20,13 +20,11 @@
 
 import android.app.Activity;
 import android.content.ContentResolver;
-import android.content.Context;
 import android.net.Uri;
-import android.net.Uri.Builder;
 import android.nfc.NdefMessage;
 import android.nfc.NdefRecord;
 import android.nfc.NfcAdapter;
-import android.provider.ContactsContract;
+import android.nfc.NfcEvent;
 import android.provider.ContactsContract.Contacts;
 
 import android.util.Log;
@@ -43,33 +41,26 @@
   * will be called to create the data to be sent over the link,
   * which is a vCard in this case.
   */
-public class NfcHandler implements NfcAdapter.NdefPushCallback {
-    private NfcAdapter mNfcAdapter;
-    private ContactDetailFragment mContactFragment;
-    private static final String TAG = "ContactsNfcHandler";
+public class NfcHandler implements NfcAdapter.CreateNdefMessageCallback {
+
+    static final String TAG = "ContactNfcHandler";
+
+    final ContactDetailFragment mContactFragment;
+
+    public static void register(Activity activity, ContactDetailFragment contactFragment) {
+        NfcAdapter adapter = NfcAdapter.getDefaultAdapter(activity.getApplicationContext());
+        if (adapter == null) {
+            return;  // NFC not available on this device
+        }
+        adapter.setNdefPushMessageCallback(new NfcHandler(contactFragment), activity);
+    }
 
     public NfcHandler(ContactDetailFragment contactFragment) {
         mContactFragment = contactFragment;
-        mNfcAdapter = NfcAdapter.getDefaultAdapter(
-                mContactFragment.getActivity());
-    }
-
-    public void onPause() {
-        if (mNfcAdapter != null) {
-            mNfcAdapter.disableForegroundNdefPush(
-                    mContactFragment.getActivity());
-        }
-    }
-
-    public void onResume() {
-        if (mNfcAdapter != null) {
-            mNfcAdapter.enableForegroundNdefPush(
-                    mContactFragment.getActivity(), this);
-        }
     }
 
     @Override
-    public NdefMessage createMessage() {
+    public NdefMessage createNdefMessage(NfcEvent event) {
         // Get the current contact URI
         Uri contactUri = mContactFragment.getUri();
         ContentResolver resolver = mContactFragment.getActivity().getContentResolver();
@@ -100,8 +91,4 @@
             return null;
         }
     }
-
-    @Override
-    public void onMessagePushed() {
-    }
 }