am cb477625: am e386f7f5: Merge "Expose peer LLCP version in NDEF callbacks."

* commit 'cb4776254c92e4b8c05e2bd60e730aa76b55358f':
  Expose peer LLCP version in NDEF callbacks.
This commit is contained in:
Martijn Coenen
2015-04-17 07:37:47 +00:00
committed by Android Git Automerger
5 changed files with 19 additions and 11 deletions

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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;
}
}