Loading core/java/android/nfc/tech/MifareClassic.java +13 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.os.RemoteException; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; /** * Technology class representing MIFARE Classic tags (also known as MIFARE Standard). Loading Loading @@ -328,12 +329,14 @@ public final class MifareClassic extends BasicTagTechnology { */ public void increment(int blockIndex, int value) throws IOException { validateBlock(blockIndex); validateValueOperand(value); checkConnected(); ByteBuffer cmd = ByteBuffer.allocate(6); cmd.order(ByteOrder.LITTLE_ENDIAN); cmd.put( (byte) 0xC1 ); cmd.put( (byte) blockIndex ); cmd.putInt(value); // ByteBuffer does the correct big endian translation cmd.putInt(value); transceive(cmd.array(), false); } Loading @@ -345,16 +348,24 @@ public final class MifareClassic extends BasicTagTechnology { */ public void decrement(int blockIndex, int value) throws IOException { validateBlock(blockIndex); validateValueOperand(value); checkConnected(); ByteBuffer cmd = ByteBuffer.allocate(6); cmd.order(ByteOrder.LITTLE_ENDIAN); cmd.put( (byte) 0xC0 ); cmd.put( (byte) blockIndex ); cmd.putInt(value); // ByteBuffer does the correct big endian translation cmd.putInt(value); transceive(cmd.array(), false); } private void validateValueOperand(int value) { if (value < 0) { throw new IllegalArgumentException("value operand negative"); } } /** * Copy from temporary memory to value block. * @param blockIndex Loading Loading
core/java/android/nfc/tech/MifareClassic.java +13 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.os.RemoteException; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; /** * Technology class representing MIFARE Classic tags (also known as MIFARE Standard). Loading Loading @@ -328,12 +329,14 @@ public final class MifareClassic extends BasicTagTechnology { */ public void increment(int blockIndex, int value) throws IOException { validateBlock(blockIndex); validateValueOperand(value); checkConnected(); ByteBuffer cmd = ByteBuffer.allocate(6); cmd.order(ByteOrder.LITTLE_ENDIAN); cmd.put( (byte) 0xC1 ); cmd.put( (byte) blockIndex ); cmd.putInt(value); // ByteBuffer does the correct big endian translation cmd.putInt(value); transceive(cmd.array(), false); } Loading @@ -345,16 +348,24 @@ public final class MifareClassic extends BasicTagTechnology { */ public void decrement(int blockIndex, int value) throws IOException { validateBlock(blockIndex); validateValueOperand(value); checkConnected(); ByteBuffer cmd = ByteBuffer.allocate(6); cmd.order(ByteOrder.LITTLE_ENDIAN); cmd.put( (byte) 0xC0 ); cmd.put( (byte) blockIndex ); cmd.putInt(value); // ByteBuffer does the correct big endian translation cmd.putInt(value); transceive(cmd.array(), false); } private void validateValueOperand(int value) { if (value < 0) { throw new IllegalArgumentException("value operand negative"); } } /** * Copy from temporary memory to value block. * @param blockIndex Loading