diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt index 4e252fdfd..c4e8ca6d4 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt @@ -25,6 +25,7 @@ import android.view.View import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager import org.linphone.LinphoneApplication.Companion.coreContext +import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.R import org.linphone.activities.main.MainActivity import org.linphone.activities.main.chat.viewmodels.ChatRoomCreationViewModel @@ -148,9 +149,11 @@ class ChatRoomCreationFragment : SecureFragment } } - if (!PermissionHelper.get().hasReadContactsPermission()) { - Log.i("[Chat Room Creation] Asking for READ_CONTACTS permission") - requestPermissions(arrayOf(android.Manifest.permission.READ_CONTACTS), 0) + if (corePreferences.enableNativeAddressBookIntegration) { + if (!PermissionHelper.get().hasReadContactsPermission()) { + Log.i("[Chat Room Creation] Asking for READ_CONTACTS permission") + requestPermissions(arrayOf(android.Manifest.permission.READ_CONTACTS), 0) + } } } diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt index 6dcc0bb54..3769c87a2 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt @@ -368,6 +368,12 @@ class MasterChatRoomsFragment : MasterFragment) { val list = ArrayList() var closeSlidingPane = false diff --git a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt index d8e95f27f..d0953d0a5 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt @@ -39,7 +39,7 @@ class ChatRoomsListViewModel : MessageNotifierViewModel() { val forwardPending = MutableLiveData() - val groupChatAvailable: Boolean = LinphoneUtils.isGroupChatAvailable() + val groupChatAvailable = MutableLiveData() val chatRoomIndexUpdatedEvent: MutableLiveData> by lazy { MutableLiveData>() @@ -97,6 +97,7 @@ class ChatRoomsListViewModel : MessageNotifierViewModel() { private var chatRoomsToDeleteCount = 0 init { + groupChatAvailable.value = LinphoneUtils.isGroupChatAvailable() updateChatRooms() coreContext.core.addListener(listener) coreContext.contactsManager.addListener(contactsListener) diff --git a/app/src/main/java/org/linphone/activities/main/conference/fragments/ConferenceSchedulingParticipantsListFragment.kt b/app/src/main/java/org/linphone/activities/main/conference/fragments/ConferenceSchedulingParticipantsListFragment.kt index 9bb1130ab..362e8b9a0 100644 --- a/app/src/main/java/org/linphone/activities/main/conference/fragments/ConferenceSchedulingParticipantsListFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/conference/fragments/ConferenceSchedulingParticipantsListFragment.kt @@ -25,6 +25,7 @@ import android.view.View import androidx.navigation.navGraphViewModels import androidx.recyclerview.widget.LinearLayoutManager import org.linphone.LinphoneApplication.Companion.coreContext +import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.R import org.linphone.activities.GenericFragment import org.linphone.activities.main.conference.viewmodels.ConferenceSchedulingViewModel @@ -92,9 +93,11 @@ class ConferenceSchedulingParticipantsListFragment : GenericFragment>() + val nativeAddressBookEnabled = MutableLiveData() + val fetchInProgress = MutableLiveData() private var searchResultsPending: Boolean = false private var fastFetchJob: Job? = null @@ -72,6 +74,7 @@ class ContactsListViewModel : ViewModel() { init { sipContactsSelected.value = coreContext.contactsManager.shouldDisplaySipContactsList() + nativeAddressBookEnabled.value = corePreferences.enableNativeAddressBookIntegration coreContext.contactsManager.addListener(contactsUpdatedListener) coreContext.contactsManager.magicSearch.addListener(magicSearchListener) diff --git a/app/src/main/java/org/linphone/activities/main/settings/fragments/ContactsSettingsFragment.kt b/app/src/main/java/org/linphone/activities/main/settings/fragments/ContactsSettingsFragment.kt index 3cdf89a38..c27dda7b1 100644 --- a/app/src/main/java/org/linphone/activities/main/settings/fragments/ContactsSettingsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/settings/fragments/ContactsSettingsFragment.kt @@ -88,9 +88,11 @@ class ContactsSettingsFragment : GenericSettingFragment + android:src="@drawable/contact_add" + android:visibility="@{viewModel.nativeAddressBookEnabled ? View.VISIBLE : View.GONE}"/>