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