
package com.quenice.idcard;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.Callback;
import com.quenice.idcard.utils.Devcode;
import android.widget.Toast;
import android.app.Activity;
import android.content.Intent;
import android.content.Context;
import com.quenice.idcard.CardsCameraActivity;

import kernal.idcard.camera.CardOcrRecogConfigure;
import com.quenice.idcard.utils.DefaultPicSavePath;


public class RNIdcardModule extends ReactContextBaseJavaModule {

  private final ReactApplicationContext reactContext;

  public RNIdcardModule(ReactApplicationContext reactContext) {
    super(reactContext);
    this.reactContext = reactContext;
    CardsCameraActivity.MyContext = reactContext;
  }

  @Override
  public String getName() {
    return "RNIdcard";
  }
  
  @ReactMethod
  public void sampleMethod(String stringArgument, int numberArgument, Callback callback) {
    // TODO: Implement some actually useful functionality
    callback.invoke(numberArgument + " hzncc aaaa" + stringArgument);
  }

  @ReactMethod
  public void activate(String activateNum, Callback callback) {
    Devcode.devcode = activateNum;
    callback.invoke("activate " + activateNum);
  }

  @ReactMethod
  public void idCardDiscern(int type, int nSubID) {
    Activity currentActivity = getCurrentActivity();

    CardOcrRecogConfigure.getInstance()
            .initLanguage(currentActivity.getApplicationContext())
            .setnMainId(type)
            .setnSubID(nSubID)
            .setFlag(0)
            .setnCropType(1)
            .setSaveFullPic(true)
            .setSaveCut(true)
            .setSaveHeadPic(true)
            //.setOpenGetThaiFeatureFuction(false)
            //.setOpenIDCopyFuction(true)
            //.setThaiCodeJpgPath(false)
            //.setSetIDCardRejectType(true)
            .setSavePath(new DefaultPicSavePath());

    Intent intent = new Intent(currentActivity, CardsCameraActivity.class);
    intent.putExtra("type", type);
    currentActivity.startActivityForResult(intent, 1001);

  }
}