package io.pivotal.arca.dispatcher;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import io.pivotal.arca.broadcaster.ArcaBroadcastManager;
public class ErrorBroadcaster {
public static interface Extras {
public static final String ERROR = "error";
}
public static void broadcast(final Context context, final Uri uri, final int errorCode, final String errorMessage) {
final Intent intent = buildErrorIntent(uri, errorCode, errorMessage);
ArcaBroadcastManager.sendBroadcast(context, intent);
}
private static Intent buildErrorIntent(final Uri uri, final int code, final String message) {
final Intent intent = new Intent(uri.toString());
intent.putExtra(Extras.ERROR, new Error(code, message));
return intent;
}
// ===============================
public static Error getError(final Intent intent) {
if (intent != null) {
return (Error) intent.getParcelableExtra(Extras.ERROR);
} else {
return null;
}
}
}