package org.yaxim.androidclient;
import org.yaxim.androidclient.util.ConnectionState;
import android.os.RemoteException;
import android.util.Log;
import org.yaxim.androidclient.IXMPPRosterCallback;
import org.yaxim.androidclient.service.IXMPPRosterService;
public class XMPPRosterServiceAdapter {
private static final String TAG = "yaxim.XMPPRSAdapter";
private IXMPPRosterService xmppServiceStub;
public XMPPRosterServiceAdapter(IXMPPRosterService xmppServiceStub) {
Log.i(TAG, "New XMPPRosterServiceAdapter construced");
this.xmppServiceStub = xmppServiceStub;
}
public void setStatusFromConfig() {
try {
xmppServiceStub.setStatusFromConfig();
} catch (RemoteException e) {
e.printStackTrace();
}
}
public void addRosterItem(String user, String alias, String group) {
try {
xmppServiceStub.addRosterItem(user, alias, group);
} catch (RemoteException e) {
e.printStackTrace();
}
}
public void renameRosterGroup(String group, String newGroup){
try {
xmppServiceStub.renameRosterGroup(group, newGroup);
} catch (RemoteException e) {
e.printStackTrace();
}
}
public void renameRosterItem(String contact, String newItemName){
try {
xmppServiceStub.renameRosterItem(contact, newItemName);
} catch (RemoteException e) {
e.printStackTrace();
}
}
public void moveRosterItemToGroup(String user, String group){
try {
xmppServiceStub.moveRosterItemToGroup(user, group);
} catch (RemoteException e) {
e.printStackTrace();
}
}
public void addRosterGroup(String group){
try {
xmppServiceStub.addRosterGroup(group);
} catch (RemoteException e) {
e.printStackTrace();
}
}
public void removeRosterItem(String user) {
try {
xmppServiceStub.removeRosterItem(user);
} catch (RemoteException e) {
e.printStackTrace();
}
}
public void disconnect() {
try {
xmppServiceStub.disconnect();
} catch (RemoteException e) {
e.printStackTrace();
}
}
public void connect() {
try {
xmppServiceStub.connect();
} catch (RemoteException e) {
e.printStackTrace();
}
}
public void registerUICallback(IXMPPRosterCallback uiCallback) {
try {
xmppServiceStub.registerRosterCallback(uiCallback);
} catch (RemoteException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
}
}
public void unregisterUICallback(IXMPPRosterCallback uiCallback) {
try {
xmppServiceStub.unregisterRosterCallback(uiCallback);
} catch (RemoteException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
}
}
public ConnectionState getConnectionState() {
try {
return ConnectionState.values()[xmppServiceStub.getConnectionState()];
} catch (RemoteException e) {
e.printStackTrace();
}
return ConnectionState.OFFLINE;
}
public String getConnectionStateString() {
try {
return xmppServiceStub.getConnectionStateString();
} catch (RemoteException e) {
e.printStackTrace();
}
return null;
}
public boolean isAuthenticated() {
return getConnectionState() == ConnectionState.ONLINE;
}
public void sendPresenceRequest(String user, String type) {
try {
xmppServiceStub.sendPresenceRequest(user, type);
} catch (RemoteException e) {
e.printStackTrace();
}
}
public String changePassword(String newPassword) {
try {
return xmppServiceStub.changePassword(newPassword);
} catch (RemoteException e) {
e.printStackTrace();
return "Internal yaxim service connection failure.";
}
}
}