feat: add plugins management (#3909)
This commit is contained in:
@@ -123,6 +123,7 @@ import com.brentvatne.common.react.VideoEventEmitter;
|
||||
import com.brentvatne.common.toolbox.DebugLog;
|
||||
import com.brentvatne.react.BuildConfig;
|
||||
import com.brentvatne.react.R;
|
||||
import com.brentvatne.react.ReactNativeVideoManager;
|
||||
import com.brentvatne.receiver.AudioBecomingNoisyReceiver;
|
||||
import com.brentvatne.receiver.BecomingNoisyListener;
|
||||
import com.facebook.react.bridge.LifecycleEventListener;
|
||||
@@ -258,6 +259,9 @@ public class ReactExoplayerView extends FrameLayout implements
|
||||
private long lastDuration = -1;
|
||||
|
||||
private boolean viewHasDropped = false;
|
||||
|
||||
private String instanceId = String.valueOf(UUID.randomUUID());
|
||||
|
||||
private void updateProgress() {
|
||||
if (player != null) {
|
||||
if (playerControlView != null && isPlayingAd() && controls) {
|
||||
@@ -756,6 +760,7 @@ public class ReactExoplayerView extends FrameLayout implements
|
||||
.setLoadControl(loadControl)
|
||||
.setMediaSourceFactory(mediaSourceFactory)
|
||||
.build();
|
||||
ReactNativeVideoManager.Companion.getInstance().onInstanceCreated(instanceId, player);
|
||||
refreshDebugState();
|
||||
player.addListener(self);
|
||||
player.setVolume(muted ? 0.f : audioVolume * 1);
|
||||
@@ -1150,6 +1155,7 @@ public class ReactExoplayerView extends FrameLayout implements
|
||||
player.removeListener(this);
|
||||
trackSelector = null;
|
||||
|
||||
ReactNativeVideoManager.Companion.getInstance().onInstanceRemoved(instanceId, player);
|
||||
player = null;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.brentvatne.common.api.SubtitleStyle;
|
||||
import com.brentvatne.common.react.VideoEventEmitter;
|
||||
import com.brentvatne.common.toolbox.DebugLog;
|
||||
import com.brentvatne.common.toolbox.ReactBridgeUtils;
|
||||
import com.brentvatne.react.ReactNativeVideoManager;
|
||||
import com.facebook.react.bridge.ReadableArray;
|
||||
import com.facebook.react.bridge.ReadableMap;
|
||||
import com.facebook.react.common.MapBuilder;
|
||||
@@ -97,12 +98,14 @@ public class ReactExoplayerViewManager extends ViewGroupManager<ReactExoplayerVi
|
||||
@NonNull
|
||||
@Override
|
||||
protected ReactExoplayerView createViewInstance(@NonNull ThemedReactContext themedReactContext) {
|
||||
ReactNativeVideoManager.Companion.getInstance().registerView(this);
|
||||
return new ReactExoplayerView(themedReactContext, config);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDropViewInstance(ReactExoplayerView view) {
|
||||
view.cleanUpResources();
|
||||
ReactNativeVideoManager.Companion.getInstance().unregisterView(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user