android: bump to last daemon API

Issue: #79814
Change-Id: Ie1ba9208e5eaa69387fcda818384d5878f36b6d1
diff --git a/ring-android/app/src/main/java/cx/ring/model/SipCall.java b/ring-android/app/src/main/java/cx/ring/model/SipCall.java
index f64a505..5524f20 100644
--- a/ring-android/app/src/main/java/cx/ring/model/SipCall.java
+++ b/ring-android/app/src/main/java/cx/ring/model/SipCall.java
@@ -118,19 +118,20 @@
 
 
     public interface direction {
-        public static final int CALL_TYPE_INCOMING = 1;
-        public static final int CALL_TYPE_OUTGOING = 2;
+        int CALL_TYPE_INCOMING = 1;
+        int CALL_TYPE_OUTGOING = 2;
     }
 
     public interface state {
-        public static final int CALL_STATE_NONE = 0;
-        public static final int CALL_STATE_RINGING = 2;
-        public static final int CALL_STATE_CURRENT = 3;
-        public static final int CALL_STATE_HUNGUP = 4;
-        public static final int CALL_STATE_BUSY = 5;
-        public static final int CALL_STATE_FAILURE = 6;
-        public static final int CALL_STATE_HOLD = 7;
-        public static final int CALL_STATE_UNHOLD = 8;
+        int CALL_STATE_NONE = 0;
+        int CALL_STATE_CONNECTING = 1;
+        int CALL_STATE_RINGING = 2;
+        int CALL_STATE_CURRENT = 3;
+        int CALL_STATE_HUNGUP = 4;
+        int CALL_STATE_BUSY = 5;
+        int CALL_STATE_FAILURE = 6;
+        int CALL_STATE_HOLD = 7;
+        int CALL_STATE_UNHOLD = 8;
     }
 
     @Override
diff --git a/ring-android/app/src/main/java/cx/ring/service/CallManagerCallBack.java b/ring-android/app/src/main/java/cx/ring/service/CallManagerCallBack.java
index 4f7c5a7..66bc4ae 100644
--- a/ring-android/app/src/main/java/cx/ring/service/CallManagerCallBack.java
+++ b/ring-android/app/src/main/java/cx/ring/service/CallManagerCallBack.java
@@ -175,8 +175,13 @@
     }
 
     @Override
-    public void incomingMessage(String ID, String from, String msg) {
-        Log.w(TAG, "on_incoming_message:" + msg);
+    public void incomingMessage(String ID, String from, StringMap messages) {
+        Log.w(TAG, "on_incoming_message:" + messages);
+
+        String msg = messages.get("text/plain");
+        if (msg == null)
+            return;
+
         Intent intent = new Intent(INCOMING_TEXT);
         intent.putExtra("CallID", ID);
         intent.putExtra("From", from);
diff --git a/ring-android/app/src/main/java/cx/ring/service/ISipService.aidl b/ring-android/app/src/main/java/cx/ring/service/ISipService.aidl
index 3342b7c..4708062 100644
--- a/ring-android/app/src/main/java/cx/ring/service/ISipService.aidl
+++ b/ring-android/app/src/main/java/cx/ring/service/ISipService.aidl
@@ -58,7 +58,9 @@
     
     /* IM */
     void sendTextMessage(in String callID, in SipMessage message);
-        
+    void sendAccountTextMessage(in String accountid, in String to, in String msg);
+
+
     void transfer(in String callID, in String to);
     void attendedTransfer(in String transferID, in String targetID);
     
diff --git a/ring-android/app/src/main/java/cx/ring/service/SipService.java b/ring-android/app/src/main/java/cx/ring/service/SipService.java
index ea66a73..8f9caae 100644
--- a/ring-android/app/src/main/java/cx/ring/service/SipService.java
+++ b/ring-android/app/src/main/java/cx/ring/service/SipService.java
@@ -930,7 +930,9 @@
                 @Override
                 protected void doRun() throws SameThreadException, RemoteException {
                     Log.i(TAG, "SipService.sendTextMessage() thread running...");
-                    Ringservice.sendTextMessage(callID, message.comment);
+                    StringMap messages  = new StringMap();
+                    messages.set("text/plain", message.comment);
+                    Ringservice.sendTextMessage(callID, messages, "", false);
                     if (getConferences().get(callID) != null)
                         getConferences().get(callID).addSipMessage(message);
                 }
@@ -939,6 +941,17 @@
         }
 
         @Override
+        public void sendAccountTextMessage(final String accountid, final String to, final String msg) {
+            getExecutor().execute(new SipRunnable() {
+                @Override
+                protected void doRun() throws SameThreadException, RemoteException {
+                    Log.i(TAG, "SipService.sendAccountTextMessage() thread running... " + accountid + " " + to + " " + msg);
+                    Ringservice.sendAccountTextMessage(accountid, to, msg);
+                }
+            });
+        }
+
+        @Override
         public List<Codec> getAudioCodecList(final String accountID) throws RemoteException {
             return getExecutor().executeAndReturn(new SipRunnableWithReturn<ArrayList<Codec>>() {
                 @Override
@@ -1064,7 +1077,7 @@
                 @Override
                 protected Map<String, String> doRun() throws SameThreadException {
                     Log.i(TAG, "SipService.validateCertificatePath() thread running...");
-                    return Ringservice.validateCertificatePath(accountID, certificatePath, privateKeyPath, "").toNative();
+                    return Ringservice.validateCertificatePath(accountID, certificatePath, privateKeyPath, "", "").toNative();
                 }
             });
         }
diff --git a/ring-android/app/src/main/jni/callmanager.i b/ring-android/app/src/main/jni/callmanager.i
index 9d29d4c..8efe4e0 100644
--- a/ring-android/app/src/main/jni/callmanager.i
+++ b/ring-android/app/src/main/jni/callmanager.i
@@ -41,7 +41,7 @@
     virtual void transferSucceeded(void){}
     virtual void recordPlaybackStopped(const std::string& path){}
     virtual void voiceMailNotify(const std::string& call_id, int nd_msg){}
-    virtual void incomingMessage(const std::string& id, const std::string& from, const std::string& msg){}
+    virtual void incomingMessage(const std::string& id, const std::string& from, const std::map<std::string, std::string>& messages){}
     virtual void incomingCall(const std::string& account_id, const std::string& call_id, const std::string& from){}
     virtual void recordPlaybackFilepath(const std::string& id, const std::string& filename){}
     virtual void conferenceCreated(const std::string& conf_id){}
@@ -129,8 +129,7 @@
 void acceptEnrollment(const std::string& callID, bool accepted);
 
 /* Instant messaging */
-void sendTextMessage(const std::string& callID, const std::string& message);
-void sendTextMessage(const std::string& callID, const std::string& message, const std::string& from);
+void sendTextMessage(const std::string& callID, const std::map<std::string, std::string>& messages, const std::string& from, const bool& isMixed);
 
 }
 
@@ -142,7 +141,7 @@
     virtual void transferSucceeded(void){}
     virtual void recordPlaybackStopped(const std::string& path){}
     virtual void voiceMailNotify(const std::string& call_id, int nd_msg){}
-    virtual void incomingMessage(const std::string& id, const std::string& from, const std::string& msg){}
+    virtual void incomingMessage(const std::string& id, const std::string& from, const std::map<std::string, std::string>& messages){}
     virtual void incomingCall(const std::string& account_id, const std::string& call_id, const std::string& from){}
     virtual void recordPlaybackFilepath(const std::string& id, const std::string& filename){}
     virtual void conferenceCreated(const std::string& conf_id){}
diff --git a/ring-android/app/src/main/jni/configurationmanager.i b/ring-android/app/src/main/jni/configurationmanager.i
index fe28f45..2450194 100644
--- a/ring-android/app/src/main/jni/configurationmanager.i
+++ b/ring-android/app/src/main/jni/configurationmanager.i
@@ -144,12 +144,13 @@
 std::map<std::string, std::string> validateCertificatePath(const std::string& accountId,
                                                        const std::string& certificate,
                                                        const std::string& privateKey,
+                                                       const std::string& privateKeyPassword,
                                                        const std::string& caList);
 
 std::map<std::string, std::string> validateCertificate(const std::string& accountId, const std::string& certificate);
 
 std::map<std::string, std::string> getCertificateDetails(const std::string& certificate);
-std::map<std::string, std::string> getCertificateDetailsPath(const std::string& certificate);
+std::map<std::string, std::string> getCertificateDetailsPath(const std::string& certificate, const std::string& privateKey, const std::string& privateKeyPass);
 
 std::vector<std::string> getPinnedCertificates();