Fixed no avatar issue in calls list since it is the default fragment

This commit is contained in:
Sylvain Berfini 2023-09-07 10:33:52 +02:00
parent 8057e9d0af
commit 3f6339887b
3 changed files with 23 additions and 5 deletions

View file

@ -21,7 +21,6 @@ package org.linphone.ui.main
import android.Manifest
import android.annotation.SuppressLint
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Bundle
import android.view.Gravity
@ -37,7 +36,6 @@ import androidx.navigation.findNavController
import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.R
import org.linphone.databinding.MainActivityBinding
import org.linphone.ui.welcome.WelcomeActivity
import org.linphone.utils.slideInToastFromTopForDuration
@UiThread
@ -73,7 +71,8 @@ class MainActivity : AppCompatActivity() {
override fun onPostCreate(savedInstanceState: Bundle?) {
super.onPostCreate(savedInstanceState)
startActivity(Intent(this, WelcomeActivity::class.java))
// TODO FIXME: uncomment
// startActivity(Intent(this, WelcomeActivity::class.java))
if (checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(

View file

@ -23,15 +23,21 @@ import androidx.annotation.UiThread
import androidx.annotation.WorkerThread
import androidx.lifecycle.MutableLiveData
import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.contacts.ContactsManager
import org.linphone.core.CallLog
import org.linphone.core.Core
import org.linphone.core.CoreListenerStub
import org.linphone.core.tools.Log
import org.linphone.ui.main.calls.model.CallLogModel
import org.linphone.ui.main.viewmodel.AbstractTopBarViewModel
import org.linphone.utils.Event
import org.linphone.utils.LinphoneUtils
class CallsListViewModel @UiThread constructor() : AbstractTopBarViewModel() {
companion object {
private const val TAG = "[Calls List ViewModel]"
}
val callLogs = MutableLiveData<ArrayList<CallLogModel>>()
val historyDeletedEvent: MutableLiveData<Event<Boolean>> by lazy {
@ -46,8 +52,17 @@ class CallsListViewModel @UiThread constructor() : AbstractTopBarViewModel() {
}
}
private val contactsListener = object : ContactsManager.ContactsListener {
@WorkerThread
override fun onContactsLoaded() {
Log.i("$TAG Contacts have been (re)loaded, updating list")
computeCallLogsList(currentFilter)
}
}
init {
coreContext.postOnCoreThread { core ->
coreContext.contactsManager.addListener(contactsListener)
core.addListener(coreListener)
computeCallLogsList(currentFilter)
@ -59,6 +74,7 @@ class CallsListViewModel @UiThread constructor() : AbstractTopBarViewModel() {
super.onCleared()
coreContext.postOnCoreThread { core ->
coreContext.contactsManager.removeListener(contactsListener)
core.removeListener(coreListener)
}
}

View file

@ -38,6 +38,7 @@ import org.linphone.ui.assistant.AssistantActivity
import org.linphone.ui.main.MainActivity
import org.linphone.ui.main.settings.fragment.AccountProfileFragmentDirections
import org.linphone.ui.main.viewmodel.DrawerMenuViewModel
import org.linphone.ui.welcome.WelcomeActivity
import org.linphone.utils.Event
@UiThread
@ -79,9 +80,11 @@ class DrawerMenuFragment : GenericFragment() {
}
binding.setRecordingsClickListener {
val navController = (requireActivity() as MainActivity).findNavController()
// TODO FIXME
/*val navController = (requireActivity() as MainActivity).findNavController()
navController.navigate(R.id.action_global_recordingsFragment)
(requireActivity() as MainActivity).closeDrawerMenu()
(requireActivity() as MainActivity).closeDrawerMenu()*/
startActivity(Intent(requireActivity(), WelcomeActivity::class.java))
}
binding.setHelpClickedListener {