package com.cndroid.reactnative.hotfix;

import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.Toast;

import com.cndroid.reactnativehotfixlib.GameClientHotFix;
import com.cndroid.reactnativehotfixlib.GameClientHotFixSetup;
import com.cndroid.reactnativehotfixlib.ReactNativeHotFix;
import com.cndroid.reactnativehotfixlib.ReactNativeHotFixSetup;

/**
 * Created by jinbangzhu on 10/11/2016.
 */

public class MainActivity extends AppCompatActivity {
    ReactNativeHotFix reactNativeHotFix;
    GameClientHotFix gameClientHotFix;

    class MyHandler extends Handler {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
                case ReactNativeHotFix.CODE_FAIL:
                    Toast.makeText(getApplicationContext(), "fail", Toast.LENGTH_LONG).show();
                    break;
                case ReactNativeHotFix.CODE_SUCCESS:
                    Toast.makeText(getApplicationContext(), "success", Toast.LENGTH_LONG).show();
                    break;
            }
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        MyHandler handler = new MyHandler();


        setContentView(R.layout.main);

        String extraBundleRootPath = Environment.getExternalStorageDirectory().getPath() + "/remoteReact/";

        ReactNativeHotFixSetup setup = ReactNativeHotFixSetup.getInstance();
        setup.setExtraBundleRootPath(extraBundleRootPath);
        setup.initial();

        GameClientHotFixSetup gameClientHotFixSetup = GameClientHotFixSetup.getInstance();
        gameClientHotFixSetup.setExtraRootPath(extraBundleRootPath+"game/");
        gameClientHotFixSetup.initial();

        reactNativeHotFix = ReactNativeHotFix.create(this)
                .setUpgradeUrl("http://test.engdd.com/game_server/spa/?p=ios&v=v5")
                .setHandler(handler);

//        reactNativeHotFix.getExtraVersionCode();

        reactNativeHotFix.start();


        gameClientHotFix = GameClientHotFix.create(this)
                .setUpgradeUrl("http://test.engdd.com/game_server/spa/?p=ios&v=v")
                .setHandler(null);

        gameClientHotFix.start();

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        reactNativeHotFix.stop();
        Log.d("main", "onDestroy");
    }
}
