diff options
author | Eric Erfanian <erfanian@google.com> | 2017-03-20 20:40:36 +0000 |
---|---|---|
committer | Eric Erfanian <erfanian@google.com> | 2017-03-20 20:40:36 +0000 |
commit | 30ccc4f3aa6da94f0bb8a01a880a6353b883b263 (patch) | |
tree | 2f55365aaf87df9ba7c1fe0be56a7d0988eadf30 /java/com/android/incallui/answer/impl/FixedAspectSurfaceView.java | |
parent | 06b6b56e9eaa91ebf757ea641e38a9c885fa40bd (diff) |
Revert "Update AOSP Dialer source from internal google3 repository at cl/150622237"
This reverts commit 06b6b56e9eaa91ebf757ea641e38a9c885fa40bd.
Change-Id: Ida8c5ee67669524dc63b9adc60a6dd392cb9b9a6
Diffstat (limited to 'java/com/android/incallui/answer/impl/FixedAspectSurfaceView.java')
-rw-r--r-- | java/com/android/incallui/answer/impl/FixedAspectSurfaceView.java | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/java/com/android/incallui/answer/impl/FixedAspectSurfaceView.java b/java/com/android/incallui/answer/impl/FixedAspectSurfaceView.java deleted file mode 100644 index ad7d94d95..000000000 --- a/java/com/android/incallui/answer/impl/FixedAspectSurfaceView.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (C) 2017 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 - */ - -package com.android.incallui.answer.impl; - -import android.content.Context; -import android.content.res.TypedArray; -import android.util.AttributeSet; -import android.view.SurfaceView; -import android.view.View; -import com.android.dialer.common.Assert; - -/** - * A SurfaceView that maintains its aspect ratio to be a desired target value. - * - * <p>The FixedAspectSurfaceView will not be able to maintain the requested aspect ratio if both the - * width and the height are exactly determined by the layout. To avoid this, ensure that either the - * height or the width is adjustable by the view; for example, by setting the layout parameters to - * be WRAP_CONTENT for the dimension that is best adjusted to maintain the aspect ratio. - */ -public class FixedAspectSurfaceView extends SurfaceView { - - /** Desired width/height ratio */ - private float mAspectRatio; - - private final boolean scaleWidth; - private final boolean scaleHeight; - - public FixedAspectSurfaceView(Context context, AttributeSet attrs) { - super(context, attrs); - - // Get initial aspect ratio from custom attributes - TypedArray a = - context.getTheme().obtainStyledAttributes(attrs, R.styleable.FixedAspectSurfaceView, 0, 0); - scaleHeight = a.getBoolean(R.styleable.FixedAspectSurfaceView_scaleHeight, false); - scaleWidth = a.getBoolean(R.styleable.FixedAspectSurfaceView_scaleWidth, false); - Assert.checkArgument(scaleHeight != scaleWidth, "Must either scale width or height"); - setAspectRatio(a.getFloat(R.styleable.FixedAspectSurfaceView_aspectRatio, 1.f)); - a.recycle(); - } - - /** - * Set the desired aspect ratio for this view. - * - * @param aspect the desired width/height ratio in the current UI orientation. Must be a positive - * value. - */ - public void setAspectRatio(float aspect) { - Assert.checkArgument(aspect >= 0, "Aspect ratio must be positive"); - mAspectRatio = aspect; - requestLayout(); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - int width = MeasureSpec.getSize(widthMeasureSpec); - int height = MeasureSpec.getSize(heightMeasureSpec); - - // Do the scaling - if (scaleWidth) { - width = (int) (height * mAspectRatio); - } else if (scaleHeight) { - height = (int) (width / mAspectRatio); - } - - // Override width/height if needed for EXACTLY and AT_MOST specs - width = View.resolveSizeAndState(width, widthMeasureSpec, 0); - height = View.resolveSizeAndState(height, heightMeasureSpec, 0); - - // Finally set the calculated dimensions - setMeasuredDimension(width, height); - } -} |