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

Commit 80b2606f authored by Kevin Chyn's avatar Kevin Chyn Committed by Android (Google) Code Review
Browse files

Merge "Update BiometricPrompt UI for large displays" into sc-v2-dev

parents f79e4253 f30f327d
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -824,11 +824,29 @@ public abstract class AuthBiometricView extends LinearLayout {
        return new AuthDialog.LayoutParams(width, totalHeight);
    }

    /**
     * Simple heuristic which should return true displays that are larger than a normal phone.
     * For example, tablet displays, or the unfolded display for foldables.
     */
    private boolean isLargeDisplay(int width, int height) {
        return width > 1200 && height > 1200;
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        final int width = MeasureSpec.getSize(widthMeasureSpec);
        final int height = MeasureSpec.getSize(heightMeasureSpec);
        final int newWidth = Math.min(width, height);

        Log.d(TAG, "Width: " + width + ", height: " + height);

        final int newWidth;
        if (isLargeDisplay(width, height)) {
            // TODO: Unless we can come up with a one-size-fits-all equation, we may want to
            //  consider moving this to an overlay.
            newWidth = 2 * Math.min(width, height) / 3;
        } else {
            newWidth = Math.min(width, height);
        }

        // Use "newWidth" instead, so the landscape dialog width is the same as the portrait
        // width.
+0 −18
Original line number Diff line number Diff line
@@ -117,24 +117,6 @@ public class AuthPanelController extends ViewOutlineProvider {
        mUseFullScreen = fullScreen;
    }

    public ValueAnimator getTranslationAnimator(float relativeTranslationY) {
        final ValueAnimator animator = ValueAnimator.ofFloat(
                mPanelView.getY(), mPanelView.getY() - relativeTranslationY);
        animator.addUpdateListener(animation -> {
            final float translation = (float) animation.getAnimatedValue();
            mPanelView.setTranslationY(translation);
        });
        return animator;
    }

    public ValueAnimator getAlphaAnimator(float alpha) {
        final ValueAnimator animator = ValueAnimator.ofFloat(mPanelView.getAlpha(), alpha);
        animator.addUpdateListener(animation -> {
            mPanelView.setAlpha((float) animation.getAnimatedValue());
        });
        return animator;
    }

    public void updateForContentDimensions(int contentWidth, int contentHeight,
            int animateDurationMs) {
        if (DEBUG) {