@@ -71,8 +71,8 @@ import com.nextcloud.client.jobs.folderDownload.FolderDownloadEventBroadcaster
7171import com.nextcloud.client.jobs.upload.FileUploadEventBroadcaster
7272import com.nextcloud.client.jobs.upload.FileUploadHelper
7373import com.nextcloud.client.jobs.upload.FileUploadWorker
74- import com.nextcloud.client.media.PlayerServiceConnection
7574import com.nextcloud.client.network.ClientFactory.CreationException
75+ import com.nextcloud.client.player.ui.PlayerLauncher
7676import com.nextcloud.client.preferences.AppPreferences
7777import com.nextcloud.client.utils.IntentUtil
7878import com.nextcloud.model.WorkerState.OfflineOperationsCompleted
@@ -144,7 +144,6 @@ import com.owncloud.android.ui.interfaces.TransactionInterface
144144import com.owncloud.android.ui.navigation.NavigatorScreen
145145import com.owncloud.android.ui.preview.PreviewImageActivity
146146import com.owncloud.android.ui.preview.PreviewImageFragment
147- import com.owncloud.android.ui.preview.PreviewMediaActivity
148147import com.owncloud.android.ui.preview.PreviewMediaFragment
149148import com.owncloud.android.ui.preview.PreviewMediaFragment.Companion.newInstance
150149import com.owncloud.android.ui.preview.PreviewTextFileFragment
@@ -226,9 +225,11 @@ class FileDisplayActivity :
226225 private var searchOpen = false
227226
228227 private var searchView: SearchView ? = null
229- private var mPlayerConnection: PlayerServiceConnection ? = null
230228 private var lastDisplayedAccountName: String? = null
231229
230+ @Inject
231+ lateinit var playerLauncher: PlayerLauncher
232+
232233 @Inject
233234 lateinit var localBroadcastManager: LocalBroadcastManager
234235
@@ -298,10 +299,7 @@ class FileDisplayActivity :
298299 showSortListGroup(savedInstanceState.getBoolean(KEY_IS_SORT_GROUP_VISIBLE ))
299300 }
300301
301- mPlayerConnection = PlayerServiceConnection (this )
302-
303302 checkStoragePath()
304-
305303 observeWorkerState()
306304 startMetadataSyncForRoot()
307305 handleBackPress()
@@ -853,6 +851,9 @@ class FileDisplayActivity :
853851 }
854852 }
855853
854+ fun canMediaPreviewed (file : OCFile ? ): Boolean =
855+ file != null && (MimeTypeUtil .isAudio(file) || MimeTypeUtil .isVideo(file))
856+
856857 private fun tryStartWaitingPreview (success : Boolean ): Boolean {
857858 if (! success) return false
858859
@@ -865,7 +866,7 @@ class FileDisplayActivity :
865866 true
866867 }
867868
868- PreviewMediaActivity .canBePreviewed (file) -> {
869+ canMediaPreviewed (file) -> {
869870 startMediaPreview(file, 0 , true , true , true , true )
870871 true
871872 }
@@ -2039,7 +2040,7 @@ class FileDisplayActivity :
20392040 } else if (MimeTypeUtil .isVideo(file)) {
20402041 setFabVisible?.onComplete(false )
20412042 startImagePreview(file, true )
2042- } else if (PreviewMediaActivity . Companion .canBePreviewed (file)) {
2043+ } else if (canMediaPreviewed (file)) {
20432044 setFabVisible?.onComplete(false )
20442045 startMediaPreview(file, 0 , true , true , false , true )
20452046 } else {
@@ -2190,7 +2191,7 @@ class FileDisplayActivity :
21902191 }
21912192
21922193 val removedFile = operation.file
2193- tryStopPlaying(removedFile)
2194+ file?. let { playbackModel.stopPlaying(it) }
21942195 val leftFragment = this .leftFragment
21952196
21962197 // check if file is still available, if so do nothing
@@ -2295,13 +2296,6 @@ class FileDisplayActivity :
22952296 }
22962297 }
22972298
2298- private fun tryStopPlaying (file : OCFile ) {
2299- // placeholder for stop-on-delete future code
2300- if (mPlayerConnection != null && MimeTypeUtil .isAudio(file) && mPlayerConnection?.isPlaying() == true ) {
2301- mPlayerConnection?.stop(file)
2302- }
2303- }
2304-
23052299 /* *
23062300 * Updates the view associated to the activity after the finish of an operation trying to move a file.
23072301 *
@@ -2700,10 +2694,9 @@ class FileDisplayActivity :
27002694 if (! user.isPresent) {
27012695 return // not reachable under normal conditions
27022696 }
2703- val actualUser = user.get()
27042697 if ((showPreview && file.isDown && ! file.isDownloading) || streamMedia) {
27052698 if (showInActivity) {
2706- startMediaActivity(file, startPlaybackPosition, autoplay, actualUser )
2699+ startMediaActivity(file)
27072700 } else {
27082701 configureToolbarForPreview(file)
27092702 val mediaFragment: Fragment = newInstance(file, user.get(), startPlaybackPosition, autoplay)
@@ -2720,18 +2713,9 @@ class FileDisplayActivity :
27202713 }
27212714 }
27222715
2723- private fun startMediaActivity (file : OCFile ? , startPlaybackPosition : Long , autoplay : Boolean , user : User ? ) {
2724- val previewMediaIntent = Intent (this , PreviewMediaActivity ::class .java)
2725- previewMediaIntent.putExtra(PreviewMediaActivity .EXTRA_FILE , file)
2726-
2727- // Safely handle the absence of a user
2728- if (user != null ) {
2729- previewMediaIntent.putExtra(PreviewMediaActivity .EXTRA_USER , user)
2730- }
2731-
2732- previewMediaIntent.putExtra(PreviewMediaActivity .EXTRA_START_POSITION , startPlaybackPosition)
2733- previewMediaIntent.putExtra(PreviewMediaActivity .EXTRA_AUTOPLAY , autoplay)
2734- startActivity(previewMediaIntent)
2716+ private fun startMediaActivity (file : OCFile ) {
2717+ val searchType = listOfFilesFragment?.currentSearchType
2718+ playerLauncher.launch(this , file, searchType)
27352719 }
27362720
27372721 fun configureToolbarForPreview (file : OCFile ? ) {
0 commit comments