package com.codepath.example.servicesnotificationsdemo.receivers; import android.os.Bundle; import android.os.Handler; import android.os.ResultReceiver; //Defines a generic receiver used to pass data to Activity from a Service public class MySimpleReceiver extends ResultReceiver { private Receiver receiver; // Constructor takes a handler public MySimpleReceiver(Handler handler) { super(handler); } // Setter for assigning the receiver public void setReceiver(Receiver receiver) { this.receiver = receiver; } // Defines our event interface for communication public interface Receiver { public void onReceiveResult(int resultCode, Bundle resultData); } // Delegate method which passes the result to the receiver if the receiver // has been assigned @Override protected void onReceiveResult(int resultCode, Bundle resultData) { if (receiver != null) { receiver.onReceiveResult(resultCode, resultData); } } }