summaryrefslogtreecommitdiffstats
path: root/core/java/android/view
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/view')
-rw-r--r--core/java/android/view/View.java13
-rw-r--r--core/java/android/view/ViewConfiguration.java4
-rw-r--r--core/java/android/view/ViewGroup.java7
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;