diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
deleted file mode 100644
index cdb2ce998..000000000
--- a/.idea/deploymentTargetDropDown.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/java/org/linphone/ui/assistant/AssistantActivity.kt b/app/src/main/java/org/linphone/ui/assistant/AssistantActivity.kt
index e84664b71..5e406ea6f 100644
--- a/app/src/main/java/org/linphone/ui/assistant/AssistantActivity.kt
+++ b/app/src/main/java/org/linphone/ui/assistant/AssistantActivity.kt
@@ -21,7 +21,6 @@ package org.linphone.ui.assistant
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
-import androidx.core.content.ContextCompat
import androidx.core.view.WindowCompat
import androidx.databinding.DataBindingUtil
import org.linphone.LinphoneApplication
@@ -35,11 +34,6 @@ class AssistantActivity : AppCompatActivity() {
WindowCompat.setDecorFitsSystemWindows(window, true)
super.onCreate(savedInstanceState)
- window.statusBarColor = ContextCompat.getColor(
- this,
- R.color.primary_color
- )
-
while (!LinphoneApplication.coreContext.isReady()) {
Thread.sleep(20)
}
diff --git a/app/src/main/java/org/linphone/ui/assistant/viewmodel/AssistantViewModel.kt b/app/src/main/java/org/linphone/ui/assistant/viewmodel/AssistantViewModel.kt
index 027afcc9c..cae0c3704 100644
--- a/app/src/main/java/org/linphone/ui/assistant/viewmodel/AssistantViewModel.kt
+++ b/app/src/main/java/org/linphone/ui/assistant/viewmodel/AssistantViewModel.kt
@@ -117,6 +117,8 @@ class AssistantViewModel : ViewModel() {
accountParams.identityAddress = identityAddress
newlyCreatedAccount = core.createAccount(accountParams)
+ // TODO: set international prefix if detected
+
registrationInProgress.postValue(true)
core.addListener(coreListener)
core.addAccount(newlyCreatedAccount)
diff --git a/app/src/main/java/org/linphone/ui/main/MainActivity.kt b/app/src/main/java/org/linphone/ui/main/MainActivity.kt
index a1a646d81..8dd1abd82 100644
--- a/app/src/main/java/org/linphone/ui/main/MainActivity.kt
+++ b/app/src/main/java/org/linphone/ui/main/MainActivity.kt
@@ -26,13 +26,15 @@ import android.os.Bundle
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
+import android.view.ViewGroup
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
import android.widget.PopupWindow
+import androidx.annotation.DrawableRes
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.lifecycle.lifecycleScope
import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.R
import org.linphone.core.Account
@@ -40,6 +42,7 @@ import org.linphone.databinding.AccountPopupMenuBinding
import org.linphone.databinding.MainActivityBinding
import org.linphone.ui.assistant.AssistantActivity
import org.linphone.ui.main.viewmodel.DrawerMenuViewModel
+import org.linphone.utils.slideInToastFromTopForDuration
class MainActivity : AppCompatActivity() {
companion object {
@@ -55,11 +58,6 @@ class MainActivity : AppCompatActivity() {
WindowCompat.setDecorFitsSystemWindows(window, true)
super.onCreate(savedInstanceState)
- window.statusBarColor = ContextCompat.getColor(
- this,
- R.color.primary_color
- )
-
while (!coreContext.isReady()) {
Thread.sleep(20)
}
@@ -141,6 +139,14 @@ class MainActivity : AppCompatActivity() {
}
}
+ fun showGreenToast(message: String, @DrawableRes icon: Int) {
+ binding.greenToast.message = message
+ binding.greenToast.icon = icon
+
+ val target = binding.greenToast.root
+ target.slideInToastFromTopForDuration(binding.root as ViewGroup, lifecycleScope)
+ }
+
private fun loadContacts() {
coreContext.contactsManager.loadContacts(this)
@@ -172,15 +178,19 @@ class MainActivity : AppCompatActivity() {
null,
false
)
- popupView.setManageProfileClickListener {
- // TODO: navigate to profile
- }
+
val popupWindow = PopupWindow(
popupView.root,
WRAP_CONTENT,
WRAP_CONTENT,
true
)
+
+ popupView.setManageProfileClickListener {
+ // TODO: navigate to profile
+ popupWindow.dismiss()
+ }
+
// Elevation is for showing a shadow around the popup
popupWindow.elevation = 20f
popupWindow.showAsDropDown(view, 0, 0, Gravity.BOTTOM)
diff --git a/app/src/main/java/org/linphone/ui/main/calls/fragment/CallFragment.kt b/app/src/main/java/org/linphone/ui/main/calls/fragment/CallFragment.kt
index f2c601a70..3d0a76178 100644
--- a/app/src/main/java/org/linphone/ui/main/calls/fragment/CallFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/calls/fragment/CallFragment.kt
@@ -31,16 +31,15 @@ import android.widget.PopupWindow
import androidx.core.view.doOnPreDraw
import androidx.databinding.DataBindingUtil
import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.navArgs
import org.linphone.R
import org.linphone.core.tools.Log
import org.linphone.databinding.CallFragmentBinding
import org.linphone.databinding.CallPopupMenuBinding
+import org.linphone.ui.main.MainActivity
import org.linphone.ui.main.calls.viewmodel.CallLogViewModel
import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.utils.Event
-import org.linphone.utils.slideInToastFromTopForDuration
class CallFragment : GenericFragment() {
private lateinit var binding: CallFragmentBinding
@@ -94,6 +93,18 @@ class CallFragment : GenericFragment() {
}
sharedViewModel.openSlidingPaneEvent.value = Event(true)
}
+
+ viewModel.historyDeletedEvent.observe(viewLifecycleOwner) {
+ it.consume {
+ sharedViewModel.forceRefreshCallLogsListEvent.value = Event(true)
+
+ (requireActivity() as MainActivity).showGreenToast(
+ "Historique supprimé",
+ R.drawable.check
+ )
+ goBack() // TODO FIXME : issue with tablet when pane can't be closed
+ }
+ }
}
private fun copyNumberOrAddressToClipboard(value: String) {
@@ -101,11 +112,10 @@ class CallFragment : GenericFragment() {
val label = "SIP address"
clipboard.setPrimaryClip(ClipData.newPlainText(label, value))
- binding.greenToast.message = "Numéro copié dans le presse-papier"
- binding.greenToast.icon = R.drawable.check
-
- val target = binding.greenToast.root
- target.slideInToastFromTopForDuration(binding.root as ViewGroup, lifecycleScope)
+ (requireActivity() as MainActivity).showGreenToast(
+ "Numéro copié dans le presse-papier",
+ R.drawable.check
+ )
}
private fun showPopupMenu() {
@@ -116,14 +126,6 @@ class CallFragment : GenericFragment() {
false
)
- popupView.setDeleteAllHistoryClickListener {
- viewModel.deleteHistory()
- }
-
- popupView.setCopyNumberClickListener {
- copyNumberOrAddressToClipboard(viewModel.callLogModel.value?.displayedAddress.orEmpty())
- }
-
val popupWindow = PopupWindow(
popupView.root,
ViewGroup.LayoutParams.WRAP_CONTENT,
@@ -131,6 +133,26 @@ class CallFragment : GenericFragment() {
true
)
+ popupView.contactExists = viewModel.callLogModel.value?.friendExists == true
+
+ popupView.setAddToContactsListener {
+ // TODO: go to new contact fragment
+ }
+
+ popupView.setGoToContactListener {
+ // TODO: go to contact fragment
+ }
+
+ popupView.setDeleteAllHistoryClickListener {
+ viewModel.deleteHistory()
+ popupWindow.dismiss()
+ }
+
+ popupView.setCopyNumberClickListener {
+ popupWindow.dismiss()
+ copyNumberOrAddressToClipboard(viewModel.callLogModel.value?.displayedAddress.orEmpty())
+ }
+
// Elevation is for showing a shadow around the popup
popupWindow.elevation = 20f
popupWindow.showAsDropDown(binding.menu, 0, 0, Gravity.BOTTOM)
diff --git a/app/src/main/java/org/linphone/ui/main/calls/fragment/CallsListFragment.kt b/app/src/main/java/org/linphone/ui/main/calls/fragment/CallsListFragment.kt
index cec8f1cd4..b5c4f57c3 100644
--- a/app/src/main/java/org/linphone/ui/main/calls/fragment/CallsListFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/calls/fragment/CallsListFragment.kt
@@ -31,7 +31,6 @@ import android.view.animation.Animation
import android.view.animation.AnimationUtils
import android.widget.PopupWindow
import androidx.databinding.DataBindingUtil
-import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController
import androidx.navigation.navGraphViewModels
import androidx.recyclerview.widget.LinearLayoutManager
@@ -39,13 +38,13 @@ import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.R
import org.linphone.databinding.CallsListFragmentBinding
import org.linphone.databinding.CallsListPopupMenuBinding
+import org.linphone.ui.main.MainActivity
import org.linphone.ui.main.calls.adapter.CallsListAdapter
import org.linphone.ui.main.calls.model.RemoveAllCallLogsDialogModel
import org.linphone.ui.main.calls.viewmodel.CallsListViewModel
import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.utils.DialogUtils
import org.linphone.utils.Event
-import org.linphone.utils.slideInToastFromTopForDuration
class CallsListFragment : GenericFragment() {
@@ -124,6 +123,21 @@ class CallsListFragment : GenericFragment() {
startPostponedEnterTransition()
}
+ listViewModel.historyDeletedEvent.observe(viewLifecycleOwner) {
+ it.consume {
+ (requireActivity() as MainActivity).showGreenToast(
+ "Historique supprimé",
+ R.drawable.check
+ )
+ }
+ }
+
+ sharedViewModel.forceRefreshCallLogsListEvent.observe(viewLifecycleOwner) {
+ it.consume {
+ listViewModel.applyFilter()
+ }
+ }
+
sharedViewModel.searchFilter.observe(viewLifecycleOwner) {
it.consume { filter ->
listViewModel.applyFilter(filter)
@@ -144,11 +158,10 @@ class CallsListFragment : GenericFragment() {
val label = "SIP address"
clipboard.setPrimaryClip(ClipData.newPlainText(label, value))
- binding.greenToast.message = "Numéro copié dans le presse-papier"
- binding.greenToast.icon = R.drawable.check
-
- val target = binding.greenToast.root
- target.slideInToastFromTopForDuration(binding.root as ViewGroup, lifecycleScope)
+ (requireActivity() as MainActivity).showGreenToast(
+ "Numéro copié dans le presse-papier",
+ R.drawable.check
+ )
}
private fun showPopupMenu() {
diff --git a/app/src/main/java/org/linphone/ui/main/calls/model/CallLogHistoryModel.kt b/app/src/main/java/org/linphone/ui/main/calls/model/CallLogHistoryModel.kt
index a672bedc5..3454ee8af 100644
--- a/app/src/main/java/org/linphone/ui/main/calls/model/CallLogHistoryModel.kt
+++ b/app/src/main/java/org/linphone/ui/main/calls/model/CallLogHistoryModel.kt
@@ -8,7 +8,7 @@ import org.linphone.core.CallLog
import org.linphone.utils.LinphoneUtils
import org.linphone.utils.TimestampUtils
-class CallLogHistoryModel(callLog: CallLog) {
+class CallLogHistoryModel(val callLog: CallLog) {
val isOutgoing = MutableLiveData()
val isSuccessful = MutableLiveData()
diff --git a/app/src/main/java/org/linphone/ui/main/calls/model/CallLogModel.kt b/app/src/main/java/org/linphone/ui/main/calls/model/CallLogModel.kt
index 3bc1d0980..690be3b88 100644
--- a/app/src/main/java/org/linphone/ui/main/calls/model/CallLogModel.kt
+++ b/app/src/main/java/org/linphone/ui/main/calls/model/CallLogModel.kt
@@ -25,6 +25,8 @@ class CallLogModel(private val callLog: CallLog) {
val dateTime = MutableLiveData()
+ var friendExists: Boolean = false
+
init {
// Core thread
isOutgoing.postValue(callLog.dir == Dir.Outgoing)
@@ -42,10 +44,12 @@ class CallLogModel(private val callLog: CallLog) {
val friend = coreContext.core.findFriend(address)
if (friend != null) {
avatarModel = ContactAvatarModel(friend)
+ friendExists = true
} else {
val fakeFriend = coreContext.core.createFriend()
fakeFriend.address = address
avatarModel = ContactAvatarModel(fakeFriend)
+ friendExists = false
}
iconResId.postValue(LinphoneUtils.getIconResId(callLog.status, callLog.dir))
diff --git a/app/src/main/java/org/linphone/ui/main/calls/viewmodel/CallLogViewModel.kt b/app/src/main/java/org/linphone/ui/main/calls/viewmodel/CallLogViewModel.kt
index 43218d27a..972b0bc12 100644
--- a/app/src/main/java/org/linphone/ui/main/calls/viewmodel/CallLogViewModel.kt
+++ b/app/src/main/java/org/linphone/ui/main/calls/viewmodel/CallLogViewModel.kt
@@ -18,6 +18,10 @@ class CallLogViewModel : ViewModel() {
val callLogFoundEvent = MutableLiveData>()
+ val historyDeletedEvent: MutableLiveData> by lazy {
+ MutableLiveData>()
+ }
+
private lateinit var address: Address
fun findCallLogByCallId(callId: String) {
@@ -45,7 +49,12 @@ class CallLogViewModel : ViewModel() {
fun deleteHistory() {
// UI thread
- // TODO
+ coreContext.postOnCoreThread { core ->
+ for (model in historyCallLogs.value.orEmpty()) {
+ core.removeCallLog(model.callLog)
+ }
+ historyDeletedEvent.postValue(Event(true))
+ }
}
fun startAudioCall() {
diff --git a/app/src/main/java/org/linphone/ui/main/calls/viewmodel/CallsListViewModel.kt b/app/src/main/java/org/linphone/ui/main/calls/viewmodel/CallsListViewModel.kt
index 19f1a0c4e..5e27de118 100644
--- a/app/src/main/java/org/linphone/ui/main/calls/viewmodel/CallsListViewModel.kt
+++ b/app/src/main/java/org/linphone/ui/main/calls/viewmodel/CallsListViewModel.kt
@@ -26,10 +26,15 @@ import org.linphone.core.CallLog
import org.linphone.core.Core
import org.linphone.core.CoreListenerStub
import org.linphone.ui.main.calls.model.CallLogModel
+import org.linphone.utils.Event
class CallsListViewModel : ViewModel() {
val callLogs = MutableLiveData>()
+ val historyDeletedEvent: MutableLiveData> by lazy {
+ MutableLiveData>()
+ }
+
private var currentFilter = ""
private val coreListener = object : CoreListenerStub() {
@@ -54,7 +59,7 @@ class CallsListViewModel : ViewModel() {
}
}
- fun applyFilter(filter: String) {
+ fun applyFilter(filter: String = currentFilter) {
// UI thread
currentFilter = filter
@@ -69,6 +74,7 @@ class CallsListViewModel : ViewModel() {
for (callLog in core.callLogs) {
core.removeCallLog(callLog)
}
+ historyDeletedEvent.postValue(Event(true))
computeCallLogsList(currentFilter)
}
}
diff --git a/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactFragment.kt b/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactFragment.kt
index 3913d6007..1356ad677 100644
--- a/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactFragment.kt
@@ -31,19 +31,18 @@ import android.view.View
import android.view.ViewGroup
import androidx.core.view.doOnPreDraw
import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.lifecycleScope
import androidx.navigation.findNavController
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
import org.linphone.R
import org.linphone.core.tools.Log
import org.linphone.databinding.ContactFragmentBinding
+import org.linphone.ui.main.MainActivity
import org.linphone.ui.main.contacts.model.NumberOrAddressPickerDialogModel
import org.linphone.ui.main.contacts.viewmodel.ContactViewModel
import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.utils.DialogUtils
import org.linphone.utils.Event
-import org.linphone.utils.slideInToastFromTopForDuration
class ContactFragment : GenericFragment() {
private lateinit var binding: ContactFragmentBinding
@@ -151,10 +150,9 @@ class ContactFragment : GenericFragment() {
val label = if (isSip) "SIP address" else "Phone number"
clipboard.setPrimaryClip(ClipData.newPlainText(label, value))
- binding.greenToast.message = "Numéro copié dans le presse-papier"
- binding.greenToast.icon = R.drawable.check
-
- val target = binding.greenToast.root
- target.slideInToastFromTopForDuration(binding.root as ViewGroup, lifecycleScope)
+ (requireActivity() as MainActivity).showGreenToast(
+ "Numéro copié dans le presse-papier",
+ R.drawable.check
+ )
}
}
diff --git a/app/src/main/java/org/linphone/ui/main/viewmodel/SharedMainViewModel.kt b/app/src/main/java/org/linphone/ui/main/viewmodel/SharedMainViewModel.kt
index 09d0de0f3..2b921dee7 100644
--- a/app/src/main/java/org/linphone/ui/main/viewmodel/SharedMainViewModel.kt
+++ b/app/src/main/java/org/linphone/ui/main/viewmodel/SharedMainViewModel.kt
@@ -28,27 +28,47 @@ class SharedMainViewModel : ViewModel() {
val isSlidingPaneSlideable = MutableLiveData()
- val closeSlidingPaneEvent = MutableLiveData>()
+ val closeSlidingPaneEvent: MutableLiveData> by lazy {
+ MutableLiveData>()
+ }
- val openSlidingPaneEvent = MutableLiveData>()
+ val openSlidingPaneEvent: MutableLiveData> by lazy {
+ MutableLiveData>()
+ }
- val navigateToConversationsEvent = MutableLiveData>()
+ val navigateToConversationsEvent: MutableLiveData> by lazy {
+ MutableLiveData>()
+ }
- val navigateToCallsEvent = MutableLiveData>()
+ val navigateToCallsEvent: MutableLiveData> by lazy {
+ MutableLiveData>()
+ }
- val navigateToContactsEvent = MutableLiveData>()
+ val navigateToContactsEvent: MutableLiveData> by lazy {
+ MutableLiveData>()
+ }
var currentlyDisplayedFragment = MutableLiveData()
/* Top bar related */
- val searchFilter = MutableLiveData>()
+ val searchFilter: MutableLiveData> by lazy {
+ MutableLiveData>()
+ }
/* Contacts related */
- val showContactEvent = MutableLiveData>()
+ val showContactEvent: MutableLiveData> by lazy {
+ MutableLiveData>()
+ }
/* Call logs related */
- val showCallLogEvent = MutableLiveData>()
+ val showCallLogEvent: MutableLiveData> by lazy {
+ MutableLiveData>()
+ }
+
+ val forceRefreshCallLogsListEvent: MutableLiveData> by lazy {
+ MutableLiveData>()
+ }
}
diff --git a/app/src/main/java/org/linphone/ui/voip/VoipActivity.kt b/app/src/main/java/org/linphone/ui/voip/VoipActivity.kt
index 70048c52d..c9616d502 100644
--- a/app/src/main/java/org/linphone/ui/voip/VoipActivity.kt
+++ b/app/src/main/java/org/linphone/ui/voip/VoipActivity.kt
@@ -48,7 +48,6 @@ class VoipActivity : AppCompatActivity() {
this,
R.color.in_call_black
)
- // window.statusBarColor = inCallBlackColor
window.navigationBarColor = inCallBlackColor
while (!LinphoneApplication.coreContext.isReady()) {
diff --git a/app/src/main/res/drawable/contact_avatar.xml b/app/src/main/res/drawable/contact_avatar.xml
index da9c64873..133d052f0 100644
--- a/app/src/main/res/drawable/contact_avatar.xml
+++ b/app/src/main/res/drawable/contact_avatar.xml
@@ -1,19 +1,13 @@
+ android:width="52dp"
+ android:height="52dp"
+ android:viewportWidth="52"
+ android:viewportHeight="52">
-
diff --git a/app/src/main/res/layout-land/calls_list_fragment.xml b/app/src/main/res/layout-land/calls_list_fragment.xml
index 0f3daaf06..ab3b0fe9a 100644
--- a/app/src/main/res/layout-land/calls_list_fragment.xml
+++ b/app/src/main/res/layout-land/calls_list_fragment.xml
@@ -31,7 +31,7 @@
android:id="@+id/top_bar"
android:name="org.linphone.ui.main.fragment.TopBarFragment"
android:layout_width="0dp"
- android:layout_height="@dimen/top_search_bar_height"
+ android:layout_height="@dimen/top_bar_height"
android:layout_marginEnd="9dp"
bind:layout="@layout/top_search_bar"
app:layout_constraintTop_toTopOf="parent"
@@ -75,19 +75,6 @@
app:layout_constraintTop_toBottomOf="@id/top_bar"
app:layout_constraintBottom_toBottomOf="parent" />
-
-
+ app:layout_constraintTop_toTopOf="@id/invisible_title"/>
+
+
+ app:layout_constraintTop_toTopOf="@id/invisible_title" />
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/call_list_cell.xml b/app/src/main/res/layout/call_list_cell.xml
index f8896e0be..7704d82dd 100644
--- a/app/src/main/res/layout/call_list_cell.xml
+++ b/app/src/main/res/layout/call_list_cell.xml
@@ -36,6 +36,7 @@
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:adjustViewBounds="true"
+ android:background="@drawable/shape_button_round"
contactAvatar="@{model.avatarModel}"
app:avatarViewInitials="JD"
app:avatarViewPlaceholder="@drawable/contact_avatar"
diff --git a/app/src/main/res/layout/call_popup_menu.xml b/app/src/main/res/layout/call_popup_menu.xml
index 13b68e9df..9d6c12d30 100644
--- a/app/src/main/res/layout/call_popup_menu.xml
+++ b/app/src/main/res/layout/call_popup_menu.xml
@@ -6,12 +6,21 @@
+
+
+
-
-
+ app:layout_constraintTop_toTopOf="@id/invisible_title"/>
+
+
+ app:layout_constraintTop_toTopOf="@id/invisible_title" />
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/contact_list_cell.xml b/app/src/main/res/layout/contact_list_cell.xml
index 5604ec42c..cde8cbaa1 100644
--- a/app/src/main/res/layout/contact_list_cell.xml
+++ b/app/src/main/res/layout/contact_list_cell.xml
@@ -47,6 +47,7 @@
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:adjustViewBounds="true"
+ android:background="@drawable/shape_button_round"
contactAvatar="@{model}"
app:avatarViewInitials="SB"
app:avatarViewPlaceholder="@drawable/contact_avatar"
diff --git a/app/src/main/res/layout/contact_new_or_edit_fragment.xml b/app/src/main/res/layout/contact_new_or_edit_fragment.xml
index 5f2fee6b8..fdb896dd2 100644
--- a/app/src/main/res/layout/contact_new_or_edit_fragment.xml
+++ b/app/src/main/res/layout/contact_new_or_edit_fragment.xml
@@ -36,10 +36,9 @@
style="@style/default_text_style_800"
android:id="@+id/title"
android:layout_width="0dp"
- android:layout_height="35dp"
+ android:layout_height="@dimen/top_bar_height"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
- android:layout_marginTop="10dp"
android:gravity="center_vertical"
android:text="@{viewModel.isEdit ? `Edit contact` : `New contact`, default=`New contact`}"
android:textColor="@color/primary_color"
@@ -65,7 +64,6 @@
android:id="@+id/scrollView"
android:layout_width="0dp"
android:layout_height="0dp"
- android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:background="@color/gray_7"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/contacts_list_fragment.xml b/app/src/main/res/layout/contacts_list_fragment.xml
index 8d95df2db..665750fee 100644
--- a/app/src/main/res/layout/contacts_list_fragment.xml
+++ b/app/src/main/res/layout/contacts_list_fragment.xml
@@ -34,7 +34,7 @@
android:id="@+id/top_bar"
android:name="org.linphone.ui.main.fragment.TopBarFragment"
android:layout_width="0dp"
- android:layout_height="@dimen/top_search_bar_height"
+ android:layout_height="@dimen/top_bar_height"
bind:layout="@layout/top_search_bar"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/conversations_fragment.xml b/app/src/main/res/layout/conversations_fragment.xml
index f160c0cce..c18411a3c 100644
--- a/app/src/main/res/layout/conversations_fragment.xml
+++ b/app/src/main/res/layout/conversations_fragment.xml
@@ -25,7 +25,7 @@
android:id="@+id/top_bar"
android:name="org.linphone.ui.main.fragment.TopBarFragment"
android:layout_width="0dp"
- android:layout_height="@dimen/top_search_bar_height"
+ android:layout_height="@dimen/top_bar_height"
bind:layout="@layout/top_search_bar"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/main_activity.xml b/app/src/main/res/layout/main_activity.xml
index ea2d7a81f..de059cdcb 100644
--- a/app/src/main/res/layout/main_activity.xml
+++ b/app/src/main/res/layout/main_activity.xml
@@ -9,48 +9,59 @@
type="org.linphone.ui.main.viewmodel.DrawerMenuViewModel" />
-
-
+ app:layout_constraintBottom_toBottomOf="parent"/>
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/top_search_bar.xml b/app/src/main/res/layout/top_search_bar.xml
index e41b677d8..2b1b59a79 100644
--- a/app/src/main/res/layout/top_search_bar.xml
+++ b/app/src/main/res/layout/top_search_bar.xml
@@ -12,7 +12,7 @@
3dp
5dp
- 55dp
+ 55dp
+ 70dp
110dp
235dp