Scaffold player

This commit is contained in:
2026-04-09 18:38:04 +02:00
parent e1e2fa3f3b
commit 014c75d575
9 changed files with 120 additions and 57 deletions
@@ -1,27 +0,0 @@
package dev.zoriya.omni
import android.graphics.Color
import android.view.View
import androidx.annotation.Keep
import com.facebook.proguard.annotations.DoNotStrip
import com.facebook.react.uimanager.ThemedReactContext
import com.margelo.nitro.omni.HybridOmniSpec
@Keep
@DoNotStrip
class HybridOmni(val context: ThemedReactContext): HybridOmniSpec() {
// View
override val view: View = View(context)
// Props
private var _isRed = false
override var isRed: Boolean
get() = _isRed
set(value) {
_isRed = value
view.setBackgroundColor(
if (value) Color.RED
else Color.BLACK
)
}
}
@@ -16,7 +16,7 @@ public class OmniPackage : BaseReactPackage() {
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
val viewManagers = ArrayList<ViewManager<*, *>>()
viewManagers.add(HybridOmniManager())
viewManagers.add(HybridOmniViewManager())
return viewManagers
}
@@ -0,0 +1,76 @@
package dev.zoriya.omni
import com.margelo.nitro.omni.HybridOmniPlayerPropsSpec
import com.margelo.nitro.omni.HybridOmniPlayerSpec
import com.margelo.nitro.omni.PlayerStatus
import com.margelo.nitro.omni.Rendition
import com.margelo.nitro.omni.Track
import com.margelo.nitro.omni.Variant_NullType_Rendition
class OmniPlayer(source: HybridOmniPlayerPropsSpec) : HybridOmniPlayerSpec() {
override val hasPrev: Boolean
get() = TODO("Not yet implemented")
override val hasNext: Boolean
get() = TODO("Not yet implemented")
override val status: PlayerStatus
get() = TODO("Not yet implemented")
override val isPlaying: Boolean
get() = TODO("Not yet implemented")
override var currentTime: Double
get() = TODO("Not yet implemented")
set(value) {}
override val buffered: Double
get() = TODO("Not yet implemented")
override val duration: Double
get() = TODO("Not yet implemented")
override var playbackRate: Double
get() = TODO("Not yet implemented")
set(value) {}
override var volume: Double
get() = TODO("Not yet implemented")
set(value) {}
override val videos: Array<Track>
get() = TODO("Not yet implemented")
override val audios: Array<Track>
get() = TODO("Not yet implemented")
override val subtitles: Array<Track>
get() = TODO("Not yet implemented")
override val rendition: Array<Rendition>
get() = TODO("Not yet implemented")
override fun play() {
TODO("Not yet implemented")
}
override fun pause() {
TODO("Not yet implemented")
}
override fun seekBy(offset: Double) {
TODO("Not yet implemented")
}
override fun playPrev() {
TODO("Not yet implemented")
}
override fun playNext() {
TODO("Not yet implemented")
}
override fun selectVideo(video: Track) {
TODO("Not yet implemented")
}
override fun selectAudio(audio: Track) {
TODO("Not yet implemented")
}
override fun selectSubtitle(subtitle: Track) {
TODO("Not yet implemented")
}
override fun selectRendition(rendition: Variant_NullType_Rendition?) {
TODO("Not yet implemented")
}
}
+12
View File
@@ -0,0 +1,12 @@
package dev.zoriya.omni
import com.facebook.react.uimanager.ThemedReactContext
import com.margelo.nitro.omni.HybridOmniPlayerFactorySpec
import com.margelo.nitro.omni.HybridOmniPlayerPropsSpec
import com.margelo.nitro.omni.HybridOmniPlayerSpec
class OmniPlayerFactory(val context: ThemedReactContext): HybridOmniPlayerFactorySpec() {
override fun createPlayer(props: HybridOmniPlayerPropsSpec): HybridOmniPlayerSpec {
return OmniPlayer(props)
}
}
+22
View File
@@ -0,0 +1,22 @@
package dev.zoriya.omni
import android.graphics.Color
import android.view.View
import com.facebook.react.uimanager.ThemedReactContext
import com.margelo.nitro.omni.HybridOmniViewSpec
class OmniView(val context: ThemedReactContext) : HybridOmniViewSpec() {
// View
override val view: View = View(context)
// Props
override var autoplay: Boolean?
get() = TODO("Not yet implemented")
set(value) {}
override var showNotification: Boolean?
get() = TODO("Not yet implemented")
set(value) {}
override var autoPip: Boolean?
get() = TODO("Not yet implemented")
set(value) {}
}