
package com.aeonmatrix.reactnativeijkplayer;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;

import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.Promise;

public class RNIjkplayerModule extends ReactContextBaseJavaModule {

  private final ReactApplicationContext reactContext;

  public RNIjkplayerModule(ReactApplicationContext reactContext) {
    super(reactContext);
    this.reactContext = reactContext;
  }

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

  @ReactMethod
  public void execute(String rtspUrl, String loading, String error, String ok, Promise promise) {
    try {
      Activity currentActivity = getCurrentActivity();

      if (null != currentActivity) {
        Class aimActivity = Class.forName("com.aeonmatrix.reactnativeijkplayer.ijkplayerActivity");
        Intent intent = new Intent(currentActivity, aimActivity);
        intent.putExtra("S_URL", rtspUrl);
        intent.putExtra("S_LOADING", loading);
        intent.putExtra("S_ERROR", error);
        intent.putExtra("S_OK", ok);
        currentActivity.startActivity(intent);
        promise.resolve("");
      }
    } catch (Exception e) {
      promise.reject(e);
      throw new JSApplicationIllegalArgumentException(e.getMessage());
    }
  }
}