summaryrefslogtreecommitdiffstats
path: root/src/org/cyanogenmod/themes/provider/util/LayoutRenderUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/cyanogenmod/themes/provider/util/LayoutRenderUtils.java')
-rw-r--r--src/org/cyanogenmod/themes/provider/util/LayoutRenderUtils.java12
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(),