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

Commit e0081af2 authored by Wei Sheng Shih's avatar Wei Sheng Shih Committed by Automerger Merge Worker
Browse files

Merge "Fade out branding image with icon while exit splash screen." into...

Merge "Fade out branding image with icon while exit splash screen." into sc-v2-dev am: 26fffc68 am: 9e30939b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16309095

Change-Id: I6740f646b628b4c222d64912c45df3570ac19d44
parents 605a5ca0 9e30939b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@
          android:layout_marginBottom="60dp"
          android:padding="0dp"
          android:background="@null"
          android:forceHasOverlappingRendering="false"
          android:contentDescription="@string/splash_screen_view_branding_description"/>

</android.window.SplashScreenView>
 No newline at end of file
+21 −4
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ public class SplashScreenExitAnimation implements Animator.AnimatorListener {
    private final int mAppRevealDuration;
    private final int mAnimationDuration;
    private final float mIconStartAlpha;
    private final float mBrandingStartAlpha;
    private final TransactionPool mTransactionPool;

    private ValueAnimator mMainAnimator;
@@ -94,9 +95,17 @@ public class SplashScreenExitAnimation implements Animator.AnimatorListener {
                || iconView.getLayoutParams().height == 0) {
            mIconFadeOutDuration = 0;
            mIconStartAlpha = 0;
            mBrandingStartAlpha = 0;
            mAppRevealDelay = 0;
        } else {
            iconView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
            // The branding view could only exists when the icon is present.
            final View brandingView = view.getBrandingView();
            if (brandingView != null) {
                mBrandingStartAlpha = brandingView.getAlpha();
            } else {
                mBrandingStartAlpha = 0;
            }
            mIconFadeOutDuration = context.getResources().getInteger(
                    R.integer.starting_window_app_reveal_icon_fade_out_duration);
            mAppRevealDelay = context.getResources().getInteger(
@@ -334,13 +343,21 @@ public class SplashScreenExitAnimation implements Animator.AnimatorListener {
        // ignore
    }

    private void onAnimationProgress(float linearProgress) {
        View iconView = mSplashScreenView.getIconView();
        if (iconView != null) {
    private void onFadeOutProgress(float linearProgress) {
        final float iconProgress = ICON_INTERPOLATOR.getInterpolation(
                getProgress(linearProgress, 0 /* delay */, mIconFadeOutDuration));
        final View iconView = mSplashScreenView.getIconView();
        final View brandingView = mSplashScreenView.getBrandingView();
        if (iconView != null) {
            iconView.setAlpha(mIconStartAlpha * (1 - iconProgress));
        }
        if (brandingView != null) {
            brandingView.setAlpha(mBrandingStartAlpha * (1 - iconProgress));
        }
    }

    private void onAnimationProgress(float linearProgress) {
        onFadeOutProgress(linearProgress);

        final float revealLinearProgress = getProgress(linearProgress, mAppRevealDelay,
                mAppRevealDuration);