Skip to content

Commit d6c6c8d

Browse files
committed
Added suggested chchchanges
1 parent a5c46a5 commit d6c6c8d

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

picasso/src/main/java/com/squareup/picasso/BitmapHunter.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -234,22 +234,20 @@ static BitmapHunter forRequest(Context context, Picasso picasso, Dispatcher disp
234234

235235
/**
236236
* Lazily create {@link android.graphics.BitmapFactory.Options}
237-
* based in given {@link com.squareup.picasso.Request}
238-
*
239-
* @param data
237+
* based in given {@link com.squareup.picasso.Request},
238+
* only instantiating them if needed.
240239
*/
241240
static BitmapFactory.Options createBitmapOptions(Request data) {
242241
final boolean justBounds = data.hasSize();
243242
final boolean hasConfig = data.config != null;
244-
final boolean instantiate = hasConfig || justBounds;
245-
// Only instantiate if we need it
246-
final BitmapFactory.Options options = instantiate ? new BitmapFactory.Options() : null;
247-
if (justBounds) {
248-
options.inJustDecodeBounds = true;
249-
}
243+
BitmapFactory.Options options = null;
244+
if (justBounds || hasConfig) {
245+
options = new BitmapFactory.Options();
246+
options.inJustDecodeBounds = justBounds;
250247

251-
if (hasConfig) {
252-
options.inPreferredConfig = data.config;
248+
if (hasConfig) {
249+
options.inPreferredConfig = data.config;
250+
}
253251
}
254252
return options;
255253
}

picasso/src/test/java/com/squareup/picasso/BitmapHunterTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,18 +352,22 @@ public class BitmapHunterTest {
352352
assertThat(requiresInSampleSize(justBounds)).isTrue();
353353
}
354354

355-
@Test public void bitmapOptionsCreation() {
355+
@Test public void nullBitmapOptionsIfNoResizing() {
356356
// No resize must return no bitmap options
357357
final Request noResize = new Request.Builder(URI_1).build();
358358
final BitmapFactory.Options noResizeOptions = createBitmapOptions(noResize);
359359
assertThat(noResizeOptions).isNull();
360+
}
360361

362+
@Test public void inJustDecodeBoundsIfResizing() {
361363
// Resize must return bitmap options with inJustDecodeBounds = true
362364
final Request requiresResize = new Request.Builder(URI_1).resize(20, 15).build();
363365
final BitmapFactory.Options resizeOptions = createBitmapOptions(requiresResize);
364366
assertThat(resizeOptions).isNotNull();
365367
assertThat(resizeOptions.inJustDecodeBounds).isTrue();
368+
}
366369

370+
@Test public void createWithConfigAndNotInJustDecodeBounds() {
367371
// Given a config must return bitmap options and false inJustDecodeBounds
368372
final Request config = new Request.Builder(URI_1).config(RGB_565).build();
369373
final BitmapFactory.Options configOptions = createBitmapOptions(config);

0 commit comments

Comments
 (0)