package com.ai.ced.bluetooth;


import android.content.Context;
import android.os.AsyncTask;
import android.os.Handler;
import android.text.TextUtils;
import android.util.Log;
import org.apache.cordova.CallbackContext;

import cn.com.senter.helper.ConsantHelper;


/**
 * 信通读证 异步类
 */
public class BlueReadTask extends AsyncTask<Void, Void, String> {


  private BlueReaderHelper m_bluecardreader;

  private Context context;

  private Handler handler;

  private ReadCardMessage readCardMessage;

  private XtParm xtParm;

  public BlueReadTask(BlueReaderHelper bluecardreader, Context context, Handler handler, XtParm xtParm, CallbackContext callbackContext)
  {
    m_bluecardreader = bluecardreader;
    this.handler = handler;
    this.context = context;
    this.readCardMessage = new ReadCardMessage(callbackContext);
    this.xtParm = xtParm;

  }



  @Override
  protected void onPostExecute(String strCardInfo) {

    Log.d("BlueReadTask","onPostExecute...strCardInfo" + strCardInfo);


    if (TextUtils.isEmpty(strCardInfo)) {
      handler.sendEmptyMessage(ConsantHelper.READ_CARD_FAILED);
      return;
    }

    if (strCardInfo.length() <= 2) {
      readCardMessage.readCardFailed(strCardInfo);
      return;
    }


//    ObjectMapper objectMapper = new ObjectMapper();
//    IdentityCardZ mIdentityCardZ = new IdentityCardZ();

//    try {
//      mIdentityCardZ = (IdentityCardZ) objectMapper.readValue(
//        strCardInfo, IdentityCardZ.class);
//    } catch (Exception e) {
//      e.printStackTrace();
//      return;
//    }


    Log.d("BlueReadTask","readCardSuccess...");
    readCardMessage.readCardSuccess(strCardInfo);
    super.onPostExecute(strCardInfo);

  }

  @Override
  protected String doInBackground(Void... params) {
    String strCardInfo = m_bluecardreader.read();
    return strCardInfo;
  }

}
