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

Commit 9e30939b 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 sc-v2-dev am: 26fffc68

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

Change-Id: Ieb36dd5b93ce25d791926c4599a52e6271af5815
parents e428a717 26fffc68
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);