discord-jadx/app/src/main/java/com/discord/stores/Dispatcher.java

87 lines
3.1 KiB
Java

package com.discord.stores;
import com.discord.app.AppLog;
import com.discord.utilities.logging.Logger;
import d0.z.d.m;
import java.util.ArrayList;
import java.util.Iterator;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.internal.DefaultConstructorMarker;
import rx.Scheduler;
/* compiled from: Dispatcher.kt */
public final class Dispatcher {
private final boolean assertCleanDispatches;
private final ArrayList<DispatchHandler> dispatchHandlers;
private Thread dispatcherThread;
private final Scheduler scheduler;
public Dispatcher(Scheduler scheduler, boolean z2) {
m.checkNotNullParameter(scheduler, "scheduler");
this.scheduler = scheduler;
this.assertCleanDispatches = z2;
this.dispatchHandlers = new ArrayList<>();
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
public /* synthetic */ Dispatcher(Scheduler scheduler, boolean z2, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(scheduler, (i & 2) != 0 ? false : z2);
}
public static final /* synthetic */ Thread access$getDispatcherThread$p(Dispatcher dispatcher) {
return dispatcher.dispatcherThread;
}
public static final /* synthetic */ void access$setDispatcherThread$p(Dispatcher dispatcher, Thread thread) {
dispatcher.dispatcherThread = thread;
}
private final void assertCleanDispatch() {
if (Thread.currentThread() == this.dispatcherThread) {
AppLog.g.w("dirty dispatch", new RuntimeException());
}
}
public final Scheduler getScheduler() {
return this.scheduler;
}
@StoreThread
public final void onDispatchEnded() {
Iterator<DispatchHandler> it = this.dispatchHandlers.iterator();
while (it.hasNext()) {
it.next().onDispatchEnded();
}
}
@StoreThread
public final void registerDispatchHandlers(DispatchHandler... dispatchHandlerArr) {
m.checkNotNullParameter(dispatchHandlerArr, "dispatchHandlerArgs");
for (DispatchHandler dispatchHandler : dispatchHandlerArr) {
this.dispatchHandlers.add(dispatchHandler);
}
}
public final void schedule(Function0<Unit> function0) {
m.checkNotNullParameter(function0, "action");
if (this.dispatchHandlers.isEmpty()) {
AppLog appLog = AppLog.g;
String name = Dispatcher.class.getName();
m.checkNotNullExpressionValue(name, "javaClass.name");
Logger.e$default(appLog, name, "scheduled an action without registering DispatchHandlers", null, null, 12, null);
}
if (this.assertCleanDispatches) {
assertCleanDispatch();
}
this.scheduler.a().a(new Dispatcher$schedule$1(this, function0));
}
@StoreThread
public final void unregisterDispatchHandlers(DispatchHandler... dispatchHandlerArr) {
m.checkNotNullParameter(dispatchHandlerArr, "dispatchHandlerArgs");
for (DispatchHandler dispatchHandler : dispatchHandlerArr) {
this.dispatchHandlers.remove(dispatchHandler);
}
}
}