package com.homansystem.iposprinter;

import android.content.BroadcastReceiver;
import com.facebook.react.modules.core.DeviceEventManagerModule;
import com.facebook.react.bridge.Arguments;
import android.content.Context;
import android.content.Intent;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.bridge.ReactApplicationContext;
import javax.annotation.Nullable;

public class LocalKassenBroadcastReceiver extends BroadcastReceiver {

  private ReactApplicationContext mReactContext;

  public LocalKassenBroadcastReceiver(ReactApplicationContext reactContext) {
    this.mReactContext = reactContext;
  }

  @Override
  public void onReceive(Context context, Intent intent) {
    String PrinterName = intent.getStringExtra("PrinterName");
    String PrinterAddress = intent.getStringExtra("PrinterAddress");
    String PrinterType = intent.getStringExtra("PrinterType");
    String PrinterUid = intent.getStringExtra("PrinterUid");
    WritableMap params = Arguments.createMap();
    params.putString("PrinterName", PrinterName);
    params.putString("PrinterAddress", PrinterAddress);
    params.putString("PrinterType", PrinterType);
    params.putString("PrinterUid", PrinterUid);
    sendEvent("BTKassenDeviceFound", params);
  }

  private void sendEvent(String eventName,
      @Nullable WritableMap params) {
    this.mReactContext
        .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
        .emit(eventName, params);
  }
}