From 826cdc7e27397c91c2c550f36ddf8f21013fac4c Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 9 Oct 2015 15:09:33 +0200 Subject: [PATCH] Added xmlrpc method to recover username associated to email --- src/org/linphone/xmlrpc/XmlRpcHelper.java | 61 ++++++++++++++++++- src/org/linphone/xmlrpc/XmlRpcListener.java | 1 + .../linphone/xmlrpc/XmlRpcListenerBase.java | 6 ++ 3 files changed, 66 insertions(+), 2 deletions(-) diff --git a/src/org/linphone/xmlrpc/XmlRpcHelper.java b/src/org/linphone/xmlrpc/XmlRpcHelper.java index d37d6a0b8..bed90e850 100644 --- a/src/org/linphone/xmlrpc/XmlRpcHelper.java +++ b/src/org/linphone/xmlrpc/XmlRpcHelper.java @@ -548,7 +548,7 @@ public class XmlRpcHelper { @Override public void onResponse(long id, Object object) { String result = (String)object; - Log.d("changeAccountPasswordAsync: " + result); + Log.d("changeAccountHashPasswordAsync: " + result); if (result.startsWith("ERROR_")) { Log.e(result); @@ -576,7 +576,7 @@ public class XmlRpcHelper { try { Object object = mXmlRpcClient.call("change_hash", username, oldPassword, newPassword); String result = (String)object; - Log.d("changeAccountPassword: " + result); + Log.d("changeAccountHashPassword: " + result); if (result.startsWith("ERROR_")) { Log.e(result); @@ -707,6 +707,63 @@ public class XmlRpcHelper { return null; } + public void sendUsernameByEmailAsync(final XmlRpcListener listener, String email) { + if (mXmlRpcClient != null) { + mXmlRpcClient.callAsync(new XMLRPCCallback() { + @Override + public void onServerError(long id, XMLRPCServerException error) { + Log.e(error); + listener.onError(error.toString()); + } + + @Override + public void onResponse(long id, Object object) { + String result = (String)object; + Log.d("sendUsernameByEmailAsync: " + result); + + if (result.startsWith("ERROR_")) { + Log.e(result); + listener.onError(result); + return; + } + + listener.onUsernameSent(result); + } + + @Override + public void onError(long id, XMLRPCException error) { + Log.e(error); + listener.onError(error.toString()); + } + }, "recover_username_from_email", email); + } else { + Log.e(CLIENT_ERROR_INVALID_SERVER_URL); + listener.onError(CLIENT_ERROR_INVALID_SERVER_URL); + } + } + + public String sendUsernameByEmail(String email) { + if (mXmlRpcClient != null) { + try { + Object object = mXmlRpcClient.call("recover_username_from_email", email); + String result = (String)object; + Log.d("sendUsernameByEmail: " + result); + + if (result.startsWith("ERROR_")) { + Log.e(result); + return null; + } + return result; + + } catch (XMLRPCException e) { + Log.e(e); + } + } else { + Log.e(CLIENT_ERROR_INVALID_SERVER_URL); + } + return null; + } + public void verifySignatureAsync(final XmlRpcListener listener, String payload, String signature) { if (mXmlRpcClient != null) { mXmlRpcClient.callAsync(new XMLRPCCallback() { diff --git a/src/org/linphone/xmlrpc/XmlRpcListener.java b/src/org/linphone/xmlrpc/XmlRpcListener.java index f44543dcb..6a7fb5a99 100644 --- a/src/org/linphone/xmlrpc/XmlRpcListener.java +++ b/src/org/linphone/xmlrpc/XmlRpcListener.java @@ -14,4 +14,5 @@ public interface XmlRpcListener { public void onRecoverPasswordLinkSent(String result); public void onActivateAccountLinkSent(String result); public void onSignatureVerified(boolean success); + public void onUsernameSent(String result); } diff --git a/src/org/linphone/xmlrpc/XmlRpcListenerBase.java b/src/org/linphone/xmlrpc/XmlRpcListenerBase.java index 94001cea7..5ef93bffd 100644 --- a/src/org/linphone/xmlrpc/XmlRpcListenerBase.java +++ b/src/org/linphone/xmlrpc/XmlRpcListenerBase.java @@ -78,4 +78,10 @@ public class XmlRpcListenerBase implements XmlRpcListener { // TODO Auto-generated method stub } + + @Override + public void onUsernameSent(String result) { + // TODO Auto-generated method stub + + } }