* commit 'cb4776254c92e4b8c05e2bd60e730aa76b55358f': Expose peer LLCP version in NDEF callbacks.
This commit is contained in:
@@ -18443,6 +18443,7 @@ package android.nfc {
|
||||
|
||||
public final class NfcEvent {
|
||||
field public final android.nfc.NfcAdapter nfcAdapter;
|
||||
field public final byte peerLlcpVersion;
|
||||
}
|
||||
|
||||
public final class NfcManager {
|
||||
|
||||
@@ -20027,6 +20027,7 @@ package android.nfc {
|
||||
|
||||
public final class NfcEvent {
|
||||
field public final android.nfc.NfcAdapter nfcAdapter;
|
||||
field public final byte peerLlcpVersion;
|
||||
}
|
||||
|
||||
public final class NfcManager {
|
||||
|
||||
@@ -24,7 +24,7 @@ import android.nfc.Tag;
|
||||
*/
|
||||
interface IAppCallback
|
||||
{
|
||||
BeamShareData createBeamShareData();
|
||||
void onNdefPushComplete();
|
||||
BeamShareData createBeamShareData(byte peerLlcpVersion);
|
||||
void onNdefPushComplete(byte peerLlcpVersion);
|
||||
void onTagDiscovered(in Tag tag);
|
||||
}
|
||||
|
||||
@@ -46,7 +46,6 @@ public final class NfcActivityManager extends IAppCallback.Stub
|
||||
static final Boolean DBG = false;
|
||||
|
||||
final NfcAdapter mAdapter;
|
||||
final NfcEvent mDefaultEvent; // cached NfcEvent (its currently always the same)
|
||||
|
||||
// All objects in the lists are protected by this
|
||||
final List<NfcApplicationState> mApps; // Application(s) that have NFC state. Usually one
|
||||
@@ -200,7 +199,6 @@ public final class NfcActivityManager extends IAppCallback.Stub
|
||||
mAdapter = adapter;
|
||||
mActivities = new LinkedList<NfcActivityState>();
|
||||
mApps = new ArrayList<NfcApplicationState>(1); // Android VM usually has 1 app
|
||||
mDefaultEvent = new NfcEvent(mAdapter);
|
||||
}
|
||||
|
||||
public void enableReaderMode(Activity activity, ReaderCallback callback, int flags,
|
||||
@@ -354,13 +352,14 @@ public final class NfcActivityManager extends IAppCallback.Stub
|
||||
|
||||
/** Callback from NFC service, usually on binder thread */
|
||||
@Override
|
||||
public BeamShareData createBeamShareData() {
|
||||
public BeamShareData createBeamShareData(byte peerLlcpVersion) {
|
||||
NfcAdapter.CreateNdefMessageCallback ndefCallback;
|
||||
NfcAdapter.CreateBeamUrisCallback urisCallback;
|
||||
NdefMessage message;
|
||||
Activity activity;
|
||||
Uri[] uris;
|
||||
int flags;
|
||||
NfcEvent event = new NfcEvent(mAdapter, peerLlcpVersion);
|
||||
synchronized (NfcActivityManager.this) {
|
||||
NfcActivityState state = findResumedActivityState();
|
||||
if (state == null) return null;
|
||||
@@ -375,10 +374,10 @@ public final class NfcActivityManager extends IAppCallback.Stub
|
||||
|
||||
// Make callbacks without lock
|
||||
if (ndefCallback != null) {
|
||||
message = ndefCallback.createNdefMessage(mDefaultEvent);
|
||||
message = ndefCallback.createNdefMessage(event);
|
||||
}
|
||||
if (urisCallback != null) {
|
||||
uris = urisCallback.createBeamUris(mDefaultEvent);
|
||||
uris = urisCallback.createBeamUris(event);
|
||||
if (uris != null) {
|
||||
ArrayList<Uri> validUris = new ArrayList<Uri>();
|
||||
for (Uri uri : uris) {
|
||||
@@ -412,7 +411,7 @@ public final class NfcActivityManager extends IAppCallback.Stub
|
||||
|
||||
/** Callback from NFC service, usually on binder thread */
|
||||
@Override
|
||||
public void onNdefPushComplete() {
|
||||
public void onNdefPushComplete(byte peerLlcpVersion) {
|
||||
NfcAdapter.OnNdefPushCompleteCallback callback;
|
||||
synchronized (NfcActivityManager.this) {
|
||||
NfcActivityState state = findResumedActivityState();
|
||||
@@ -420,10 +419,10 @@ public final class NfcActivityManager extends IAppCallback.Stub
|
||||
|
||||
callback = state.onNdefPushCompleteCallback;
|
||||
}
|
||||
|
||||
NfcEvent event = new NfcEvent(mAdapter, peerLlcpVersion);
|
||||
// Make callback without lock
|
||||
if (callback != null) {
|
||||
callback.onNdefPushComplete(mDefaultEvent);
|
||||
callback.onNdefPushComplete(event);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -38,7 +38,14 @@ public final class NfcEvent {
|
||||
*/
|
||||
public final NfcAdapter nfcAdapter;
|
||||
|
||||
NfcEvent(NfcAdapter nfcAdapter) {
|
||||
/**
|
||||
* The LLCP version of the peer associated with the NFC event.
|
||||
* The major version is in the top nibble, the minor version is in the bottom nibble.
|
||||
*/
|
||||
public final byte peerLlcpVersion;
|
||||
|
||||
NfcEvent(NfcAdapter nfcAdapter, byte peerLlcpVersion) {
|
||||
this.nfcAdapter = nfcAdapter;
|
||||
this.peerLlcpVersion = peerLlcpVersion;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user