conversation: use account directly

Change-Id: I1dff8ca3854bc77569cbc28f14ec3be276f4ebbc
diff --git a/ring-android/libringclient/src/main/java/cx/ring/conversation/ConversationPresenter.java b/ring-android/libringclient/src/main/java/cx/ring/conversation/ConversationPresenter.java
index fec8bcf..9a31257 100644
--- a/ring-android/libringclient/src/main/java/cx/ring/conversation/ConversationPresenter.java
+++ b/ring-android/libringclient/src/main/java/cx/ring/conversation/ConversationPresenter.java
@@ -112,11 +112,12 @@
                     .subscribe(this::setConversation, e -> getView().goToHome()));
         } else {
             getView().goToHome();
+            return;
         }
 
         mCompositeDisposable.add(Observable.combineLatest(
                 mHardwareService.getConnectivityState(),
-                mAccountService.getObservableAccount(mAccountId),
+                mAccountService.getObservableAccount(account),
                 (isConnected, a) -> isConnected || a.isRegistered())
                 .observeOn(mUiScheduler)
                 .subscribe(isOk -> {
diff --git a/ring-android/libringclient/src/main/java/cx/ring/services/AccountService.java b/ring-android/libringclient/src/main/java/cx/ring/services/AccountService.java
index de8538c..fc6158d 100644
--- a/ring-android/libringclient/src/main/java/cx/ring/services/AccountService.java
+++ b/ring-android/libringclient/src/main/java/cx/ring/services/AccountService.java
@@ -594,6 +594,10 @@
         return Observable.fromCallable(() -> getAccount(accountId))
                 .concatWith(getObservableAccountUpdates(accountId));
     }
+    public Observable<Account> getObservableAccount(Account account) {
+        return Observable.just(account)
+                .concatWith(accountSubject.filter(acc -> acc == account));
+    }
 
     public Observable<Account> getCurrentAccountSubject() {
         return currentAccountSubject;