From b7f1998f894e1451b7d94223d6c10d7d5388ffc7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Thu, 13 Jan 2022 17:18:47 -0500
Subject: [PATCH] conversation selection: use ConversationFacade after
 injection

Change-Id: Ib3fae9950819e47a827d5be1aa3227d3a031bedb
---
 .../client/ConversationSelectionActivity.kt   | 28 +++++++++----------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/ring-android/app/src/main/java/cx/ring/client/ConversationSelectionActivity.kt b/ring-android/app/src/main/java/cx/ring/client/ConversationSelectionActivity.kt
index 68283d08c..ca4e542aa 100644
--- a/ring-android/app/src/main/java/cx/ring/client/ConversationSelectionActivity.kt
+++ b/ring-android/app/src/main/java/cx/ring/client/ConversationSelectionActivity.kt
@@ -51,23 +51,24 @@ class ConversationSelectionActivity : AppCompatActivity() {
     @Singleton lateinit
     var mCallService: CallService
 
-    private val adapter: SmartListAdapter = SmartListAdapter(null, object : SmartListListeners {
-        override fun onItemClick(item: Conversation) {
-            val intent = Intent()
-            intent.data = ConversationPath.toUri(item.accountId, item.uri)
-            setResult(RESULT_OK, intent)
-            finish()
-        }
-
-        override fun onItemLongClick(item: Conversation) {}
-    }, mConversationFacade, mDisposable)
+    var adapter: SmartListAdapter? = null
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.frag_selectconv)
         val list = findViewById<RecyclerView>(R.id.conversationList)
         list.layoutManager = LinearLayoutManager(this)
-        list.adapter = adapter
+        list.adapter = SmartListAdapter(null, object : SmartListListeners {
+            override fun onItemClick(item: Conversation) {
+                setResult(RESULT_OK, Intent().apply {
+                    data = ConversationPath.toUri(item.accountId, item.uri)
+                })
+                finish()
+            }
+
+            override fun onItemLongClick(item: Conversation) {}
+        }, mConversationFacade, mDisposable)
+            .apply { adapter = this }
         JamiApplication.instance?.startDaemon()
     }
 
@@ -89,7 +90,7 @@ class ConversationSelectionActivity : AppCompatActivity() {
                 }
             }
             .observeOn(AndroidSchedulers.mainThread())
-            .subscribe { list -> adapter.update(list) })
+            .subscribe { list -> adapter?.update(list) })
     }
 
     public override fun onStop() {
@@ -99,7 +100,6 @@ class ConversationSelectionActivity : AppCompatActivity() {
 
     public override fun onDestroy() {
         super.onDestroy()
-        findViewById<RecyclerView>(R.id.conversationList).adapter = null
-        adapter.update(ArrayList())
+        adapter = null
     }
 }
-- 
GitLab