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

Commit ff801ec7 authored by Dianne Hackborn's avatar Dianne Hackborn
Browse files

Fix issue #3302006: Cannot see the dialog lunched from a transparent activity.

The activity manager was not performing the layout pass on the new window,
because its app token was still hidden, because the activity manager / window
manager were still waiting for it to be ready to show.

Just ignore whether the app token is hidden for this case.

Also fixes some problems with animations, and tweaks the ViewConfiguration
values for xlarge screens.

Change-Id: Icbe9c77ba8127d1e02df2d6f27b8e86ec842e50a
parent f36af164
Loading
Loading
Loading
Loading
+16 −8
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.view;

import android.content.Context;
import android.content.res.Configuration;
import android.util.DisplayMetrics;
import android.util.SparseArray;

@@ -217,22 +218,29 @@ public class ViewConfiguration {
    private ViewConfiguration(Context context) {
        final DisplayMetrics metrics = context.getResources().getDisplayMetrics();
        final float density = metrics.density;
        final float sizeAndDensity;
        if (context.getResources().getConfiguration().isLayoutSizeAtLeast(
                Configuration.SCREENLAYOUT_SIZE_XLARGE)) {
            sizeAndDensity = density * 1.5f;
        } else {
            sizeAndDensity = density;
        }

        mEdgeSlop = (int) (density * EDGE_SLOP + 0.5f);
        mFadingEdgeLength = (int) (density * FADING_EDGE_LENGTH + 0.5f);
        mEdgeSlop = (int) (sizeAndDensity * EDGE_SLOP + 0.5f);
        mFadingEdgeLength = (int) (sizeAndDensity * FADING_EDGE_LENGTH + 0.5f);
        mMinimumFlingVelocity = (int) (density * MINIMUM_FLING_VELOCITY + 0.5f);
        mMaximumFlingVelocity = (int) (density * MAXIMUM_FLING_VELOCITY + 0.5f);
        mScrollbarSize = (int) (density * SCROLL_BAR_SIZE + 0.5f);
        mTouchSlop = (int) (density * TOUCH_SLOP + 0.5f);
        mPagingTouchSlop = (int) (density * PAGING_TOUCH_SLOP + 0.5f);
        mDoubleTapSlop = (int) (density * DOUBLE_TAP_SLOP + 0.5f);
        mWindowTouchSlop = (int) (density * WINDOW_TOUCH_SLOP + 0.5f);
        mTouchSlop = (int) (sizeAndDensity * TOUCH_SLOP + 0.5f);
        mPagingTouchSlop = (int) (sizeAndDensity * PAGING_TOUCH_SLOP + 0.5f);
        mDoubleTapSlop = (int) (sizeAndDensity * DOUBLE_TAP_SLOP + 0.5f);
        mWindowTouchSlop = (int) (sizeAndDensity * WINDOW_TOUCH_SLOP + 0.5f);

        // Size of the screen in bytes, in ARGB_8888 format
        mMaximumDrawingCacheSize = 4 * metrics.widthPixels * metrics.heightPixels;

        mOverscrollDistance = (int) (density * OVERSCROLL_DISTANCE + 0.5f);
        mOverflingDistance = (int) (density * OVERFLING_DISTANCE + 0.5f);
        mOverscrollDistance = (int) (sizeAndDensity * OVERSCROLL_DISTANCE + 0.5f);
        mOverflingDistance = (int) (sizeAndDensity * OVERFLING_DISTANCE + 0.5f);
    }

    /**
+1 −1
Original line number Diff line number Diff line
@@ -1133,7 +1133,7 @@ public final class ViewRoot extends Handler implements ViewParent,
                if (DEBUG_LAYOUT) Log.v(TAG, "Ooops, something changed!  mWidth="
                        + mWidth + " measuredWidth=" + host.getMeasuredWidth()
                        + " mHeight=" + mHeight
                        + " measuredHeight" + host.getMeasuredHeight()
                        + " measuredHeight=" + host.getMeasuredHeight()
                        + " coveredInsetsChanged=" + contentInsetsChanged);

                 // Ask host how big it wants to be
+2 −2
Original line number Diff line number Diff line
@@ -18,14 +18,14 @@
-->

<set xmlns:android="http://schemas.android.com/apk/res/android"
		android:zAdjustment="normal"
		android:zAdjustment="top"
        android:shareInterpolator="false">
    <scale android:fromXScale="0.975" android:toXScale="1.0"
            android:fromYScale="0.975" android:toYScale="1.0"
            android:pivotX="50%p" android:pivotY="50%p"
            android:interpolator="@interpolator/decelerate_quint"
            android:duration="@android:integer/config_activityDefaultDur" />
    <alpha android:fromAlpha=".75" android:toAlpha="1.0"
    <alpha android:fromAlpha="0.0" android:toAlpha="1.0"
            android:interpolator="@interpolator/decelerate_cubic"
            android:duration="@android:integer/config_activityDefaultDur"/>
</set>
 No newline at end of file
+1 −4
Original line number Diff line number Diff line
@@ -18,14 +18,11 @@
-->

<set xmlns:android="http://schemas.android.com/apk/res/android"
		android:zAdjustment="top"
		android:zAdjustment="normal"
        android:shareInterpolator="false">
    <scale android:fromXScale="1.0" android:toXScale="1.075"
            android:fromYScale="1.0" android:toYScale="1.075"
            android:pivotX="50%p" android:pivotY="50%p"
            android:interpolator="@interpolator/decelerate_quint"
            android:duration="@android:integer/config_activityDefaultDur" />
    <alpha android:fromAlpha="1.0" android:toAlpha="0.0"
            android:interpolator="@interpolator/decelerate_cubic"
            android:duration="@android:integer/config_activityDefaultDur"/>
</set>
 No newline at end of file
+1 −4
Original line number Diff line number Diff line
@@ -18,14 +18,11 @@
-->

<set xmlns:android="http://schemas.android.com/apk/res/android"
		android:zAdjustment="top"
		android:zAdjustment="normal"
        android:shareInterpolator="false">
    <scale android:fromXScale="1.125" android:toXScale="1.0"
            android:fromYScale="1.125" android:toYScale="1.0"
            android:pivotX="50%p" android:pivotY="50%p"
            android:interpolator="@interpolator/decelerate_quint"
            android:duration="@android:integer/config_activityDefaultDur" />
    <alpha android:fromAlpha="0.0" android:toAlpha="1.0"
            android:interpolator="@interpolator/decelerate_cubic"
            android:duration="@android:integer/config_activityDefaultDur"/>
</set>
 No newline at end of file
Loading