package triaina.webview.receiver;
import triaina.webview.Callback;
import triaina.webview.WebViewBridge;
import triaina.webview.entity.Result;
import android.os.Bundle;
import android.os.Handler;
import android.os.ResultReceiver;
public class CallbackReceiver extends ResultReceiver {
public static final String RESULT = "result";
public static final String MESSAGE = "message";
public static final int SUCCESS_CODE = 0;
public static final int TIMEOUT_ERROR_CODE = 1;
private WebViewBridge mBridge;
@SuppressWarnings("rawtypes")
private Callback mCallback;
public CallbackReceiver(WebViewBridge bridge, @SuppressWarnings("rawtypes") Callback callback, Handler handler) {
super(handler);
mBridge = bridge;
mCallback = callback;
}
@SuppressWarnings("unchecked")
@Override
protected void onReceiveResult(int resultCode, Bundle resultData) {
if (resultCode == SUCCESS_CODE) {
resultData.setClassLoader(CallbackReceiver.class.getClassLoader());
Result result = resultData.getParcelable(RESULT);
mCallback.succeed(mBridge, result);
} else {
String msg = null;
if (resultData != null)
msg = resultData.getString(MESSAGE);
mCallback.fail(mBridge, resultCode + "", msg + "");
}
}
}