diff options
author | Tyler Gunn <tgunn@google.com> | 2015-12-07 23:04:35 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2015-12-07 23:04:35 +0000 |
commit | c6fe56dbf0c84b08d198a08226669345e93b6556 (patch) | |
tree | 28920b534a3013821372f7d436d050006dc403d5 /InCallUI | |
parent | f7c32c829320184ad0cec8a1f10d2cbc68c426f7 (diff) | |
parent | 015ec97c0ecc23063fa3efd3cd11639b399422ac (diff) |
Fix presentation of "held" banner in landscape mode, plus more!
am: 11ab3ecf88
* commit '11ab3ecf888aa58a63ca87e01a014c99bb1d9c0a':
Fix presentation of "held" banner in landscape mode, plus more!
Diffstat (limited to 'InCallUI')
4 files changed, 9 insertions, 41 deletions
diff --git a/InCallUI/res/layout-land/video_call_views.xml b/InCallUI/res/layout-land/video_call_views.xml deleted file mode 100644 index 8961ea4bf..000000000 --- a/InCallUI/res/layout-land/video_call_views.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 The Android Open Source Project - ~ - ~ Licensed under the Apache License, Version 2.0 (the "License"); - ~ you may not use this file except in compliance with the License. - ~ You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License - --> - -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent" > - - <TextureView - android:id="@+id/incomingVideo" - android:layout_gravity="center" - android:layout_width="match_parent" - android:layout_height="match_parent" /> - <!-- The width and height are replaced at runtime based on the selected camera. --> - <TextureView - android:id="@+id/previewVideo" - android:layout_gravity="bottom|right" - android:layout_margin="@dimen/video_preview_margin" - android:layout_width="70dp" - android:layout_height="120dp" /> -</FrameLayout> diff --git a/InCallUI/src/com/android/incallui/CallCardFragment.java b/InCallUI/src/com/android/incallui/CallCardFragment.java index e7d4f4836..705a1da02 100644 --- a/InCallUI/src/com/android/incallui/CallCardFragment.java +++ b/InCallUI/src/com/android/incallui/CallCardFragment.java @@ -648,18 +648,16 @@ public class CallCardFragment extends BaseFragment<CallCardPresenter, CallCardPr mSecondaryCallInfo.setVisibility(View.VISIBLE); } + updateFabPositionForSecondaryCallInfo(); // We need to translate the secondary caller info, but we need to know its position after // the layout has occurred so use a {@code ViewTreeObserver}. final ViewTreeObserver observer = getView().getViewTreeObserver(); + observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { // We don't want to continue getting called. - if (observer.isAlive()) { - observer.removeOnPreDrawListener(this); - } - - updateFabPositionForSecondaryCallInfo(); + getView().getViewTreeObserver().removeOnPreDrawListener(this); // Get the height of the secondary call info now, and then re-hide the view prior // to doing the actual animation. diff --git a/InCallUI/src/com/android/incallui/InCallActivity.java b/InCallUI/src/com/android/incallui/InCallActivity.java index cbcf50c41..a807a12ea 100644 --- a/InCallUI/src/com/android/incallui/InCallActivity.java +++ b/InCallUI/src/com/android/incallui/InCallActivity.java @@ -227,7 +227,7 @@ public class InCallActivity extends TransactionSafeActivity implements FragmentD return; } - int newRotation = Surface.ROTATION_0; + int newRotation; // We only shift if we're within 22.5 (23) degrees of the target // orientation. This avoids flopping back and forth when holding // the device at 45 degrees or so. @@ -241,6 +241,9 @@ public class InCallActivity extends TransactionSafeActivity implements FragmentD newRotation = Surface.ROTATION_180; } else if (orientation >= 247 && orientation <= 293) { newRotation = Surface.ROTATION_90; + } else { + // Device is between orientations, so leave orientation the same. + return; } // Orientation is the current device orientation in degrees. Ultimately we want diff --git a/InCallUI/src/com/android/incallui/VideoCallPresenter.java b/InCallUI/src/com/android/incallui/VideoCallPresenter.java index a8812a672..eb9b62005 100644 --- a/InCallUI/src/com/android/incallui/VideoCallPresenter.java +++ b/InCallUI/src/com/android/incallui/VideoCallPresenter.java @@ -247,6 +247,7 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi InCallVideoCallCallbackNotifier.getInstance().addSessionModificationListener(this); mCurrentVideoState = VideoProfile.STATE_AUDIO_ONLY; mCurrentCallState = Call.State.INVALID; + mDeviceOrientation = ui.getCurrentRotation(); } /** @@ -699,6 +700,7 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi final int rotation = ui.getCurrentRotation(); if (rotation != VideoCallFragment.ORIENTATION_UNKNOWN) { videoCall.setDeviceOrientation(InCallPresenter.toRotationAngle(rotation)); + onDeviceOrientationChanged(rotation); } enableCamera(videoCall, isCameraRequired(newVideoState)); |