package com.uxxu.konashi.lib; import android.os.Handler; import android.os.Looper; import java.util.ArrayList; import info.izumin.android.bletia.BletiaException; /** * Created by izumin on 9/23/15. */ class EventEmitter extends ArrayList<KonashiListener> { private final EventEmitter self = this; private final Handler mHandler = new Handler(Looper.getMainLooper()); public void emitConnect(final KonashiManager manager) { mHandler.post(new Runnable() { @Override public void run() { for (KonashiListener listener : self) { listener.onConnect(manager); } } }); } public void emitDisconnect(final KonashiManager manager) { mHandler.post(new Runnable() { @Override public void run() { for (KonashiListener listener : self) { listener.onDisconnect(manager); } } }); } public void emitError(final KonashiManager manager, final BletiaException e) { mHandler.post(new Runnable() { @Override public void run() { for (KonashiListener listener : self) { listener.onError(manager, e); } } }); } public void emitUpdatePioOutput(final KonashiManager manager, final int value) { mHandler.post(new Runnable() { @Override public void run() { for (KonashiListener listener : self) { listener.onUpdatePioOutput(manager, value); } } }); } public void emitUpdateUartRx(final KonashiManager manager, final byte[] value) { mHandler.post(new Runnable() { @Override public void run() { for (KonashiListener listener : self) { listener.onUpdateUartRx(manager, value); } } }); } public void emitUpdateSpiMiso(final KonashiManager manager, final byte[] value) { mHandler.post(new Runnable() { @Override public void run() { for (KonashiListener listener : self) { listener.onUpdateSpiMiso(manager, value); } } }); } public void emitUpdateBatteryLevel(final KonashiManager manager, final int level) { mHandler.post(new Runnable() { @Override public void run() { for (KonashiListener listener : self) { listener.onUpdateBatteryLevel(manager, level); } } }); } }