Added animation on accept/hangup call arrows on CallIncomingActivity when screen is locked
This commit is contained in:
parent
d4a8bdfa38
commit
de29c590ac
2 changed files with 53 additions and 9 deletions
|
@ -19,12 +19,15 @@
|
||||||
*/
|
*/
|
||||||
package org.linphone.activities.call.views
|
package org.linphone.activities.call.views
|
||||||
|
|
||||||
|
import android.animation.AnimatorSet
|
||||||
|
import android.animation.ObjectAnimator
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.View.OnTouchListener
|
import android.view.View.OnTouchListener
|
||||||
|
import android.view.animation.LinearInterpolator
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import androidx.databinding.DataBindingUtil
|
import androidx.databinding.DataBindingUtil
|
||||||
import org.linphone.R
|
import org.linphone.R
|
||||||
|
@ -121,6 +124,7 @@ class AnswerDeclineIncomingCallButtons : LinearLayout {
|
||||||
)
|
)
|
||||||
|
|
||||||
updateSlideMode()
|
updateSlideMode()
|
||||||
|
configureAnimation()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateSlideMode() {
|
private fun updateSlideMode() {
|
||||||
|
@ -131,4 +135,43 @@ class AnswerDeclineIncomingCallButtons : LinearLayout {
|
||||||
binding.declineButton.setOnTouchListener(mDeclineTouchListener)
|
binding.declineButton.setOnTouchListener(mDeclineTouchListener)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun configureAnimation() {
|
||||||
|
val accept1 = ObjectAnimator.ofFloat(binding.arrowAccept1, "alpha", 1f, 0.6f, 0.4f, 1f).apply {
|
||||||
|
repeatCount = ObjectAnimator.INFINITE
|
||||||
|
repeatMode = ObjectAnimator.RESTART
|
||||||
|
}
|
||||||
|
|
||||||
|
val accept2 = ObjectAnimator.ofFloat(binding.arrowAccept2, "alpha", 0.6f, 1f, 0.4f, 0.6f).apply {
|
||||||
|
repeatCount = ObjectAnimator.INFINITE
|
||||||
|
repeatMode = ObjectAnimator.RESTART
|
||||||
|
}
|
||||||
|
|
||||||
|
val accept3 = ObjectAnimator.ofFloat(binding.arrowAccept3, "alpha", 0.4f, 0.6f, 1f, 0.4f).apply {
|
||||||
|
repeatCount = ObjectAnimator.INFINITE
|
||||||
|
repeatMode = ObjectAnimator.RESTART
|
||||||
|
}
|
||||||
|
|
||||||
|
val hangup1 = ObjectAnimator.ofFloat(binding.arrowHangup1, "alpha", 1f, 0.6f, 0.4f, 1f).apply {
|
||||||
|
repeatCount = ObjectAnimator.INFINITE
|
||||||
|
repeatMode = ObjectAnimator.RESTART
|
||||||
|
}
|
||||||
|
|
||||||
|
val hangup2 = ObjectAnimator.ofFloat(binding.arrowHangup2, "alpha", 0.6f, 1f, 0.4f, 0.6f).apply {
|
||||||
|
repeatCount = ObjectAnimator.INFINITE
|
||||||
|
repeatMode = ObjectAnimator.RESTART
|
||||||
|
}
|
||||||
|
|
||||||
|
val hangup3 = ObjectAnimator.ofFloat(binding.arrowHangup3, "alpha", 0.4f, 0.6f, 1f, 0.4f).apply {
|
||||||
|
repeatCount = ObjectAnimator.INFINITE
|
||||||
|
repeatMode = ObjectAnimator.RESTART
|
||||||
|
}
|
||||||
|
|
||||||
|
AnimatorSet().apply {
|
||||||
|
duration = 2000
|
||||||
|
interpolator = LinearInterpolator()
|
||||||
|
playTogether(accept1, accept2, accept3, hangup1, hangup2, hangup3)
|
||||||
|
start()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,25 +42,25 @@
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/arrow_hangup"
|
android:id="@+id/arrow_hangup_1"
|
||||||
android:contentDescription="@string/content_description_slide_right_hangup"
|
android:contentDescription="@string/content_description_slide_right_hangup"
|
||||||
android:src="@drawable/arrow_hangup"
|
android:src="@drawable/arrow_hangup"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"/>
|
android:layout_height="wrap_content"/>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
android:id="@+id/arrow_hangup_2"
|
||||||
android:src="@drawable/arrow_hangup"
|
android:src="@drawable/arrow_hangup"
|
||||||
android:contentDescription="@null"
|
android:contentDescription="@null"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"/>
|
||||||
android:alpha="0.6"/>
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
android:id="@+id/arrow_hangup_3"
|
||||||
android:src="@drawable/arrow_hangup"
|
android:src="@drawable/arrow_hangup"
|
||||||
android:contentDescription="@null"
|
android:contentDescription="@null"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"/>
|
||||||
android:alpha="0.4"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -88,20 +88,21 @@
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
android:id="@+id/arrow_accept_3"
|
||||||
android:src="@drawable/arrow_accept"
|
android:src="@drawable/arrow_accept"
|
||||||
android:contentDescription="@null"
|
android:contentDescription="@null"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"/>
|
||||||
android:alpha="0.4"/>
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
android:id="@+id/arrow_accept_2"
|
||||||
android:src="@drawable/arrow_accept"
|
android:src="@drawable/arrow_accept"
|
||||||
android:contentDescription="@null"
|
android:contentDescription="@null"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"/>
|
||||||
android:alpha="0.6"/>
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
android:id="@+id/arrow_accept_1"
|
||||||
android:src="@drawable/arrow_accept"
|
android:src="@drawable/arrow_accept"
|
||||||
android:contentDescription="@string/content_description_slide_left_answer"
|
android:contentDescription="@string/content_description_slide_left_answer"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|
Loading…
Reference in a new issue