Apply MPinSdk API changes Remove DeleteUserForBackend Add InitWithCustomHeaders Add ListAllUsers Add GetBackend for a User Update build tools and gradle plugin version
Project: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/commit/3e323a0a Tree: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/tree/3e323a0a Diff: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/diff/3e323a0a Branch: refs/heads/master Commit: 3e323a0a161807f020055fe63e3955917e8f49f4 Parents: 2f8b253 Author: Vassil Angelov <vassil.ange...@miracl.com> Authored: Thu Jul 14 14:12:33 2016 +0300 Committer: Vassil Angelov <vassil.ange...@miracl.com> Committed: Thu Jul 14 14:31:37 2016 +0300 ---------------------------------------------------------------------- build.gradle | 2 +- gradle.properties | 2 +- mpin-sdk-core | 2 +- mpinsdk/build.gradle | 2 +- .../main/java/com/miracl/mpinsdk/MPinSDK.java | 19 +++-- .../java/com/miracl/mpinsdk/model/User.java | 40 ++++----- mpinsdk/src/main/jni/JNIMPinSDK.cpp | 85 +++++++++++++------- mpinsdk/src/main/jni/JNIUser.cpp | 8 +- 8 files changed, 102 insertions(+), 58 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/3e323a0a/build.gradle ---------------------------------------------------------------------- diff --git a/build.gradle b/build.gradle index 168f129..aff4f41 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.0.0' + classpath 'com.android.tools.build:gradle:2.1.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/3e323a0a/gradle.properties ---------------------------------------------------------------------- diff --git a/gradle.properties b/gradle.properties index 78806a8..a291823 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,7 +16,7 @@ # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true -VERSION_NAME=1.1 +VERSION_NAME=1.2-SNAPSHOT GROUP=com.miracl RELEASE_REPOSITORY_URL=http://10.10.23.15:8081/content/repositories/mpinsdk/ SNAPSHOT_REPOSITORY_URL=http://10.10.23.15:8081/content/repositories/mpinsdk-snapshot/ http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/3e323a0a/mpin-sdk-core ---------------------------------------------------------------------- diff --git a/mpin-sdk-core b/mpin-sdk-core index 0c9b7fa..a17c6b3 160000 --- a/mpin-sdk-core +++ b/mpin-sdk-core @@ -1 +1 @@ -Subproject commit 0c9b7fa6256ad4b2b90a14ce3ce7aabfbe6c16f6 +Subproject commit a17c6b3d45aa2e952fa499dca5d193467d485486 http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/3e323a0a/mpinsdk/build.gradle ---------------------------------------------------------------------- diff --git a/mpinsdk/build.gradle b/mpinsdk/build.gradle index ff85523..9556f3b 100644 --- a/mpinsdk/build.gradle +++ b/mpinsdk/build.gradle @@ -4,7 +4,7 @@ import org.apache.tools.ant.taskdefs.condition.Os android { compileSdkVersion 23 - buildToolsVersion "23.0.2" + buildToolsVersion "23.0.3" defaultConfig { minSdkVersion 16 http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/3e323a0a/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java ---------------------------------------------------------------------- diff --git a/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java b/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java index 6eddc3e..f94f970 100644 --- a/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java +++ b/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java @@ -58,6 +58,10 @@ public class MPinSDK implements Closeable { return nInit(mPtr, config, context); } + public Status Init(Map<String, String> config, Context context, Map<String, String> customHeaders) { + return nInitWithCustomHeaders(mPtr, config, context, customHeaders); + } + public Status TestBackend(String server) { return nTestBackend(mPtr, server); } @@ -150,14 +154,14 @@ public class MPinSDK implements Closeable { nDeleteUser(mPtr, user); } - public void DeleteUser(User user, String backend) { - nDeleteUserForBackend(mPtr, user, backend); - } - public Status ListUsers(List<User> users) { return nListUsers(mPtr, users); } + public Status ListAllUsers(List<User> users) { + return nListAllUsers(mPtr, users); + } + public Status ListUsers(List<User> users, String backend) { return nListUsersForBackend(mPtr, users, backend); } @@ -188,6 +192,9 @@ public class MPinSDK implements Closeable { private native Status nInit(long ptr, Map<String, String> config, Context context); + private native Status nInitWithCustomHeaders(long ptr, Map<String, String> config, Context context, + Map<String, String> customHeaders); + private native Status nTestBackend(long ptr, String server); private native Status nTestBackendRPS(long ptr, String server, String rpsPrefix); @@ -224,10 +231,10 @@ public class MPinSDK implements Closeable { private native void nDeleteUser(long ptr, User user); - private native void nDeleteUserForBackend(long ptr, User user, String backend); - private native Status nListUsers(long ptr, List<User> users); + private native Status nListAllUsers(long ptr, List<User> users); + private native Status nListUsersForBackend(long ptr, List<User> users, String backend); private native Status nListBackends(long ptr, List<String> backends); http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/3e323a0a/mpinsdk/src/main/java/com/miracl/mpinsdk/model/User.java ---------------------------------------------------------------------- diff --git a/mpinsdk/src/main/java/com/miracl/mpinsdk/model/User.java b/mpinsdk/src/main/java/com/miracl/mpinsdk/model/User.java index ca6dc15..2f48a07 100644 --- a/mpinsdk/src/main/java/com/miracl/mpinsdk/model/User.java +++ b/mpinsdk/src/main/java/com/miracl/mpinsdk/model/User.java @@ -24,22 +24,14 @@ import java.io.Closeable; public class User implements Closeable { - private boolean isUserSelected; - - private long mPtr; - - - private User(long ptr) { - mPtr = ptr; + public enum State { + INVALID, STARTED_REGISTRATION, ACTIVATED, REGISTERED, BLOCKED } - private native void nDestruct(long ptr); - - private native String nGetId(long ptr); + private boolean isUserSelected; - private native int nGetState(long ptr); + private long mPtr; - ; public String getId() { return nGetId(mPtr); @@ -60,6 +52,15 @@ public class User implements Closeable { } } + public boolean isUserSelected() { + return isUserSelected; + } + + public void setUserSelected(boolean isUserSelected) { + this.isUserSelected = isUserSelected; + } + + @Override public void close() { synchronized (this) { @@ -79,17 +80,16 @@ public class User implements Closeable { return getId(); } - public boolean isUserSelected() { - return isUserSelected; - } - public void setUserSelected(boolean isUserSelected) { - this.isUserSelected = isUserSelected; + private User(long ptr) { + mPtr = ptr; } + private native void nDestruct(long ptr); - public enum State { - INVALID, STARTED_REGISTRATION, ACTIVATED, REGISTERED, BLOCKED - } + private native String nGetId(long ptr); + + private native int nGetState(long ptr); + private native String nGetBackend(long ptr); } http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/3e323a0a/mpinsdk/src/main/jni/JNIMPinSDK.cpp ---------------------------------------------------------------------- diff --git a/mpinsdk/src/main/jni/JNIMPinSDK.cpp b/mpinsdk/src/main/jni/JNIMPinSDK.cpp index 3a06254..ace68df 100644 --- a/mpinsdk/src/main/jni/JNIMPinSDK.cpp +++ b/mpinsdk/src/main/jni/JNIMPinSDK.cpp @@ -49,6 +49,23 @@ static jobject nInit(JNIEnv* env, jobject jobj, jlong jptr, jobject jconfig, job return MakeJavaStatus(env, sdk->Init(config, Context::Instance(jcontext))); } +static jobject nInitWithCustomHeaders(JNIEnv* env, jobject jobj, jlong jptr, jobject jconfig, jobject jcontext, jobject jcustomHeaders) +{ + MPinSDK::StringMap config, customHeaders; + if(jconfig) + { + ReadJavaMap(env, jconfig, config); + } + + if(jcustomHeaders) + { + ReadJavaMap(env, jcustomHeaders, customHeaders); + } + + MPinSDK* sdk = (MPinSDK*) jptr; + return MakeJavaStatus(env, sdk->Init(config, Context::Instance(jcontext), customHeaders)); +} + static jobject nTestBackend(JNIEnv* env, jobject jobj, jlong jptr, jstring jserver) { MPinSDK* sdk = (MPinSDK*) jptr; @@ -94,12 +111,6 @@ static jobject nRestartRegistration(JNIEnv* env, jobject jobj, jlong jptr, jobje return MakeJavaStatus(env, sdk->RestartRegistration(JavaToMPinUser(env, juser), JavaToStdString(env, juserData))); } -//static jobject nVerifyUser(JNIEnv* env, jobject jobj, jlong jptr, jobject juser, jstring jmpinId, jstring jactivationKey) -//{ -// MPinSDK* sdk = (MPinSDK*) jptr; -// return MakeJavaStatus(env, sdk->VerifyUser(JavaToMPinUser(env, juser), JavaToStdString(env, jmpinId), JavaToStdString(env, jactivationKey))); -//} - static jobject nConfirmRegistration(JNIEnv* env, jobject jobj, jlong jptr, jobject juser, jstring jpushMessageIdentifier) { MPinSDK* sdk = (MPinSDK*) jptr; @@ -210,11 +221,6 @@ static void nDeleteUser(JNIEnv* env, jobject jobj, jlong jptr, jobject juser) sdk->DeleteUser(JavaToMPinUser(env, juser)); } -static void nDeleteUserForBackend(JNIEnv* env, jobject jobj, jlong jptr, jobject juser, jstring jbackend){ - MPinSDK* sdk = (MPinSDK*) jptr; - sdk->DeleteUser(JavaToMPinUser(env, juser), JavaToStdString(env, jbackend)); -} - static jobject nListUsers(JNIEnv* env, jobject jobj, jlong jptr, jobject jusersList) { MPinSDK* sdk = (MPinSDK*) jptr; @@ -242,25 +248,49 @@ static jobject nListUsers(JNIEnv* env, jobject jobj, jlong jptr, jobject jusersL static jobject nListUsersForBackend(JNIEnv* env, jobject jobj, jlong jptr, jobject jusersList, jstring jbackend) { MPinSDK* sdk = (MPinSDK*) jptr; - std::vector<MPinSDK::UserPtr> users; - MPinSDK::Status status = sdk->ListUsers(users,JavaToStdString(env,jbackend)); - - if(status == MPinSDK::Status::OK) - { - jclass clsList = env->FindClass("java/util/List"); - jmethodID midAdd = env->GetMethodID(clsList, "add", "(Ljava/lang/Object;)Z"); + std::vector<MPinSDK::UserPtr> users; + MPinSDK::Status status = sdk->ListAllUsers(users); + + if(status == MPinSDK::Status::OK) + { + jclass clsList = env->FindClass("java/util/List"); + jmethodID midAdd = env->GetMethodID(clsList, "add", "(Ljava/lang/Object;)Z"); + + jclass clsUser = env->FindClass("com/miracl/mpinsdk/model/User"); + jmethodID ctorUser = env->GetMethodID(clsUser, "<init>", "(J)V"); + + for (std::vector<MPinSDK::UserPtr>::iterator i = users.begin(); i != users.end(); ++i) { + MPinSDK::UserPtr user = *i; + jobject juser = env->NewObject(clsUser, ctorUser, (jlong) new MPinSDK::UserPtr(user)); + env->CallBooleanMethod(jusersList, midAdd, juser); + } + } - jclass clsUser = env->FindClass("com/miracl/mpinsdk/model/User"); - jmethodID ctorUser = env->GetMethodID(clsUser, "<init>", "(J)V"); + return MakeJavaStatus(env,status); +} - for (std::vector<MPinSDK::UserPtr>::iterator i = users.begin(); i != users.end(); ++i) { - MPinSDK::UserPtr user = *i; - jobject juser = env->NewObject(clsUser, ctorUser, (jlong) new MPinSDK::UserPtr(user)); - env->CallBooleanMethod(jusersList, midAdd, juser); +static jobject nListAllUsers(JNIEnv* env, jobject jobj, jlong jptr, jobject jusersList) +{ + MPinSDK* sdk = (MPinSDK*) jptr; + std::vector<MPinSDK::UserPtr> users; + MPinSDK::Status status = sdk->ListAllUsers(users); + + if(status == MPinSDK::Status::OK) + { + jclass clsList = env->FindClass("java/util/List"); + jmethodID midAdd = env->GetMethodID(clsList, "add", "(Ljava/lang/Object;)Z"); + + jclass clsUser = env->FindClass("com/miracl/mpinsdk/model/User"); + jmethodID ctorUser = env->GetMethodID(clsUser, "<init>", "(J)V"); + + for (std::vector<MPinSDK::UserPtr>::iterator i = users.begin(); i != users.end(); ++i) { + MPinSDK::UserPtr user = *i; + jobject juser = env->NewObject(clsUser, ctorUser, (jlong) new MPinSDK::UserPtr(user)); + env->CallBooleanMethod(jusersList, midAdd, juser); + } } - } - return MakeJavaStatus(env,status); + return MakeJavaStatus(env,status); } static jobject nListBackends(JNIEnv* env, jobject jobj, jlong jptr,jobject jBackendsList) @@ -314,6 +344,7 @@ static JNINativeMethod g_methodsMPinSDK[] = NATIVE_METHOD(nConstruct, "()J"), NATIVE_METHOD(nDestruct, "(J)V"), NATIVE_METHOD(nInit, "(JLjava/util/Map;Landroid/content/Context;)Lcom/miracl/mpinsdk/model/Status;"), + NATIVE_METHOD(nInitWithCustomHeaders, "(JLjava/util/Map;Landroid/content/Context;Ljava/util/Map;)Lcom/miracl/mpinsdk/model/Status;"), NATIVE_METHOD(nTestBackend, "(JLjava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"), NATIVE_METHOD(nTestBackendRPS, "(JLjava/lang/String;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"), NATIVE_METHOD(nSetBackend, "(JLjava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"), @@ -331,9 +362,9 @@ static JNINativeMethod g_methodsMPinSDK[] = NATIVE_METHOD(nFinishAuthenticationOTP, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;Lcom/miracl/mpinsdk/model/OTP;)Lcom/miracl/mpinsdk/model/Status;"), NATIVE_METHOD(nFinishAuthenticationAN, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"), NATIVE_METHOD(nDeleteUser, "(JLcom/miracl/mpinsdk/model/User;)V"), - NATIVE_METHOD(nDeleteUserForBackend, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;)V"), NATIVE_METHOD(nGetSessionDetails, "(JLjava/lang/String;Lcom/miracl/mpinsdk/model/SessionDetails;)Lcom/miracl/mpinsdk/model/Status;"), NATIVE_METHOD(nListUsers, "(JLjava/util/List;)Lcom/miracl/mpinsdk/model/Status;"), + NATIVE_METHOD(nListAllUsers, "(JLjava/util/List;)Lcom/miracl/mpinsdk/model/Status;"), NATIVE_METHOD(nListUsersForBackend, "(JLjava/util/List;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"), NATIVE_METHOD(nListBackends, "(JLjava/util/List;)Lcom/miracl/mpinsdk/model/Status;"), NATIVE_METHOD(nGetVersion, "(J)Ljava/lang/String;"), http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/3e323a0a/mpinsdk/src/main/jni/JNIUser.cpp ---------------------------------------------------------------------- diff --git a/mpinsdk/src/main/jni/JNIUser.cpp b/mpinsdk/src/main/jni/JNIUser.cpp index ab66717..6c39c63 100644 --- a/mpinsdk/src/main/jni/JNIUser.cpp +++ b/mpinsdk/src/main/jni/JNIUser.cpp @@ -36,11 +36,17 @@ static jint nGetState(JNIEnv* env, jobject jobj, jlong jptr) return (*((const MPinSDK::UserPtr*)jptr))->GetState(); } +static jstring nGetBackend(JNIEnv* env, jobject jobj, jlong jptr) +{ + return env->NewStringUTF( (*((const MPinSDK::UserPtr*)jptr))->GetBackend().c_str()); +} + static JNINativeMethod g_methodsUser[] = { NATIVE_METHOD(nDestruct, "(J)V"), NATIVE_METHOD(nGetId, "(J)Ljava/lang/String;"), - NATIVE_METHOD(nGetState, "(J)I") + NATIVE_METHOD(nGetState, "(J)I"), + NATIVE_METHOD(nGetBackend, "(J)Ljava/lang/String;") }; void RegisterUserJNI(JNIEnv* env)