Merge "Load background drawable before passing to backdrop renderer."
This commit is contained in:
committed by
Android (Google) Code Review
commit
e8b3bb9af0
@@ -99,6 +99,9 @@ public class BackdropFrameRenderer extends Thread implements Choreographer.Frame
|
||||
mResizingBackgroundDrawable = resizingBackgroundDrawable;
|
||||
mCaptionBackgroundDrawable = captionBackgroundDrawableDrawable;
|
||||
mUserCaptionBackgroundDrawable = userCaptionBackgroundDrawable;
|
||||
if (mCaptionBackgroundDrawable == null) {
|
||||
mCaptionBackgroundDrawable = mResizingBackgroundDrawable;
|
||||
}
|
||||
if (statusBarColor != 0) {
|
||||
mStatusBarColor = new ColorDrawable(statusBarColor);
|
||||
addSystemBarNodeIfNeeded();
|
||||
|
||||
@@ -1616,14 +1616,8 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
|
||||
void onResourcesLoaded(LayoutInflater inflater, int layoutResource) {
|
||||
mStackId = getStackId();
|
||||
|
||||
mResizingBackgroundDrawable = getResizingBackgroundDrawable(
|
||||
mWindow.mBackgroundResource, mWindow.mBackgroundFallbackResource);
|
||||
if (mCaptionBackgroundDrawable == null) {
|
||||
mCaptionBackgroundDrawable = getContext().getDrawable(
|
||||
R.drawable.decor_caption_title_focused);
|
||||
}
|
||||
|
||||
if (mBackdropFrameRenderer != null) {
|
||||
loadBackgroundDrawablesIfNeeded();
|
||||
mBackdropFrameRenderer.onResourcesLoaded(
|
||||
this, mResizingBackgroundDrawable, mCaptionBackgroundDrawable,
|
||||
mUserCaptionBackgroundDrawable, getCurrentColor(mStatusColorViewState));
|
||||
@@ -1645,6 +1639,17 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
|
||||
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.
|
||||
private DecorCaptionView createDecorCaptionView(LayoutInflater inflater) {
|
||||
DecorCaptionView decorCaptionView = null;
|
||||
@@ -1815,6 +1820,7 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
|
||||
}
|
||||
final ThreadedRenderer renderer = getHardwareRenderer();
|
||||
if (renderer != null) {
|
||||
loadBackgroundDrawablesIfNeeded();
|
||||
mBackdropFrameRenderer = new BackdropFrameRenderer(this, renderer,
|
||||
initialBounds, mResizingBackgroundDrawable, mCaptionBackgroundDrawable,
|
||||
mUserCaptionBackgroundDrawable, getCurrentColor(mStatusColorViewState));
|
||||
|
||||
Reference in New Issue
Block a user