@@ -16,7 +16,8 @@ import uk.co.sentinelweb.cuer.app.ui.common.navigation.NavigationModel.Param.*
16
16
import uk.co.sentinelweb.cuer.app.ui.common.navigation.NavigationModel.Param.PLAYLIST_ITEM
17
17
import uk.co.sentinelweb.cuer.app.ui.common.navigation.NavigationModel.Target.*
18
18
import uk.co.sentinelweb.cuer.app.ui.common.navigation.NavigationModel.Target.Companion.KEY
19
- import uk.co.sentinelweb.cuer.app.ui.exoplayer.ExoPlayerActivity
19
+ import uk.co.sentinelweb.cuer.app.ui.player.android.AndroidVideoPlayerActivity
20
+ import uk.co.sentinelweb.cuer.app.ui.player.exoplayer.ExoPlayerActivity
20
21
import uk.co.sentinelweb.cuer.app.ui.share.ShareActivity
21
22
import uk.co.sentinelweb.cuer.app.ui.ytplayer.ayt_land.AytLandActivity
22
23
import uk.co.sentinelweb.cuer.app.ui.ytplayer.ayt_portrait.AytPortraitActivity
@@ -27,7 +28,7 @@ import uk.co.sentinelweb.cuer.domain.PlaylistAndItemDomain
27
28
import uk.co.sentinelweb.cuer.domain.PlaylistItemDomain
28
29
import uk.co.sentinelweb.cuer.domain.ext.serialise
29
30
30
- class NavigationRouter (
31
+ class NavigationRouter (
31
32
private val activity : Activity ,
32
33
private val toastWrapper : ToastWrapper ,
33
34
private val ytJavaApi : PlatformLaunchWrapper ,
@@ -41,56 +42,60 @@ class NavigationRouter (
41
42
when (nav.target) {
42
43
NAV_NONE -> Unit
43
44
LOCAL_PLAYER_FULL ->
44
- (nav.params[PLAYLIST_AND_ITEM ] as PlaylistAndItemDomain ? )?.let {
45
- // YoutubeFullScreenActivity.start(activity, it)
46
- AytLandActivity .start(activity, it)
47
- }
45
+ (nav.params[PLAYLIST_AND_ITEM ] as PlaylistAndItemDomain ? )
46
+ ?.let { AytLandActivity .start(activity, it) }
48
47
? : throw IllegalArgumentException (" $LOCAL_PLAYER_FULL : $PLAYLIST_ITEM param required" )
49
48
50
49
LOCAL_PLAYER -> {
51
- (nav.params[PLAYLIST_AND_ITEM ] as PlaylistAndItemDomain ? )?. let {
52
- AytPortraitActivity .start(activity, it)
53
- } ? : throw IllegalArgumentException (" $LOCAL_PLAYER : $PLAYLIST_ITEM param required" )
50
+ (nav.params[PLAYLIST_AND_ITEM ] as PlaylistAndItemDomain ? )
51
+ ?. let { AytPortraitActivity .start(activity, it) }
52
+ ? : throw IllegalArgumentException (" $LOCAL_PLAYER : $PLAYLIST_ITEM param required" )
54
53
}
55
54
56
55
EXO_PLAYER_FULL -> {
57
- (nav.params[PLAYLIST_AND_ITEM ] as PlaylistAndItemDomain ? )?.let {
58
- ExoPlayerActivity .start(activity, it)
59
- } ? : throw IllegalArgumentException (" $LOCAL_PLAYER : $PLAYLIST_ITEM param required" )
56
+ (nav.params[PLAYLIST_AND_ITEM ] as PlaylistAndItemDomain ? )
57
+ ?.let { ExoPlayerActivity .start(activity, it, ExoPlayerActivity ::class ) }
58
+ ? : throw IllegalArgumentException (" $LOCAL_PLAYER : $PLAYLIST_ITEM param required" )
59
+ }
60
+
61
+ ANDROID_VIDEO_PLAYER_FULL -> {
62
+ (nav.params[PLAYLIST_AND_ITEM ] as PlaylistAndItemDomain ? )
63
+ ?.let { ExoPlayerActivity .start(activity, it, AndroidVideoPlayerActivity ::class ) }
64
+ ? : throw IllegalArgumentException (" $LOCAL_PLAYER : $PLAYLIST_ITEM param required" )
60
65
}
61
66
62
67
WEB_LINK ->
63
- nav.params[LINK ]?. let {
64
- urlLauncher.launchWithChooser(it.toString())
65
- } ? : throw IllegalArgumentException (" $WEB_LINK : $LINK param required" )
68
+ nav.params[LINK ]
69
+ ?. let { urlLauncher.launchWithChooser(it.toString()) }
70
+ ? : throw IllegalArgumentException (" $WEB_LINK : $LINK param required" )
66
71
67
72
CRYPTO_LINK ->
68
73
nav.getParam<LinkDomain .CryptoLinkDomain >(CRYPTO_ADDRESS )
69
74
?.let { cryptoLauncher.launch(it) }
70
75
? : throw IllegalArgumentException (" $CRYPTO_LINK : $CRYPTO_ADDRESS param required" )
71
76
72
77
NAV_BACK -> {
73
- nav.params[BACK_PARAMS ]?. let {
74
- navController?.popBackStack(it as Int , false )
75
- } ? : navController?.popBackStack()
78
+ nav.params[BACK_PARAMS ]
79
+ ?. let { navController?.popBackStack(it as Int , false ) }
80
+ ? : navController?.popBackStack()
76
81
}
77
82
78
83
NAV_FINISH -> activity.finish()
79
84
80
- YOUTUBE_CHANNEL -> if ( ! ytJavaApi.launchChannel(nav.params[CHANNEL_ID ] as String )) {
81
- toastWrapper.show( " can't launch channel " )
82
- }
85
+ YOUTUBE_CHANNEL -> ytJavaApi.launchChannel(nav.params[CHANNEL_ID ] as String )
86
+ . takeIf { it }
87
+ ? : { toastWrapper.show( " can't launch channel " ) }
83
88
84
- YOUTUBE_VIDEO -> if ( ! ytJavaApi.launchVideoSystem(nav.params[PLATFORM_ID ] as String )) {
85
- toastWrapper.show( " can't launch channel " )
86
- }
89
+ YOUTUBE_VIDEO -> ytJavaApi.launchVideoSystem(nav.params[PLATFORM_ID ] as String )
90
+ . takeIf { it }
91
+ ? : { toastWrapper.show( " can't launch channel " ) }
87
92
88
93
YOUTUBE_VIDEO_POS ->
89
94
(nav.params[PLAYLIST_ITEM ] as ? PlaylistItemDomain )?.media
90
95
?.also {
91
- if ( ! ytJavaApi.launchVideoWithTimeSystem(it)) {
92
- toastWrapper.show( " can't launch media with time " )
93
- }
96
+ ytJavaApi.launchVideoWithTimeSystem(it)
97
+ . takeIf { it }
98
+ ? : { toastWrapper.show( " can't launch media with time " ) }
94
99
}
95
100
96
101
PLAYLIST -> navController?.navigate(
@@ -213,7 +218,7 @@ fun Scope.navigationRouter(
213
218
if (isFragment) {
214
219
try {
215
220
(get() as Fragment ).findNavController()
216
- } catch (e : IllegalStateException ) {
221
+ } catch (_ : IllegalStateException ) {
217
222
null
218
223
}
219
224
} else {
0 commit comments