package com.yf.scan;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.Callback;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.RGBLuminanceSource;
import com.google.zxing.Result;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.BarcodeFormat;
import com.yf.scan.scanner.DecodeLocalImageUtils;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Hashtable;

import java.util.ArrayList;
import java.util.List;


public class Recognition extends ReactContextBaseJavaModule {
    public Recognition(ReactApplicationContext reactContext) {
        super(reactContext);
    }

    @Override
    public String getName() {
        return "Recognition";
    }

    @ReactMethod
    public void decode(String path, final Promise promise) {
            DecodeLocalImageUtils.decodeLocalImg(path, new Callback() {
                    @Override
                    public void invoke(Object... args) {
                            Object code = args[0];
                            Object result = args[1];
                            if (result != null) {
                                   promise.resolve(result.toString());
                            } else {
                                   promise.reject(code.toString(),result.toString());
                            }
                    }
            });
    }
}
