Fix avif and gif

pull/589/head
FongMi 8 months ago
parent 62dbf3bec0
commit 1e8e35d4b7
  1. 13
      app/src/main/java/com/fongmi/android/tv/utils/OkGlideModule.java
  2. 2
      gradle.properties

@ -1,6 +1,7 @@
package com.fongmi.android.tv.utils;
import android.content.Context;
import android.graphics.Bitmap;
import android.util.Log;
import androidx.annotation.NonNull;
@ -9,16 +10,22 @@ import androidx.annotation.Nullable;
import com.bumptech.glide.Glide;
import com.bumptech.glide.GlideBuilder;
import com.bumptech.glide.Registry;
import com.bumptech.glide.annotation.Excludes;
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.integration.avif.AvifByteBufferBitmapDecoder;
import com.bumptech.glide.integration.avif.AvifGlideModule;
import com.bumptech.glide.integration.avif.AvifStreamBitmapDecoder;
import com.bumptech.glide.integration.okhttp3.OkHttpUrlLoader;
import com.bumptech.glide.load.model.GlideUrl;
import com.bumptech.glide.module.AppGlideModule;
import com.github.catvod.net.OkHttp;
import java.io.InputStream;
import java.nio.ByteBuffer;
@GlideModule
public class OkHttpGlideModule extends AppGlideModule {
@Excludes(AvifGlideModule.class)
public class OkGlideModule extends AppGlideModule {
@Override
public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
@ -28,5 +35,9 @@ public class OkHttpGlideModule extends AppGlideModule {
@Override
public void registerComponents(@NonNull Context context, @Nullable Glide glide, Registry registry) {
registry.replace(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(OkHttp.client()));
AvifByteBufferBitmapDecoder byteBuffer = new AvifByteBufferBitmapDecoder(glide.getBitmapPool());
AvifStreamBitmapDecoder stream = new AvifStreamBitmapDecoder(registry.getImageHeaderParsers(), byteBuffer, glide.getArrayPool());
registry.append(ByteBuffer.class, Bitmap.class, byteBuffer);
registry.append(InputStream.class, Bitmap.class, stream);
}
}

@ -6,7 +6,7 @@
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 --add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects

Loading…
Cancel
Save