• Nick Pelly's avatar
    Improve NDEF push API · c84c89a6
    Nick Pelly authored
    Introduce
      setNdefPushMessage()
      setNdefPushMessageCallback()
      setNdefPushCompleteCallback()
    
    Deprecate public API
      enableForegroundNdefPush()
      disableForegroundNdefPush()
    
    Hide & Deprecate staged (public but never released) API
      enableForegroundNdefPushCallback()
    
    The new API's do not require the application to explicitly call
    enable()/disable() in onPause()/onResume(), we use a Fragment behind
    the scenes to manager this automatically.
    
    NDEF Push can be disabled by using a null parameter, so each
    enable()/disable() pair is collapsed to a single set() call.
    
    Application code should now look something like:
    
        public void onCreate() {
            NfcAdapter adapter = NfcAdapter.getDefaultAdapter(this);
            if (adapter != null) {  // check that NFC is available on this device
                adapter.setNdefPushMessage(myNdefMessage, this);
            }
        }
    
    And that's it - no need to explicitly hook into onPause() and onResume() events.
    
    Also - introduce a generic NfcEvent class that is provided as a parameter on
    all NFC callbacks. Right now it just provides the NfcAdapter, but using
    the wrapper classes allows us to add more fields later without changing
    the callback signature. (i'm thinking Bluetooth).
    
    Change-Id: I371dcb026b535b8199225c1262eca64ce644458a
    c84c89a6
CleanSpec.mk 8.74 KB