diff options
Diffstat (limited to 'core/java/android/view')
-rw-r--r-- | core/java/android/view/View.java | 13 | ||||
-rw-r--r-- | core/java/android/view/ViewConfiguration.java | 4 | ||||
-rw-r--r-- | core/java/android/view/ViewGroup.java | 7 |
3 files changed, 17 insertions, 7 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 378eb21..0df464f 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -2138,6 +2138,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility private int[] mDrawableState = null; + /** + * Set to true when drawing cache is enabled and cannot be created. + * + * @hide + */ + public boolean mCachingFailed; + private Bitmap mDrawingCache; private Bitmap mUnscaledDrawingCache; private DisplayList mDisplayList; @@ -8355,6 +8362,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility * @see #setLayerType(int, android.graphics.Paint) */ public void setDrawingCacheEnabled(boolean enabled) { + mCachingFailed = false; setFlags(enabled ? DRAWING_CACHE_ENABLED : 0, DRAWING_CACHE_ENABLED); } @@ -8597,7 +8605,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility public void buildDrawingCache() { buildDrawingCache(false); } - + /** * <p>Forces the drawing cache to be built if the drawing cache is invalid.</p> * @@ -8624,6 +8632,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility public void buildDrawingCache(boolean autoScale) { if ((mPrivateFlags & DRAWING_CACHE_VALID) == 0 || (autoScale ? mDrawingCache == null : mUnscaledDrawingCache == null)) { + mCachingFailed = false; if (ViewDebug.TRACE_HIERARCHY) { ViewDebug.trace(this, ViewDebug.HierarchyTraceType.BUILD_CACHE); @@ -8649,6 +8658,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility (width * height * (opaque && !use32BitCache ? 2 : 4) > ViewConfiguration.get(mContext).getScaledMaximumDrawingCacheSize())) { destroyDrawingCache(); + mCachingFailed = true; return; } @@ -8701,6 +8711,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility } else { mUnscaledDrawingCache = null; } + mCachingFailed = true; return; } diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java index 0444496..cc4e89c 100644 --- a/core/java/android/view/ViewConfiguration.java +++ b/core/java/android/view/ViewConfiguration.java @@ -152,12 +152,12 @@ public class ViewConfiguration { * should be at least equal to the size of the screen in ARGB888 format. */ @Deprecated - private static final int MAXIMUM_DRAWING_CACHE_SIZE = 320 * 480 * 4; // HVGA screen, ARGB8888 + private static final int MAXIMUM_DRAWING_CACHE_SIZE = 480 * 800 * 4; // ARGB8888 /** * The coefficient of friction applied to flings/scrolls. */ - private static float SCROLL_FRICTION = 0.015f; + private static final float SCROLL_FRICTION = 0.015f; /** * Max distance to overscroll for edge effects diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index ad6b0f6..b5a2558 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -17,10 +17,6 @@ package android.view; import android.animation.LayoutTransition; -import android.view.animation.AlphaAnimation; -import com.android.internal.R; -import com.android.internal.util.Predicate; - import android.content.Context; import android.content.res.Configuration; import android.content.res.TypedArray; @@ -39,10 +35,13 @@ import android.util.AttributeSet; import android.util.Log; import android.util.SparseArray; import android.view.accessibility.AccessibilityEvent; +import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.view.animation.LayoutAnimationController; import android.view.animation.Transformation; +import com.android.internal.R; +import com.android.internal.util.Predicate; import java.util.ArrayList; import java.util.HashSet; |