diff --git a/app/build.gradle b/app/build.gradle index f0a1fcd..f723b22 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,14 +4,14 @@ plugins { } android { - compileSdk 30 + compileSdk 31 defaultConfig { applicationId "com.fox2code.mmm" minSdk 21 - targetSdk 30 - versionCode 9 - versionName "0.2.0" + targetSdk 31 + versionCode 10 + versionName "0.2.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -49,7 +49,9 @@ configurations { dependencies { // UI - implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'androidx.appcompat:appcompat:1.4.0' + implementation 'androidx.emoji2:emoji2:1.0.0' + implementation 'androidx.emoji2:emoji2-views-helper:1.0.0' implementation 'androidx.preference:preference:1.1.1' implementation 'androidx.constraintlayout:constraintlayout:2.1.2' implementation 'androidx.recyclerview:recyclerview:1.2.1' @@ -58,7 +60,8 @@ dependencies { implementation "com.mikepenz:aboutlibraries:${latestAboutLibsRelease}" // Utils - implementation 'com.squareup.okhttp3:okhttp-dnsoverhttps:4.9.1' + implementation 'com.squareup.okhttp3:okhttp-dnsoverhttps:4.9.3' + implementation 'com.squareup.okhttp3:okhttp-brotli:4.9.3' implementation 'com.github.topjohnwu.libsu:io:3.1.2' // Markdown diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 240f894..fd39da4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -65,5 +65,13 @@ + + + \ No newline at end of file diff --git a/app/src/main/java/com/fox2code/mmm/MainApplication.java b/app/src/main/java/com/fox2code/mmm/MainApplication.java index 82a290e..d531a0a 100644 --- a/app/src/main/java/com/fox2code/mmm/MainApplication.java +++ b/app/src/main/java/com/fox2code/mmm/MainApplication.java @@ -9,10 +9,13 @@ import android.content.res.Resources; import android.graphics.Color; import android.os.SystemClock; import android.text.SpannableStringBuilder; +import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.StyleRes; -import androidx.appcompat.view.ContextThemeWrapper; +import androidx.emoji2.text.DefaultEmojiCompatConfig; +import androidx.emoji2.text.EmojiCompat; +import androidx.emoji2.text.FontRequestEmojiCompatConfig; import com.fox2code.mmm.compat.CompatActivity; import com.fox2code.mmm.compat.CompatThemeWrapper; @@ -270,6 +273,20 @@ public class MainApplication extends Application implements CompatActivity.Appli this.setManagerThemeResId(themeResId); // Update SSL Ciphers if update is possible GMSProviderInstaller.installIfNeeded(this); + // Update emoji config + FontRequestEmojiCompatConfig fontRequestEmojiCompatConfig = + DefaultEmojiCompatConfig.create(this); + if (fontRequestEmojiCompatConfig != null) { + fontRequestEmojiCompatConfig.setReplaceAll(true); + fontRequestEmojiCompatConfig + .setMetadataLoadStrategy(EmojiCompat.LOAD_STRATEGY_MANUAL); + EmojiCompat emojiCompat = EmojiCompat.init(fontRequestEmojiCompatConfig); + new Thread(() -> { + Log.d("MainApplication", "Loading emoji compat..."); + emojiCompat.load(); + Log.d("MainApplication", "Emoji compat loaded!"); + }, "Emoji compat init.").start(); + } } @Override diff --git a/app/src/main/java/com/fox2code/mmm/utils/Http.java b/app/src/main/java/com/fox2code/mmm/utils/Http.java index 4500cc5..ea4e42c 100644 --- a/app/src/main/java/com/fox2code/mmm/utils/Http.java +++ b/app/src/main/java/com/fox2code/mmm/utils/Http.java @@ -30,6 +30,7 @@ import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import okhttp3.ResponseBody; +import okhttp3.brotli.BrotliInterceptor; import okhttp3.dnsoverhttps.DnsOverHttps; public class Http { @@ -42,6 +43,7 @@ public class Http { httpclientBuilder.connectTimeout(15, TimeUnit.SECONDS); httpclientBuilder.writeTimeout(15, TimeUnit.SECONDS); httpclientBuilder.readTimeout(15, TimeUnit.SECONDS); + httpclientBuilder.addInterceptor(BrotliInterceptor.INSTANCE); httpclientBuilder.proxy(Proxy.NO_PROXY); // Do not use system proxy Dns dns = Dns.SYSTEM; try { @@ -94,8 +96,7 @@ public class Http { } private static Request.Builder makeRequestBuilder() { - return new Request.Builder().header("Connection", "keep-alive") - .header("Upgrade-Insecure-Requests", "1"); + return new Request.Builder().header("Upgrade-Insecure-Requests", "1"); } public static byte[] doHttpGet(String url,boolean allowCache) throws IOException { diff --git a/screenshot.jpg b/screenshot.jpg index 1ff6463..b5c1e86 100644 Binary files a/screenshot.jpg and b/screenshot.jpg differ