From e603391c35c174ff3cfafc9913231eba2731e4ef Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Fri, 18 Mar 2022 10:32:03 -0300 Subject: [PATCH] Fix several theming issues for Contact Selection. --- .../FixedRoundedCornerBottomSheetDialogFragment.kt | 1 + .../securesms/contacts/paged/ContactSearchItems.kt | 6 +++++- .../forward/MultiselectForwardBottomSheet.kt | 1 + .../forward/MultiselectForwardFragment.kt | 14 ++++++++------ 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/FixedRoundedCornerBottomSheetDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/FixedRoundedCornerBottomSheetDialogFragment.kt index a6cb2ddd5..47c57dc06 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/FixedRoundedCornerBottomSheetDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/FixedRoundedCornerBottomSheetDialogFragment.kt @@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.components import android.app.Dialog import android.os.Bundle import android.view.ContextThemeWrapper +import android.view.LayoutInflater import android.view.View import androidx.annotation.StyleRes import androidx.core.view.ViewCompat diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt index 47f7db9b5..7ca3989d9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt @@ -171,7 +171,11 @@ object ContactSearchItems { } protected open fun bindSmsTagField(model: T) { - smsTag.visible = false + smsTag.visible = isSmsContact(model) + } + + private fun isSmsContact(model: T): Boolean { + return (getRecipient(model).isForceSmsSelection || getRecipient(model).isUnregistered) && !getRecipient(model).isDistributionList } abstract fun isSelected(model: T): Boolean diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardBottomSheet.kt index 52fd2740e..4897a7403 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardBottomSheet.kt @@ -5,6 +5,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.appcompat.view.ContextThemeWrapper import androidx.fragment.app.setFragmentResult import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetDialog diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt index 68ebe6dde..f5a6bbf4e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt @@ -11,6 +11,7 @@ import android.widget.EditText import android.widget.TextView import android.widget.Toast import androidx.annotation.PluralsRes +import androidx.appcompat.view.ContextThemeWrapper import androidx.core.view.isVisible import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager @@ -47,10 +48,7 @@ import org.thoughtcrime.securesms.util.fragments.findListener import org.thoughtcrime.securesms.util.views.SimpleProgressDialog import org.thoughtcrime.securesms.util.visible -class MultiselectForwardFragment : - Fragment(), - SafetyNumberChangeDialog.Callback, - ChooseStoryTypeBottomSheet.Callback { +class MultiselectForwardFragment : Fragment(R.layout.multiselect_forward_fragment), SafetyNumberChangeDialog.Callback, ChooseStoryTypeBottomSheet.Callback { private val viewModel: MultiselectForwardViewModel by viewModels(factoryProducer = this::createViewModelFactory) private val disposables = LifecycleDisposable() @@ -69,8 +67,12 @@ class MultiselectForwardFragment : private fun getMultiShareArgs(): ArrayList = requireNotNull(requireArguments().getParcelableArrayList(ARG_MULTISHARE_ARGS)) - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - return inflater.inflate(R.layout.multiselect_forward_fragment, container, false) + override fun onGetLayoutInflater(savedInstanceState: Bundle?): LayoutInflater { + return if (parentFragment != null) { + requireParentFragment().onGetLayoutInflater(savedInstanceState) + } else { + super.onGetLayoutInflater(savedInstanceState) + } } override fun onViewCreated(view: View, savedInstanceState: Bundle?) {