diff --git a/jami-android/app/src/main/java/cx/ring/fragments/HomeFragment.kt b/jami-android/app/src/main/java/cx/ring/fragments/HomeFragment.kt index 5c1683359c9ef39316b1bda7a75396974fa0476e..d49593c1c88c630e7eb42a4a93fe46e9dfdb5902 100644 --- a/jami-android/app/src/main/java/cx/ring/fragments/HomeFragment.kt +++ b/jami-android/app/src/main/java/cx/ring/fragments/HomeFragment.kt @@ -275,7 +275,8 @@ class HomeFragment: BaseSupportFragment<HomePresenter, HomeView>(), }.root private fun displayConversationRequestDialog(conversation: Conversation) { - if (conversation.request!!.mode == Conversation.Mode.OneToOne) + val request = conversation.request ?: return + if (request.mode == Conversation.Mode.OneToOne) MaterialAlertDialogBuilder(requireContext()) .setItems(R.array.swarm_request_one_to_one_actions) { _, which -> when (which) { @@ -299,11 +300,10 @@ class HomeFragment: BaseSupportFragment<HomePresenter, HomeView>(), private fun startSearch() { searchDisposable?.dispose() - val disposable = mConversationFacade.getSearchResults(debouncedQuery) + searchDisposable = mConversationFacade.getSearchResults(debouncedQuery) .observeOn(DeviceUtils.uiScheduler) .subscribe { searchAdapter?.update(it) } - searchDisposable = disposable - mDisposable.add(disposable) + .apply { mDisposable.add(this) } } /** @@ -502,11 +502,11 @@ class HomeFragment: BaseSupportFragment<HomePresenter, HomeView>(), .switchMap { mAccountService.getObservableAccountProfile(it.accountId) } .observeOn(DeviceUtils.uiScheduler) .subscribe { profile -> - mBinding ?: return@subscribe - mBinding!!.searchBar.navigationIcon = + val binding = mBinding ?: return@subscribe + binding.searchBar.navigationIcon = BitmapUtils.withPadding( AvatarDrawable.build( - mBinding!!.root.context, + binding.root.context, profile.first, profile.second, true, diff --git a/jami-android/app/src/main/java/cx/ring/fragments/SmartListFragment.kt b/jami-android/app/src/main/java/cx/ring/fragments/SmartListFragment.kt index e2647cc10d4643858e28380ccbd865bbeb7adfbd..507928ff9ef84d56dd3b1d245a6f641aefaaf633 100644 --- a/jami-android/app/src/main/java/cx/ring/fragments/SmartListFragment.kt +++ b/jami-android/app/src/main/java/cx/ring/fragments/SmartListFragment.kt @@ -43,6 +43,7 @@ import net.jami.model.Uri import net.jami.services.ConversationFacade import net.jami.smartlist.SmartListPresenter import net.jami.smartlist.SmartListView +import androidx.core.net.toUri @AndroidEntryPoint class SmartListFragment : BaseSupportFragment<SmartListPresenter, SmartListView>(), @@ -87,7 +88,7 @@ class SmartListFragment : BaseSupportFragment<SmartListPresenter, SmartListView> val selected = numbers[which] val intent = Intent(Intent.ACTION_CALL) .setClass(context, CallActivity::class.java) - .setData(android.net.Uri.parse(selected.toString())) + .setData(selected.toString().toUri()) startActivityForResult(intent, HomeActivity.REQUEST_CODE_CALL) }.show() } diff --git a/jami-android/app/src/main/res/layout/frag_home.xml b/jami-android/app/src/main/res/layout/frag_home.xml index e9b83775e49e3e5cf3578bab577b511beb23c257..babf351237dada9614cc0a339e68bf09898d3408 100644 --- a/jami-android/app/src/main/res/layout/frag_home.xml +++ b/jami-android/app/src/main/res/layout/frag_home.xml @@ -20,7 +20,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. android:id="@+id/content" android:layout_width="match_parent" android:layout_height="match_parent" - android:fitsSystemWindows="true"> + android:fitsSystemWindows="true" + tools:context=".client.HomeActivity"> <!-- Smartlist to display swarms --> <androidx.fragment.app.FragmentContainerView @@ -28,8 +29,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. android:name="cx.ring.fragments.SmartListFragment" android:layout_width="match_parent" android:layout_height="match_parent" - tools:layout="@layout/frag_smartlist" - app:layout_behavior="@string/searchbar_scrolling_view_behavior" /> + app:layout_behavior="@string/searchbar_scrolling_view_behavior" + tools:layout="@layout/frag_smartlist" /> <com.google.android.material.appbar.AppBarLayout android:id="@+id/app_bar" @@ -48,25 +49,25 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. <!-- Search bar to search for a swarm or for new contacts --> <com.google.android.material.search.SearchBar android:id="@+id/search_bar" - app:navigationContentDescription="@string/searchbar_navigation_account" android:layout_width="match_parent" android:layout_height="wrap_content" android:backgroundTint="@color/searchbar_color" android:hint="@string/searchbar_hint" android:textAppearance="@style/TextAppearance.Material3.SearchBar" app:autoShowKeyboard="true" + app:navigationContentDescription="@string/searchbar_navigation_account" app:navigationIcon="@android:color/transparent" /> <!-- Donation card --> <include android:id="@+id/donation_card" layout="@layout/frag_donation_card" - android:layout_height="wrap_content" android:layout_width="wrap_content" - android:layout_marginBottom="16dp" - android:layout_marginEnd="16dp" + android:layout_height="wrap_content" android:layout_marginStart="16dp" - android:visibility="gone"/> + android:layout_marginEnd="16dp" + android:layout_marginBottom="16dp" + android:visibility="gone" /> <!-- Received invitations --> <include @@ -84,6 +85,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. android:layout_height="match_parent" android:fitsSystemWindows="true" android:hint="@string/searchbar_hint" + app:animateNavigationIcon="false" app:layout_anchor="@id/search_bar" tools:visibility="gone"> @@ -157,11 +159,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. android:id="@+id/searchResult" android:layout_width="match_parent" android:layout_height="match_parent" - app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" - android:orientation="vertical" android:clipToPadding="false" android:divider="@null" + android:orientation="vertical" android:paddingBottom="8dp" + app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" tools:listitem="@layout/item_smartlist" /> </LinearLayout>