Commit Graph

83 Commits

Author SHA1 Message Date
Dianne Hackborn
de0dfb7b65 Fix issue #2125720 Weather Forecast Widget - graphics do not scale
I forgot to add the new density field to the Bitmaps' parcelable data.

Change-Id: I77cf3e93e356297e0caed6fc71b62b5cd8f79124
2009-09-23 14:26:02 -07:00
Dianne Hackborn
b8a9f12802 Fix #2101821: Cut labels of menu items in "SnapTell" market app.
Ummmm...  this turns out to be pretty bad.  NinePatchDrawable was not
scaling its reported padding for compatibility mode, causing spacing
to be off.  All over the place.  This change should improve things quite
a bit (and magically makes nearly all of the menu flaws go away).

Change-Id: I94a8310d95b908b6f087db97d9afaed654ca6de5
2009-09-23 11:27:06 -07:00
Chih-Chung Chang
eb68c46a40 Fix 2092386: Support yuyv for camera preview format.
Change-Id: I3ef821fed2132a9faf92983324c7e036d0f5641e
2009-09-21 04:38:19 +08:00
Romain Guy
a41581ed40 Add StateListDrawable's dither flag to the constant state.
Change-Id: Ie377bfe3dfb83c33df3c0cc5a02810332a60a322
2009-09-16 17:01:06 -07:00
Romain Guy
ffff38420c Build the BitmapShader if it hasn't been built yet.
This was causing a bug in the InCall UI where the background would be stretched.

Change-Id: Ie25a7d09f4779f166e267b2f921d40441ce361d2
2009-09-15 16:39:08 -07:00
Mike Reed
df4cf29715 redraw once more on a touch-up if we've been dragging, so we can redraw in high-quality mode
update dox on BlurMaskFilter
2009-09-15 16:16:05 -04:00
Dianne Hackborn
c297480937 Fix issue #2116977: buttons are huge and bent
Now that we are using preloaded drawables in compatibilty mode, when
constructing them from their constant state we need to set the new
drawable's target density appropriately.

Change-Id: I3665cbea09d38b9ac5f45f8c380dc8641f86b266
2009-09-14 16:32:56 -07:00
Dianne Hackborn
8cae124af2 Various cleanup around resources and nine-patches.
Remove the stuff that doesn't use preloaded drawables when in
compatibility mode, since this works fine ever since we were able
to deal with drawables in a different density than the canvas.

Change the snapshot function on View to return a snapshot at
the same size that will actually be drawn on screen (when in
compatibility mode), to be able to show scaling artifacts and
all.

This change was original an attempt to fix issue #2101917: Text
field edges appears to be improperly rounded.  That turns out to
probably be something deeper in the graphics system, but also
included here is the debugging code I did to try to track down the
problem to make it easy to turn on again later.

Change-Id: I34bfca629639c7ff103f3989d88874112ef778d9
2009-09-11 13:31:45 -07:00
Mike Reed
211db4a287 change default for dither to true 2009-09-11 14:40:15 -04:00
Scott Main
da0a56df96 resolved conflicts for merge of e0408aa1 to eclair 2009-09-10 18:08:37 -07:00
Scott Main
df4578e8ab docs only.
add documentation to notify developers about variable
camera specifications and add some more links

Change-Id: I46ef9811af17858cbc6547f88e626becb481b043
2009-09-10 15:02:49 -07:00
Mike Reed
d9512a30d8 default dithering to ON (cheap, looks good)
officially ignore filtering (expensive, no real improvement)
2009-09-10 14:46:41 -04:00
Romain Guy
650a3eb7d6 Load bitmap resources entirely from native code.
Change-Id: I6660baec241794c40611bce79b7f9ce9479e52ba
2009-08-31 14:06:43 -07:00
Mike Reed
dbade9d6a0 expose runtime changes to gamma 2009-08-25 13:47:47 -04:00
Dianne Hackborn
4a51c20ce6 I am getting tired of the java doc warnings, so fix them.
Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
2009-08-24 17:37:32 -07:00
Jeff Sharkey
6afa16feb3 Add dither XML flag to StateListDrawable.
We currently allow the dither="true" flag to be set on
individual <bitmap> and <nine-patch> objects, but that flag
is overridden when they are included in a <selector>.  This
change adds the dither="true" flag to StateListDrawable so
they can be dithered when desired.

Fixes http://b/issue?id=2068024
2009-08-22 22:44:00 -07:00
Dianne Hackborn
46407d831e Fix infinite recursion. 2009-08-17 15:22:29 -07:00
Dianne Hackborn
7341d7a104 More work on wallpapers.
- Do better about figuring out when to stop them and other related window
  management.
- Fix problem where we were not redrawing the surface when the orientation
  changed.  This was the cause of the device hang.
2009-08-17 10:42:59 -07:00
Mike Reed
e14e70a1b0 fix documentation 2009-08-14 15:34:36 -04:00
Romain Guy
1010ac9b7c Fix possible NPE when mutating a DrawableContainer 2009-08-10 15:11:06 -07:00
Romain Guy
a32d100b34 Add new utility methods to rsScriptC_Lib, android.util.MathUtil and android.graphics.Color.
Fixes RS compilation.
2009-07-31 21:36:18 -07:00
Android (Google) Code Review
afcf686cb0 am 25dff70f: Merge change 9039 into donut
Merge commit '25dff70f153529b87f5ad4a92f4de21e8950b1de'

* commit '25dff70f153529b87f5ad4a92f4de21e8950b1de':
  Fix #2018814: System cannot correctly render assets with "wrap_content" attribute in QVGA
2009-07-30 16:05:27 -07:00
Dianne Hackborn
0d221012ff Fix #2018814: System cannot correctly render assets with "wrap_content" attribute in QVGA
It turns out we were not returning the density for anything retrieved from a
TypedArray...  which basically means any bitmap references from a layout or style...!!!

This is now fixed.

Also fiddle with the density compatibility mode to turn on smoothing in certain situations,
helping the look of things when they need to scale and we couldn't do the scaling at
load time.
2009-07-29 19:44:01 -07:00
Android (Google) Code Review
2c3fc83ac5 am ef9fd18d: Merge change 8616 into donut
Merge commit 'ef9fd18d90829ecbd37769cc05a8d5288aff821c'

* commit 'ef9fd18d90829ecbd37769cc05a8d5288aff821c':
  Fiddle with default densities to try to sanitize the API.
2009-07-27 12:05:44 -07:00
Dianne Hackborn
96e240f25a Fiddle with default densities to try to sanitize the API.
An issue with the density API is that bitmaps assumed the old default density,
so new programs would have to explicitly set the correct density for every bitmap
they create.

This is an attempt to fix that situation, by define the default density of bitmaps
to be the main screen's density, except for old apps where it is the original default
density.

Actually implementing this is not so great, though, because the Bitmap constructors
can't really know anything about who is calling them to know which density to use.
So at this level the compatibility mode is defined per-process -- meaning the initial
package loaded into a process defines the default bitmap density, and everyone else
loaded in later on has to live with that.

In practice this shouldn't be much of a problem, there shouldn't be much mixing of
old vs. new apps in a process.  It does mean that, going forward, if a developer is
going to use shared user IDs for this, they will need to make sure either that all of
their apps are in the same compatibility mode, or that their code explicitly sets the
density of bitmaps it receives.  This isn't all that great, but I think it is worth
the benefit of allowing people who write modern apps to not have to deal with bitmap
densities.

This change also does some cleanup of the density management (making sure to always
copy over bitmap densities, etc) and adds java docs to explain the various ways
density is set and used by the system.
2009-07-26 17:42:30 -07:00
Dianne Hackborn
e2dba02441 am 11ea3347: Allow for screen density drawables in compatibility mode.
Merge commit '11ea33471e1a14a8594f0b2cd012d86340dd3bd8'

* commit '11ea33471e1a14a8594f0b2cd012d86340dd3bd8':
  Allow for screen density drawables in compatibility mode.
2009-07-24 16:08:56 -07:00
Dianne Hackborn
11ea33471e Allow for screen density drawables in compatibility mode.
This change allows us to use drawables that match the current screen
density even when being loaded in compatibility mode.  In this case,
the bitmap is loaded in the screen density, and the bitmap and
nine-patch drawables take care of accounting for the density difference.

This should be safe for existing applications, for the most part, since
they shouldn't really be pulling the bitmap out of the drawable.  For
the small rare chance of them breaking, it worth getting the correct
graphics.  Also this will only happen when there is actually a resource
of the matching density, and no existing apps should have resources for
anything besides the default density (though of course all of the
framework resources will be available in the native density).

As part of this, the bitmap density API has been changed to a single
integer provider the DPI unit density.
2009-07-24 10:47:15 -07:00
Android (Google) Code Review
8aea2f5f74 am 59c25cba: Merge change 8218 into donut
Merge commit '59c25cbaf0dd690e503b881392510127441d9074'

* commit '59c25cbaf0dd690e503b881392510127441d9074':
  DrawableContainer was not respecting the value returned by Drawable.getPadding(Rect).
2009-07-22 11:51:34 -07:00
Romain Guy
5140141c26 DrawableContainer was not respecting the value returned by Drawable.getPadding(Rect).
Before this change, DrawableContainer would always return true from getPadding(Rect)
even if all of its children were returning false from getPadding(Rect). This change
modifies this behavior to respect getPadding(Rect): mConstantPadding is kept null
when getPadding(Rect) returns false for all of the children and a flag is set
to avoid recomputing that value every time getConstantPadding() is invoked.
2009-07-22 11:35:49 -07:00
Android (Google) Code Review
fead9b8ad0 am fe6f45c8: Merge change 8098 into donut
Merge commit 'fe6f45c81463d2d28e11ac6083f2653e1286c5ef'

* commit 'fe6f45c81463d2d28e11ac6083f2653e1286c5ef':
  cast is floor. Use round instead.
2009-07-21 17:41:10 -07:00
Mitsuru Oshima
61324e58c5 cast is floor. Use round instead.
This fixes a few layout issues (that was due to smaller widnow size)
2009-07-21 16:42:41 -07:00
Android (Google) Code Review
bec99bffee am 5c536e91: Merge change 7840 into donut
Merge commit '5c536e9162721c460699a041959a0d67de1d20db'

* commit '5c536e9162721c460699a041959a0d67de1d20db':
  Fix issue where scaled bitmap sizes could be wrong.
2009-07-19 21:14:48 -07:00
Android (Google) Code Review
469b4c67ad am aad0fcc9: Merge change 7783 into donut
Merge commit 'aad0fcc9619eb72c18a6afff48ebc9d4011f0f54'

* commit 'aad0fcc9619eb72c18a6afff48ebc9d4011f0f54':
  Add "nodpi" density, and expose a bunch of density-related APIs.
2009-07-19 20:28:49 -07:00
Dianne Hackborn
2784ff0af8 Fix issue where scaled bitmap sizes could be wrong.
The Bitmap functions to get the scaled width/height couldn't actually
do the right thing because they didn't know the destination they would
be drawing to.  Now there are two forms of them, taking an explicit
parameter specifying the destination.
2009-07-18 17:13:29 -07:00
Dianne Hackborn
a53b828635 Add "nodpi" density, and expose a bunch of density-related APIs.
Also update the DpiTest app to use nodpi images, and try to have a mode
where it turns off compatibility though it's not quite working.
2009-07-17 16:59:08 -07:00
Android (Google) Code Review
c634fdd803 am 09a903ab: Merge change 7696 into donut
Merge commit '09a903ab5b8d940605783ae4ee591c0f090a31d1'

* commit '09a903ab5b8d940605783ae4ee591c0f090a31d1':
  add hidden Options field for native allocations
2009-07-17 15:43:14 -07:00
Mike Reed
1b22b97925 add hidden Options field for native allocations 2009-07-17 11:21:47 -04:00
Android (Google) Code Review
eabdb7c252 am 6b532800: Merge change 6478 into donut
Merge commit '6b5328006ff9e844713eb26b40621d72bee0bdd1'

* commit '6b5328006ff9e844713eb26b40621d72bee0bdd1':
  Fix ShapeDrawable.inflateTag() to accept proper dimension specs for padding
2009-07-08 10:45:52 -07:00
Phil Dubach
90cfa9df3f Fix ShapeDrawable.inflateTag() to accept proper dimension specs for padding
ShapeDrawable.inflateTag() handles the 'padding' tag with the standard
attributes android:left, etc.  The attribute values for these standard
attributes should be dimension specifications, e.g. '4dp'.
ShapeDrawable.inflateTag() was wrongly parsing the attribute values as plain
integers.
2009-07-08 09:43:49 -07:00
Brad Fitzpatrick
0f07b2c850 Lazily allocate the mBounds Rect in Drawable.
For background, see:
http://kohlerm.blogspot.com/2009/04/analyzing-memory-usage-off-your-android.html

Thanks, Markus!
2009-07-07 12:38:50 -07:00
Android (Google) Code Review
fbc7c1a784 am 9848f11f: Merge change 5826 into donut
Merge commit '9848f11fd8788b985330183aeb83cc589b8b14ae'

* commit '9848f11fd8788b985330183aeb83cc589b8b14ae':
  Fix NullPointerException in NinePatch constructor
2009-07-01 17:27:46 -07:00
Android (Google) Code Review
0901c82336 am 91c91b74: Merge change 5817 into donut
Merge commit '91c91b74df12e40c31a50ecb807ac60bed2ccb58'

* commit '91c91b74df12e40c31a50ecb807ac60bed2ccb58':
  Replace indeterminate progress animated asset with new ones
2009-07-01 16:01:40 -07:00
Android (Google) Code Review
91a546d4a9 am 083928fe: Merge change 5718 into donut
Merge commit '083928fefde7060eb69f7f45cd8e2180efa9bfe1'

* commit '083928fefde7060eb69f7f45cd8e2180efa9bfe1':
  Fix NullPointerException in DrawableContainer.mutate()
2009-07-01 11:19:32 -07:00
Phil Dubach
54285f2cbf Fix NullPointerException in NinePatch constructor
NinePatch.mPaint may be null and most methods in this class handle
that case properly. However, the constructor which derives a new
NinePatch from an existing instance assumes that mPaint is non-null.
This results in an unexpected NullPointerException, for example when
attempting to call NinePatchDrawable.mutate() on an instance that was
created from a resource.

Small unrelated fix in same file: Remove unused private mRect member.
2009-06-30 13:19:48 -07:00
Romain Guy
b5537c4522 Replace indeterminate progress animated asset with new ones 2009-06-30 12:39:18 -07:00
Android (Google) Code Review
4658e8ece6 am 05ebcb51: Merge change 5609 into donut
Merge commit '05ebcb5172679a6c196cbf23d7174c04dd9f6ae0'

* commit '05ebcb5172679a6c196cbf23d7174c04dd9f6ae0':
  Update spinner's drawables. Clean up resources, pave the way for new animation.
2009-06-29 20:20:11 -07:00
Phil Dubach
6be507cc66 Fix NullPointerException in DrawableContainer.mutate()
DrawableContainerState.mDrawables is an array which may be only partially
filled, as can be seen in the constructor and the addChild() method.

DrawableContainer.mutate() wrongly assumed that the array does not contain
null references.
2009-06-29 18:31:17 -07:00
Romain Guy
f4f7046183 Update spinner's drawables. Clean up resources, pave the way for new animation. 2009-06-26 19:21:54 -07:00
Android (Google) Code Review
82c88fc3a7 am a2a60a21: Merge change 5142 into donut
Merge commit 'a2a60a215030ca2171bc59aaeeac4179816f0796'

* commit 'a2a60a215030ca2171bc59aaeeac4179816f0796':
  Fix NPE in GradientDrawable constructor
2009-06-24 15:33:29 -07:00
Phil Dubach
562bf17c6c Fix NPE in GradientDrawable constructor
The mColors member can be null, as can be seen in
GradientDrawable.setSolidColor() or the plain constructor. In that case, an NPE
will be thrown on attempts to derive a new GradientDrawable from the instance
using the private constructor GradientDrawable(GradientDrawable).

The problem also occurs when inflating a GradientDrawable from XML without
defining the start, center and end colors and then calling mutate() on the
instance.
2009-06-23 15:46:31 -07:00