git://git.nikiroo.be
/
nikiroo-utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Downloader: fix POST redirect bug
[nikiroo-utils.git]
/
src
/
be
/
nikiroo
/
utils
/
android
/
ImageUtilsAndroid.java
diff --git
a/src/be/nikiroo/utils/android/ImageUtilsAndroid.java
b/src/be/nikiroo/utils/android/ImageUtilsAndroid.java
index 483c44ff144ec8f705412e85c2c9b428e973999f..ec1c2205af4e7beb2db5f571b39034735ce84ba7 100644
(file)
--- a/
src/be/nikiroo/utils/android/ImageUtilsAndroid.java
+++ b/
src/be/nikiroo/utils/android/ImageUtilsAndroid.java
@@
-1,20
+1,33
@@
package be.nikiroo.utils.android;
import android.graphics.Bitmap;
package be.nikiroo.utils.android;
import android.graphics.Bitmap;
+import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.graphics.BitmapFactory;
-import be.nikiroo.utils.Image;
-import be.nikiroo.utils.ImageUtils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.util.stream.Stream;
+
+import be.nikiroo.utils.Image;
+import be.nikiroo.utils.ImageUtils;
+import be.nikiroo.utils.StringUtils;
/**
/**
- * This class offer some utilities based around images and uses the Android framework.
+ * This class offer some utilities based around images and uses the Android
+ * framework.
*
* @author niki
*/
public class ImageUtilsAndroid extends ImageUtils {
*
* @author niki
*/
public class ImageUtilsAndroid extends ImageUtils {
+ @Override
+ protected boolean check() {
+ // If we can get the class, it means we have access to it
+ Config c = Config.ALPHA_8;
+ return true;
+ }
+
@Override
public void saveAsImage(Image img, File target, String format)
throws IOException {
@Override
public void saveAsImage(Image img, File target, String format)
throws IOException {
@@
-32,7
+45,7
@@
public class ImageUtilsAndroid extends ImageUtils {
}
// Some formats are not reliable
}
// Some formats are not reliable
- // Second chan
g
e: PNG
+ // Second chan
c
e: PNG
if (!ok && !format.equals("png")) {
ok = image.compress(Bitmap.CompressFormat.PNG, 90, fos);
}
if (!ok && !format.equals("png")) {
ok = image.compress(Bitmap.CompressFormat.PNG, 90, fos);
}
@@
-59,12
+72,18
@@
public class ImageUtilsAndroid extends ImageUtils {
* in case of IO error
*/
static public Bitmap fromImage(Image img) throws IOException {
* in case of IO error
*/
static public Bitmap fromImage(Image img) throws IOException {
- Bitmap image = BitmapFactory.decodeByteArray(img.getData(), 0,
- img.getData().length);
- if (image == null) {
- throw new IOException("Failed to convert input to image");
- }
+ InputStream stream = img.newInputStream();
+ try {
+ Bitmap image = BitmapFactory.decodeStream(stream);
+ if (image == null) {
+ String ssize = StringUtils.formatNumber(img.getSize());
+ throw new IOException(
+ "Failed to convert input to image, size was: " + ssize);
+ }
- return image;
+ return image;
+ } finally {
+ stream.close();
+ }
}
}
}
}