Merge "Remove needlessly thrown IOException." into lmp-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f305d2c4a8
@ -141,7 +141,6 @@ public final class Bitmap_Delegate {
|
||||
* Creates and returns a {@link Bitmap} initialized with the given stream content.
|
||||
*
|
||||
* @param input the stream from which to read the bitmap content
|
||||
* @param createFlags
|
||||
* @param density the density associated with the bitmap
|
||||
*
|
||||
* @see Bitmap#isPremultiplied()
|
||||
@ -166,8 +165,7 @@ public final class Bitmap_Delegate {
|
||||
* @see Bitmap#isMutable()
|
||||
* @see Bitmap#getDensity()
|
||||
*/
|
||||
public static Bitmap createBitmap(BufferedImage image, boolean isMutable,
|
||||
Density density) throws IOException {
|
||||
public static Bitmap createBitmap(BufferedImage image, boolean isMutable, Density density) {
|
||||
return createBitmap(image, getPremultipliedBitmapCreateFlags(isMutable), density);
|
||||
}
|
||||
|
||||
@ -175,7 +173,6 @@ public final class Bitmap_Delegate {
|
||||
* Creates and returns a {@link Bitmap} initialized with the given {@link BufferedImage}
|
||||
*
|
||||
* @param image the bitmap content
|
||||
* @param createFlags
|
||||
* @param density the density associated with the bitmap
|
||||
*
|
||||
* @see Bitmap#isPremultiplied()
|
||||
@ -183,7 +180,7 @@ public final class Bitmap_Delegate {
|
||||
* @see Bitmap#getDensity()
|
||||
*/
|
||||
public static Bitmap createBitmap(BufferedImage image, Set<BitmapCreateFlags> createFlags,
|
||||
Density density) throws IOException {
|
||||
Density density) {
|
||||
// create a delegate with the given image.
|
||||
Bitmap_Delegate delegate = new Bitmap_Delegate(image, Config.ARGB_8888);
|
||||
|
||||
|
@ -57,63 +57,59 @@ public class RenderDrawable extends RenderAction<DrawableParams> {
|
||||
|
||||
public Result render() {
|
||||
checkLock();
|
||||
try {
|
||||
// get the drawable resource value
|
||||
DrawableParams params = getParams();
|
||||
HardwareConfig hardwareConfig = params.getHardwareConfig();
|
||||
ResourceValue drawableResource = params.getDrawable();
|
||||
// get the drawable resource value
|
||||
DrawableParams params = getParams();
|
||||
HardwareConfig hardwareConfig = params.getHardwareConfig();
|
||||
ResourceValue drawableResource = params.getDrawable();
|
||||
|
||||
// resolve it
|
||||
BridgeContext context = getContext();
|
||||
drawableResource = context.getRenderResources().resolveResValue(drawableResource);
|
||||
// resolve it
|
||||
BridgeContext context = getContext();
|
||||
drawableResource = context.getRenderResources().resolveResValue(drawableResource);
|
||||
|
||||
if (drawableResource == null ||
|
||||
drawableResource.getResourceType() != ResourceType.DRAWABLE) {
|
||||
return Status.ERROR_NOT_A_DRAWABLE.createResult();
|
||||
}
|
||||
|
||||
// create a simple FrameLayout
|
||||
FrameLayout content = new FrameLayout(context);
|
||||
|
||||
// get the actual Drawable object to draw
|
||||
Drawable d = ResourceHelper.getDrawable(drawableResource, context);
|
||||
content.setBackground(d);
|
||||
|
||||
// set the AttachInfo on the root view.
|
||||
AttachInfo_Accessor.setAttachInfo(content);
|
||||
|
||||
|
||||
// measure
|
||||
int w = hardwareConfig.getScreenWidth();
|
||||
int h = hardwareConfig.getScreenHeight();
|
||||
int w_spec = MeasureSpec.makeMeasureSpec(w, MeasureSpec.EXACTLY);
|
||||
int h_spec = MeasureSpec.makeMeasureSpec(h, MeasureSpec.EXACTLY);
|
||||
content.measure(w_spec, h_spec);
|
||||
|
||||
// now do the layout.
|
||||
content.layout(0, 0, w, h);
|
||||
|
||||
// preDraw setup
|
||||
AttachInfo_Accessor.dispatchOnPreDraw(content);
|
||||
|
||||
// draw into a new image
|
||||
BufferedImage image = getImage(w, h);
|
||||
|
||||
// create an Android bitmap around the BufferedImage
|
||||
Bitmap bitmap = Bitmap_Delegate.createBitmap(image,
|
||||
true /*isMutable*/, hardwareConfig.getDensity());
|
||||
|
||||
// create a Canvas around the Android bitmap
|
||||
Canvas canvas = new Canvas(bitmap);
|
||||
canvas.setDensity(hardwareConfig.getDensity().getDpiValue());
|
||||
|
||||
// and draw
|
||||
content.draw(canvas);
|
||||
|
||||
return Status.SUCCESS.createResult(image);
|
||||
} catch (IOException e) {
|
||||
return ERROR_UNKNOWN.createResult(e.getMessage(), e);
|
||||
if (drawableResource == null ||
|
||||
drawableResource.getResourceType() != ResourceType.DRAWABLE) {
|
||||
return Status.ERROR_NOT_A_DRAWABLE.createResult();
|
||||
}
|
||||
|
||||
// create a simple FrameLayout
|
||||
FrameLayout content = new FrameLayout(context);
|
||||
|
||||
// get the actual Drawable object to draw
|
||||
Drawable d = ResourceHelper.getDrawable(drawableResource, context);
|
||||
content.setBackground(d);
|
||||
|
||||
// set the AttachInfo on the root view.
|
||||
AttachInfo_Accessor.setAttachInfo(content);
|
||||
|
||||
|
||||
// measure
|
||||
int w = hardwareConfig.getScreenWidth();
|
||||
int h = hardwareConfig.getScreenHeight();
|
||||
int w_spec = MeasureSpec.makeMeasureSpec(w, MeasureSpec.EXACTLY);
|
||||
int h_spec = MeasureSpec.makeMeasureSpec(h, MeasureSpec.EXACTLY);
|
||||
content.measure(w_spec, h_spec);
|
||||
|
||||
// now do the layout.
|
||||
content.layout(0, 0, w, h);
|
||||
|
||||
// preDraw setup
|
||||
AttachInfo_Accessor.dispatchOnPreDraw(content);
|
||||
|
||||
// draw into a new image
|
||||
BufferedImage image = getImage(w, h);
|
||||
|
||||
// create an Android bitmap around the BufferedImage
|
||||
Bitmap bitmap = Bitmap_Delegate.createBitmap(image,
|
||||
true /*isMutable*/, hardwareConfig.getDensity());
|
||||
|
||||
// create a Canvas around the Android bitmap
|
||||
Canvas canvas = new Canvas(bitmap);
|
||||
canvas.setDensity(hardwareConfig.getDensity().getDpiValue());
|
||||
|
||||
// and draw
|
||||
content.draw(canvas);
|
||||
|
||||
return Status.SUCCESS.createResult(image);
|
||||
}
|
||||
|
||||
protected BufferedImage getImage(int w, int h) {
|
||||
|
Reference in New Issue
Block a user