diff --git a/app/build.gradle b/app/build.gradle index 3a0547e5..781af226 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,7 +21,7 @@ android { shrinkResources true minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + proguardFiles 'proguard-rules.pro' } debug { @@ -63,7 +63,7 @@ dependencies { implementation 'androidx.annotation:annotation:1.1.0' implementation 'androidx.percentlayout:percentlayout:1.0.0' implementation 'androidx.preference:preference:1.1.1' - implementation 'androidx.constraintlayout:constraintlayout:2.0.2' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'com.github.kabouzeid:app-theme-helper:1.3.10' implementation 'com.github.kabouzeid:RecyclerView-FastScroll:1.0.16-kmod' @@ -81,6 +81,8 @@ dependencies { implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' + annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' + implementation 'com.github.bumptech.glide:annotations:4.11.0' implementation 'com.github.bumptech.glide:glide:4.11.0' implementation 'com.github.bumptech.glide:okhttp3-integration:4.11.0' } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 469059dc..a138b4ca 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -3,29 +3,16 @@ # RetroFit -dontwarn retrofit.** --keep class retrofit.** { *; } -keepattributes Signature -keepattributes Exceptions # Glide --keep public class * implements com.bumptech.glide.module.GlideModule +-keep public class * extends com.bumptech.glide.module.AppGlideModule +-keep class com.bumptech.glide.GeneratedAppGlideModuleImpl -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { **[] $VALUES; public *; } -# ButterKnife --keep class butterknife.** { *; } --dontwarn butterknife.internal.** --keep class **$$ViewBinder { *; } --keepclasseswithmembernames class * { - @butterknife.* ; -} --keepclasseswithmembernames class * { - @butterknife.* ; -} - --keep class !android.support.v7.internal.view.menu.**,** {*;} - # Jellyfin API -keepclasseswithmembers class org.jellyfin.apiclient.model.**.* { *; } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e4e4360c..8ac8454d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -76,12 +76,6 @@ - - diff --git a/app/src/main/java/com/dkanada/gramophone/glide/CustomGlideModule.java b/app/src/main/java/com/dkanada/gramophone/glide/CustomGlideModule.java index 1252b267..b6f62fa0 100644 --- a/app/src/main/java/com/dkanada/gramophone/glide/CustomGlideModule.java +++ b/app/src/main/java/com/dkanada/gramophone/glide/CustomGlideModule.java @@ -8,18 +8,19 @@ import androidx.annotation.NonNull; import com.bumptech.glide.Glide; import com.bumptech.glide.GlideBuilder; import com.bumptech.glide.Registry; +import com.bumptech.glide.annotation.GlideModule; import com.bumptech.glide.load.DecodeFormat; import com.bumptech.glide.load.engine.cache.DiskLruCacheFactory; -import com.bumptech.glide.module.GlideModule; +import com.bumptech.glide.module.AppGlideModule; import com.bumptech.glide.request.RequestOptions; -import com.dkanada.gramophone.App; import com.dkanada.gramophone.glide.palette.BitmapPaletteTranscoder; import com.dkanada.gramophone.glide.palette.BitmapPaletteWrapper; import com.dkanada.gramophone.util.PreferenceUtil; import java.io.File; -public class CustomGlideModule implements GlideModule { +@GlideModule +public class CustomGlideModule extends AppGlideModule { @Override public void applyOptions(@NonNull Context context, GlideBuilder builder) { File file = new File(context.getCacheDir() + "glide"); @@ -33,4 +34,9 @@ public class CustomGlideModule implements GlideModule { public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) { registry.register(Bitmap.class, BitmapPaletteWrapper.class, new BitmapPaletteTranscoder(glide.getBitmapPool())); } + + @Override + public boolean isManifestParsingEnabled() { + return false; + } } diff --git a/app/src/main/java/com/dkanada/gramophone/glide/CustomGlideRequest.java b/app/src/main/java/com/dkanada/gramophone/glide/CustomGlideRequest.java index e16d28ff..f6fea0ac 100644 --- a/app/src/main/java/com/dkanada/gramophone/glide/CustomGlideRequest.java +++ b/app/src/main/java/com/dkanada/gramophone/glide/CustomGlideRequest.java @@ -42,7 +42,7 @@ public class CustomGlideRequest { this.context = context; if (placeholder != null) { - Bitmap bitmap = BlurHashDecoder.INSTANCE.decode(placeholder, 20, 20, 1, true); + Bitmap bitmap = BlurHashDecoder.INSTANCE.decode(placeholder, 40, 40, 1, true); BitmapDrawable drawable = new BitmapDrawable(context.getResources(), bitmap); requestManager.applyDefaultRequestOptions(createRequestOptions(item, drawable)); } else {