summary refs log tree commit diff
path: root/synapse/handlers/presence.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2014-08-26 13:38:26 +0100
committerErik Johnston <erik@matrix.org>2014-08-26 13:38:26 +0100
commita664ec20e0f0940824d7f935e935dd96fda8dd25 (patch)
tree4db45725fa57bb27ee8d3d5fa27765e424b649e7 /synapse/handlers/presence.py
parentMerge branch 'client_server_url_rename' into develop (diff)
downloadsynapse-a664ec20e0f0940824d7f935e935dd96fda8dd25.tar.xz
Add a do_users_share_a_room method and use that in the presence handler.
Diffstat (limited to 'synapse/handlers/presence.py')
-rw-r--r--synapse/handlers/presence.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py
index c88cc18788..471dc86163 100644
--- a/synapse/handlers/presence.py
+++ b/synapse/handlers/presence.py
@@ -159,12 +159,11 @@ class PresenceHandler(BaseHandler):
         if allowed_by_subscription:
             defer.returnValue(True)
 
-        rm_handler = self.homeserver.get_handlers().room_member_handler
-        for room_id in (yield rm_handler.get_rooms_for_user(observer_user)):
-            if observed_user in (yield rm_handler.get_room_members(room_id)):
-                defer.returnValue(True)
+        share_room = yield self.store.do_users_share_a_room(
+            [observer_user, observed_user]
+        )
 
-        defer.returnValue(False)
+        defer.returnValue(share_room)
 
     @defer.inlineCallbacks
     def get_state(self, target_user, auth_user):