diff --git a/app/src/main/java/org/linphone/ui/MainActivity.kt b/app/src/main/java/org/linphone/ui/MainActivity.kt index 5b4c7f4e9..61ba36436 100644 --- a/app/src/main/java/org/linphone/ui/MainActivity.kt +++ b/app/src/main/java/org/linphone/ui/MainActivity.kt @@ -22,15 +22,10 @@ package org.linphone.ui import android.Manifest import android.content.pm.PackageManager import android.os.Bundle -import android.view.View import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.view.WindowCompat import androidx.databinding.DataBindingUtil -import androidx.lifecycle.ViewModelProvider -import androidx.navigation.findNavController -import androidx.navigation.ui.setupWithNavController -import com.google.android.material.navigation.NavigationBarView import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.R import org.linphone.databinding.ActivityMainBinding @@ -41,7 +36,6 @@ class MainActivity : AppCompatActivity() { } private lateinit var binding: ActivityMainBinding - private lateinit var viewModel: MainViewModel override fun onCreate(savedInstanceState: Bundle?) { WindowCompat.setDecorFitsSystemWindows(window, true) @@ -62,27 +56,11 @@ class MainActivity : AppCompatActivity() { binding = DataBindingUtil.setContentView(this, R.layout.activity_main) binding.lifecycleOwner = this - - viewModel = ViewModelProvider(this)[MainViewModel::class.java] - binding.viewModel = viewModel - - viewModel.unreadMessagesCount.observe(this) { count -> - if (count > 0) { - getNavBar()?.getOrCreateBadge(R.id.conversationsFragment)?.apply { - isVisible = true - number = count - } - } else { - getNavBar()?.removeBadge(R.id.conversationsFragment) - } - } } override fun onPostCreate(savedInstanceState: Bundle?) { super.onPostCreate(savedInstanceState) - getNavBar()?.setupWithNavController(binding.mainNavHostFragment.findNavController()) - if (checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { requestPermissions( arrayOf(Manifest.permission.READ_CONTACTS), @@ -102,16 +80,4 @@ class MainActivity : AppCompatActivity() { super.onRequestPermissionsResult(requestCode, permissions, grantResults) } - - private fun getNavBar(): NavigationBarView? { - return binding.mainNavView ?: binding.mainNavRail - } - - fun hideNavBar() { - getNavBar()?.visibility = View.GONE - } - - fun showNavBar() { - getNavBar()?.visibility = View.VISIBLE - } } diff --git a/app/src/main/java/org/linphone/ui/MainViewModel.kt b/app/src/main/java/org/linphone/ui/MainViewModel.kt deleted file mode 100644 index fe9b232c8..000000000 --- a/app/src/main/java/org/linphone/ui/MainViewModel.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2010-2023 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.linphone.ui - -import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.ViewModel -import org.linphone.LinphoneApplication.Companion.coreContext -import org.linphone.core.ChatMessage -import org.linphone.core.ChatRoom -import org.linphone.core.Core -import org.linphone.core.CoreListenerStub - -class MainViewModel : ViewModel() { - val unreadMessagesCount = MutableLiveData() - - private val coreListener = object : CoreListenerStub() { - override fun onMessagesReceived( - core: Core, - chatRoom: ChatRoom, - messages: Array - ) { - unreadMessagesCount.postValue(core.unreadChatMessageCount) - } - - override fun onChatRoomRead(core: Core, chatRoom: ChatRoom) { - unreadMessagesCount.postValue(core.unreadChatMessageCount) - } - } - - init { - coreContext.postOnCoreThread { core -> - unreadMessagesCount.postValue(core.unreadChatMessageCount) - core.addListener(coreListener) - } - } - - override fun onCleared() { - super.onCleared() - - coreContext.postOnCoreThread { core -> - core.removeListener(coreListener) - } - } -} diff --git a/app/src/main/java/org/linphone/ui/conversations/ConversationsFragment.kt b/app/src/main/java/org/linphone/ui/conversations/ConversationsFragment.kt index 380dd10e7..9f6d11000 100644 --- a/app/src/main/java/org/linphone/ui/conversations/ConversationsFragment.kt +++ b/app/src/main/java/org/linphone/ui/conversations/ConversationsFragment.kt @@ -34,7 +34,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import org.linphone.R import org.linphone.databinding.ConversationsFragmentBinding -import org.linphone.ui.MainActivity import org.linphone.ui.conversations.adapter.ConversationsListAdapter import org.linphone.ui.conversations.viewmodel.ConversationsListViewModel @@ -101,7 +100,6 @@ class ConversationsFragment : Fragment() { bundle.putString("remoteSipUri", data.remoteSipUri) if (findNavController().currentDestination?.id == R.id.conversationsFragment) { - (requireActivity() as MainActivity).hideNavBar() findNavController().navigate( R.id.action_conversationsFragment_to_conversationFragment, bundle @@ -140,7 +138,6 @@ class ConversationsFragment : Fragment() { binding.setOnNewConversationClicked { if (findNavController().currentDestination?.id == R.id.conversationsFragment) { - (requireActivity() as MainActivity).hideNavBar() findNavController().navigate( R.id.action_conversationsFragment_to_newConversationFragment ) @@ -148,11 +145,6 @@ class ConversationsFragment : Fragment() { } } - override fun onResume() { - super.onResume() - (requireActivity() as MainActivity).showNavBar() - } - private fun scrollToTop() { binding.conversationsList.scrollToPosition(0) } diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml deleted file mode 100644 index 754d7d91a..000000000 --- a/app/src/main/res/layout-land/activity_main.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 99c2ce2fd..02ecb8a9b 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,9 +6,6 @@ - - - + app:navGraph="@navigation/main_nav_graph"/> diff --git a/app/src/main/res/menu/main_nav.xml b/app/src/main/res/menu/main_nav.xml deleted file mode 100644 index 6767dd257..000000000 --- a/app/src/main/res/menu/main_nav.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - \ No newline at end of file