mirror of
https://github.com/NiciDieNase/chaosflix
synced 2025-02-17 05:28:24 +00:00
switch back to playerActivity to handle orientation change
This commit is contained in:
parent
6d99a343c8
commit
45124c8f23
4 changed files with 22 additions and 30 deletions
|
@ -267,13 +267,13 @@ class EventDetailsFragment : Fragment() {
|
|||
// castService.loadMediaAndPlay(recording, event)
|
||||
// } else {
|
||||
if (localFile != null) {
|
||||
findNavController().navigate(EventDetailsFragmentDirections.actionEventDetailsFragmentToExoPlayerFragment(PlaybackItem.fromEvent(event,
|
||||
findNavController().navigate(EventDetailsFragmentDirections.actionEventDetailsFragmentToPlayerActivity(PlaybackItem.fromEvent(event,
|
||||
recordingUri = localFile)))
|
||||
// PlayerActivity.launch(requireContext(), event, localFile)
|
||||
} else {
|
||||
// PlayerActivity.launch(requireContext(), event, recording)
|
||||
|
||||
findNavController().navigate(EventDetailsFragmentDirections.actionEventDetailsFragmentToExoPlayerFragment(PlaybackItem.fromEvent(event,
|
||||
findNavController().navigate(EventDetailsFragmentDirections.actionEventDetailsFragmentToPlayerActivity(PlaybackItem.fromEvent(event,
|
||||
recording.recordingUrl)))
|
||||
}
|
||||
// }
|
||||
|
|
|
@ -199,12 +199,10 @@ class ExoPlayerFragment : Fragment(), PlayerStateChangeListener {
|
|||
private val TAG = ExoPlayerFragment::class.java.simpleName
|
||||
private const val PLAYBACK_STATE = "playback_state"
|
||||
private const val ARG_item = "item"
|
||||
fun newInstance(item: PlaybackItem?): ExoPlayerFragment {
|
||||
val fragment = ExoPlayerFragment()
|
||||
val args = Bundle()
|
||||
args.putParcelable(ARG_item, item)
|
||||
fragment.arguments = args
|
||||
return fragment
|
||||
fun newInstance(item: PlaybackItem): ExoPlayerFragment {
|
||||
return ExoPlayerFragment().apply {
|
||||
arguments = ExoPlayerFragmentArgs(item).toBundle()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import android.os.Bundle
|
|||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.navigation.navArgs
|
||||
import de.nicidienase.chaosflix.common.mediadata.entities.recording.persistence.Event
|
||||
import de.nicidienase.chaosflix.common.mediadata.entities.recording.persistence.Recording
|
||||
import de.nicidienase.chaosflix.common.mediadata.entities.streaming.StreamUrl
|
||||
|
@ -16,6 +17,8 @@ class PlayerActivity : AppCompatActivity() {
|
|||
|
||||
private lateinit var casty: CastService
|
||||
|
||||
private val args: PlayerActivityArgs by navArgs()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_player)
|
||||
|
@ -24,27 +27,10 @@ class PlayerActivity : AppCompatActivity() {
|
|||
|
||||
val extras = intent.extras
|
||||
if (savedInstanceState == null && extras != null) {
|
||||
val contentType = intent.getStringExtra(CONTENT_TYPE)
|
||||
var playbackItem = PlaybackItem("Empty", "Empty", "", "")
|
||||
if (contentType == CONTENT_RECORDING) {
|
||||
val event = extras.getParcelable<Event>(EVENT_KEY)
|
||||
val recording = extras.getParcelable<Recording>(RECORDING_KEY)
|
||||
val recordingUri = extras.getString(OFFLINE_URI)
|
||||
playbackItem = PlaybackItem(
|
||||
event?.title ?: "",
|
||||
event?.subtitle ?: "",
|
||||
event?.guid ?: "",
|
||||
recordingUri ?: recording?.recordingUrl ?: "")
|
||||
} else if (contentType.equals(CONTENT_STREAM)) {
|
||||
// TODO implement Player for Stream
|
||||
val conference = extras.getString(CONFERENCE, "")
|
||||
val room = extras.getString(ROOM, "")
|
||||
val stream = extras.getString(STREAM, "")
|
||||
playbackItem = PlaybackItem(conference, room, "", stream)
|
||||
}
|
||||
|
||||
|
||||
val ft = supportFragmentManager.beginTransaction()
|
||||
val playerFragment = ExoPlayerFragment.newInstance(playbackItem)
|
||||
val playerFragment = ExoPlayerFragment.newInstance(args.playbackItem)
|
||||
ft.replace(R.id.fragment_container, playerFragment)
|
||||
ft.commit()
|
||||
}
|
||||
|
|
|
@ -24,9 +24,6 @@
|
|||
<action
|
||||
android:id="@+id/action_eventDetailsFragment_self"
|
||||
app:destination="@id/eventDetailsFragment" />
|
||||
<action
|
||||
android:id="@+id/action_eventDetailsFragment_to_exoPlayerFragment"
|
||||
app:destination="@id/exoPlayerFragment" />
|
||||
<deepLink
|
||||
android:id="@+id/deepLink2"
|
||||
app:uri="media.ccc.de/v/{eventName}" />
|
||||
|
@ -40,6 +37,9 @@
|
|||
app:argType="string"
|
||||
app:nullable="true"
|
||||
android:defaultValue="@null" />
|
||||
<action
|
||||
android:id="@+id/action_eventDetailsFragment_to_playerActivity"
|
||||
app:destination="@id/playerActivity" />
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/livestreamListFragment"
|
||||
|
@ -107,4 +107,12 @@
|
|||
android:id="@+id/aboutFragment"
|
||||
android:name="de.nicidienase.chaosflix.touch.about.AboutFragment"
|
||||
android:label="AboutFragment" />
|
||||
<activity
|
||||
android:id="@+id/playerActivity"
|
||||
android:name="de.nicidienase.chaosflix.touch.playback.PlayerActivity"
|
||||
android:label="PlayerActivity" >
|
||||
<argument
|
||||
android:name="playbackItem"
|
||||
app:argType="de.nicidienase.chaosflix.touch.playback.PlaybackItem"/>
|
||||
</activity>
|
||||
</navigation>
|
Loading…
Add table
Reference in a new issue