package run.granite.video import com.facebook.react.ReactPackage import com.facebook.react.bridge.NativeModule import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.uimanager.ViewManager /** * React Native package for GraniteVideo core functionality. * * This package provides the video view and module. * Video provider registration is handled automatically via ContentProvider * when USE_MEDIA3 is enabled (default). * * ## Basic Usage * ```kotlin * // Default configuration (uses Media3) * packages.add(GraniteVideoPackage()) * ``` * * ## Custom Provider Configuration * To disable Media3 and use a custom provider: * ``` * // In gradle.properties * graniteVideo.useMedia3=false * ``` * * Then register your custom provider: * ```kotlin * GraniteVideoRegistry.registerFactory("custom") { MyCustomProvider() } * GraniteVideoRegistry.setDefaultProvider("custom") * ``` */ class GraniteVideoPackage : ReactPackage { override fun createViewManagers(reactContext: ReactApplicationContext): List> { return listOf(GraniteVideoViewManager()) } override fun createNativeModules(reactContext: ReactApplicationContext): List { return listOf(GraniteVideoModule(reactContext)) } }