Compare commits
3 commits
c6dc44c0e3
...
e493a8e885
Author | SHA1 | Date | |
---|---|---|---|
|
e493a8e885 | ||
|
195861f24b | ||
|
9b901ae6ce |
|
@ -81,10 +81,12 @@ open class EuiccChannelManager(protected val context: Context) {
|
|||
var euiccChannel: EuiccChannel? = tryOpenEuiccChannelPrivileged(uiccInfo, channelInfo)
|
||||
|
||||
if (euiccChannel == null) {
|
||||
Log.i(TAG, "Trying OMAPI for slot ${uiccInfo.slotIndex}")
|
||||
try {
|
||||
euiccChannel = OmapiChannel(seService!!, channelInfo)
|
||||
} catch (e: IllegalArgumentException) {
|
||||
// Failed
|
||||
Log.w(TAG, "OMAPI APDU interface unavailable for slot ${uiccInfo.slotIndex}.")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,12 +13,13 @@ class PrivilegedEuiccChannelManager(context: Context): EuiccChannelManager(conte
|
|||
|
||||
override fun tryOpenEuiccChannelPrivileged(uiccInfo: UiccCardInfo, channelInfo: EuiccChannelInfo): EuiccChannel? {
|
||||
if (uiccInfo.isEuicc && !uiccInfo.isRemovable) {
|
||||
Log.d(TAG, "Using TelephonyManager for slot ${uiccInfo.slotIndex}")
|
||||
Log.i(TAG, "Trying TelephonyManager for slot ${uiccInfo.slotIndex}")
|
||||
// TODO: On Tiramisu, we should also connect all available "ports" for MEP support
|
||||
try {
|
||||
return TelephonyManagerChannel(channelInfo, tm)
|
||||
} catch (e: IllegalArgumentException) {
|
||||
// Failed
|
||||
Log.w(TAG, "TelephonyManager APDU interface unavailable for slot ${uiccInfo.slotIndex}, falling back")
|
||||
}
|
||||
}
|
||||
return null
|
||||
|
|
|
@ -12,6 +12,12 @@ android {
|
|||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
consumerProguardFiles "consumer-rules.pro"
|
||||
|
||||
externalNativeBuild {
|
||||
ndkBuild {
|
||||
arguments '-j4'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
|
|
|
@ -1,14 +1,29 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
# function to find all *.c files under a directory
|
||||
# Detecting the operating system
|
||||
ifeq ($(OS),Windows_NT)
|
||||
# Windows-specific commands
|
||||
define all-c-files-under
|
||||
$(patsubst ./%,%, \
|
||||
$(shell cd $(LOCAL_PATH) ; \
|
||||
find $(1) -name "*.c" -and -not -name ".*" -maxdepth 1) \
|
||||
)
|
||||
$(patsubst .\%,%, \
|
||||
$(shell cd $(LOCAL_PATH) & \
|
||||
dir /b/s $(subst /,\,$(1))\*.c) \
|
||||
)
|
||||
endef
|
||||
else
|
||||
# UNIX commands
|
||||
define all-c-files-under
|
||||
$(patsubst ./%,%, \
|
||||
$(shell cd $(LOCAL_PATH) ; \
|
||||
find $(1) -name "*.c" -and -not -name ".*" -maxdepth 1) \
|
||||
)
|
||||
endef
|
||||
endif
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_SHORT_COMMANDS := true
|
||||
APP_SHORT_COMMANDS := true
|
||||
|
||||
# libcjson
|
||||
LOCAL_MODULE := lpac-cjson
|
||||
LOCAL_SRC_FILES := \
|
||||
|
@ -16,6 +31,9 @@ LOCAL_SRC_FILES := \
|
|||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_SHORT_COMMANDS := true
|
||||
APP_SHORT_COMMANDS := true
|
||||
|
||||
# libasn1c, the ASN parser component from lpac
|
||||
LOCAL_MODULE := lpac-asn1c
|
||||
LOCAL_C_INCLUDES := \
|
||||
|
@ -26,6 +44,9 @@ LOCAL_CFLAGS := -DHAVE_CONFIG_H
|
|||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_SHORT_COMMANDS := true
|
||||
APP_SHORT_COMMANDS := true
|
||||
|
||||
# libeuicc component from lpac, which contains the actual implementation
|
||||
LOCAL_MODULE := lpac-euicc
|
||||
LOCAL_STATIC_LIBRARIES := lpac-asn1c lpac-cjson
|
||||
|
@ -36,6 +57,9 @@ LOCAL_SRC_FILES := \
|
|||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_SHORT_COMMANDS := true
|
||||
APP_SHORT_COMMANDS := true
|
||||
|
||||
LOCAL_MODULE := lpac-jni
|
||||
LOCAL_STATIC_LIBRARIES := lpac-euicc
|
||||
LOCAL_C_INCLUDES := \
|
||||
|
|
Loading…
Reference in a new issue