From 7c1ea444797dc5a545debcb3c9670068afdda41c Mon Sep 17 00:00:00 2001 From: tehcneko <7764726+tehcneko@users.noreply.github.com> Date: Wed, 17 Mar 2021 12:24:29 +0800 Subject: [PATCH] [app] Update dependencies (#368) --- app/build.gradle.kts | 4 +-- build.gradle.kts | 2 +- .../de/robv/android/xposed/XposedBridge.java | 36 ++++++++++++++++++- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index aa862c3f..409891c5 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -167,11 +167,11 @@ dependencies { val markwonVersion = "4.6.2" val okhttpVersion = "4.9.1" annotationProcessor("com.github.bumptech.glide:compiler:$glideVersion") - implementation("androidx.activity:activity:1.2.0") + implementation("androidx.activity:activity:1.2.1") implementation("androidx.browser:browser:1.3.0") implementation("androidx.constraintlayout:constraintlayout:2.0.4") implementation("androidx.core:core:1.3.2") - implementation("androidx.fragment:fragment:1.3.0") + implementation("androidx.fragment:fragment:1.3.1") implementation("androidx.recyclerview:recyclerview:1.1.0") implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0") implementation("com.caverock:androidsvg-aar:1.4") diff --git a/build.gradle.kts b/build.gradle.kts index 6f9aace2..c7a86059 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -27,7 +27,7 @@ buildscript { } dependencies { classpath("com.android.tools:r8:3.0.27-dev") - classpath("com.android.tools.build:gradle:7.0.0-alpha09") + classpath("com.android.tools.build:gradle:7.0.0-alpha10") classpath("org.eclipse.jgit:org.eclipse.jgit:5.10.0.202012080955-r") classpath(kotlin("gradle-plugin", version = "1.4.31")) } diff --git a/core/src/main/java/de/robv/android/xposed/XposedBridge.java b/core/src/main/java/de/robv/android/xposed/XposedBridge.java index b45af892..66f40040 100644 --- a/core/src/main/java/de/robv/android/xposed/XposedBridge.java +++ b/core/src/main/java/de/robv/android/xposed/XposedBridge.java @@ -33,6 +33,8 @@ import java.lang.reflect.Member; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -77,7 +79,7 @@ public final class XposedBridge { private static final Object[] EMPTY_ARRAY = new Object[0]; // built-in handlers - public static final Map> sHookedMethodCallbacks = new HashMap<>(); + private static final Map> sHookedMethodCallbacks = new NoValuesHashMap<>(); public static final CopyOnWriteSortedSet sLoadedPackageCallbacks = new CopyOnWriteSortedSet<>(); /*package*/ static final CopyOnWriteSortedSet sInitPackageResourcesCallbacks = new CopyOnWriteSortedSet<>(); /*package*/ static final CopyOnWriteSortedSet sInitZygoteCallbacks = new CopyOnWriteSortedSet<>(); @@ -337,6 +339,38 @@ public final class XposedBridge { return YahfaHooker.invokeOriginalMethod((Executable) method, thisObject, args); } + private static class NoValuesHashMap extends HashMap { + @Override + public Collection values() { + return Collections.EMPTY_LIST; + } + + @Override + public void clear() { + + } + + @Override + public Set keySet() { + return Collections.EMPTY_SET; + } + + @Override + public Set> entrySet() { + return Collections.EMPTY_SET; + } + + @Override + public int size() { + return 0; + } + + @Override + public boolean isEmpty() { + return true; + } + } + /** @hide */ public static final class CopyOnWriteSortedSet { private transient volatile Object[] elements = EMPTY_ARRAY;