Unregister the NFC callback onPause.

This prevents us from leaking BrowserActivity when we go to
the background.

Bug: 5233864
Change-Id: Idf59de67637c8c9eb39ea9f8b9cb93320c4afa99
diff --git a/src/com/android/browser/NfcHandler.java b/src/com/android/browser/NfcHandler.java
index 6147aea..1b34df2 100644
--- a/src/com/android/browser/NfcHandler.java
+++ b/src/com/android/browser/NfcHandler.java
@@ -45,7 +45,18 @@
         if (adapter == null) {
             return;  // NFC not available on this device
         }
-        adapter.setNdefPushMessageCallback(new NfcHandler(controller), activity);
+        NfcHandler handler = null;
+        if (controller != null) {
+            handler = new NfcHandler(controller);
+        }
+
+        adapter.setNdefPushMessageCallback(handler, activity);
+    }
+
+    public static void unregister(Activity activity) {
+        // Passing a null controller causes us to disable
+        // the callback and release the ref to out activity.
+        register(activity, null);
     }
 
     public NfcHandler(Controller controller) {