summaryrefslogtreecommitdiff
path: root/src/com/android/se/SecureElementService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/se/SecureElementService.java')
-rwxr-xr-xsrc/com/android/se/SecureElementService.java21
1 files changed, 5 insertions, 16 deletions
diff --git a/src/com/android/se/SecureElementService.java b/src/com/android/se/SecureElementService.java
index 7f544e3..2451c4e 100755
--- a/src/com/android/se/SecureElementService.java
+++ b/src/com/android/se/SecureElementService.java
@@ -194,11 +194,15 @@ public final class SecureElementService extends Service {
private void addTerminals(String terminalName) {
int index = 1;
String name = null;
+ if (terminalName.startsWith(SecureElementService.UICC_TERMINAL)) {
+ index = mActiveSimCount + 1;
+ }
try {
do {
name = terminalName + Integer.toString(index);
Terminal terminal = new Terminal(name, this);
+ Log.i(mTag, "Check if terminal " + name + " is available.");
// Only retry on fail for the first terminal of each type.
terminal.initialize(index == 1);
mTerminals.put(name, terminal);
@@ -220,7 +224,6 @@ public final class SecureElementService extends Service {
}
private void refreshUiccTerminals(int activeSimCount) {
- int index = 1;
String name = null;
synchronized (this) {
if (activeSimCount < mActiveSimCount) {
@@ -238,21 +241,7 @@ public final class SecureElementService extends Service {
mActiveSimCount = activeSimCount;
} else if (activeSimCount > mActiveSimCount) {
// Try to initialize new UICC terminals
- try {
- index = mActiveSimCount + 1;
- do {
- name = UICC_TERMINAL + Integer.toString(index);
- Log.i(mTag, "Check if terminal " + name + " is available.");
- Terminal terminal = new Terminal(name, this);
- terminal.initialize(true);
- mTerminals.put(name, terminal);
- mActiveSimCount = index;
- } while (++index <= activeSimCount);
- } catch (NoSuchElementException e) {
- Log.i(mTag, "No HAL implementation for " + name);
- } catch (RemoteException | RuntimeException e) {
- Log.e(mTag, "Error in getService() for " + name);
- }
+ addTerminals(UICC_TERMINAL);
}
}
}