Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e9f12e4 authored by Mark Harman's avatar Mark Harman
Browse files

Avoid Thumbnails.getThumbnail().

parent 56b33814
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import android.media.MediaMetadataRetriever;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.CancellationSignal;
import android.os.Handler;
import android.os.Looper;
import android.os.ParcelFileDescriptor;
@@ -85,6 +86,7 @@ import android.text.InputFilter;
import android.text.InputType;
import android.text.Spanned;
import android.util.Log;
import android.util.Size;
import android.util.SizeF;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
@@ -4706,9 +4708,15 @@ public class MainActivity extends AppCompatActivity implements PreferenceFragmen
                            else {
                                if( MyDebug.LOG )
                                    Log.d(TAG, "load thumbnail for video");
                                if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q ) {
                                    final Size size = new Size(512, 384); // same as MediaStore.ThumbnailConstants.MINI_SIZE, which is used for MediaStore.Video.Thumbnails.MINI_KIND
                                    thumbnail = getContentResolver().loadThumbnail(media.uri, size, new CancellationSignal());
                                }
                                else {
                                    thumbnail = MediaStore.Video.Thumbnails.getThumbnail(getContentResolver(), media.id, MediaStore.Video.Thumbnails.MINI_KIND, null);
                                }
                            }
                        }
                        catch(Throwable exception) {
                            // have had Google Play NoClassDefFoundError crashes from getThumbnail() for Galaxy Ace4 (vivalto3g), Galaxy S Duos3 (vivalto3gvn)
                            // also NegativeArraySizeException - best to catch everything