chore(android): migrate DefaultReactExoplayerConfig to Kotlin (#3983)

* Rename .java to .kt

* chore(android): migrate DefaultReactExoplayerConfig to Kotlin
This commit is contained in:
Seyed Mostafa Hasani 2024-07-10 11:50:16 +03:30 committed by GitHub
parent ccffcfd709
commit 1728373d11
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 38 deletions

View File

@ -1,38 +0,0 @@
package com.brentvatne.exoplayer;
import android.content.Context;
import androidx.media3.exoplayer.upstream.DefaultBandwidthMeter;
import androidx.media3.exoplayer.upstream.DefaultLoadErrorHandlingPolicy;
import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy;
public class DefaultReactExoplayerConfig implements ReactExoplayerConfig {
private final DefaultBandwidthMeter bandwidthMeter;
private boolean disableDisconnectError = false;
public DefaultReactExoplayerConfig(Context context) {
this.bandwidthMeter = new DefaultBandwidthMeter.Builder(context).build();
}
public LoadErrorHandlingPolicy buildLoadErrorHandlingPolicy(int minLoadRetryCount) {
if (this.disableDisconnectError) {
// Use custom error handling policy to prevent throwing an error when losing network connection
return new ReactExoplayerLoadErrorHandlingPolicy(minLoadRetryCount);
}
return new DefaultLoadErrorHandlingPolicy(minLoadRetryCount);
}
public void setDisableDisconnectError(boolean disableDisconnectError) {
this.disableDisconnectError = disableDisconnectError;
}
public boolean getDisableDisconnectError() {
return this.disableDisconnectError;
}
@Override
public DefaultBandwidthMeter getBandwidthMeter() {
return bandwidthMeter;
}
}

View File

@ -0,0 +1,26 @@
package com.brentvatne.exoplayer
import android.content.Context
import androidx.media3.exoplayer.upstream.DefaultBandwidthMeter
import androidx.media3.exoplayer.upstream.DefaultLoadErrorHandlingPolicy
import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy
class DefaultReactExoplayerConfig(context: Context) : ReactExoplayerConfig {
private var bandWidthMeter: DefaultBandwidthMeter = DefaultBandwidthMeter.Builder(context).build()
private var disableDisconnectError: Boolean = false
override fun buildLoadErrorHandlingPolicy(minLoadRetryCount: Int): LoadErrorHandlingPolicy =
if (disableDisconnectError) {
ReactExoplayerLoadErrorHandlingPolicy(minLoadRetryCount)
} else {
DefaultLoadErrorHandlingPolicy(minLoadRetryCount)
}
override fun setDisableDisconnectError(disableDisconnectError: Boolean) {
this.disableDisconnectError = disableDisconnectError
}
override fun getDisableDisconnectError(): Boolean = disableDisconnectError
override fun getBandwidthMeter(): DefaultBandwidthMeter = bandWidthMeter
}