package in.slanglabs;

import android.os.Handler;
import android.util.Log;

import com.facebook.react.bridge.WritableMap;

import in.slanglabs.assistants.retail.OnSearchListener;
import in.slanglabs.assistants.retail.SearchInfo;
import in.slanglabs.assistants.retail.SearchUserJourney;

public class RNRetailSearchHandler implements OnSearchListener {

    private static final String TAG = "RNRetailSearchHandler";

    private RNSlangRetailAssistantModule mAssistantModule;

    RNRetailSearchHandler(RNSlangRetailAssistantModule assistantModule) {
        mAssistantModule = assistantModule;
    }

    @Override
    public void onSearch(final SearchInfo searchInfo, SearchUserJourney searchUserJourney) {
        try {
            new Handler().post(new Runnable() {
                @Override
                public void run() {
                    try {
                        WritableMap searchInfoMap = RNSlangUtils.mapSearchInfo(searchInfo);
                        mAssistantModule.sendEvent("onSearch", searchInfoMap);
                        Log.d(TAG, String.valueOf(searchInfo));
                    } catch (Exception exception) {
                        mAssistantModule.sendAssistantError(exception);
                    }
                }
            });
        } catch (Exception exception) {
            mAssistantModule.sendAssistantError(exception);
        }
    }

}
