package com.awesomeproject;

import com.facebook.react.uimanager.annotations.ReactProp;
import com.facebook.react.uimanager.SimpleViewManager;
import android.view.View;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.bridge.ReactMethod;
import com.navigine.idl.java.NavigationManager;
import android.graphics.BitmapFactory;
import android.widget.VideoView;
import android.net.Uri;
import android.util.Log;
import com.navigine.view.LocationView;
import com.navigine.sdk.Navigine;
import com.navigine.idl.java.NavigineSdk;
import com.navigine.idl.java.LocationManager;
import com.navigine.idl.java.PositionListener;
import com.navigine.idl.java.Position;
import com.navigine.idl.java.AnimationType;
import com.navigine.idl.java.Point;
import com.navigine.idl.java.LocationPoint;
import com.navigine.idl.java.IconMapObject;
import com.facebook.react.uimanager.ViewGroupManager;
import com.awesomeproject.view.NavigineLocationView;

public class NavigineViewManager extends ViewGroupManager<NavigineLocationView> {

    public static final String REACT_CLASS = "NavigineLocationView";


    @Override
    public String getName() {
        return REACT_CLASS;
    }

    @Override
    protected NavigineLocationView createViewInstance(ThemedReactContext reactContext) {
        Navigine.initialize(reactContext);
        NavigineSdk.setUserHash("A9BD-ECC4-F85B-2804");
        NavigineLocationView locationView = new NavigineLocationView(reactContext);
        
        return locationView;
    }
    @Override
    public void addView(NavigineLocationView parent, View child, int index) {
        parent.addFeature(child, index);
        super.addView(parent, child, index);
    }

    @Override
    public void removeViewAt(NavigineLocationView parent, int index) {
        parent.removeChild(index);
        super.removeViewAt(parent, index);
    }
}
