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

Commit 278a2aac authored by Wei Sheng Shih's avatar Wei Sheng Shih Committed by Android (Google) Code Review
Browse files

Merge "Provide default splash screen style for Launcher and SystemUI."

parents 6fca6333 a19270f2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -431,7 +431,7 @@ public class ActivityOptions extends ComponentOptions {
    private boolean mOverrideTaskTransition;
    private String mSplashScreenThemeResName;
    @SplashScreen.SplashScreenStyle
    private int mSplashScreenStyle;
    private int mSplashScreenStyle = SplashScreen.SPLASH_SCREEN_STYLE_UNDEFINED;
    private boolean mRemoveWithTaskOrganizer;
    private boolean mLaunchedFromBubble;
    private boolean mTransientLaunch;
+6 −0
Original line number Diff line number Diff line
@@ -42,6 +42,11 @@ import java.util.ArrayList;
 * <code>Activity.getSplashScreen()</code> to get the SplashScreen.</p>
 */
public interface SplashScreen {
    /**
     * The splash screen style is not defined.
     * @hide
     */
    int SPLASH_SCREEN_STYLE_UNDEFINED = -1;
    /**
     * Force splash screen to be empty.
     * @hide
@@ -55,6 +60,7 @@ public interface SplashScreen {

    /** @hide */
    @IntDef(prefix = { "SPLASH_SCREEN_STYLE_" }, value = {
            SPLASH_SCREEN_STYLE_UNDEFINED,
            SPLASH_SCREEN_STYLE_EMPTY,
            SPLASH_SCREEN_STYLE_ICON
    })
+12 −5
Original line number Diff line number Diff line
@@ -6432,6 +6432,13 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
            } else if (optionsStyle == SplashScreen.SPLASH_SCREEN_STYLE_ICON) {
                return false;
            }
            // Choose the default behavior for Launcher and SystemUI when the SplashScreen style is
            // not specified in the ActivityOptions.
            if (mLaunchSourceType == LAUNCH_SOURCE_TYPE_HOME) {
                return false;
            } else if (mLaunchSourceType == LAUNCH_SOURCE_TYPE_SYSTEMUI) {
                return true;
            }
        }
        if (sourceRecord == null) {
            sourceRecord = searchCandidateLaunchingActivity();
@@ -6441,11 +6448,11 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
            return sourceRecord.mSplashScreenStyleEmpty;
        }

        // If this activity was launched from a system surface for first start, never use an empty
        // splash screen. Need to check sourceRecord before in case this activity is launched from
        // service.
        // Otherwise use empty.
        return !startActivity || !launchedFromSystemSurface();
        // If this activity was launched from Launcher or System for first start, never use an
        // empty splash screen.
        // Need to check sourceRecord before in case this activity is launched from service.
        return !startActivity || !(mLaunchSourceType == LAUNCH_SOURCE_TYPE_SYSTEM
                || mLaunchSourceType == LAUNCH_SOURCE_TYPE_HOME);
    }

    private int getSplashscreenTheme() {