Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5183c962 authored by Hideki Ishii's avatar Hideki Ishii Committed by android-build-merger
Browse files

Merge "Fix for button flickering issue when video call screen rotates" am:...

Merge "Fix for button flickering issue when video call screen rotates" am: 890dcce1 am: fc10e637
am: efe0fce7

Change-Id: Iab022c32c517563ad2956bacceb22f320a2f6ac8
parents 723058a9 efe0fce7
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -431,6 +431,11 @@ public class VideoCallPresenter
    InCallPresenter.getInstance().getInCallCameraManager().onCameraPermissionGranted();
  }

  @Override
  public boolean isFullscreen() {
    return InCallPresenter.getInstance().isFullscreen();
  }

  /**
   * Called when the user interacts with the UI. If a fullscreen timer is pending then we start the
   * timer from scratch to avoid having the UI disappear while the user is interacting with it.
+37 −0
Original line number Diff line number Diff line
@@ -306,6 +306,30 @@ public class VideoCallFragment extends Fragment
            updatePreviewOffView();
          }
        });

    controls.addOnLayoutChangeListener(
        new OnLayoutChangeListener() {
          @Override
          public void onLayoutChange(
              View v,
              int left,
              int top,
              int right,
              int bottom,
              int oldLeft,
              int oldTop,
              int oldRight,
              int oldBottom) {
            LogUtil.i("VideoCallFragment.onLayoutChange", "controls layout changed");
            if (getActivity() != null && getView() != null) {
              controls.removeOnLayoutChangeListener(this);
              if (isInFullscreenMode) {
                enterFullscreenMode();
              }
            }
          }
        });

    return view;
  }

@@ -334,6 +358,12 @@ public class VideoCallFragment extends Fragment
    inCallButtonUiDelegate.onInCallButtonUiReady(this);

    view.setOnSystemUiVisibilityChangeListener(this);

    if (videoCallScreenDelegate.isFullscreen()) {
        controls.setVisibility(View.INVISIBLE);
        contactGridManager.getContainerView().setVisibility(View.INVISIBLE);
        endCallButton.setVisibility(View.INVISIBLE);
    }
  }

  @Override
@@ -420,6 +450,13 @@ public class VideoCallFragment extends Fragment
        .translationY(0)
        .setInterpolator(linearOutSlowInInterpolator)
        .alpha(1)
        .withStartAction(
            new Runnable() {
              @Override
              public void run() {
                controls.setVisibility(View.VISIBLE);
              }
            })
        .start();

    // Animate onHold to the shown state.
+2 −0
Original line number Diff line number Diff line
@@ -48,4 +48,6 @@ public interface VideoCallScreenDelegate {
  void setSurfaceViews(SurfaceView preview, SurfaceView remote);

  int getDeviceOrientation();

  boolean isFullscreen();
}