diff --git a/ring-android/app/src/main/java/cx/ring/client/ContactDetailsActivity.kt b/ring-android/app/src/main/java/cx/ring/client/ContactDetailsActivity.kt index 78d7722da6caede8a73f29b2ecd34a688b843e76..a50791d80562f6dd94a6c7f09d097cffa9b9e7da 100644 --- a/ring-android/app/src/main/java/cx/ring/client/ContactDetailsActivity.kt +++ b/ring-android/app/src/main/java/cx/ring/client/ContactDetailsActivity.kt @@ -49,6 +49,7 @@ import cx.ring.utils.ConversationPath import cx.ring.views.AvatarDrawable import cx.ring.views.AvatarFactory import dagger.hilt.android.AndroidEntryPoint +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.disposables.CompositeDisposable import net.jami.model.* @@ -253,21 +254,22 @@ class ContactDetailsActivity : AppCompatActivity() { colorActionPosition = 0 symbolActionPosition = 1 - mDisposableBag.add(mConversationFacade.observeConversation(conversation).subscribe { vm -> - binding.contactImage.setImageDrawable(AvatarDrawable.Builder() - .withViewModel(vm) - .withCircleCrop(true) - .build(this)) - - supportActionBar?.title = vm.title - binding.contactListLayout.visibility = - if (conversation.isSwarm) View.VISIBLE else View.GONE - if (conversation.isSwarm) { - binding.contactList.adapter = ContactViewAdapter(mDisposableBag, vm.contacts) - { contact -> copyAndShow(contact.uri.rawUriString) } - } - binding.conversationId.text = vm.uriTitle - }) + mDisposableBag.add(mConversationFacade.observeConversation(conversation) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe { vm -> + binding.contactImage.setImageDrawable(AvatarDrawable.Builder() + .withViewModel(vm) + .withCircleCrop(true) + .build(this)) + supportActionBar?.title = vm.title + binding.contactListLayout.visibility = + if (conversation.isSwarm) View.VISIBLE else View.GONE + if (conversation.isSwarm) { + binding.contactList.adapter = ContactViewAdapter(mDisposableBag, vm.contacts) + { contact -> copyAndShow(contact.uri.rawUriString) } + } + binding.conversationId.text = vm.uriTitle + }) /*Map<String, String> details = Ringservice.getCertificateDetails(conversation.getContact().getUri().getRawRingId()); for (Map.Entry<String, String> e : details.entrySet()) { diff --git a/ring-android/app/src/main/res/layout/activity_contact_details.xml b/ring-android/app/src/main/res/layout/activity_contact_details.xml index d84497ed387fed02dec15ac8d1f91259cec43d7b..6c3206b6bf42e7bb951a30fc02e9bd57fb212e74 100644 --- a/ring-android/app/src/main/res/layout/activity_contact_details.xml +++ b/ring-android/app/src/main/res/layout/activity_contact_details.xml @@ -112,10 +112,11 @@ android:text="@string/conversation_members" /> <androidx.recyclerview.widget.RecyclerView + android:clipToPadding="false" + android:paddingHorizontal="16dp" android:id="@+id/contact_list" - android:layout_width="wrap_content" + android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginHorizontal="8dp" android:orientation="horizontal" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" tools:itemCount="4"