package com.imagepicker; import android.support.annotation.NonNull; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.WritableMap; /** * Created by rusfearuth on 24.02.17. */ public class ResponseHelper { private WritableMap response = Arguments.createMap(); public void cleanResponse() { response = Arguments.createMap(); } public @NonNull WritableMap getResponse() { return response; } public void putString(@NonNull final String key, @NonNull final String value) { response.putString(key, value); } public void putInt(@NonNull final String key, final int value) { response.putInt(key, value); } public void putBoolean(@NonNull final String key, final boolean value) { response.putBoolean(key, value); } public void putDouble(@NonNull final String key, final double value) { response.putDouble(key, value); } public void invokeCustomButton(@NonNull final Callback callback, @NonNull final String action) { cleanResponse(); response.putString("customButton", action); invokeResponse(callback); } public void invokeCancel(@NonNull final Callback callback) { cleanResponse(); response.putBoolean("didCancel", true); invokeResponse(callback); } public void invokeError(@NonNull final Callback callback, @NonNull final String error) { cleanResponse(); response.putString("error", error); invokeResponse(callback); } public void invokeResponse(@NonNull final Callback callback) { callback.invoke(response); } }