Commit cc02f115 authored by Yusuke Iwaki's avatar Yusuke Iwaki

move raix-pushSetUser to SessionObserver. Because CurrentUserObserver is...

move raix-pushSetUser to SessionObserver. Because CurrentUserObserver is called back by "activeUser" subscription. not always logged in.
parent 8e8e9231
......@@ -6,7 +6,6 @@ import io.realm.RealmResults;
import java.util.ArrayList;
import java.util.List;
import chat.rocket.android.RocketChatCache;
import chat.rocket.android.api.DDPClientWrapper;
import chat.rocket.android.api.MethodCallHelper;
import chat.rocket.android.api.RaixPushHelper;
......@@ -22,7 +21,6 @@ import hugo.weaving.DebugLog;
*/
public class CurrentUserObserver extends AbstractModelObserver<User> {
private final MethodCallHelper methodCall;
private final RaixPushHelper pushHelper;
private boolean currentUserExists;
private ArrayList<Registrable> listeners;
......@@ -30,7 +28,6 @@ public class CurrentUserObserver extends AbstractModelObserver<User> {
RealmHelper realmHelper, DDPClientWrapper ddpClient) {
super(context, hostname, realmHelper, ddpClient);
methodCall = new MethodCallHelper(realmHelper, ddpClient);
pushHelper = new RaixPushHelper(realmHelper, ddpClient);
currentUserExists = false;
}
......@@ -62,11 +59,6 @@ public class CurrentUserObserver extends AbstractModelObserver<User> {
final String userId = user.getId();
// update push info
pushHelper
.pushSetUser(RocketChatCache.getOrCreatePushId(context))
.continueWith(new LogcatIfError());
// get and observe Room subscriptions.
methodCall.getRoomSubscriptions().onSuccess(task -> {
if (listeners != null) {
......
......@@ -5,7 +5,9 @@ import io.realm.Realm;
import io.realm.RealmResults;
import java.util.List;
import chat.rocket.android.RocketChatCache;
import chat.rocket.android.api.DDPClientWrapper;
import chat.rocket.android.api.RaixPushHelper;
import chat.rocket.android.helper.LogcatIfError;
import chat.rocket.android.model.internal.GetUsersOfRoomsProcedure;
import chat.rocket.android.model.internal.LoadMessageProcedure;
......@@ -20,6 +22,7 @@ import hugo.weaving.DebugLog;
*/
public class SessionObserver extends AbstractModelObserver<Session> {
private final StreamRoomMessageManager streamNotifyMessage;
private final RaixPushHelper pushHelper;
private int count;
/**
......@@ -31,6 +34,7 @@ public class SessionObserver extends AbstractModelObserver<Session> {
count = 0;
streamNotifyMessage = new StreamRoomMessageManager(context, hostname, realmHelper, ddpClient);
pushHelper = new RaixPushHelper(realmHelper, ddpClient);
}
@Override
......@@ -65,6 +69,11 @@ public class SessionObserver extends AbstractModelObserver<Session> {
@DebugLog
private void onLogin() {
streamNotifyMessage.register();
// update push info
pushHelper
.pushSetUser(RocketChatCache.getOrCreatePushId(context))
.continueWith(new LogcatIfError());
}
@DebugLog
......
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