diff --git a/app/src/main/java/org/linphone/ui/voip/fragment/ActiveCallFragment.kt b/app/src/main/java/org/linphone/ui/voip/fragment/ActiveCallFragment.kt index 11dd0cdfe..024e6033d 100644 --- a/app/src/main/java/org/linphone/ui/voip/fragment/ActiveCallFragment.kt +++ b/app/src/main/java/org/linphone/ui/voip/fragment/ActiveCallFragment.kt @@ -27,6 +27,7 @@ import android.view.View import android.view.ViewGroup import androidx.annotation.UiThread import androidx.lifecycle.ViewModelProvider +import com.google.android.material.bottomsheet.BottomSheetBehavior import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.R import org.linphone.databinding.VoipActiveCallFragmentBinding @@ -141,6 +142,15 @@ class ActiveCallFragment : GenericCallFragment() { binding.chronometer.base = SystemClock.elapsedRealtime() - (1000 * duration) binding.chronometer.start() } + + callViewModel.isActionsMenuExpanded.observe(viewLifecycleOwner) { expanded -> + val standardBottomSheetBehavior = BottomSheetBehavior.from(binding.bottomBar.root) + if (expanded) { + standardBottomSheetBehavior.state = BottomSheetBehavior.STATE_EXPANDED + } else { + standardBottomSheetBehavior.state = BottomSheetBehavior.STATE_COLLAPSED + } + } } override fun onResume() { diff --git a/app/src/main/java/org/linphone/ui/voip/viewmodel/CurrentCallViewModel.kt b/app/src/main/java/org/linphone/ui/voip/viewmodel/CurrentCallViewModel.kt index 10aabc465..47b7d7134 100644 --- a/app/src/main/java/org/linphone/ui/voip/viewmodel/CurrentCallViewModel.kt +++ b/app/src/main/java/org/linphone/ui/voip/viewmodel/CurrentCallViewModel.kt @@ -20,7 +20,6 @@ package org.linphone.ui.voip.viewmodel import android.Manifest -import android.animation.ValueAnimator import android.content.pm.PackageManager import androidx.annotation.UiThread import androidx.annotation.WorkerThread @@ -29,7 +28,6 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import java.util.Locale import org.linphone.LinphoneApplication.Companion.coreContext -import org.linphone.R import org.linphone.core.AudioDevice import org.linphone.core.Call import org.linphone.core.CallListenerStub @@ -88,24 +86,6 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() { val isActionsMenuExpanded = MutableLiveData() - val extraActionsMenuTranslateY = MutableLiveData() - - private val extraActionsMenuHeight = coreContext.context.resources.getDimension( - R.dimen.in_call_extra_actions_menu_height - ) - private val extraButtonsMenuAnimator: ValueAnimator by lazy { - ValueAnimator.ofFloat( - extraActionsMenuHeight, - 0f - ).apply { - addUpdateListener { - val value = it.animatedValue as Float - extraActionsMenuTranslateY.value = value - } - duration = 500 - } - } - private lateinit var call: Call private val callListener = object : CallListenerStub() { @@ -150,7 +130,6 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() { isMicrophoneMuted.value = false fullScreenMode.value = false isActionsMenuExpanded.value = false - extraActionsMenuTranslateY.value = extraActionsMenuHeight coreContext.postOnCoreThread { core -> val currentCall = core.currentCall ?: core.calls.firstOrNull() @@ -324,12 +303,6 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() { @UiThread fun toggleExpandActionsMenu() { isActionsMenuExpanded.value = isActionsMenuExpanded.value == false - - if (isActionsMenuExpanded.value == true) { - extraButtonsMenuAnimator.start() - } else { - extraButtonsMenuAnimator.reverse() - } } @WorkerThread diff --git a/app/src/main/res/layout/voip_active_call_fragment.xml b/app/src/main/res/layout/voip_active_call_fragment.xml index 2ccf19748..234e8e2c4 100644 --- a/app/src/main/res/layout/voip_active_call_fragment.xml +++ b/app/src/main/res/layout/voip_active_call_fragment.xml @@ -10,183 +10,182 @@ type="org.linphone.ui.voip.viewmodel.CurrentCallViewModel" /> - + android:layout_height="match_parent"> - + - + - + - + - + - + - + - + - + - + - + - + + + + + + bind:viewModel="@{viewModel}"/> - + \ No newline at end of file diff --git a/app/src/main/res/layout/voip_call_extra_actions.xml b/app/src/main/res/layout/voip_call_extra_actions.xml index 6512c6764..0b36255c6 100644 --- a/app/src/main/res/layout/voip_call_extra_actions.xml +++ b/app/src/main/res/layout/voip_call_extra_actions.xml @@ -13,7 +13,10 @@ + android:background="@color/in_call_black" + app:behavior_hideable="false" + app:behavior_peekHeight="@dimen/in_call_main_actions_menu_height" + app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> -