diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
new file mode 100644
index 000000000..06260ba85
--- /dev/null
+++ b/.idea/deploymentTargetDropDown.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/org/linphone/ui/MainActivity.kt b/app/src/main/java/org/linphone/ui/MainActivity.kt
index 7eafcf5fa..6adf6f160 100644
--- a/app/src/main/java/org/linphone/ui/MainActivity.kt
+++ b/app/src/main/java/org/linphone/ui/MainActivity.kt
@@ -20,7 +20,6 @@
package org.linphone.ui
import android.Manifest
-import android.content.pm.ActivityInfo
import android.content.pm.PackageManager
import android.os.Bundle
import android.view.Gravity
@@ -43,8 +42,6 @@ class MainActivity : AppCompatActivity() {
WindowCompat.setDecorFitsSystemWindows(window, true)
super.onCreate(savedInstanceState)
- requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LOCKED
-
window.statusBarColor = ContextCompat.getColor(
this,
R.color.primary_color
diff --git a/app/src/main/java/org/linphone/ui/contacts/ContactFragment.kt b/app/src/main/java/org/linphone/ui/contacts/ContactFragment.kt
index 0f26f60b5..3e4cb3d9a 100644
--- a/app/src/main/java/org/linphone/ui/contacts/ContactFragment.kt
+++ b/app/src/main/java/org/linphone/ui/contacts/ContactFragment.kt
@@ -27,7 +27,6 @@ import androidx.core.view.doOnPreDraw
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.navArgs
import androidx.transition.ChangeBounds
-import org.linphone.core.tools.Log
import org.linphone.databinding.ContactFragmentBinding
class ContactFragment : Fragment() {
@@ -58,9 +57,6 @@ class ContactFragment : Fragment() {
val model = args.contact
binding.model = model
- Log.i("[Contact] Model ID is [${model.id}]")
- binding.avatar.transitionName = "transition-avatar-${model.id}"
- binding.name.transitionName = "transition-name-${model.id}"
binding.setBackClickListener {
requireActivity().onBackPressedDispatcher.onBackPressed()
diff --git a/app/src/main/java/org/linphone/ui/contacts/ContactsFragment.kt b/app/src/main/java/org/linphone/ui/contacts/ContactsFragment.kt
index b703c4ad0..8e7fd2b83 100644
--- a/app/src/main/java/org/linphone/ui/contacts/ContactsFragment.kt
+++ b/app/src/main/java/org/linphone/ui/contacts/ContactsFragment.kt
@@ -33,13 +33,14 @@ import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.fragment.findNavController
import androidx.navigation.navGraphViewModels
import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.slidingpanelayout.widget.SlidingPaneLayout
import androidx.transition.AutoTransition
import org.linphone.R
-import org.linphone.core.tools.Log
import org.linphone.databinding.ContactsFragmentBinding
import org.linphone.ui.MainActivity
import org.linphone.ui.contacts.adapter.ContactsListAdapter
import org.linphone.ui.contacts.viewmodel.ContactsListViewModel
+import org.linphone.utils.SlidingPaneBackPressedCallback
import org.linphone.utils.hideKeyboard
import org.linphone.utils.setKeyboardInsetListener
import org.linphone.utils.showKeyboard
@@ -82,6 +83,15 @@ class ContactsFragment : Fragment() {
listViewModel.bottomNavBarVisible.value = !portraitOrientation || !keyboardVisible
}
+ binding.root.doOnPreDraw {
+ val slidingPane = binding.slidingPaneLayout
+ requireActivity().onBackPressedDispatcher.addCallback(
+ viewLifecycleOwner,
+ SlidingPaneBackPressedCallback(slidingPane)
+ )
+ slidingPane.lockMode = SlidingPaneLayout.LOCK_MODE_LOCKED
+ }
+
adapter = ContactsListAdapter(viewLifecycleOwner)
binding.contactsList.setHasFixedSize(true)
binding.contactsList.adapter = adapter
@@ -101,19 +111,14 @@ class ContactsFragment : Fragment() {
val model = pair.second
if (findNavController().currentDestination?.id == R.id.contactsFragment) {
- val extras = FragmentNavigatorExtras(
- b.avatar to "transition-avatar-${model.id}",
- b.name to "transition-name-${model.id}"
- )
- Log.i("[Contacts List] Model ID is [${model.id}]")
+ val navHostFragment = childFragmentManager.findFragmentById(
+ R.id.contacts_nav_container
+ ) as NavHostFragment
val action = ContactFragmentDirections.actionGlobalContactFragment(model)
+ navHostFragment.navController.navigate(action)
- val navHostFragment =
- childFragmentManager.findFragmentById(R.id.contacts_nav_container) as NavHostFragment?
- if (navHostFragment != null) {
- navHostFragment.navController.navigate(action, extras)
- } else {
- findNavController().navigate(action, extras)
+ if (!binding.slidingPaneLayout.isOpen) {
+ binding.slidingPaneLayout.openPane()
}
}
}
@@ -151,9 +156,13 @@ class ContactsFragment : Fragment() {
binding.setOnNewContactClicked {
if (findNavController().currentDestination?.id == R.id.contactsFragment) {
- findNavController().navigate(
- R.id.action_contactsFragment_to_newContactFragment
- )
+ val navHostFragment =
+ childFragmentManager.findFragmentById(R.id.contacts_nav_container) as NavHostFragment?
+ if (navHostFragment != null) {
+ navHostFragment.navController.navigate(R.id.action_global_newContactFragment)
+ } else {
+ findNavController().navigate(R.id.action_contactsFragment_to_newContactFragment)
+ }
}
}
diff --git a/app/src/main/java/org/linphone/ui/contacts/adapter/ContactsListAdapter.kt b/app/src/main/java/org/linphone/ui/contacts/adapter/ContactsListAdapter.kt
index 02e7d8dee..24b76c258 100644
--- a/app/src/main/java/org/linphone/ui/contacts/adapter/ContactsListAdapter.kt
+++ b/app/src/main/java/org/linphone/ui/contacts/adapter/ContactsListAdapter.kt
@@ -9,7 +9,6 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import org.linphone.R
-import org.linphone.core.tools.Log
import org.linphone.databinding.ContactListCellBinding
import org.linphone.ui.contacts.model.ContactModel
import org.linphone.utils.Event
@@ -73,9 +72,6 @@ class ContactsListAdapter(
lifecycleOwner = viewLifecycleOwner
binding.root.isSelected = bindingAdapterPosition == selectedAdapterPosition
- Log.i("[Contacts List] Model ID is [${contactModel.id}]")
- binding.avatar.transitionName = "transition-avatar-${contactModel.id}"
- binding.name.transitionName = "transition-name-${contactModel.id}"
binding.setOnClickListener {
contactClickedEvent.value = Event(Pair(binding, contactModel))
diff --git a/app/src/main/res/drawable-land/shape_gray_background.xml b/app/src/main/res/drawable-land/shape_gray_background.xml
deleted file mode 100644
index 960325aff..000000000
--- a/app/src/main/res/drawable-land/shape_gray_background.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable-land/shape_white_background.xml b/app/src/main/res/drawable-land/shape_white_background.xml
deleted file mode 100644
index 95a658bb5..000000000
--- a/app/src/main/res/drawable-land/shape_white_background.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/contacts_fragment.xml b/app/src/main/res/layout-land/contacts_fragment.xml
index ea17dd88d..3c9085c25 100644
--- a/app/src/main/res/layout-land/contacts_fragment.xml
+++ b/app/src/main/res/layout-land/contacts_fragment.xml
@@ -19,123 +19,122 @@
type="org.linphone.ui.contacts.viewmodel.ContactsListViewModel" />
-
+ android:layout_height="match_parent">
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/contacts_fragment.xml b/app/src/main/res/layout/contacts_fragment.xml
index 85135aa97..cae54f3d0 100644
--- a/app/src/main/res/layout/contacts_fragment.xml
+++ b/app/src/main/res/layout/contacts_fragment.xml
@@ -19,97 +19,113 @@
type="org.linphone.ui.contacts.viewmodel.ContactsListViewModel" />
-
+ android:layout_height="match_parent">
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/navigation/chat_nav_graph.xml b/app/src/main/res/navigation/chat_nav_graph.xml
index ca55b255e..1330a2b0f 100644
--- a/app/src/main/res/navigation/chat_nav_graph.xml
+++ b/app/src/main/res/navigation/chat_nav_graph.xml
@@ -24,4 +24,15 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/navigation/main_nav_graph.xml b/app/src/main/res/navigation/main_nav_graph.xml
index 6c5d5bc0a..1ffc3a710 100644
--- a/app/src/main/res/navigation/main_nav_graph.xml
+++ b/app/src/main/res/navigation/main_nav_graph.xml
@@ -72,12 +72,6 @@
app:popUpTo="@id/conversationsFragment"
app:popUpToInclusive="true" />
-