mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
Change @UnstableAPI to the more appropriated @OptIn
This commit is contained in:
parent
21615cdd95
commit
d5a0768056
16 changed files with 20 additions and 30 deletions
|
@ -33,7 +33,6 @@ import androidx.core.view.isVisible
|
|||
import androidx.core.view.marginStart
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.media3.common.util.UnstableApi
|
||||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavDestination
|
||||
import androidx.navigation.NavDestination.Companion.hierarchy
|
||||
|
@ -83,13 +82,13 @@ import com.lagradost.cloudstream3.plugins.PluginManager.loadAllOnlinePlugins
|
|||
import com.lagradost.cloudstream3.plugins.PluginManager.loadSinglePlugin
|
||||
import com.lagradost.cloudstream3.receivers.VideoDownloadRestartReceiver
|
||||
import com.lagradost.cloudstream3.services.SubscriptionWorkManager
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.OAuth2Apis
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.accountManagers
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.APP_STRING
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.APP_STRING_PLAYER
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.APP_STRING_REPO
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.APP_STRING_RESUME_WATCHING
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.APP_STRING_SEARCH
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.OAuth2Apis
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.accountManagers
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.inAppAuths
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.localListApi
|
||||
import com.lagradost.cloudstream3.syncproviders.SyncAPI
|
||||
|
@ -331,7 +330,6 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener, BiometricCa
|
|||
* @return true if the str has launched an app task (be it successful or not)
|
||||
* @param isWebview does not handle providers and opening download page if true. Can still add repos and login.
|
||||
* */
|
||||
@UnstableApi
|
||||
fun handleAppIntentUrl(
|
||||
activity: FragmentActivity?,
|
||||
str: String?,
|
||||
|
@ -691,13 +689,11 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener, BiometricCa
|
|||
super.onDestroy()
|
||||
}
|
||||
|
||||
@UnstableApi
|
||||
override fun onNewIntent(intent: Intent?) {
|
||||
handleAppIntent(intent)
|
||||
super.onNewIntent(intent)
|
||||
}
|
||||
|
||||
@UnstableApi
|
||||
private fun handleAppIntent(intent: Intent?) {
|
||||
if (intent == null) return
|
||||
val str = intent.dataString
|
||||
|
@ -1099,7 +1095,6 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener, BiometricCa
|
|||
}
|
||||
}
|
||||
|
||||
@UnstableApi
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
app.initClient(this)
|
||||
val settingsManager = PreferenceManager.getDefaultSharedPreferences(this)
|
||||
|
|
|
@ -264,7 +264,7 @@ class SelectSourceController(val view: ImageView, val activity: ControllerActivi
|
|||
|
||||
var isLoadingMore = false
|
||||
|
||||
@UnstableApi
|
||||
|
||||
override fun onMediaStatusUpdated() {
|
||||
super.onMediaStatusUpdated()
|
||||
val meta = getCurrentMetaData()
|
||||
|
|
|
@ -8,6 +8,7 @@ import android.webkit.JavascriptInterface
|
|||
import android.webkit.WebResourceRequest
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import androidx.annotation.OptIn
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.media3.common.util.UnstableApi
|
||||
|
@ -30,7 +31,7 @@ class WebviewFragment : Fragment() {
|
|||
}
|
||||
|
||||
binding?.webView?.webViewClient = object : WebViewClient() {
|
||||
@UnstableApi
|
||||
@OptIn(UnstableApi::class)
|
||||
override fun shouldOverrideUrlLoading(
|
||||
view: WebView?,
|
||||
request: WebResourceRequest?
|
||||
|
|
|
@ -71,7 +71,6 @@ const val NEXT_WATCH_EPISODE_PERCENTAGE = 90
|
|||
// when the player should sync the progress of "watched", TODO MAKE SETTING
|
||||
const val UPDATE_SYNC_PROGRESS_PERCENTAGE = 80
|
||||
|
||||
@UnstableApi
|
||||
abstract class AbstractPlayerFragment(
|
||||
val player: IPlayer = CS3IPlayer()
|
||||
) : Fragment() {
|
||||
|
|
|
@ -9,6 +9,7 @@ import android.os.Looper
|
|||
import android.util.Log
|
||||
import android.util.Rational
|
||||
import android.widget.FrameLayout
|
||||
import androidx.annotation.OptIn
|
||||
import androidx.media3.common.C.TIME_UNSET
|
||||
import androidx.media3.common.C.TRACK_TYPE_AUDIO
|
||||
import androidx.media3.common.C.TRACK_TYPE_TEXT
|
||||
|
@ -87,8 +88,7 @@ const val toleranceBeforeUs = 300_000L
|
|||
* seek position, in microseconds. Must be non-negative.
|
||||
*/
|
||||
const val toleranceAfterUs = 300_000L
|
||||
|
||||
@UnstableApi
|
||||
@OptIn(UnstableApi::class)
|
||||
class CS3IPlayer : IPlayer {
|
||||
private var isPlaying = false
|
||||
private var exoPlayer: ExoPlayer? = null
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.lagradost.cloudstream3.ui.player
|
|||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import androidx.annotation.OptIn
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.media3.common.Format
|
||||
import androidx.media3.common.MimeTypes
|
||||
|
@ -31,7 +32,7 @@ import java.nio.charset.Charset
|
|||
* @param fallbackFormat used to create a decoder based on mimetype if the subtitle string is not
|
||||
* enough to identify the subtitle format.
|
||||
**/
|
||||
@UnstableApi
|
||||
@OptIn(UnstableApi::class)
|
||||
class CustomDecoder(private val fallbackFormat: Format?) : SubtitleDecoder {
|
||||
companion object {
|
||||
fun updateForcedEncoding(context: Context) {
|
||||
|
@ -262,7 +263,7 @@ class CustomDecoder(private val fallbackFormat: Format?) : SubtitleDecoder {
|
|||
}
|
||||
|
||||
/** See https://github.com/google/ExoPlayer/blob/release-v2/library/core/src/main/java/com/google/android/exoplayer2/text/SubtitleDecoderFactory.java */
|
||||
@UnstableApi
|
||||
@OptIn(UnstableApi::class)
|
||||
class CustomSubtitleDecoderFactory : SubtitleDecoderFactory {
|
||||
override fun supportsFormat(format: Format): Boolean {
|
||||
// return SubtitleDecoderFactory.DEFAULT.supportsFormat(format)
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
package com.lagradost.cloudstream3.ui.player
|
||||
|
||||
import android.os.Looper
|
||||
import androidx.annotation.OptIn
|
||||
import androidx.media3.common.util.UnstableApi
|
||||
import androidx.media3.exoplayer.text.SubtitleDecoderFactory
|
||||
import androidx.media3.exoplayer.text.TextOutput
|
||||
|
||||
@UnstableApi
|
||||
@OptIn(UnstableApi::class)
|
||||
class CustomTextRenderer(
|
||||
offset: Long,
|
||||
output: TextOutput?,
|
||||
|
|
|
@ -25,6 +25,7 @@ import android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHO
|
|||
import android.view.animation.AlphaAnimation
|
||||
import android.view.animation.Animation
|
||||
import android.view.animation.AnimationUtils
|
||||
import androidx.annotation.OptIn
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.core.graphics.blue
|
||||
import androidx.core.graphics.green
|
||||
|
@ -81,7 +82,6 @@ const val DOUBLE_TAB_PAUSE_PERCENTAGE = 0.15 // in both directions
|
|||
private const val SUBTITLE_DELAY_BUNDLE_KEY = "subtitle_delay"
|
||||
|
||||
// All the UI Logic for the player
|
||||
@UnstableApi
|
||||
open class FullScreenPlayer : AbstractPlayerFragment() {
|
||||
private var isVerticalOrientation: Boolean = false
|
||||
protected open var lockRotation = true
|
||||
|
@ -242,6 +242,7 @@ open class FullScreenPlayer : AbstractPlayerFragment() {
|
|||
fadeAnimation.duration = 100
|
||||
fadeAnimation.fillAfter = true
|
||||
|
||||
@OptIn(UnstableApi::class)
|
||||
val sView = subView
|
||||
val sStyle = subStyle
|
||||
if (sView != null && sStyle != null) {
|
||||
|
|
|
@ -14,6 +14,7 @@ import android.view.View
|
|||
import android.view.ViewGroup
|
||||
import android.widget.*
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.annotation.OptIn
|
||||
import androidx.core.animation.addListener
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.isGone
|
||||
|
@ -69,7 +70,6 @@ import java.io.Serializable
|
|||
import java.util.*
|
||||
import kotlin.math.abs
|
||||
|
||||
@UnstableApi
|
||||
class GeneratorPlayer : FullScreenPlayer() {
|
||||
companion object {
|
||||
private var lastUsedGenerator: IGenerator? = null
|
||||
|
@ -524,7 +524,7 @@ class GeneratorPlayer : FullScreenPlayer() {
|
|||
//TODO: Set year text from currently loaded movie on Player
|
||||
//dialog.subtitles_search_year?.setText(currentTempMeta.year)
|
||||
}
|
||||
|
||||
@OptIn(UnstableApi::class)
|
||||
private fun openSubPicker() {
|
||||
try {
|
||||
subsPathPicker.launch(
|
||||
|
@ -797,7 +797,6 @@ class GeneratorPlayer : FullScreenPlayer() {
|
|||
settingsManager.edit().putString(
|
||||
ctx.getString(R.string.subtitles_encoding_key), prefValues[it]
|
||||
).apply()
|
||||
|
||||
updateForcedEncoding(ctx)
|
||||
dismiss()
|
||||
player.seekTime(-1) // to update subtitles, a dirty trick
|
||||
|
|
|
@ -29,6 +29,7 @@ import android.os.Message;
|
|||
import androidx.annotation.IntDef;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.OptIn;
|
||||
import androidx.media3.common.C;
|
||||
import androidx.media3.common.Format;
|
||||
import androidx.media3.common.text.Cue;
|
||||
|
@ -66,7 +67,7 @@ import java.util.stream.Collectors;
|
|||
* obtained from a {@link SubtitleDecoderFactory}. The actual rendering of the subtitle {@link Cue}s
|
||||
* is delegated to a {@link TextOutput}.
|
||||
*/
|
||||
@UnstableApi
|
||||
@OptIn(markerClass = UnstableApi.class)
|
||||
public class NonFinalTextRenderer extends BaseRenderer implements Callback {
|
||||
|
||||
private static final String TAG = "TextRenderer";
|
||||
|
|
|
@ -10,7 +10,6 @@ import com.lagradost.cloudstream3.utils.UIHelper.navigate
|
|||
import com.lagradost.safefile.SafeFile
|
||||
|
||||
object OfflinePlaybackHelper {
|
||||
@UnstableApi
|
||||
fun playLink(activity: Activity, url: String) {
|
||||
activity.navigate(
|
||||
R.id.global_to_navigation_player, GeneratorPlayer.newInstance(
|
||||
|
@ -23,7 +22,6 @@ object OfflinePlaybackHelper {
|
|||
)
|
||||
}
|
||||
|
||||
@UnstableApi
|
||||
fun playUri(activity: Activity, uri: Uri) {
|
||||
val name = SafeFile.fromUri(activity, uri)?.name()
|
||||
activity.navigate(
|
||||
|
|
|
@ -4,6 +4,7 @@ import android.util.Log
|
|||
import android.util.TypedValue
|
||||
import android.view.ViewGroup
|
||||
import android.widget.FrameLayout
|
||||
import androidx.annotation.OptIn
|
||||
import androidx.media3.common.MimeTypes
|
||||
import androidx.media3.common.util.UnstableApi
|
||||
import androidx.media3.ui.SubtitleView
|
||||
|
@ -48,7 +49,7 @@ data class SubtitleData(
|
|||
}
|
||||
}
|
||||
|
||||
@UnstableApi
|
||||
@OptIn(UnstableApi::class)
|
||||
class PlayerSubtitleHelper {
|
||||
private var activeSubtitles: Set<SubtitleData> = emptySet()
|
||||
private var allSubtitles: Set<SubtitleData> = emptySet()
|
||||
|
|
|
@ -72,7 +72,6 @@ class RepoLinkGenerator(
|
|||
//var linkCache = Array<Set<ExtractorLink>>(size = episodes.size, init = { setOf() })
|
||||
//var subsCache = Array<Set<SubtitleData>>(size = episodes.size, init = { setOf() })
|
||||
|
||||
@UnstableApi
|
||||
override suspend fun generateLinks(
|
||||
clearCache: Boolean,
|
||||
type: LoadType,
|
||||
|
|
|
@ -22,7 +22,6 @@ import androidx.core.view.isVisible
|
|||
import androidx.core.widget.NestedScrollView
|
||||
import androidx.core.widget.doOnTextChanged
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.media3.common.util.UnstableApi
|
||||
import com.discord.panels.OverlappingPanelsLayout
|
||||
import com.discord.panels.PanelsChildGestureRegionObserver
|
||||
import com.google.android.gms.cast.framework.CastButtonFactory
|
||||
|
@ -78,7 +77,6 @@ import com.lagradost.cloudstream3.utils.UIHelper.popupMenuNoIconsAndNoStringRes
|
|||
import com.lagradost.cloudstream3.utils.UIHelper.setImage
|
||||
import com.lagradost.cloudstream3.utils.VideoDownloadHelper
|
||||
|
||||
@UnstableApi
|
||||
open class ResultFragmentPhone : FullScreenPlayer() {
|
||||
private val gestureRegionsListener =
|
||||
object : PanelsChildGestureRegionObserver.GestureRegionsListener {
|
||||
|
|
|
@ -15,7 +15,6 @@ import androidx.core.view.isVisible
|
|||
import androidx.core.widget.NestedScrollView
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.media3.common.util.UnstableApi
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import com.lagradost.cloudstream3.CommonActivity
|
||||
|
@ -231,7 +230,6 @@ class ResultFragmentTv : Fragment() {
|
|||
}
|
||||
}
|
||||
|
||||
@UnstableApi
|
||||
@SuppressLint("SetTextI18n")
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
|
|
@ -10,7 +10,6 @@ import android.widget.FrameLayout
|
|||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.core.view.isGone
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.media3.common.util.UnstableApi
|
||||
import com.lagradost.cloudstream3.CommonActivity.screenHeight
|
||||
import com.lagradost.cloudstream3.CommonActivity.screenWidth
|
||||
import com.lagradost.cloudstream3.LoadResponse
|
||||
|
@ -19,7 +18,6 @@ import com.lagradost.cloudstream3.ui.player.CSPlayerEvent
|
|||
import com.lagradost.cloudstream3.ui.player.PlayerEventSource
|
||||
import com.lagradost.cloudstream3.ui.player.SubtitleData
|
||||
|
||||
@UnstableApi
|
||||
open class ResultTrailerPlayer : ResultFragmentPhone() {
|
||||
|
||||
override var lockRotation = false
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue