summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/com/android/incallui/VideoCallPresenter.java5
-rw-r--r--java/com/android/incallui/video/impl/VideoCallFragment.java37
-rw-r--r--java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java2
3 files changed, 44 insertions, 0 deletions
diff --git a/java/com/android/incallui/VideoCallPresenter.java b/java/com/android/incallui/VideoCallPresenter.java
index 5bdcd7a73..536af8e36 100644
--- a/java/com/android/incallui/VideoCallPresenter.java
+++ b/java/com/android/incallui/VideoCallPresenter.java
@@ -420,6 +420,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.
diff --git a/java/com/android/incallui/video/impl/VideoCallFragment.java b/java/com/android/incallui/video/impl/VideoCallFragment.java
index 11b80ceb9..be78bc1ec 100644
--- a/java/com/android/incallui/video/impl/VideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/VideoCallFragment.java
@@ -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
@@ -421,6 +451,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.
diff --git a/java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java b/java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java
index 55ea23f5e..9dd545080 100644
--- a/java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java
+++ b/java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java
@@ -48,4 +48,6 @@ public interface VideoCallScreenDelegate {
void setSurfaceViews(SurfaceView preview, SurfaceView remote);
int getDeviceOrientation();
+
+ boolean isFullscreen();
}