diff options
author | Nick Pelly <npelly@google.com> | 2010-10-13 17:25:24 -0700 |
---|---|---|
committer | Nick Pelly <npelly@google.com> | 2010-10-15 02:12:32 -0700 |
commit | bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48 (patch) | |
tree | 8b58be37237ea58089f6541403fd3092ff64f6bc /core/java | |
parent | c1e7b2182594aa0463c4a738cc8e7eea6777ef50 (diff) | |
download | frameworks_base-bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48.zip frameworks_base-bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48.tar.gz frameworks_base-bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48.tar.bz2 |
NFC: Move NFC service implementation out of system_server.
NFC service is now an application service in packages/apps/Nfc.
NFC service is registered through ServiceManager.addService(), and the proxy
object NfcAdapter obtains a handle to it through ServiceManager.getService().
**Important** Had to add new symbols AID_NFC / NFC_UID / android.uid.nfc and
modify service_manager.c, Process.java and PackageManagerService.java in order
to force the com.android.nfc process to take a fixed uid, so that it can use
ServiceManager.addService().
Most of the JNI has moved to packages/apps/Nfc/jni. However NdefRecord and
NdefMessage require some in-process native code, so android_com_NdefMessage.cpp
and android_com_NdefRecord.cpp stay in frameworks/base/core/jni. They link to
a very small library libnfc_ndef.so that implements NDEF message parsing. This
has been added to core.mk so all devices (even without NFC hardware) can work
with NDEF data.
Bug: 3041259
Bug: 3097445
Change-Id: If8f00ce8f2053acfc9319ca366d4a9c02bd396e6
Signed-off-by: Nick Pelly <npelly@google.com>
Diffstat (limited to 'core/java')
10 files changed, 9 insertions, 807 deletions
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index 693be21..0dd2e4a 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -1555,16 +1555,6 @@ public abstract class Context { public static final String SIP_SERVICE = "sip"; /** - * Use with {@link #getSystemService} to retrieve an - * {@link com.trustedlogic.trustednfc.android.INfcManager.INfcManager} for - * accessing NFC methods. - * - * @see #getSystemService - * @hide - */ - public static final String NFC_SERVICE = "nfc"; - - /** * Determine whether the given permission is allowed for a particular * process and user ID running in the system. * diff --git a/core/java/android/nfc/NfcAdapter.java b/core/java/android/nfc/NfcAdapter.java index 02b9fb7..b916b34 100644 --- a/core/java/android/nfc/NfcAdapter.java +++ b/core/java/android/nfc/NfcAdapter.java @@ -166,10 +166,10 @@ public final class NfcAdapter { } sIsInitialized = true; - // TODO(npelly): check which method to use here to get the service - IBinder b = ServiceManager.getService(Context.NFC_SERVICE); + IBinder b = ServiceManager.getService("nfc"); if (b == null) { - return null; // This device does not have NFC + Log.d(TAG, "NFC Service not available"); + return null; } sAdapter = new NfcAdapter(INfcAdapter.Stub.asInterface(b)); diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java index f695dbb..a718fc6 100644 --- a/core/java/android/os/Process.java +++ b/core/java/android/os/Process.java @@ -86,6 +86,12 @@ public class Process { public static final int WIFI_UID = 1010; /** + * Defines the UID/GID for the NFC service process. + * @hide + */ + public static final int NFC_UID = 1022; + + /** * Defines the start of a range of UIDs (and GIDs), going from this * number to {@link #LAST_APPLICATION_UID} that are reserved for assigning * to applications. diff --git a/core/java/com/trustedlogic/trustednfc/android/internal/NativeLlcpConnectionlessSocket.java b/core/java/com/trustedlogic/trustednfc/android/internal/NativeLlcpConnectionlessSocket.java deleted file mode 100644 index eff01b6..0000000 --- a/core/java/com/trustedlogic/trustednfc/android/internal/NativeLlcpConnectionlessSocket.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * File : NativeLlcpConnectionLessSocket.java - * Original-Author : Trusted Logic S.A. (Sylvain Fonteneau) - * Created : 18-02-2010 - */ - -package com.trustedlogic.trustednfc.android.internal; - -import android.nfc.LlcpPacket; - -/** - * LlcpConnectionlessSocket represents a LLCP Connectionless object to be used - * in a connectionless communication - * - * @since AA02.01 - * @hide - */ - -public class NativeLlcpConnectionlessSocket { - - private int mHandle; - - private int mSap; - - private int mLinkMiu; - - public NativeLlcpConnectionlessSocket(){; - } - - public NativeLlcpConnectionlessSocket(int sap){ - mSap = sap; - } - - public native boolean doSendTo(int sap, byte[] data); - - public native LlcpPacket doReceiveFrom(int linkMiu); - - public native boolean doClose(); - - public int getLinkMiu(){ - return mLinkMiu; - } - - public int getSap(){ - return mSap; - } - - public int getHandle(){ - return mHandle; - } - -} diff --git a/core/java/com/trustedlogic/trustednfc/android/internal/NativeLlcpServiceSocket.java b/core/java/com/trustedlogic/trustednfc/android/internal/NativeLlcpServiceSocket.java deleted file mode 100644 index 079d69b..0000000 --- a/core/java/com/trustedlogic/trustednfc/android/internal/NativeLlcpServiceSocket.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * File : NativeLlcpServerSocket.java - * Original-Author : Trusted Logic S.A. (Sylvain Fonteneau) - * Created : 18-02-2010 - */ - -package com.trustedlogic.trustednfc.android.internal; - -/** - * LlcpServiceSocket represents a LLCP Service to be used in a - * Connection-oriented communication - * {@hide} - */ - -public class NativeLlcpServiceSocket { - - private int mHandle; - - private int mLocalMiu; - - private int mLocalRw; - - private int mLocalLinearBufferLength; - - private int mSap; - - private int mTimeout; - - private String mServiceName; - - public NativeLlcpServiceSocket(){ - - } - - public NativeLlcpServiceSocket(String serviceName){ - mServiceName = serviceName; - } - - public native NativeLlcpSocket doAccept(int timeout, int miu, int rw, int linearBufferLength); - - public native boolean doClose(); - - public int getHandle(){ - return mHandle; - } - - public void setAcceptTimeout(int timeout){ - mTimeout = timeout; - } - - public int getAcceptTimeout(){ - return mTimeout; - } - - public int getRw(){ - return mLocalRw; - } - - public int getMiu(){ - return mLocalMiu; - } - - public int getLinearBufferLength(){ - return mLocalLinearBufferLength; - } -} diff --git a/core/java/com/trustedlogic/trustednfc/android/internal/NativeLlcpSocket.java b/core/java/com/trustedlogic/trustednfc/android/internal/NativeLlcpSocket.java deleted file mode 100644 index 818cfaa..0000000 --- a/core/java/com/trustedlogic/trustednfc/android/internal/NativeLlcpSocket.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * File : NativeLlcpClientSocket.java - * Original-Author : Trusted Logic S.A. (Sylvain Fonteneau) - * Created : 18-02-2010 - */ - -package com.trustedlogic.trustednfc.android.internal; - -/** - * LlcpClientSocket represents a LLCP Connection-Oriented client to be used in a - * connection-oriented communication - * @hide - */ - -public class NativeLlcpSocket { - - private int mHandle; - - private int mSap; - - private int mLocalMiu; - - private int mLocalRw; - - private int mTimeout; - - public NativeLlcpSocket(){ - - } - - public NativeLlcpSocket(int sap, int miu, int rw){ - mSap = sap; - mLocalMiu = miu; - mLocalRw = rw; - } - - public native boolean doConnect(int nSap, int timeout); - - public native boolean doConnectBy(String sn, int timeout); - - public native boolean doClose(); - - public native boolean doSend(byte[] data); - - public native int doReceive(byte[] recvBuff); - - public native int doGetRemoteSocketMiu(); - - public native int doGetRemoteSocketRw(); - - - - public void setConnectTimeout(int timeout){ - mTimeout = timeout; - } - - public int getConnectTimeout(){ - return mTimeout; - } - - public int getSap(){ - return mSap; - } - - public int getMiu(){ - return mLocalMiu; - } - - public int getRw(){ - return mLocalRw; - } - - public int getHandle(){ - return mHandle; - } - -} diff --git a/core/java/com/trustedlogic/trustednfc/android/internal/NativeNdefTag.java b/core/java/com/trustedlogic/trustednfc/android/internal/NativeNdefTag.java deleted file mode 100644 index 819b039..0000000 --- a/core/java/com/trustedlogic/trustednfc/android/internal/NativeNdefTag.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * File : NativeNdefTag.java - * Original-Author : Trusted Logic S.A. (Sylvain Fonteneau) - * Created : 18-02-2010 - */ - -package com.trustedlogic.trustednfc.android.internal; - -/** - * Native interface to the NDEF tag functions - * - * @hide - */ -public class NativeNdefTag { - private int mHandle; - - public native byte[] doRead(); - - public native boolean doWrite(byte[] buf); -} diff --git a/core/java/com/trustedlogic/trustednfc/android/internal/NativeNfcManager.java b/core/java/com/trustedlogic/trustednfc/android/internal/NativeNfcManager.java deleted file mode 100644 index 5ff348a..0000000 --- a/core/java/com/trustedlogic/trustednfc/android/internal/NativeNfcManager.java +++ /dev/null @@ -1,369 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * File : NativeNfcManager.java - * Original-Author : Trusted Logic S.A. (Sylvain Fonteneau) - * Created : 18-02-2010 - */ - -package com.trustedlogic.trustednfc.android.internal; - -import android.annotation.SdkConstant; -import android.annotation.SdkConstant.SdkConstantType; -import android.content.ActivityNotFoundException; -import android.content.Context; -import android.content.Intent; -import android.os.Handler; -import android.os.Message; -import android.util.Log; - -import android.nfc.FormatException; -import android.nfc.NdefTag; -import android.nfc.NfcAdapter; -import android.nfc.NdefMessage; -import android.nfc.Tag; - -/** - * Native interface to the NFC Manager functions - * @hide - */ -public class NativeNfcManager { - - @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) - public static final String INTERNAL_LLCP_LINK_STATE_CHANGED_EXTRA = "com.trustedlogic.trustednfc.android.extra.INTERNAL_LLCP_LINK_STATE"; - - @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) - public static final String INTERNAL_LLCP_LINK_STATE_CHANGED_ACTION = "com.trustedlogic.trustednfc.android.action.INTERNAL_LLCP_LINK_STATE_CHANGED"; - - @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) - public static final String INTERNAL_TARGET_DESELECTED_ACTION = "com.trustedlogic.trustednfc.android.action.INTERNAL_TARGET_DESELECTED"; - - /* Native structure */ - private int mNative; - - private final Context mContext; - - private final Handler mNfcHandler; - - private static final String TAG = "NativeNfcManager"; - - private static final int MSG_NDEF_TAG = 0; - - private static final int MSG_CARD_EMULATION = 1; - - private static final int MSG_LLCP_LINK_ACTIVATION = 2; - - private static final int MSG_LLCP_LINK_DEACTIVATED = 3; - - private static final int MSG_TARGET_DESELECTED = 4; - - public NativeNfcManager(Context context) { - mNfcHandler = new NfcHandler(); - mContext = context; - } - - /** - * Initializes Native structure - */ - public native boolean initializeNativeStructure(); - - /** - * Initializes NFC stack. - */ - public native boolean initialize(); - - /** - * Deinitializes NFC stack. - */ - public native boolean deinitialize(); - - /** - * Enable discory for the NdefMessage and Transaction notification - */ - public native void enableDiscovery(int mode); - - public native void disableDiscovery(); - - public native void readerDiscovery(); - - /** - * Disables an NFCManager mode of operation. Allows to disable tag reader, - * peer to peer initiator or target modes. - * - * @param mode discovery mode to enable. Must be one of the provided - * NFCManager.DISCOVERY_MODE_* constants. - */ - public native void disableDiscoveryMode(int mode); - - public native int[] doGetSecureElementList(); - - public native void doSelectSecureElement(int seID); - - public native void doDeselectSecureElement(int seID); - - public native NativeP2pDevice doOpenP2pConnection(int timeout); - - public native NativeNfcTag doOpenTagConnection(int timeout); - - public native int doGetLastError(); - - public native void doSetProperties(int param, int value); - - public native void doCancel(); - - public native NativeLlcpConnectionlessSocket doCreateLlcpConnectionlessSocket(int nSap); - - public native NativeLlcpServiceSocket doCreateLlcpServiceSocket(int nSap, String sn, int miu, - int rw, int linearBufferLength); - - public native NativeLlcpSocket doCreateLlcpSocket(int sap, int miu, int rw, - int linearBufferLength); - - public native boolean doCheckLlcp(); - - public native boolean doActivateLlcp(); - - private class NfcHandler extends Handler { - - private int convertType(String typeName) { - if (typeName.equals("Iso14443")) { - return Tag.NFC_TAG_ISO14443_4B; - } else if (typeName.equals("MifareUL")) { - return Tag.NFC_TAG_MIFARE; - } else if (typeName.equals("Mifare1K")) { - return Tag.NFC_TAG_MIFARE; - } else if (typeName.equals("Mifare4K")) { - return Tag.NFC_TAG_MIFARE; - } else if (typeName.equals("MifareDESFIRE")) { - return Tag.NFC_TAG_MIFARE; - } else if (typeName.equals("Unknown Mifare")) { - return Tag.NFC_TAG_MIFARE; - } else if (typeName.equals("Felica")) { - return Tag.NFC_TAG_FELICA; - } else if (typeName.equals("Jewel")) { - return Tag.NFC_TAG_JEWEL; - } else { - return Tag.NFC_TAG_OTHER; - } - } - - @Override - public void handleMessage(Message msg) { - - try { - switch (msg.what) { - case MSG_NDEF_TAG: - Log.d(TAG, "Tag detected, notifying applications"); - NativeNfcTag nativeTag = (NativeNfcTag) msg.obj; - if (nativeTag.doConnect()) { - if (nativeTag.checkNDEF()) { - byte[] buff = nativeTag.doRead(); - if (buff != null) { - NdefMessage[] msgNdef = new NdefMessage[1]; - try { - msgNdef[0] = new NdefMessage(buff); - NdefTag tag = new NdefTag(convertType(nativeTag.getType()), nativeTag.getUid(), nativeTag.getHandle(), msgNdef); - Intent intent = new Intent(); - intent.setAction(NfcAdapter.ACTION_NDEF_TAG_DISCOVERED); - intent.putExtra(NfcAdapter.EXTRA_TAG, tag); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - Log.d(TAG, "NDEF tag found, starting corresponding activity"); - try { - mContext.startActivity(intent); - } catch (ActivityNotFoundException e) { - Log.w(TAG, "No activity found, disconnecting"); - nativeTag.doAsyncDisconnect(); - } - } catch (FormatException e) { - Log.w(TAG, "Unable to create NDEF message object (tag empty or not well formated)"); - nativeTag.doAsyncDisconnect(); - } - } else { - Log.w(TAG, "Unable to read NDEF message (tag empty or not well formated)"); - nativeTag.doAsyncDisconnect(); - } - } else { - Intent intent = new Intent(); - Tag tag = new Tag(convertType(nativeTag.getType()), false, nativeTag.getUid(), nativeTag.getHandle()); - intent.setAction(NfcAdapter.ACTION_TAG_DISCOVERED); - intent.putExtra(NfcAdapter.EXTRA_TAG, tag); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - Log.d(TAG, "Non-NDEF tag found, starting corresponding activity"); - try { - mContext.startActivity(intent); - } catch (ActivityNotFoundException e) { - Log.w(TAG, "No activity found, disconnecting"); - nativeTag.doAsyncDisconnect(); - } - } - } else { - Log.w(TAG, "Failed to connect to tag"); - nativeTag.doAsyncDisconnect(); - } - break; - case MSG_CARD_EMULATION: - Log.d(TAG, "Card Emulation message"); - byte[] aid = (byte[]) msg.obj; - /* Send broadcast ordered */ - Intent TransactionIntent = new Intent(); - TransactionIntent.setAction(NfcAdapter.ACTION_TRANSACTION_DETECTED); - TransactionIntent.putExtra(NfcAdapter.EXTRA_AID, aid); - Log.d(TAG, "Broadcasting Card Emulation event"); - mContext.sendOrderedBroadcast(TransactionIntent, - android.Manifest.permission.NFC_NOTIFY); - break; - - case MSG_LLCP_LINK_ACTIVATION: - NativeP2pDevice device = (NativeP2pDevice) msg.obj; - - Log.d(TAG, "LLCP Activation message"); - - if (device.getMode() == NativeP2pDevice.MODE_P2P_TARGET) { - if (device.doConnect()) { - /* Check Llcp compliancy */ - if (doCheckLlcp()) { - /* Activate Llcp Link */ - if (doActivateLlcp()) { - Log.d(TAG, "Initiator Activate LLCP OK"); - /* Broadcast Intent Link LLCP activated */ - Intent LlcpLinkIntent = new Intent(); - LlcpLinkIntent - .setAction(INTERNAL_LLCP_LINK_STATE_CHANGED_ACTION); - LlcpLinkIntent.putExtra( - INTERNAL_LLCP_LINK_STATE_CHANGED_EXTRA, - NfcAdapter.LLCP_LINK_STATE_ACTIVATED); - Log.d(TAG, "Broadcasting internal LLCP activation"); - mContext.sendBroadcast(LlcpLinkIntent); - } - - } else { - device.doDisconnect(); - } - - } - - } else if (device.getMode() == NativeP2pDevice.MODE_P2P_INITIATOR) { - /* Check Llcp compliancy */ - if (doCheckLlcp()) { - /* Activate Llcp Link */ - if (doActivateLlcp()) { - Log.d(TAG, "Target Activate LLCP OK"); - /* Broadcast Intent Link LLCP activated */ - Intent LlcpLinkIntent = new Intent(); - LlcpLinkIntent - .setAction(INTERNAL_LLCP_LINK_STATE_CHANGED_ACTION); - LlcpLinkIntent.putExtra(INTERNAL_LLCP_LINK_STATE_CHANGED_EXTRA, - NfcAdapter.LLCP_LINK_STATE_ACTIVATED); - Log.d(TAG, "Broadcasting internal LLCP activation"); - mContext.sendBroadcast(LlcpLinkIntent); - } - } - } - break; - - case MSG_LLCP_LINK_DEACTIVATED: - /* Broadcast Intent Link LLCP activated */ - Log.d(TAG, "LLCP Link Deactivated message"); - Intent LlcpLinkIntent = new Intent(); - LlcpLinkIntent.setAction(NfcAdapter.ACTION_LLCP_LINK_STATE_CHANGED); - LlcpLinkIntent.putExtra(NfcAdapter.EXTRA_LLCP_LINK_STATE_CHANGED, - NfcAdapter.LLCP_LINK_STATE_DEACTIVATED); - Log.d(TAG, "Broadcasting LLCP deactivation"); - mContext.sendOrderedBroadcast(LlcpLinkIntent, - android.Manifest.permission.NFC_LLCP); - break; - - case MSG_TARGET_DESELECTED: - /* Broadcast Intent Target Deselected */ - Log.d(TAG, "Target Deselected"); - Intent TargetDeselectedIntent = new Intent(); - TargetDeselectedIntent.setAction(INTERNAL_TARGET_DESELECTED_ACTION); - Log.d(TAG, "Broadcasting Intent"); - mContext.sendOrderedBroadcast(TargetDeselectedIntent, - android.Manifest.permission.NFC_LLCP); - break; - - default: - Log.e(TAG, "Unknown message received"); - break; - } - } catch (Exception e) { - // Log, don't crash! - Log.e(TAG, "Exception in NfcHandler.handleMessage:", e); - } - } - }; - - /** - * Notifies Ndef Message - */ - private void notifyNdefMessageListeners(NativeNfcTag tag) { - Message msg = mNfcHandler.obtainMessage(); - - msg.what = MSG_NDEF_TAG; - msg.obj = tag; - - mNfcHandler.sendMessage(msg); - } - - /** - * Notifies transaction - */ - private void notifyTargetDeselected() { - Message msg = mNfcHandler.obtainMessage(); - - msg.what = MSG_TARGET_DESELECTED; - - mNfcHandler.sendMessage(msg); - } - - /** - * Notifies transaction - */ - private void notifyTransactionListeners(byte[] aid) { - Message msg = mNfcHandler.obtainMessage(); - - msg.what = MSG_CARD_EMULATION; - msg.obj = aid; - - mNfcHandler.sendMessage(msg); - } - - /** - * Notifies P2P Device detected, to activate LLCP link - */ - private void notifyLlcpLinkActivation(NativeP2pDevice device) { - Message msg = mNfcHandler.obtainMessage(); - - msg.what = MSG_LLCP_LINK_ACTIVATION; - msg.obj = device; - - mNfcHandler.sendMessage(msg); - } - - /** - * Notifies P2P Device detected, to activate LLCP link - */ - private void notifyLlcpLinkDeactivated() { - Message msg = mNfcHandler.obtainMessage(); - - msg.what = MSG_LLCP_LINK_DEACTIVATED; - - mNfcHandler.sendMessage(msg); - } - -} diff --git a/core/java/com/trustedlogic/trustednfc/android/internal/NativeNfcTag.java b/core/java/com/trustedlogic/trustednfc/android/internal/NativeNfcTag.java deleted file mode 100644 index 47cf45b..0000000 --- a/core/java/com/trustedlogic/trustednfc/android/internal/NativeNfcTag.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * File : NativeNfcTag.java - * Original-Author : Trusted Logic S.A. (Sylvain Fonteneau) - * Created : 18-02-2010 - */ - -package com.trustedlogic.trustednfc.android.internal; - -/** - * Native interface to the NFC tag functions - * - * @hide - */ -public class NativeNfcTag { - private int mHandle; - - private String mType; - - private byte[] mUid; - - public native boolean doConnect(); - - public native boolean doDisconnect(); - - public native void doAsyncDisconnect(); - - public native byte[] doTransceive(byte[] data); - - public native boolean checkNDEF(); - - public native byte[] doRead(); - - public native boolean doWrite(byte[] buf); - - private NativeNfcTag() { - } - - public NativeNfcTag(int handle, String type, byte[] uid) { - mHandle = handle; - mType = type; - mUid = uid.clone(); - } - - public int getHandle() { - return mHandle; - } - - public String getType() { - return mType; - } - - public byte[] getUid() { - return mUid; - } -} diff --git a/core/java/com/trustedlogic/trustednfc/android/internal/NativeP2pDevice.java b/core/java/com/trustedlogic/trustednfc/android/internal/NativeP2pDevice.java deleted file mode 100644 index c674309..0000000 --- a/core/java/com/trustedlogic/trustednfc/android/internal/NativeP2pDevice.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * File : NativeP2pDevice.java - * Original-Author : Trusted Logic S.A. (Sylvain Fonteneau) - * Created : 18-02-2010 - */ - -package com.trustedlogic.trustednfc.android.internal; - -/** - * Native interface to the P2P Initiator functions - * - * @hide - */ -public class NativeP2pDevice { - - /** - * Peer-to-Peer Target. - */ - public static final short MODE_P2P_TARGET = 0x00; - - /** - * Peer-to-Peer Initiator. - */ - public static final short MODE_P2P_INITIATOR = 0x01; - - /** - * Invalid target type. - */ - public static final short MODE_INVALID = 0xff; - - private int mHandle; - - private int mMode; - - private byte[] mGeneralBytes; - - public native byte[] doReceive(); - - public native boolean doSend(byte[] data); - - public native boolean doConnect(); - - public native boolean doDisconnect(); - - public native byte[] doTransceive(byte[] data); - - public int getHandle() { - return mHandle; - } - - public int getMode() { - return mMode; - } - - public byte[] getGeneralBytes() { - return mGeneralBytes; - } - -} |