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)

Reply via email to