From e7571aefc501bd8415d28090b2d19148b190a218 Mon Sep 17 00:00:00 2001 From: ziyiw Date: Wed, 23 Oct 2024 17:10:32 +0000 Subject: [framework] Handle more possible route string from service. There are more possible values for routing status. Should only check if the return value has these prefixes. Bug: 356419585 Test: atest CtsNfcTestCases Change-Id: I7626573dce4bcb59ee7ac6aa35dd162f60d2fbae --- nfc/java/android/nfc/NfcOemExtension.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/nfc/java/android/nfc/NfcOemExtension.java b/nfc/java/android/nfc/NfcOemExtension.java index 905d6f68a8a0..520ba896f01f 100644 --- a/nfc/java/android/nfc/NfcOemExtension.java +++ b/nfc/java/android/nfc/NfcOemExtension.java @@ -923,12 +923,15 @@ public final class NfcOemExtension { } private @CardEmulation.ProtocolAndTechnologyRoute int routeStringToInt(String route) { - return switch (route) { - case "DH" -> PROTOCOL_AND_TECHNOLOGY_ROUTE_DH; - case "eSE" -> PROTOCOL_AND_TECHNOLOGY_ROUTE_ESE; - case "SIM" -> PROTOCOL_AND_TECHNOLOGY_ROUTE_UICC; - default -> throw new IllegalStateException("Unexpected value: " + route); - }; + if (route.equals("DH")) { + return PROTOCOL_AND_TECHNOLOGY_ROUTE_DH; + } else if (route.startsWith("eSE")) { + return PROTOCOL_AND_TECHNOLOGY_ROUTE_ESE; + } else if (route.startsWith("SIM")) { + return PROTOCOL_AND_TECHNOLOGY_ROUTE_UICC; + } else { + throw new IllegalStateException("Unexpected value: " + route); + } } private class ReceiverWrapper implements Consumer { -- cgit v1.2.3-59-g8ed1b