mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-12-18 14:07:39 +00:00
parent
9491ba77e0
commit
843995cdb9
@ -1,136 +0,0 @@
|
|||||||
package com.topjohnwu.magisk.utils;
|
|
||||||
|
|
||||||
import com.topjohnwu.superuser.internal.UiThreadHandler;
|
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
|
||||||
import java.lang.annotation.RetentionPolicy;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import androidx.annotation.IntDef;
|
|
||||||
import androidx.collection.ArraySet;
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public class Event {
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static final int LOCALE_FETCH_DONE = 4;
|
|
||||||
|
|
||||||
@IntDef(LOCALE_FETCH_DONE)
|
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
|
||||||
public @interface EventID {}
|
|
||||||
|
|
||||||
// We will not dynamically add topics, so use arrays instead of hash tables
|
|
||||||
private static final Store[] eventList = new Store[5];
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static void register(Listener listener, @EventID int... events) {
|
|
||||||
for (int event : events) {
|
|
||||||
if (eventList[event] == null)
|
|
||||||
eventList[event] = new Store();
|
|
||||||
eventList[event].listeners.add(listener);
|
|
||||||
if (eventList[event].triggered) {
|
|
||||||
listener.onEvent(event);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static void register(AutoListener listener) {
|
|
||||||
register(listener, listener.getListeningEvents());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static void unregister(Listener listener, @EventID int... events) {
|
|
||||||
for (int event : events) {
|
|
||||||
if (eventList[event] == null)
|
|
||||||
continue;
|
|
||||||
eventList[event].listeners.remove(listener);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static void unregister(AutoListener listener) {
|
|
||||||
unregister(listener, listener.getListeningEvents());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static void trigger(@EventID int event) {
|
|
||||||
trigger(true, event, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static void trigger(@EventID int event, Object result) {
|
|
||||||
trigger(true, event, result);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static void trigger(boolean perm, @EventID int event) {
|
|
||||||
trigger(perm, event, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static void trigger(boolean perm, @EventID int event, Object result) {
|
|
||||||
if (eventList[event] == null)
|
|
||||||
eventList[event] = new Store();
|
|
||||||
if (perm) {
|
|
||||||
eventList[event].result = result;
|
|
||||||
eventList[event].triggered = true;
|
|
||||||
}
|
|
||||||
for (Listener sub : eventList[event].listeners) {
|
|
||||||
UiThreadHandler.run(() -> sub.onEvent(event));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static void reset(@EventID int event) {
|
|
||||||
if (eventList[event] == null)
|
|
||||||
return;
|
|
||||||
eventList[event].triggered = false;
|
|
||||||
eventList[event].result = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static void reset(AutoListener listener) {
|
|
||||||
for (int event : listener.getListeningEvents())
|
|
||||||
reset(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static boolean isTriggered(@EventID int event) {
|
|
||||||
if (eventList[event] == null)
|
|
||||||
return false;
|
|
||||||
return eventList[event].triggered;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static boolean isTriggered(AutoListener listener) {
|
|
||||||
for (int event : listener.getListeningEvents()) {
|
|
||||||
if (!isTriggered(event))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static <T> T getResult(@EventID int event) {
|
|
||||||
return (T) eventList[event].result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public interface Listener {
|
|
||||||
void onEvent(int event);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public interface AutoListener extends Listener {
|
|
||||||
@EventID
|
|
||||||
int[] getListeningEvents();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
private static class Store {
|
|
||||||
boolean triggered = false;
|
|
||||||
Set<Listener> listeners = new ArraySet<>();
|
|
||||||
Object result;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user