mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 03:18:06 +00:00
Added RC flag to allow disabling add contact feature
This commit is contained in:
parent
965b159139
commit
d299b0b129
13 changed files with 38 additions and 5 deletions
|
|
@ -32,4 +32,7 @@
|
|||
<entry name="media_encryption">srtp</entry>
|
||||
<entry name="media_encryption_mandatory" overwrite="true">0</entry>
|
||||
</section>
|
||||
<section name="ui">
|
||||
<entry name="automatically_show_dialpad" overwrite="true">1</entry>
|
||||
</section>
|
||||
</config>
|
||||
|
|
|
|||
|
|
@ -264,6 +264,13 @@ class CorePreferences
|
|||
config.setString("app", "friend_list_to_store_newly_created_contacts", value)
|
||||
}
|
||||
|
||||
@get:AnyThread @set:WorkerThread
|
||||
var disableAddContact: Boolean
|
||||
get() = config.getBool("ui", "disable_add_contact", false)
|
||||
set(value) {
|
||||
config.setBool("ui", "disable_add_contact", value)
|
||||
}
|
||||
|
||||
// Voice recordings related
|
||||
|
||||
@get:AnyThread @set:WorkerThread
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import androidx.lifecycle.ViewModelProvider
|
|||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import org.linphone.LinphoneApplication.Companion.corePreferences
|
||||
import org.linphone.R
|
||||
import org.linphone.core.tools.Log
|
||||
import org.linphone.databinding.ChatInfoFragmentBinding
|
||||
|
|
@ -367,6 +368,7 @@ class ConversationInfoFragment : SlidingPaneChildFragment() {
|
|||
popupView.isMeAdmin = participantModel.isMyselfAdmin
|
||||
val friendRefKey = participantModel.refKey
|
||||
popupView.isParticipantContact = participantModel.friendAvailable
|
||||
popupView.disableAddContact = corePreferences.disableAddContact
|
||||
|
||||
popupView.setRemoveParticipantClickListener {
|
||||
Log.i("$TAG Trying to remove participant [$address]")
|
||||
|
|
|
|||
|
|
@ -82,6 +82,8 @@ class ConversationInfoViewModel
|
|||
|
||||
val friendAvailable = MutableLiveData<Boolean>()
|
||||
|
||||
val disableAddContact = MutableLiveData<Boolean>()
|
||||
|
||||
val groupLeftEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
}
|
||||
|
|
@ -194,6 +196,7 @@ class ConversationInfoViewModel
|
|||
init {
|
||||
expandParticipants.value = true
|
||||
showPeerSipUri.value = false
|
||||
disableAddContact.value = corePreferences.disableAddContact
|
||||
|
||||
coreContext.postOnCoreThread {
|
||||
hideSipAddresses.postValue(corePreferences.hideSipAddresses)
|
||||
|
|
|
|||
|
|
@ -71,6 +71,8 @@ class ContactsListViewModel
|
|||
|
||||
val showResultsLimitReached = MutableLiveData<Boolean>()
|
||||
|
||||
val disableAddContact = MutableLiveData<Boolean>()
|
||||
|
||||
val vCardTerminatedEvent: MutableLiveData<Event<Pair<String, File>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, File>>>()
|
||||
}
|
||||
|
|
@ -150,6 +152,7 @@ class ContactsListViewModel
|
|||
fetchInProgress.value = true
|
||||
showFavourites.value = corePreferences.showFavoriteContacts
|
||||
showFilter.value = !corePreferences.hidePhoneNumbers && !corePreferences.hideSipAddresses
|
||||
disableAddContact.value = corePreferences.disableAddContact
|
||||
|
||||
coreContext.postOnCoreThread { core ->
|
||||
domainFilter = corePreferences.contactsFilter
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import androidx.lifecycle.ViewModelProvider
|
|||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import org.linphone.LinphoneApplication.Companion.corePreferences
|
||||
import org.linphone.R
|
||||
import org.linphone.core.tools.Log
|
||||
import org.linphone.databinding.HistoryFragmentBinding
|
||||
|
|
@ -216,6 +217,7 @@ class HistoryFragment : SlidingPaneChildFragment() {
|
|||
|
||||
popupView.contactExists = viewModel.callLogModel.value?.friendExists == true
|
||||
popupView.isConferenceCallLog = viewModel.isConferenceCallLog.value == true
|
||||
popupView.disableAddContact = corePreferences.disableAddContact
|
||||
|
||||
popupView.setAddToContactsListener {
|
||||
sharedViewModel.sipAddressToAddToNewContact = viewModel.callLogModel.value?.displayedAddress.orEmpty()
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ import androidx.annotation.UiThread
|
|||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import org.linphone.LinphoneApplication.Companion.corePreferences
|
||||
import org.linphone.databinding.HistoryListLongPressMenuBinding
|
||||
|
||||
@UiThread
|
||||
|
|
@ -69,6 +70,7 @@ class HistoryMenuDialogFragment(
|
|||
): View {
|
||||
val view = HistoryListLongPressMenuBinding.inflate(layoutInflater)
|
||||
view.contactExists = contactExists
|
||||
view.disableAddContact = corePreferences.disableAddContact
|
||||
|
||||
view.setCopyNumberClickListener {
|
||||
onCopyNumberOrAddressToClipboard?.invoke()
|
||||
|
|
|
|||
|
|
@ -201,6 +201,7 @@
|
|||
android:layout_margin="16dp"
|
||||
android:src="@drawable/user_plus"
|
||||
android:contentDescription="@string/content_description_contact_create"
|
||||
android:visibility="@{viewModel.disableAddContact ? View.GONE : View.VISIBLE}"
|
||||
app:tint="?attr/color_on_main"
|
||||
app:backgroundTint="?attr/color_main1_500"
|
||||
app:shapeAppearanceOverlay="@style/rounded"
|
||||
|
|
|
|||
|
|
@ -469,7 +469,7 @@
|
|||
android:drawableStart="@drawable/user_plus"
|
||||
android:onClick="@{addToContactsClickListener}"
|
||||
android:text="@string/conversation_info_menu_add_to_contacts"
|
||||
android:visibility="@{!viewModel.isGroup && !viewModel.friendAvailable ? View.VISIBLE : View.GONE, default=gone}"
|
||||
android:visibility="@{!viewModel.isGroup && !viewModel.friendAvailable && !viewModel.disableAddContact ? View.VISIBLE : View.GONE, default=gone}"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/action_see_contact" />
|
||||
|
|
@ -481,7 +481,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:background="@{!viewModel.isGroup ? @drawable/action_background_middle : @drawable/action_background_top, default=@drawable/action_background_top}"
|
||||
android:background="@{viewModel.disableAddContact ? @drawable/action_background_top : !viewModel.isGroup ? @drawable/action_background_middle : @drawable/action_background_top, default=@drawable/action_background_top}"
|
||||
android:drawableStart="@drawable/clock_countdown"
|
||||
android:onClick="@{configureEphemeralMessagesClickListener}"
|
||||
android:text="@string/conversation_action_configure_ephemeral_messages"
|
||||
|
|
|
|||
|
|
@ -32,6 +32,9 @@
|
|||
<variable
|
||||
name="isMeAdmin"
|
||||
type="Boolean" />
|
||||
<variable
|
||||
name="disableAddContact"
|
||||
type="Boolean" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
|
@ -62,7 +65,7 @@
|
|||
android:onClick="@{addToContactsClickListener}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="@{isParticipantContact ? View.GONE : View.VISIBLE, default=gone}"
|
||||
android:visibility="@{isParticipantContact || disableAddContact ? View.GONE : View.VISIBLE, default=gone}"
|
||||
android:text="@string/conversation_info_menu_add_to_contacts"
|
||||
android:drawableStart="@drawable/user_plus"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
|
|
|
|||
|
|
@ -209,6 +209,7 @@
|
|||
android:layout_margin="16dp"
|
||||
android:src="@drawable/user_plus"
|
||||
android:contentDescription="@string/content_description_contact_create"
|
||||
android:visibility="@{viewModel.disableAddContact ? View.GONE : View.VISIBLE}"
|
||||
app:tint="?attr/color_on_main"
|
||||
app:backgroundTint="?attr/color_main1_500"
|
||||
app:shapeAppearanceOverlay="@style/rounded"
|
||||
|
|
|
|||
|
|
@ -19,6 +19,9 @@
|
|||
<variable
|
||||
name="contactExists"
|
||||
type="Boolean" />
|
||||
<variable
|
||||
name="disableAddContact"
|
||||
type="Boolean" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
|
@ -29,7 +32,7 @@
|
|||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/add_to_contact"
|
||||
android:onClick="@{addToContactsListener}"
|
||||
android:visibility="@{contactExists ? View.GONE : View.VISIBLE}"
|
||||
android:visibility="@{contactExists || disableAddContact ? View.GONE : View.VISIBLE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/menu_add_address_to_contacts"
|
||||
|
|
|
|||
|
|
@ -23,6 +23,9 @@
|
|||
<variable
|
||||
name="isConferenceCallLog"
|
||||
type="Boolean" />
|
||||
<variable
|
||||
name="disableAddContact"
|
||||
type="Boolean" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
|
@ -36,7 +39,7 @@
|
|||
style="@style/popup_menu_item"
|
||||
android:id="@+id/add_to_contact"
|
||||
android:onClick="@{addToContactsListener}"
|
||||
android:visibility="@{contactExists || isConferenceCallLog ? View.GONE : View.VISIBLE, default=gone}"
|
||||
android:visibility="@{contactExists || isConferenceCallLog || disableAddContact ? View.GONE : View.VISIBLE, default=gone}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/menu_add_address_to_contacts"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue