co.easimart.SendCallback Maven / Gradle / Ivy
package co.easimart;
/**
* A {@code SendCallback} is used to run code after sending a {@link EasimartPush} in a background
* thread.
*
* The easiest way to use a {@code SendCallback} is through an anonymous inner class. Override the
* {@code done} function to specify what the callback should do after the send is complete. The
* {@code done} function will be run in the UI thread, while the send happens in a background
* thread. This ensures that the UI does not freeze while the send happens.
*
* For example, this sample code sends the message {@code "Hello world"} on the
* {@code "hello"} channel and logs whether the send succeeded.
*
*
* EasimartPush push = new EasimartPush();
* push.setChannel("hello");
* push.setMessage("Hello world!");
* push.sendInBackground(new SendCallback() {
* public void done(EasimartException e) {
* if (e == null) {
* Log.d("push", "success!");
* } else {
* Log.d("push", "failure");
* }
* }
* });
*
*/
public interface SendCallback extends EasimartCallback1 {
/**
* Override this function with the code you want to run after the send is complete.
*
* @param e
* The exception raised by the send, or {@code null} if it succeeded.
*/
@Override
public void done(EasimartException e);
}