Compare commits
2 commits
9af4518d0f
...
ebfca5b309
Author | SHA1 | Date | |
---|---|---|---|
ebfca5b309 | |||
9a63011036 |
4 changed files with 39 additions and 31 deletions
|
@ -7,7 +7,9 @@ data class LocalProfileInfo(
|
|||
val nickName: String,
|
||||
val providerName: String,
|
||||
val isdpAID: String,
|
||||
val profileClass: ProfileClass
|
||||
val profileClass: ProfileClass,
|
||||
val iconType: String,
|
||||
val icon: String,
|
||||
)
|
||||
|
||||
enum class ProfileState { Enabled, Disabled }
|
||||
|
|
|
@ -147,6 +147,8 @@ Java_net_typeblog_lpac_1jni_LpacJni_es10cGetProfilesInfo(
|
|||
"Ljava/lang/String;" // provider name
|
||||
"Ljava/lang/String;" // ISD-P AID
|
||||
"Lnet/typeblog/lpac_jni/ProfileClass;"
|
||||
"Ljava/lang/String;" // icon type
|
||||
"Ljava/lang/String;" // icon
|
||||
")"
|
||||
"V" // (returns) void
|
||||
);
|
||||
|
@ -164,7 +166,9 @@ Java_net_typeblog_lpac_1jni_LpacJni_es10cGetProfilesInfo(
|
|||
toJString(env, info->profileNickname),
|
||||
toJString(env, info->serviceProviderName),
|
||||
toJString(env, info->isdpAid),
|
||||
to_profile_class(info->profileClass)
|
||||
to_profile_class(info->profileClass),
|
||||
to_icon_type(env, info->iconType),
|
||||
toJString(env, info->icon)
|
||||
);
|
||||
(*env)->CallBooleanMethod(env, profile_list, add_profile, element);
|
||||
info = info->next;
|
||||
|
|
|
@ -45,27 +45,26 @@ static void init_string_class(JNIEnv *env) {
|
|||
empty_string = (*env)->NewGlobalRef(env, empty_string);
|
||||
}
|
||||
|
||||
void lpac_convertor_init(JNIEnv *env) {
|
||||
init_string_class(env);
|
||||
|
||||
static void init_version_class(JNIEnv *env) {
|
||||
version_class = (*env)->FindClass(env, VERSION_CLASS);
|
||||
version_class = (*env)->NewGlobalRef(env, version_class);
|
||||
version_constructor = (*env)->GetMethodID(
|
||||
env, version_class, "<init>", "(Ljava/lang/String;)V");
|
||||
version_constructor = (*env)->GetMethodID(env, version_class, "<init>", "(Ljava/lang/String;)V");
|
||||
}
|
||||
|
||||
jclass profile_state_class = (*env)->FindClass(
|
||||
env, PROFILE_STATE_CLASS);
|
||||
void lpac_convertor_init(JNIEnv *env) {
|
||||
init_string_class(env);
|
||||
init_version_class(env);
|
||||
|
||||
jclass profile_state_class = (*env)->FindClass(env, PROFILE_STATE_CLASS);
|
||||
BIND_PROFILE_STATE_STATIC_FIELD(enabled, "Enabled");
|
||||
BIND_PROFILE_STATE_STATIC_FIELD(disabled, "Disabled");
|
||||
|
||||
jclass profile_class_class = (*env)->FindClass(
|
||||
env, PROFILE_CLASS_CLASS);
|
||||
jclass profile_class_class = (*env)->FindClass(env, PROFILE_CLASS_CLASS);
|
||||
BIND_PROFILE_CLASS_STATIC_FIELD(operational, "Operational");
|
||||
BIND_PROFILE_CLASS_STATIC_FIELD(provisioning, "Provisioning");
|
||||
BIND_PROFILE_CLASS_STATIC_FIELD(testing, "Testing");
|
||||
|
||||
jclass profile_management_operation_class = (*env)->FindClass(
|
||||
env, PROFILE_MANAGEMENT_OPERATION_CLASS);
|
||||
jclass profile_management_operation_class = (*env)->FindClass(env, PROFILE_MANAGEMENT_OPERATION_CLASS);
|
||||
BIND_NOTIFICATION_OPERATION_FIELD(install, "Install");
|
||||
BIND_NOTIFICATION_OPERATION_FIELD(delete, "Delete");
|
||||
BIND_NOTIFICATION_OPERATION_FIELD(enable, "Enable");
|
||||
|
@ -116,6 +115,21 @@ jobject to_profile_class(enum es10c_profile_class profile_class) {
|
|||
}
|
||||
}
|
||||
|
||||
jobject to_profile_management_operation(enum es10b_profile_management_operation operation) {
|
||||
switch (operation) {
|
||||
case ES10B_PROFILE_MANAGEMENT_OPERATION_INSTALL:
|
||||
return profile_management_operation_install;
|
||||
case ES10B_PROFILE_MANAGEMENT_OPERATION_DELETE:
|
||||
return profile_management_operation_delete;
|
||||
case ES10B_PROFILE_MANAGEMENT_OPERATION_ENABLE:
|
||||
return profile_management_operation_enable;
|
||||
case ES10B_PROFILE_MANAGEMENT_OPERATION_DISABLE:
|
||||
return profile_management_operation_disable;
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
jstring to_icon_type(JNIEnv *env, enum es10c_icon_type icon_type) {
|
||||
switch (icon_type) {
|
||||
case ES10C_ICON_TYPE_JPEG:
|
||||
|
@ -182,25 +196,11 @@ jobject build_profile_metadata(JNIEnv *env, struct es8p_metadata *metadata) {
|
|||
toJString(env, metadata->profileName),
|
||||
to_icon_type(env, metadata->iconType),
|
||||
toJString(env, metadata->icon),
|
||||
to_profile_class(metadata->profileClass)
|
||||
to_profile_class(metadata->profileClass
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
jobject to_profile_management_operation(enum es10b_profile_management_operation operation) {
|
||||
switch (operation) {
|
||||
case ES10B_PROFILE_MANAGEMENT_OPERATION_INSTALL:
|
||||
return profile_management_operation_install;
|
||||
case ES10B_PROFILE_MANAGEMENT_OPERATION_DELETE:
|
||||
return profile_management_operation_delete;
|
||||
case ES10B_PROFILE_MANAGEMENT_OPERATION_ENABLE:
|
||||
return profile_management_operation_enable;
|
||||
case ES10B_PROFILE_MANAGEMENT_OPERATION_DISABLE:
|
||||
return profile_management_operation_disable;
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
jobject new_array_list(JNIEnv *env) {
|
||||
jclass array_list_class = (*env)->FindClass(env, ARRAY_LIST_CLASS);
|
||||
jmethodID array_list_constructor = (*env)->GetMethodID(env, array_list_class, "<init>", "()V");
|
||||
|
|
|
@ -27,6 +27,10 @@ jobject to_profile_state(enum es10c_profile_state profile_state);
|
|||
|
||||
jobject to_profile_class(enum es10c_profile_class profile_class);
|
||||
|
||||
jobject to_profile_management_operation(enum es10b_profile_management_operation operation);
|
||||
|
||||
jstring to_icon_type(JNIEnv *env, enum es10c_icon_type icon_type);
|
||||
|
||||
jobject to_version(JNIEnv *env, const char *version);
|
||||
|
||||
jobject to_string_set(JNIEnv *env, char **values);
|
||||
|
@ -35,6 +39,4 @@ jobject to_string_list(JNIEnv *env, char **values);
|
|||
|
||||
jobject build_profile_metadata(JNIEnv *env, struct es8p_metadata *metadata);
|
||||
|
||||
jobject to_profile_management_operation(enum es10b_profile_management_operation operation);
|
||||
|
||||
jobject new_array_list(JNIEnv *env);
|
||||
|
|
Loading…
Add table
Reference in a new issue