From 73f994ad2a30fc667d48392d5dc3ba06ab38de7b Mon Sep 17 00:00:00 2001 From: LoveSy Date: Mon, 21 Mar 2022 22:39:13 +0800 Subject: [PATCH] Fix array cast (#1783) --- core/src/main/java/de/robv/android/xposed/XposedBridge.java | 5 +++++ .../de/robv/android/xposed/callbacks/XC_LayoutInflated.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) 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 d2952508..5ccf429d 100644 --- a/core/src/main/java/de/robv/android/xposed/XposedBridge.java +++ b/core/src/main/java/de/robv/android/xposed/XposedBridge.java @@ -372,6 +372,11 @@ public final class XposedBridge { return elements; } + public T[] getSnapshot(T[] a) { + var snapshot = getSnapshot(); + return (T[]) Arrays.copyOf(snapshot, snapshot.length, a.getClass()); + } + public synchronized void clear() { elements = EMPTY_ARRAY; } diff --git a/core/src/main/java/de/robv/android/xposed/callbacks/XC_LayoutInflated.java b/core/src/main/java/de/robv/android/xposed/callbacks/XC_LayoutInflated.java index fd75f71f..d719787d 100644 --- a/core/src/main/java/de/robv/android/xposed/callbacks/XC_LayoutInflated.java +++ b/core/src/main/java/de/robv/android/xposed/callbacks/XC_LayoutInflated.java @@ -56,7 +56,7 @@ public abstract class XC_LayoutInflated extends XCallback { * @hide */ public LayoutInflatedParam(CopyOnWriteSortedSet callbacks) { - super((XCallback[]) callbacks.getSnapshot()); + super(callbacks.getSnapshot(new XCallback[0])); } /**