Browse Source

add call recording animation

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
Marcel Hibbe 2 years ago
parent
commit
fcef4b9c9b
1 changed files with 11 additions and 0 deletions
  1. 11 0
      app/src/main/java/com/nextcloud/talk/activities/CallActivity.java

+ 11 - 0
app/src/main/java/com/nextcloud/talk/activities/CallActivity.java

@@ -52,6 +52,9 @@ import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewTreeObserver;
+import android.view.animation.AlphaAnimation;
+import android.view.animation.Animation;
+import android.view.animation.LinearInterpolator;
 import android.widget.FrameLayout;
 import android.widget.RelativeLayout;
 import android.widget.Toast;
@@ -183,6 +186,7 @@ public class CallActivity extends CallBaseActivity {
 
     public static final String VIDEO_STREAM_TYPE_SCREEN = "screen";
     public static final String VIDEO_STREAM_TYPE_VIDEO = "video";
+    private static final Long RECORDING_ANIMATION_DURATION = 1000L;
 
     @Inject
     NcApi ncApi;
@@ -2923,9 +2927,16 @@ public class CallActivity extends CallBaseActivity {
     public void showCallRecordingIndicator() {
         binding.callRecordingIndicator.setVisibility(View.VISIBLE);
 
+        Animation animation = new AlphaAnimation(1.0f, 0.0f);
+        animation.setDuration(RECORDING_ANIMATION_DURATION);
+        animation.setInterpolator(new LinearInterpolator());
+        animation.setRepeatCount(Animation.INFINITE);
+        animation.setRepeatMode(Animation.REVERSE);
+        binding.callRecordingIndicator.startAnimation(animation);
     }
 
     public void hideCallRecordingIndicator() {
+        binding.callRecordingIndicator.clearAnimation();
         binding.callRecordingIndicator.setVisibility(View.GONE);
     }