Skip to content

Commit

Permalink
NFC_NCIHALx_AR0F.3.5.0_L_OpnSrc
Browse files Browse the repository at this point in the history
  • Loading branch information
nxpandroid committed Sep 23, 2015
0 parents commit 57a001b
Show file tree
Hide file tree
Showing 86 changed files with 15,248 additions and 0 deletions.
986 changes: 986 additions & 0 deletions Android.mk

Large diffs are not rendered by default.

19 changes: 19 additions & 0 deletions core/java/android/nfc/ApduList.aidl
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2011 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.
*/

package android.nfc;

parcelable ApduList;
66 changes: 66 additions & 0 deletions core/java/android/nfc/ApduList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package android.nfc;

import android.os.Parcel;
import android.os.Parcelable;

import java.util.ArrayList;
import java.util.List;

/**
* @hide
*/
public class ApduList implements Parcelable {

private ArrayList<byte[]> commands = new ArrayList<byte[]>();

public ApduList() {
}

public void add(byte[] command) {
commands.add(command);
}

public List<byte[]> get() {
return commands;
}

public static final Parcelable.Creator<ApduList> CREATOR =
new Parcelable.Creator<ApduList>() {
@Override
public ApduList createFromParcel(Parcel in) {
return new ApduList(in);
}

@Override
public ApduList[] newArray(int size) {
return new ApduList[size];
}
};

private ApduList(Parcel in) {
int count = in.readInt();

for (int i = 0 ; i < count ; i++) {

int length = in.readInt();
byte[] cmd = new byte[length];
in.readByteArray(cmd);
commands.add(cmd);
}
}

@Override
public int describeContents() {
return 0;
}

@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(commands.size());

for (byte[] cmd : commands) {
dest.writeInt(cmd.length);
dest.writeByteArray(cmd);
}
}
}
19 changes: 19 additions & 0 deletions core/java/android/nfc/BeamShareData.aidl
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2013 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.
*/

package android.nfc;

parcelable BeamShareData;
67 changes: 67 additions & 0 deletions core/java/android/nfc/BeamShareData.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
package android.nfc;

import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.UserHandle;

/**
* Class to IPC data to be shared over Android Beam.
* Allows bundling NdefMessage, Uris and flags in a single
* IPC call. This is important as we want to reduce the
* amount of IPC calls at "touch time".
* @hide
*/
public final class BeamShareData implements Parcelable {
public final NdefMessage ndefMessage;
public final Uri[] uris;
public final int flags;
public final UserHandle userHandle;

public BeamShareData(NdefMessage msg, Uri[] uris, UserHandle userHandle, int flags) {
this.ndefMessage = msg;
this.uris = uris;
this.userHandle = userHandle;
this.flags = flags;
}

@Override
public int describeContents() {
return 0;
}

@Override
public void writeToParcel(Parcel dest, int flags) {
int urisLength = (uris != null) ? uris.length : 0;
dest.writeParcelable(ndefMessage, 0);
dest.writeInt(urisLength);
if (urisLength > 0) {
dest.writeTypedArray(uris, 0);
}
dest.writeParcelable(userHandle, 0);
dest.writeInt(this.flags);
}

public static final Parcelable.Creator<BeamShareData> CREATOR =
new Parcelable.Creator<BeamShareData>() {
@Override
public BeamShareData createFromParcel(Parcel source) {
Uri[] uris = null;
NdefMessage msg = source.readParcelable(NdefMessage.class.getClassLoader());
int numUris = source.readInt();
if (numUris > 0) {
uris = new Uri[numUris];
source.readTypedArray(uris, Uri.CREATOR);
}
UserHandle userHandle = source.readParcelable(UserHandle.class.getClassLoader());
int flags = source.readInt();

return new BeamShareData(msg, uris, userHandle, flags);
}

@Override
public BeamShareData[] newArray(int size) {
return new BeamShareData[size];
}
};
}
111 changes: 111 additions & 0 deletions core/java/android/nfc/ErrorCodes.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
/*
* 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.
*/

package android.nfc;

/**
* This class defines all the error codes that can be returned by the service
* and producing an exception on the application level. These are needed since
* binders does not support exceptions.
*
* @hide
*/
public class ErrorCodes {

public static boolean isError(int code) {
if (code < 0) {
return true;
} else {
return false;
}
}

public static String asString(int code) {
switch (code) {
case SUCCESS: return "SUCCESS";
case ERROR_IO: return "IO";
case ERROR_CANCELLED: return "CANCELLED";
case ERROR_TIMEOUT: return "TIMEOUT";
case ERROR_BUSY: return "BUSY";
case ERROR_CONNECT: return "CONNECT/DISCONNECT";
// case ERROR_DISCONNECT: return "DISCONNECT";
case ERROR_READ: return "READ";
case ERROR_WRITE: return "WRITE";
case ERROR_INVALID_PARAM: return "INVALID_PARAM";
case ERROR_INSUFFICIENT_RESOURCES: return "INSUFFICIENT_RESOURCES";
case ERROR_SOCKET_CREATION: return "SOCKET_CREATION";
case ERROR_SOCKET_NOT_CONNECTED: return "SOCKET_NOT_CONNECTED";
case ERROR_BUFFER_TO_SMALL: return "BUFFER_TO_SMALL";
case ERROR_SAP_USED: return "SAP_USED";
case ERROR_SERVICE_NAME_USED: return "SERVICE_NAME_USED";
case ERROR_SOCKET_OPTIONS: return "SOCKET_OPTIONS";
case ERROR_NFC_ON: return "NFC_ON";
case ERROR_NOT_INITIALIZED: return "NOT_INITIALIZED";
case ERROR_SE_ALREADY_SELECTED: return "SE_ALREADY_SELECTED";
case ERROR_SE_CONNECTED: return "SE_CONNECTED";
case ERROR_NO_SE_CONNECTED: return "NO_SE_CONNECTED";
case ERROR_NOT_SUPPORTED: return "NOT_SUPPORTED";
default: return "UNKNOWN ERROR";
}
}

public static final int SUCCESS = 0;

public static final int ERROR_IO = -1;

public static final int ERROR_CANCELLED = -2;

public static final int ERROR_TIMEOUT = -3;

public static final int ERROR_BUSY = -4;

public static final int ERROR_CONNECT = -5;

public static final int ERROR_DISCONNECT = -5;

public static final int ERROR_READ = -6;

public static final int ERROR_WRITE = -7;

public static final int ERROR_INVALID_PARAM = -8;

public static final int ERROR_INSUFFICIENT_RESOURCES = -9;

public static final int ERROR_SOCKET_CREATION = -10;

public static final int ERROR_SOCKET_NOT_CONNECTED = -11;

public static final int ERROR_BUFFER_TO_SMALL = -12;

public static final int ERROR_SAP_USED = -13;

public static final int ERROR_SERVICE_NAME_USED = -14;

public static final int ERROR_SOCKET_OPTIONS = -15;

public static final int ERROR_NFC_ON = -16;

public static final int ERROR_NOT_INITIALIZED = -17;

public static final int ERROR_SE_ALREADY_SELECTED = -18;

public static final int ERROR_SE_CONNECTED = -19;

public static final int ERROR_NO_SE_CONNECTED = -20;

public static final int ERROR_NOT_SUPPORTED = -21;

}
31 changes: 31 additions & 0 deletions core/java/android/nfc/FormatException.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* 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.
*/

package android.nfc;

public class FormatException extends Exception {
public FormatException() {
super();
}

public FormatException(String message) {
super(message);
}

public FormatException(String message, Throwable e) {
super(message, e);
}
}
30 changes: 30 additions & 0 deletions core/java/android/nfc/IAppCallback.aidl
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* Copyright (C) 2011 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.
*/

package android.nfc;

import android.nfc.BeamShareData;
import android.nfc.Tag;

/**
* @hide
*/
interface IAppCallback
{
BeamShareData createBeamShareData();
void onNdefPushComplete();
void onTagDiscovered(in Tag tag);
}
Loading

0 comments on commit 57a001b

Please sign in to comment.