Code sync to aosp branch
Sync internal branch code refactor to aosp.
Bug: 152008670
Test: adb shell dumpsys secure_element
Change-Id: Ib7e2d0d6ca12669d11e7c2319dd1f8e04c958400
diff --git a/src/com/android/se/SecureElementService.java b/src/com/android/se/SecureElementService.java
index 76362b9..099bc29 100644
--- a/src/com/android/se/SecureElementService.java
+++ b/src/com/android/se/SecureElementService.java
@@ -169,11 +169,15 @@
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);
@@ -195,7 +199,6 @@
}
private void refreshUiccTerminals(int activeSimCount) {
- int index = 1;
String name = null;
synchronized (this) {
if (activeSimCount < mActiveSimCount) {
@@ -213,21 +216,7 @@
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);
}
}
}