diff options
Diffstat (limited to 'src/org/cyanogenmod/themes/provider/util/LayoutRenderUtils.java')
-rw-r--r-- | src/org/cyanogenmod/themes/provider/util/LayoutRenderUtils.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/org/cyanogenmod/themes/provider/util/LayoutRenderUtils.java b/src/org/cyanogenmod/themes/provider/util/LayoutRenderUtils.java index c174d8e..5ccd196 100644 --- a/src/org/cyanogenmod/themes/provider/util/LayoutRenderUtils.java +++ b/src/org/cyanogenmod/themes/provider/util/LayoutRenderUtils.java @@ -18,6 +18,7 @@ package org.cyanogenmod.themes.provider.util; import android.graphics.Bitmap; import android.graphics.Canvas; import android.view.View; +import android.view.ViewGroup; import android.widget.FrameLayout; public class LayoutRenderUtils { @@ -35,6 +36,17 @@ public class LayoutRenderUtils { // Assign a size and position to the view and all of its descendants view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); + // Make sure views with stateful drawables are in their correct state + if (view instanceof ViewGroup) { + final ViewGroup vg = (ViewGroup) view; + final int N = vg.getChildCount(); + for (int i = 0; i < N; i++) { + vg.getChildAt(i).jumpDrawablesToCurrentState(); + } + } else { + view.jumpDrawablesToCurrentState(); + } + // Create the bitmap Bitmap bitmap = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(), |