Skip to content

Commit e994053

Browse files
author
sentinelweb
committed
#489 launch player remotely
1 parent e672b47 commit e994053

File tree

5 files changed

+30
-7
lines changed

5 files changed

+30
-7
lines changed

app/src/main/java/uk/co/sentinelweb/cuer/app/di/Modules.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ import uk.co.sentinelweb.cuer.app.util.permission.NotificationPermissionCheck
8484
import uk.co.sentinelweb.cuer.app.util.prefs.GeneralPreferencesWrapper
8585
import uk.co.sentinelweb.cuer.app.util.prefs.SharedPrefsWrapper
8686
import uk.co.sentinelweb.cuer.app.util.remote.AndroidWakeLockManager
87+
import uk.co.sentinelweb.cuer.app.util.remote.AppPlayerLaunchHost
8788
import uk.co.sentinelweb.cuer.app.util.share.SharingShortcutsManager
8889
import uk.co.sentinelweb.cuer.app.util.share.scan.AndroidLinkScanner
8990
import uk.co.sentinelweb.cuer.app.util.share.scan.LinkScanner
@@ -106,6 +107,7 @@ import uk.co.sentinelweb.cuer.net.NetModuleConfig
106107
import uk.co.sentinelweb.cuer.net.client.ServiceType
107108
import uk.co.sentinelweb.cuer.net.di.DomainNetModule
108109
import uk.co.sentinelweb.cuer.net.di.NetModule
110+
import uk.co.sentinelweb.cuer.remote.interact.PlayerLaunchHost
109111
import uk.co.sentinelweb.cuer.remote.server.LocalRepository
110112
import uk.co.sentinelweb.cuer.remote.server.RemotesRepository
111113
import uk.co.sentinelweb.cuer.remote.server.WakeLockManager
@@ -195,6 +197,7 @@ object Modules {
195197
}
196198
single<WakeLockManager> { AndroidWakeLockManager(androidApplication()) }
197199
single<WifiStateProvider> { WifiStateReceiver(androidApplication(), get()) }
200+
single<PlayerLaunchHost> { AppPlayerLaunchHost(androidApplication(), get()) }
198201
}
199202

200203
private val utilModule = module {

app/src/main/java/uk/co/sentinelweb/cuer/app/ui/common/navigation/NavigationRouter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import uk.co.sentinelweb.cuer.domain.PlaylistAndItemDomain
2727
import uk.co.sentinelweb.cuer.domain.PlaylistItemDomain
2828
import uk.co.sentinelweb.cuer.domain.ext.serialise
2929

30-
class NavigationRouter constructor(
30+
class NavigationRouter (
3131
private val activity: Activity,
3232
private val toastWrapper: ToastWrapper,
3333
private val ytJavaApi: PlatformLaunchWrapper,

app/src/main/java/uk/co/sentinelweb/cuer/app/ui/exoplayer/ExoActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ package uk.co.sentinelweb.cuer.app.ui.exoplayer
1717

1818
import android.content.Context
1919
import android.content.Intent
20+
import android.content.Intent.*
2021
import android.os.Bundle
2122
import android.util.Log
2223
import androidx.activity.compose.setContent
@@ -192,6 +193,7 @@ class ExoActivity : FragmentActivity(), AndroidScopeComponent {
192193
c.startActivity(
193194
Intent(c, ExoActivity::class.java).apply {
194195
putExtra(PLAYLIST_AND_ITEM.toString(), use.serialise())
196+
flags = FLAG_ACTIVITY_NEW_TASK
195197
})
196198
}
197199

app/src/main/java/uk/co/sentinelweb/cuer/app/ui/filebrowser/FileBrowserFragment.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -153,13 +153,7 @@ class FileBrowserFragment : Fragment(), AndroidScopeComponent {
153153
scoped { navigationRouter(true, this.getFragmentActivity()) }
154154
scoped<PlayerLaunchHost> {
155155
object : PlayerLaunchHost {
156-
157156
override fun launchVideo(item: PlaylistItemDomain, screenIndex: Int?) {
158-
// val activity = get<FileBrowserFragment>().activity
159-
// val http = item.httpLocalNetworkUrl(get<LocalRepository>())
160-
// Intent(activity, ExoActivity::class.java)
161-
// .apply { putExtra(EXTRA_ITEM_ID, http) }
162-
// .let { activity!!.startActivity(it) }
163157
get<NavigationRouter>().navigate(
164158
NavigationModel(
165159
target = EXO_PLAYER_FULL,
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package uk.co.sentinelweb.cuer.app.util.remote
2+
3+
import android.app.Application
4+
import org.koin.core.component.KoinComponent
5+
import uk.co.sentinelweb.cuer.app.ui.exoplayer.ExoActivity
6+
import uk.co.sentinelweb.cuer.core.wrapper.LogWrapper
7+
import uk.co.sentinelweb.cuer.domain.PlaylistAndItemDomain
8+
import uk.co.sentinelweb.cuer.domain.PlaylistItemDomain
9+
import uk.co.sentinelweb.cuer.remote.interact.PlayerLaunchHost
10+
11+
class AppPlayerLaunchHost(
12+
private val appContext: Application,
13+
private val log: LogWrapper
14+
) : PlayerLaunchHost, KoinComponent {
15+
16+
init {
17+
log.tag(this)
18+
}
19+
20+
override fun launchVideo(item: PlaylistItemDomain, screenIndex: Int?) {
21+
log.d("launchVideo: item = ${item.media.title}")
22+
ExoActivity.start(appContext, PlaylistAndItemDomain(item, null, null))
23+
}
24+
}

0 commit comments

Comments
 (0)