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

Commit e8b3bb9a authored by Filip Gruszczynski's avatar Filip Gruszczynski Committed by Android (Google) Code Review
Browse files

Merge "Load background drawable before passing to backdrop renderer."

parents caed2565 a40fd09f
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -99,6 +99,9 @@ public class BackdropFrameRenderer extends Thread implements Choreographer.Frame
        mResizingBackgroundDrawable = resizingBackgroundDrawable;
        mResizingBackgroundDrawable = resizingBackgroundDrawable;
        mCaptionBackgroundDrawable = captionBackgroundDrawableDrawable;
        mCaptionBackgroundDrawable = captionBackgroundDrawableDrawable;
        mUserCaptionBackgroundDrawable = userCaptionBackgroundDrawable;
        mUserCaptionBackgroundDrawable = userCaptionBackgroundDrawable;
        if (mCaptionBackgroundDrawable == null) {
            mCaptionBackgroundDrawable = mResizingBackgroundDrawable;
        }
        if (statusBarColor != 0) {
        if (statusBarColor != 0) {
            mStatusBarColor = new ColorDrawable(statusBarColor);
            mStatusBarColor = new ColorDrawable(statusBarColor);
            addSystemBarNodeIfNeeded();
            addSystemBarNodeIfNeeded();
+13 −7
Original line number Original line Diff line number Diff line
@@ -1616,14 +1616,8 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
    void onResourcesLoaded(LayoutInflater inflater, int layoutResource) {
    void onResourcesLoaded(LayoutInflater inflater, int layoutResource) {
        mStackId = getStackId();
        mStackId = getStackId();


        mResizingBackgroundDrawable = getResizingBackgroundDrawable(
                mWindow.mBackgroundResource, mWindow.mBackgroundFallbackResource);
        if (mCaptionBackgroundDrawable == null) {
            mCaptionBackgroundDrawable = getContext().getDrawable(
                    R.drawable.decor_caption_title_focused);
        }

        if (mBackdropFrameRenderer != null) {
        if (mBackdropFrameRenderer != null) {
            loadBackgroundDrawablesIfNeeded();
            mBackdropFrameRenderer.onResourcesLoaded(
            mBackdropFrameRenderer.onResourcesLoaded(
                    this, mResizingBackgroundDrawable, mCaptionBackgroundDrawable,
                    this, mResizingBackgroundDrawable, mCaptionBackgroundDrawable,
                    mUserCaptionBackgroundDrawable, getCurrentColor(mStatusColorViewState));
                    mUserCaptionBackgroundDrawable, getCurrentColor(mStatusColorViewState));
@@ -1645,6 +1639,17 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
        initializeElevation();
        initializeElevation();
    }
    }


    private void loadBackgroundDrawablesIfNeeded() {
        if (mResizingBackgroundDrawable == null) {
            mResizingBackgroundDrawable = getResizingBackgroundDrawable(
                    mWindow.mBackgroundResource, mWindow.mBackgroundFallbackResource);
        }
        if (mCaptionBackgroundDrawable == null) {
            mCaptionBackgroundDrawable = getContext().getDrawable(
                    R.drawable.decor_caption_title_focused);
        }
    }

    // Free floating overlapping windows require a caption.
    // Free floating overlapping windows require a caption.
    private DecorCaptionView createDecorCaptionView(LayoutInflater inflater) {
    private DecorCaptionView createDecorCaptionView(LayoutInflater inflater) {
        DecorCaptionView decorCaptionView = null;
        DecorCaptionView decorCaptionView = null;
@@ -1815,6 +1820,7 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
        }
        }
        final ThreadedRenderer renderer = getHardwareRenderer();
        final ThreadedRenderer renderer = getHardwareRenderer();
        if (renderer != null) {
        if (renderer != null) {
            loadBackgroundDrawablesIfNeeded();
            mBackdropFrameRenderer = new BackdropFrameRenderer(this, renderer,
            mBackdropFrameRenderer = new BackdropFrameRenderer(this, renderer,
                    initialBounds, mResizingBackgroundDrawable, mCaptionBackgroundDrawable,
                    initialBounds, mResizingBackgroundDrawable, mCaptionBackgroundDrawable,
                    mUserCaptionBackgroundDrawable, getCurrentColor(mStatusColorViewState));
                    mUserCaptionBackgroundDrawable, getCurrentColor(mStatusColorViewState));