Finished big pictures preview in chat

This commit is contained in:
Sylvain Berfini 2018-11-28 12:12:20 +01:00
parent 0afb297a63
commit 58801d484d
2 changed files with 16 additions and 3 deletions

View file

@ -30,6 +30,7 @@ import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.net.Uri;
import android.provider.MediaStore;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.widget.ImageView;
@ -135,8 +136,10 @@ public class ImageUtils {
}
public static float dpToPixels(Context context, float dp) {
Resources r = context.getResources();
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, r.getDisplayMetrics());
return px;
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources().getDisplayMetrics());
}
public static float pixelsToDp(Context context, float pixels) {
return pixels / ((float) context.getResources().getDisplayMetrics().densityDpi / DisplayMetrics.DENSITY_DEFAULT);
}
}

View file

@ -28,10 +28,13 @@ import android.media.ExifInterface;
import android.net.Uri;
import android.os.AsyncTask;
import android.provider.MediaStore;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import org.linphone.mediastream.Log;
import org.linphone.utils.FileUtils;
import org.linphone.utils.ImageUtils;
import java.io.FileNotFoundException;
import java.io.IOException;
@ -137,6 +140,13 @@ public class BitmapWorkerTask extends AsyncTask<String, Void, Bitmap> {
final BitmapWorkerTask bitmapWorkerTask = getBitmapWorkerTask(imageView);
if (this == bitmapWorkerTask && imageView != null) {
imageView.setImageBitmap(bitmap);
if (bitmap.getWidth() > ImageUtils.dpToPixels(mContext, 300)) {
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(bitmap.getWidth(), ViewGroup.LayoutParams.WRAP_CONTENT);
int margin = (int) ImageUtils.dpToPixels(mContext, 5);
params.setMargins(margin, margin, margin, margin);
imageView.setLayoutParams(params);
imageView.invalidate();
}
}
}
}