am c6eb5ac9: Merge change 9071 into donut

Merge commit 'c6eb5ac988518f41938c4f021003d6c202d84819'

* commit 'c6eb5ac988518f41938c4f021003d6c202d84819':
  Fix issue #2018454: NullPointerException in ImageSpan constructor
This commit is contained in:
Android (Google) Code Review
2009-07-30 09:57:32 -07:00
committed by Android Git Automerger
2 changed files with 46 additions and 3 deletions

View File

@@ -135040,6 +135040,28 @@
deprecated="not deprecated"
visibility="public"
>
<constructor name="ImageSpan"
type="android.text.style.ImageSpan"
static="false"
final="false"
deprecated="deprecated"
visibility="public"
>
<parameter name="b" type="android.graphics.Bitmap">
</parameter>
</constructor>
<constructor name="ImageSpan"
type="android.text.style.ImageSpan"
static="false"
final="false"
deprecated="deprecated"
visibility="public"
>
<parameter name="b" type="android.graphics.Bitmap">
</parameter>
<parameter name="verticalAlignment" type="int">
</parameter>
</constructor>
<constructor name="ImageSpan"
type="android.text.style.ImageSpan"
static="false"
@@ -135047,6 +135069,8 @@
deprecated="not deprecated"
visibility="public"
>
<parameter name="context" type="android.content.Context">
</parameter>
<parameter name="b" type="android.graphics.Bitmap">
</parameter>
</constructor>
@@ -135057,6 +135081,8 @@
deprecated="not deprecated"
visibility="public"
>
<parameter name="context" type="android.content.Context">
</parameter>
<parameter name="b" type="android.graphics.Bitmap">
</parameter>
<parameter name="verticalAlignment" type="int">

View File

@@ -33,17 +33,34 @@ public class ImageSpan extends DynamicDrawableSpan {
private Context mContext;
private String mSource;
/**
* @deprecated Use {@link #ImageSpan(Context, Bitmap)} instead.
*/
public ImageSpan(Bitmap b) {
this(b, ALIGN_BOTTOM);
this(null, b, ALIGN_BOTTOM);
}
/**
* @deprecated Use {@link #ImageSpan(Context, Bitmap, int) instead.
*/
public ImageSpan(Bitmap b, int verticalAlignment) {
this(null, b, verticalAlignment);
}
public ImageSpan(Context context, Bitmap b) {
this(context, b, ALIGN_BOTTOM);
}
/**
* @param verticalAlignment one of {@link DynamicDrawableSpan#ALIGN_BOTTOM} or
* {@link DynamicDrawableSpan#ALIGN_BASELINE}.
*/
public ImageSpan(Bitmap b, int verticalAlignment) {
public ImageSpan(Context context, Bitmap b, int verticalAlignment) {
super(verticalAlignment);
mDrawable = new BitmapDrawable(mContext.getResources(), b);
mContext = context;
mDrawable = context != null
? new BitmapDrawable(context.getResources(), b)
: new BitmapDrawable(b);
int width = mDrawable.getIntrinsicWidth();
int height = mDrawable.getIntrinsicHeight();
mDrawable.setBounds(0, 0, width > 0 ? width : 0, height > 0 ? height : 0);