Commit 67de70b1 authored by Tiago Cunha's avatar Tiago Cunha

Added calls for setting the away presence

parent 8876ac1e
......@@ -7,9 +7,11 @@ import android.support.v7.widget.Toolbar;
import android.view.View;
import chat.rocket.android.LaunchUtil;
import chat.rocket.android.R;
import chat.rocket.android.api.MethodCallHelper;
import chat.rocket.android.fragment.chatroom.HomeFragment;
import chat.rocket.android.fragment.chatroom.RoomFragment;
import chat.rocket.android.fragment.sidebar.SidebarMainFragment;
import chat.rocket.android.helper.LogcatIfError;
import chat.rocket.android.model.internal.Session;
import chat.rocket.android.realm_helper.RealmHelper;
import chat.rocket.android.realm_helper.RealmObjectObserver;
......@@ -37,6 +39,34 @@ public class MainActivity extends AbstractAuthedActivity {
}
}
@Override
protected void onStart() {
super.onStart();
setUserOnlineIfServerAvailable();
}
@Override
protected void onStop() {
setUserAwayIfServerAvailable();
super.onStop();
}
private void setUserOnlineIfServerAvailable() {
if (serverConfigId != null) {
new MethodCallHelper(this, serverConfigId).setUserOnline()
.continueWith(new LogcatIfError());
}
}
private void setUserAwayIfServerAvailable() {
if (serverConfigId != null) {
new MethodCallHelper(this, serverConfigId).setUserAway()
.continueWith(new LogcatIfError());
}
}
private void setupSidebar() {
SlidingPaneLayout pane = (SlidingPaneLayout) findViewById(R.id.sliding_pane);
if (pane != null) {
......
......@@ -278,6 +278,15 @@ public class MethodCallHelper {
.onSuccessTask(task -> Task.forResult(null));
}
public Task<Void> setUserAway() {
return call("UserPresence:away", TIMEOUT_MS, JSONArray::new)
.onSuccessTask(task -> Task.forResult(null));
}
public Task<Void> setUserOnline() {
return call("UserPresence:online", TIMEOUT_MS, JSONArray::new)
.onSuccessTask(task -> Task.forResult(null));
}
public Task<JSONObject> getUsersOfRoom(final String roomId, final boolean showAll) {
return call("getUsersOfRoom", TIMEOUT_MS, () -> new JSONArray().put(roomId).put(showAll))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment