Improved image handling

This commit is contained in:
M66B
2019-01-29 13:29:39 +00:00
parent 8492bc0b94
commit 36b4de2c7e
3 changed files with 148 additions and 147 deletions

View File

@@ -31,6 +31,8 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
@@ -218,6 +220,22 @@ public class Helper {
return color;
}
static Bitmap decodeImage(File file, int scaleToPixels) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(file.getAbsolutePath(), options);
int factor = Math.min(options.outWidth / scaleToPixels, options.outWidth / scaleToPixels);
if (factor > 1) {
Log.i("Decode image factor=" + factor);
options.inJustDecodeBounds = false;
options.inSampleSize = factor;
return BitmapFactory.decodeFile(file.getAbsolutePath(), options);
}
return BitmapFactory.decodeFile(file.getAbsolutePath());
}
static void setViewsEnabled(ViewGroup view, boolean enabled) {
for (int i = 0; i < view.getChildCount(); i++) {
View child = view.getChildAt(i);