Fix gif with media when unknown type

This commit is contained in:
tom79 2019-07-12 18:27:54 +02:00
parent 64c8353862
commit 285a790bad
1 changed files with 43 additions and 36 deletions

View File

@ -30,6 +30,7 @@ import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import android.os.Handler; import android.os.Handler;
import android.util.Log;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
@ -418,9 +419,9 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface,
preview_url = attachment.getPreview_url(); preview_url = attachment.getPreview_url();
if( type.equals("unknown")){ if( type.equals("unknown")){
preview_url = attachment.getRemote_url(); preview_url = attachment.getRemote_url();
if( preview_url.endsWith(".png") || preview_url.endsWith(".jpg")|| preview_url.endsWith(".jpeg")) { if( preview_url.endsWith(".png") || preview_url.endsWith(".jpg")|| preview_url.endsWith(".jpeg") || preview_url.endsWith(".gif")) {
type = "image"; type = "image";
}else if( preview_url.endsWith(".mp4") || preview_url.endsWith(".mp3")) { }else if( preview_url.endsWith(".mp4") || preview_url.endsWith(".mp3") ) {
type = "video"; type = "video";
} }
url = attachment.getRemote_url(); url = attachment.getRemote_url();
@ -435,42 +436,48 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface,
pbar_inf.setIndeterminate(true); pbar_inf.setIndeterminate(true);
loader.setVisibility(View.VISIBLE); loader.setVisibility(View.VISIBLE);
fileVideo = null; fileVideo = null;
Glide.with(getApplicationContext()) if( !finalUrl.endsWith(".gif")) {
.asBitmap() Glide.with(getApplicationContext())
.load(preview_url).into( .asBitmap()
new SimpleTarget<Bitmap>() { .load(preview_url).into(
@Override new SimpleTarget<Bitmap>() {
public void onResourceReady(@NonNull final Bitmap resource, Transition<? super Bitmap> transition) { @Override
Bitmap imageCompressed = Helper.compressImageIfNeeded(MediaActivity.this, resource); public void onResourceReady(@NonNull final Bitmap resource, Transition<? super Bitmap> transition) {
imageView.setImageBitmap(imageCompressed); Bitmap imageCompressed = Helper.compressImageIfNeeded(MediaActivity.this, resource);
Glide.with(getApplicationContext()) imageView.setImageBitmap(imageCompressed);
.asBitmap() Glide.with(getApplicationContext())
.load(finalUrl).into( .asBitmap()
new SimpleTarget<Bitmap>() { .load(finalUrl).into(
@Override new SimpleTarget<Bitmap>() {
public void onResourceReady(@NonNull final Bitmap resource, Transition<? super Bitmap> transition) { @Override
loader.setVisibility(View.GONE); public void onResourceReady(@NonNull final Bitmap resource, Transition<? super Bitmap> transition) {
Bitmap imageCompressed = Helper.compressImageIfNeeded(MediaActivity.this, resource); loader.setVisibility(View.GONE);
if( imageView.getScale() < 1.1) { Bitmap imageCompressed = Helper.compressImageIfNeeded(MediaActivity.this, resource);
downloadedImage = resource; if (imageView.getScale() < 1.1) {
imageView.setImageBitmap(imageCompressed); downloadedImage = resource;
}else{ imageView.setImageBitmap(imageCompressed);
message_ready.setVisibility(View.VISIBLE); } else {
} message_ready.setVisibility(View.VISIBLE);
message_ready.setOnClickListener(new View.OnClickListener() { }
@Override message_ready.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) { @Override
downloadedImage = resource; public void onClick(View view) {
imageView.setImageBitmap(imageCompressed); downloadedImage = resource;
message_ready.setVisibility(View.GONE); imageView.setImageBitmap(imageCompressed);
message_ready.setVisibility(View.GONE);
}
});
}
} }
}); );
}
} }
); }
} );
} }else {
); loader.setVisibility(View.GONE);
Glide.with(getApplicationContext())
.load(finalUrl).into(imageView);
}
break; break;
case "video": case "video":
case "gifv": case "gifv":