diff --git a/app/src/main/java/org/linphone/ui/call/fragment/IncomingCallFragment.kt b/app/src/main/java/org/linphone/ui/call/fragment/IncomingCallFragment.kt index e9b9a2691..7a9c5498f 100644 --- a/app/src/main/java/org/linphone/ui/call/fragment/IncomingCallFragment.kt +++ b/app/src/main/java/org/linphone/ui/call/fragment/IncomingCallFragment.kt @@ -33,7 +33,6 @@ import org.linphone.core.tools.Log import org.linphone.databinding.CallIncomingFragmentBinding import org.linphone.ui.call.viewmodel.CurrentCallViewModel import org.linphone.utils.AppUtils -import kotlin.math.abs import kotlin.math.max import kotlin.math.min @@ -52,7 +51,7 @@ class IncomingCallFragment : GenericCallFragment() { private var initialX = 0f private var slidingButtonX = 0f private val slidingButtonTouchListener = View.OnTouchListener { view, event -> - val width = binding.bottomBar.root.width.toFloat() + val width = binding.bottomBar.lockedScreenBottomBar.root.width.toFloat() val aboveAnswer = view.x + view.width > width - areaSize val aboveDecline = view.x < areaSize @@ -81,19 +80,6 @@ class IncomingCallFragment : GenericCallFragment() { true } MotionEvent.ACTION_MOVE -> { - callViewModel.slidingButtonAboveAnswer.value = aboveAnswer - callViewModel.slidingButtonAboveDecline.value = aboveDecline - - val offset = view.x - initialX - val percent = abs(offset) / (width / 2) - if (offset > 0) { - callViewModel.answerAlpha.value = 1f - callViewModel.declineAlpha.value = 1f - percent - } else if (offset < 0) { - callViewModel.answerAlpha.value = 1f - percent - callViewModel.declineAlpha.value = 1f - } - view.animate() .x(min(max(marginSize, event.rawX + slidingButtonX), width - view.width - marginSize)) .setDuration(0) @@ -137,7 +123,7 @@ class IncomingCallFragment : GenericCallFragment() { } } - binding.bottomBar.slidingButton.setOnTouchListener(slidingButtonTouchListener) + binding.bottomBar.lockedScreenBottomBar.slidingButton.setOnTouchListener(slidingButtonTouchListener) } override fun onResume() { diff --git a/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt b/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt index 724325f3b..f781f0081 100644 --- a/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt +++ b/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt @@ -266,14 +266,6 @@ class CurrentCallViewModel val isScreenLocked = MutableLiveData() - val slidingButtonAboveAnswer = MutableLiveData() - - val slidingButtonAboveDecline = MutableLiveData() - - val answerAlpha = MutableLiveData() - - val declineAlpha = MutableLiveData() - lateinit var currentCall: Call private val contactsListener = object : ContactsListener { @@ -540,8 +532,6 @@ class CurrentCallViewModel playbackVolume.value = 0f refreshKeyguardLockedStatus() - answerAlpha.value = 1f - declineAlpha.value = 1f coreContext.postOnCoreThread { core -> hideSipAddresses.postValue(corePreferences.hideSipAddresses) diff --git a/app/src/main/res/drawable/shape_call_sliding_controls_background.xml b/app/src/main/res/drawable/shape_call_sliding_controls_background.xml new file mode 100644 index 000000000..91323b4f4 --- /dev/null +++ b/app/src/main/res/drawable/shape_call_sliding_controls_background.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/call_incoming_actions.xml b/app/src/main/res/layout/call_incoming_actions.xml index 8346e38ae..32806fe2e 100644 --- a/app/src/main/res/layout/call_incoming_actions.xml +++ b/app/src/main/res/layout/call_incoming_actions.xml @@ -1,5 +1,6 @@ @@ -11,186 +12,33 @@ + android:layout_height="@dimen/call_main_actions_menu_height"> - - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintBottom_toBottomOf="parent"/> + + diff --git a/app/src/main/res/layout/call_incoming_actions_screen_locked.xml b/app/src/main/res/layout/call_incoming_actions_screen_locked.xml new file mode 100644 index 000000000..d3f495287 --- /dev/null +++ b/app/src/main/res/layout/call_incoming_actions_screen_locked.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/call_incoming_actions_screen_unlocked.xml b/app/src/main/res/layout/call_incoming_actions_screen_unlocked.xml new file mode 100644 index 000000000..64b37c828 --- /dev/null +++ b/app/src/main/res/layout/call_incoming_actions_screen_unlocked.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index a1627dbbb..10beca87b 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -669,6 +669,8 @@ Reprendre Enregistrer Raccrocher + Décliner + Décrocher Disposition En cours En train de sonner diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ec8a1a444..6d35dfe25 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -711,6 +711,8 @@ Resume Record Hang up + Decline + Answer Layout In progress Ringing