summaryrefslogtreecommitdiff
path: root/InCallUI
diff options
context:
space:
mode:
authorTyler Gunn <tgunn@google.com>2015-12-07 23:04:35 +0000
committerandroid-build-merger <android-build-merger@google.com>2015-12-07 23:04:35 +0000
commitc6fe56dbf0c84b08d198a08226669345e93b6556 (patch)
tree28920b534a3013821372f7d436d050006dc403d5 /InCallUI
parentf7c32c829320184ad0cec8a1f10d2cbc68c426f7 (diff)
parent015ec97c0ecc23063fa3efd3cd11639b399422ac (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')
-rw-r--r--InCallUI/res/layout-land/video_call_views.xml35
-rw-r--r--InCallUI/src/com/android/incallui/CallCardFragment.java8
-rw-r--r--InCallUI/src/com/android/incallui/InCallActivity.java5
-rw-r--r--InCallUI/src/com/android/incallui/VideoCallPresenter.java2
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));