//package com.hh.arome.services.omc.lifecycle;
//
//import android.app.Activity;
//import android.app.Application;
//import android.content.Context;
//import android.content.ContextWrapper;
//
//import androidx.fragment.app.Fragment;
//import androidx.fragment.app.FragmentActivity;
//import androidx.fragment.app.FragmentManager;
//
//import com.bumptech.glide.util.Util;
//import com.hh.arome.services.omc.AidlCallback;
//import com.kyjphx.www.common.scan.idcard.base.IDCardScanEngine;
//import com.kyjphx.www.common.scan.idcard.callback.aidlCallback;
//
///**
// * Created by L470 on 2020/7/20.
// */
//public class IDCardScanManager implements LifeCycleListener {
//
//
//    Context mContext;
//
//    IDCardScanEngine mIDCardScanEngine;
//
//    private final String FRAGMENT_ACTIVITY_NAME = "FRAGMENT_ACTIVITY_NAME";
//
//
//    public void with(Context context) {
//        if (context == null) {
//            throw new IllegalArgumentException("You cannot start a load on a null Context");
//        }
//        this.mContext = context;
//
//        createIDCardScanEngine(context);
//        bind(context);
//
//    }
//
//    private void createIDCardScanEngine(Context context) {
//        mIDCardScanEngine = IDCardScanEngine.getInstance(context);
//    }
//
//    /**
//     * @param context 传入的上下文
//     */
//    public void bind(Context context) {
//        if (Util.isOnMainThread() && !(context instanceof Application)) {
//            if (context instanceof FragmentActivity) {
//                bindFragmentActivity((FragmentActivity) context);
//            }
//        }
//    }
//
//    private void bindFragmentActivity(FragmentActivity activity) {
//        FragmentManager fragmentManager = activity.getSupportFragmentManager();
//        supportFragmentGet(fragmentManager, isActivityVisible(activity));
//    }
//
//    /**
//     * 创建Fragment 并依托于当前Activity(当然Glide做了缓存去重操作)
//     *
//     * @param fragmentManager
//     * @param activityVisible
//     */
//    private void supportFragmentGet(FragmentManager fragmentManager, boolean activityVisible) {
//
//        Fragment fragment = fragmentManager.findFragmentByTag(FRAGMENT_ACTIVITY_NAME);
//        if (fragment == null) {
//            SupportManagerFragment current = new SupportManagerFragment(this);
//
//            fragmentManager.beginTransaction()
//                    .add(current, FRAGMENT_ACTIVITY_NAME)
//                    .commitAllowingStateLoss();
////        current.getLifeCycle().addListener(this);
//            /*if (activityVisible) {
//                current.getLifeCycle().onStart();
//            }*/
//        }
//
//    }
//
//    private boolean isActivityVisible(Activity activity) {
//        return !activity.isFinishing();
//    }
//
//    public void startScanIDCard(AidlCallback aidlCallback) {
//        mIDCardScanEngine.startScanIDCard(aidlCallback);
//    }
//
//    @Override
//    public void onResume() {
//        LogUtils.e("IDCardScanManager--onResume");
//        mIDCardScanEngine.resumeScanIDCard();
//    }
//
//    @Override
//    public void onPause() {
//        LogUtils.e("IDCardScanManager--onPause");
//        mIDCardScanEngine.pauseScanIDCard();
//    }
//
//    @Override
//    public void onStop() {
//        LogUtils.e("IDCardScanManager--onStop");
//        mIDCardScanEngine.stopScanIDCard();
//    }
//
//    @Override
//    public void onDestroy() {
//        LogUtils.e("IDCardScanManager--onDestroy");
//        mIDCardScanEngine.destoryIDCardScan();
//    }
//}
