package com.walmartlabs.ern;

import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

import com.AsdaSearchApi.ern.api.AsdaitemApi;
import com.AsdaSearchApi.ern.model.ItemSearchResponse;
import com.walmartlabs.electrode.reactnative.bridge.ElectrodeBridgeRequestHandler;
import com.walmartlabs.electrode.reactnative.bridge.ElectrodeBridgeResponseListener;
import com.walmartlabs.electrode.reactnative.bridge.FailureMessage;
import com.walmartlabs.ern.RunnerConfig;
import com.walmartlabs.ern.container.ElectrodeReactContainer;
import com.walmartlabs.ern.container.miniapps.AsdaSearchMiniAppActivity;
import com.walmartlabs.ern.container.miniapps.MiniAppsConfig;

// This is the main activity that gets launched upon app start
// It just launches the activity containing the miniapp
// Feel free to modify it at your convenience.
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent i = new Intent(this, RunnerConfig.MAIN_MINIAPP_ACTIVITY_CLASS);
        this.startActivity(i);

        ElectrodeReactContainer.initialize(getApplication(), new ElectrodeReactContainer.Config().isReactNativeDeveloperSupport(true));

        AsdaitemApi.requests().searchItems("none", new ElectrodeBridgeResponseListener<Object>() {
            @Override
            public void onSuccess(@Nullable Object responseData) {
                Toast.makeText(MainActivity.this, "Success - " + (responseData!=null?responseData.toString():"null"), Toast.LENGTH_LONG).show();
            }

            @Override
            public void onFailure(@NonNull FailureMessage failureMessage) {
                Toast.makeText(MainActivity.this, failureMessage!=null?failureMessage.getMessage():"Failed", Toast.LENGTH_LONG).show();
            }
        });

//        AsdaitemApi.Requests reqs = AsdaitemApi.requests();
//        reqs.searchItems("apple", new ElectrodeBridgeResponseListener<Object>() {
//            @Override
//            public void onSuccess(@Nullable Object responseData) {
//                ItemSearchResponse resp = (ItemSearchResponse) responseData;
//                String respStr = resp.getKeyword() + " received " + resp.getSessionId();
//                Toast.makeText(MainActivity.this, respStr, Toast.LENGTH_SHORT).show();
//            }
//
//            @Override
//            public void onFailure(@NonNull FailureMessage failureMessage) {
//                Toast.makeText(MainActivity.this, failureMessage.getMessage(), Toast.LENGTH_SHORT).show();
//            }
//        });
    }
}
