summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2011-02-14 14:45:33 -0800
committerRomain Guy <romainguy@google.com>2011-02-14 14:45:33 -0800
commit676b17391fb6583e5df944c36b1bd4c1be835689 (patch)
treecaecd54c9db5dcc735f9057e32eda87e031ff743
parent28dcdd77edd0b072f67f5db82a47cc276339a508 (diff)
downloadframeworks_base-676b17391fb6583e5df944c36b1bd4c1be835689.zip
frameworks_base-676b17391fb6583e5df944c36b1bd4c1be835689.tar.gz
frameworks_base-676b17391fb6583e5df944c36b1bd4c1be835689.tar.bz2
Deprecate ARGB_4444.
It looks awful. Don't use it. Use ARGB_8888, it's much better. If you think you need ARGB_4444, you are wrong. You are. Change-Id: I4d6963cf98b6a8fb34cebcd0d24b9fd66b5a0fbf
-rw-r--r--core/java/android/view/View.java74
-rw-r--r--graphics/java/android/graphics/Bitmap.java68
2 files changed, 70 insertions, 72 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 03a6aa5..378eb21 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -1421,55 +1421,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
}
/**
- * Used by views that contain lists of items. This state indicates that
- * the view is showing the last item.
- * @hide
- */
- protected static final int[] LAST_STATE_SET = {R.attr.state_last};
- /**
- * Used by views that contain lists of items. This state indicates that
- * the view is showing the first item.
- * @hide
- */
- protected static final int[] FIRST_STATE_SET = {R.attr.state_first};
- /**
- * Used by views that contain lists of items. This state indicates that
- * the view is showing the middle item.
- * @hide
- */
- protected static final int[] MIDDLE_STATE_SET = {R.attr.state_middle};
- /**
- * Used by views that contain lists of items. This state indicates that
- * the view is showing only one item.
- * @hide
- */
- protected static final int[] SINGLE_STATE_SET = {R.attr.state_single};
- /**
- * Used by views that contain lists of items. This state indicates that
- * the view is pressed and showing the last item.
- * @hide
- */
- protected static final int[] PRESSED_LAST_STATE_SET = {R.attr.state_last, R.attr.state_pressed};
- /**
- * Used by views that contain lists of items. This state indicates that
- * the view is pressed and showing the first item.
- * @hide
- */
- protected static final int[] PRESSED_FIRST_STATE_SET = {R.attr.state_first, R.attr.state_pressed};
- /**
- * Used by views that contain lists of items. This state indicates that
- * the view is pressed and showing the middle item.
- * @hide
- */
- protected static final int[] PRESSED_MIDDLE_STATE_SET = {R.attr.state_middle, R.attr.state_pressed};
- /**
- * Used by views that contain lists of items. This state indicates that
- * the view is pressed and showing only one item.
- * @hide
- */
- protected static final int[] PRESSED_SINGLE_STATE_SET = {R.attr.state_single, R.attr.state_pressed};
-
- /**
* Temporary Rect currently for use in setBackground(). This will probably
* be extended in the future to hold our own class with more than just
* a Rect. :)
@@ -1497,14 +1448,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
* {@hide}
*/
@ViewDebug.ExportedProperty(category = "measurement")
- /*package*/ int mMeasuredWidth;
+ int mMeasuredWidth;
/**
* Height as measured during measure pass.
* {@hide}
*/
@ViewDebug.ExportedProperty(category = "measurement")
- /*package*/ int mMeasuredHeight;
+ int mMeasuredHeight;
/**
* Flag to indicate that this view was marked INVALIDATED, or had its display list
@@ -3749,16 +3700,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
}
/**
- * Determine if this view has the FITS_SYSTEM_WINDOWS flag set.
- * @return True if window has FITS_SYSTEM_WINDOWS set
- *
- * @hide
- */
- public boolean isFitsSystemWindowsFlagSet() {
- return (mViewFlags & FITS_SYSTEM_WINDOWS) == FITS_SYSTEM_WINDOWS;
- }
-
- /**
* Returns the visibility status for this view.
*
* @return One of {@link #VISIBLE}, {@link #INVISIBLE}, or {@link #GONE}.
@@ -8436,6 +8377,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
*
* @hide
*/
+ @SuppressWarnings({"UnusedDeclaration"})
public void outputDirtyFlags(String indent, boolean clear, int clearMask) {
Log.d("View", indent + this + " DIRTY(" + (mPrivateFlags & View.DIRTY_MASK) +
") DRAWN(" + (mPrivateFlags & DRAWN) + ")" + " CACHE_VALID(" +
@@ -8473,10 +8415,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
* @hide
*/
public boolean canHaveDisplayList() {
- if (mAttachInfo == null || mAttachInfo.mHardwareRenderer == null) {
- return false;
- }
- return true;
+ return !(mAttachInfo == null || mAttachInfo.mHardwareRenderer == null);
}
/**
@@ -8719,12 +8658,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
if (bitmap == null || bitmap.getWidth() != width || bitmap.getHeight() != height) {
Bitmap.Config quality;
if (!opaque) {
+ // Never pick ARGB_4444 because it looks awful
+ // Keep the DRAWING_CACHE_QUALITY_LOW flag just in case
switch (mViewFlags & DRAWING_CACHE_QUALITY_MASK) {
case DRAWING_CACHE_QUALITY_AUTO:
quality = Bitmap.Config.ARGB_8888;
break;
case DRAWING_CACHE_QUALITY_LOW:
- quality = Bitmap.Config.ARGB_4444;
+ quality = Bitmap.Config.ARGB_8888;
break;
case DRAWING_CACHE_QUALITY_HIGH:
quality = Bitmap.Config.ARGB_8888;
@@ -11324,6 +11265,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
* </p>
*/
public boolean dispatchDragEvent(DragEvent event) {
+ //noinspection SimplifiableIfStatement
if (mOnDragListener != null && (mViewFlags & ENABLED_MASK) == ENABLED
&& mOnDragListener.onDrag(this, event)) {
return true;
diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java
index bd903da..b2f4379 100644
--- a/graphics/java/android/graphics/Bitmap.java
+++ b/graphics/java/android/graphics/Bitmap.java
@@ -245,25 +245,80 @@ public final class Bitmap implements Parcelable {
}
}
+ /**
+ * Possible bitmap configurations. A bitmap configuration describes
+ * how pixels are stored. This affects the quality (color depth) as
+ * well as the ability to display transparent/translucent colors.
+ */
public enum Config {
// these native values must match up with the enum in SkBitmap.h
+
+ /**
+ * Each pixel is stored as a single translucency (alpha) channel.
+ * This is very useful to efficiently store masks for instance.
+ * No color information is stored.
+ * With this configuration, each pixel requires 1 byte of memory.
+ */
ALPHA_8 (2),
+
+ /**
+ * Each pixel is stored on 2 bytes and only the RGB channels are
+ * encoded: red is stored with 5 bits of precision (32 possible
+ * values), green is stored with 6 bits of precision (64 possible
+ * values) and blue is stored with 5 bits of precision.
+ *
+ * This configuration can produce slight visual artifacts depending
+ * on the configuration of the source. For instance, without
+ * dithering, the result might show a greenish tint. To get better
+ * results dithering should be applied.
+ *
+ * This configuration may be useful when using opaque bitmaps
+ * that do not require high color fidelity.
+ */
RGB_565 (4),
+
+ /**
+ * Each pixel is stored on 2 bytes. The three RGB color channels
+ * and the alpha channel (translucency) are stored with a 4 bits
+ * precision (16 possible values.)
+ *
+ * This configuration is mostly useful if the application needs
+ * to store translucency information but also needs to save
+ * memory.
+ *
+ * It is recommended to use {@link #ARGB_8888} instead of this
+ * configuration.
+ *
+ * @deprecated Because of the poor quality of this configuration,
+ * it is advised to use {@link #ARGB_8888} instead.
+ */
+ @Deprecated
ARGB_4444 (5),
+
+ /**
+ * Each pixel is stored on 4 bytes. Each channel (RGB and alpha
+ * for translucency) is stored with 8 bits of precision (256
+ * possible values.)
+ *
+ * This configuration is very flexible and offers the best
+ * quality. It should be used whenever possible.
+ */
ARGB_8888 (6);
+ final int nativeInt;
+
+ @SuppressWarnings({"deprecation"})
+ private static Config sConfigs[] = {
+ null, null, ALPHA_8, null, RGB_565, ARGB_4444, ARGB_8888
+ };
+
Config(int ni) {
this.nativeInt = ni;
}
- final int nativeInt;
- /* package */ static Config nativeToConfig(int ni) {
+ static Config nativeToConfig(int ni) {
return sConfigs[ni];
}
-
- private static Config sConfigs[] = {
- null, null, ALPHA_8, null, RGB_565, ARGB_4444, ARGB_8888
- };
}
/**
@@ -473,6 +528,7 @@ public final class Bitmap implements Parcelable {
case ALPHA_8:
newConfig = Config.ALPHA_8;
break;
+ //noinspection deprecation
case ARGB_4444:
case ARGB_8888:
default: