Skip to content

Commit

Permalink
refactor(android): migrate ReactVideoPackage to kotlin
Browse files Browse the repository at this point in the history
  • Loading branch information
seyedmostafahasani committed Jun 29, 2024
1 parent ecf3518 commit a1eab13
Showing 1 changed file with 19 additions and 40 deletions.
59 changes: 19 additions & 40 deletions android/src/main/java/com/brentvatne/react/ReactVideoPackage.kt
Original file line number Diff line number Diff line change
@@ -1,50 +1,29 @@
package com.brentvatne.react;
package com.brentvatne.react

import com.brentvatne.exoplayer.DefaultReactExoplayerConfig;
import com.brentvatne.exoplayer.ReactExoplayerConfig;
import com.brentvatne.exoplayer.ReactExoplayerViewManager;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.JavaScriptModule;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import com.brentvatne.exoplayer.DefaultReactExoplayerConfig
import com.brentvatne.exoplayer.ReactExoplayerConfig
import com.brentvatne.exoplayer.ReactExoplayerViewManager
import com.facebook.react.ReactPackage
import com.facebook.react.bridge.JavaScriptModule
import com.facebook.react.bridge.NativeModule
import com.facebook.react.bridge.ReactApplicationContext
import com.facebook.react.uimanager.ViewManager

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class ReactVideoPackage @JvmOverloads constructor(private var config: ReactExoplayerConfig? = null) : ReactPackage {

public class ReactVideoPackage implements ReactPackage {

private ReactExoplayerConfig config;

public ReactVideoPackage() {
}

public ReactVideoPackage(ReactExoplayerConfig config) {
this.config = config;
}

@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<NativeModule>();

modules.add(new VideoDecoderPropertiesModule(reactContext));
modules.add(new VideoManagerModule(reactContext));

return modules;
}
override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> =
listOf(
VideoDecoderPropertiesModule(reactContext),
VideoManagerModule(reactContext)
)

// Deprecated RN 0.47
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}

fun createJSModules(): List<Class<out JavaScriptModule>> = emptyList()

@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
if (config == null) {
config = new DefaultReactExoplayerConfig(reactContext);
config = DefaultReactExoplayerConfig(reactContext)
}
return Collections.singletonList(new ReactExoplayerViewManager(config));
return listOf(ReactExoplayerViewManager(config!!))
}
}

0 comments on commit a1eab13

Please sign in to comment.