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])); } /**