summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-28 16:06:40 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-28 16:06:40 +0000
commit298a029a7c91147e135c7ff13090b12579ae69ad (patch)
treeaf813a20e0885d7023918091b9340b82ec24af54
parentd9e6cb29bbab600b07f93e781d4525238ff729fd (diff)
parent61354891677ecf9f11f228da67465fc18b2de7c4 (diff)
downloadSecureElement-298a029a7c91147e135c7ff13090b12579ae69ad.tar.gz
Snap for 8512216 from 61354891677ecf9f11f228da67465fc18b2de7c4 to tm-frc-art-release
Change-Id: Ic530bec831a5cf28126e16265fb6ec163850ab13
-rwxr-xr-x[-rw-r--r--]src/com/android/se/Channel.java12
-rw-r--r--src/com/android/se/SecureElementService.java20
-rw-r--r--src/com/android/se/Terminal.java10
-rwxr-xr-xsrc/com/android/se/internal/Util.java2
4 files changed, 42 insertions, 2 deletions
diff --git a/src/com/android/se/Channel.java b/src/com/android/se/Channel.java
index d6df415..73622fc 100644..100755
--- a/src/com/android/se/Channel.java
+++ b/src/com/android/se/Channel.java
@@ -213,7 +213,7 @@ public class Channel implements IBinder.DeathRecipient {
cla = (byte) ((cla & 0xBC) | channelNumber);
} else if (channelNumber < 20) {
// b7 = 1 indicates the further interindustry class byte coding
- boolean isSm = (cla & 0x0C) != 0;
+ boolean isSm = (((cla & 0x40) == 0x00) && ((cla & 0x0C) != 0));
cla = (byte) ((cla & 0xB0) | 0x40 | (channelNumber - 4));
if (isSm) {
cla |= 0x20;
@@ -330,5 +330,15 @@ public class Channel implements IBinder.DeathRecipient {
throw new ServiceSpecificException(SEService.IO_ERROR, e.getMessage());
}
}
+
+ @Override
+ public String getInterfaceHash() {
+ return ISecureElementChannel.HASH;
+ }
+
+ @Override
+ public int getInterfaceVersion() {
+ return ISecureElementChannel.VERSION;
+ }
}
}
diff --git a/src/com/android/se/SecureElementService.java b/src/com/android/se/SecureElementService.java
index d3efb11..20ae533 100644
--- a/src/com/android/se/SecureElementService.java
+++ b/src/com/android/se/SecureElementService.java
@@ -152,6 +152,16 @@ public final class SecureElementService extends Service {
terminal.dump(writer);
}
}
+
+ @Override
+ public String getInterfaceHash() {
+ return ISecureElementService.HASH;
+ }
+
+ @Override
+ public int getInterfaceVersion() {
+ return ISecureElementService.VERSION;
+ }
}
private final ISecureElementService.Stub mSecureElementServiceBinder =
@@ -488,6 +498,16 @@ public final class SecureElementService extends Service {
}
return channel.new SecureElementChannel();
}
+
+ @Override
+ public String getInterfaceHash() {
+ return ISecureElementSession.HASH;
+ }
+
+ @Override
+ public int getInterfaceVersion() {
+ return ISecureElementSession.VERSION;
+ }
}
private final BroadcastReceiver mMultiSimConfigChangedReceiver = new BroadcastReceiver() {
diff --git a/src/com/android/se/Terminal.java b/src/com/android/se/Terminal.java
index 1c055a0..d338cf8 100644
--- a/src/com/android/se/Terminal.java
+++ b/src/com/android/se/Terminal.java
@@ -995,5 +995,15 @@ public class Terminal {
public boolean reset() {
return Terminal.this.reset();
}
+
+ @Override
+ public String getInterfaceHash() {
+ return ISecureElementReader.HASH;
+ }
+
+ @Override
+ public int getInterfaceVersion() {
+ return ISecureElementReader.VERSION;
+ }
}
}
diff --git a/src/com/android/se/internal/Util.java b/src/com/android/se/internal/Util.java
index 8e9cfe3..8a52962 100755
--- a/src/com/android/se/internal/Util.java
+++ b/src/com/android/se/internal/Util.java
@@ -135,7 +135,7 @@ public class Util {
cla = (byte) ((cla & 0xBC) | channelNumber);
} else if (channelNumber < 20) {
// b7 = 1 indicates the further interindustry class byte coding
- boolean isSM = (cla & 0x0C) != 0;
+ boolean isSM = (((cla & 0x40) == 0x00) && ((cla & 0x0C) != 0));
cla = (byte) ((cla & 0xB0) | 0x40 | (channelNumber - 4));
if (isSM) {
cla |= 0x20;