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 <[email protected]>
Authored: Thu Jul 14 14:12:33 2016 +0300
Committer: Vassil Angelov <[email protected]>
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)