diff --git a/detekt-baseline.xml b/detekt-baseline.xml
index 779abc17..0c18af3a 100644
--- a/detekt-baseline.xml
+++ b/detekt-baseline.xml
@@ -73,7 +73,7 @@
TooGenericExceptionCaught:MediaPlayerService.kt$MediaPlayerService$e: Exception
TooGenericExceptionCaught:SongView.kt$SongView$e: Exception
TooGenericExceptionCaught:SubsonicUncaughtExceptionHandler.kt$SubsonicUncaughtExceptionHandler$x: Throwable
- TooGenericExceptionCaught:VideoPlayer.kt$VideoPlayer$e: Exception
+ TooGenericExceptionCaught:VideoPlayer.kt$VideoPlayer.Companion$e: Exception
TooGenericExceptionThrown:DownloadFile.kt$DownloadFile.DownloadTask$throw Exception(String.format("Download of '%s' was cancelled", song))
TooManyFunctions:LocalMediaPlayer.kt$LocalMediaPlayer
TooManyFunctions:MediaPlayerService.kt$MediaPlayerService : Service
diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/fragment/BookmarksFragment.java b/ultrasonic/src/main/java/org/moire/ultrasonic/fragment/BookmarksFragment.java
index 74cdbfb8..41a4c814 100644
--- a/ultrasonic/src/main/java/org/moire/ultrasonic/fragment/BookmarksFragment.java
+++ b/ultrasonic/src/main/java/org/moire/ultrasonic/fragment/BookmarksFragment.java
@@ -52,7 +52,6 @@ public class BookmarksFragment extends Fragment {
private ImageView downloadButton;
private ImageView deleteButton;
- private final Lazy videoPlayer = inject(VideoPlayer.class);
private final Lazy mediaPlayerController = inject(MediaPlayerController.class);
private final Lazy imageLoader = inject(ImageLoaderProvider.class);
private final Lazy networkAndStorageChecker = inject(NetworkAndStorageChecker.class);
@@ -104,7 +103,7 @@ public class BookmarksFragment extends Fragment {
{
if (entry.isVideo())
{
- videoPlayer.getValue().playVideo(getContext(), entry);
+ VideoPlayer.Companion.playVideo(getContext(), entry);
}
else
{
diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/fragment/SearchFragment.java b/ultrasonic/src/main/java/org/moire/ultrasonic/fragment/SearchFragment.java
index a3cd9b4a..76761f5b 100644
--- a/ultrasonic/src/main/java/org/moire/ultrasonic/fragment/SearchFragment.java
+++ b/ultrasonic/src/main/java/org/moire/ultrasonic/fragment/SearchFragment.java
@@ -85,7 +85,6 @@ public class SearchFragment extends Fragment {
private EntryAdapter songAdapter;
private SwipeRefreshLayout searchRefresh;
- private final Lazy videoPlayer = inject(VideoPlayer.class);
private final Lazy mediaPlayerControllerLazy = inject(MediaPlayerController.class);
private final Lazy imageLoaderProvider = inject(ImageLoaderProvider.class);
private final Lazy downloadHandler = inject(DownloadHandler.class);
@@ -576,7 +575,7 @@ public class SearchFragment extends Fragment {
private void onVideoSelected(MusicDirectory.Entry entry)
{
- videoPlayer.getValue().playVideo(getContext(), entry);
+ VideoPlayer.Companion.playVideo(getContext(), entry);
}
private void autoplay()
diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/MusicServiceModule.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/MusicServiceModule.kt
index 39c3fe91..7751557c 100644
--- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/MusicServiceModule.kt
+++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/MusicServiceModule.kt
@@ -21,7 +21,6 @@ import org.moire.ultrasonic.subsonic.DownloadHandler
import org.moire.ultrasonic.subsonic.ImageLoaderProvider
import org.moire.ultrasonic.subsonic.NetworkAndStorageChecker
import org.moire.ultrasonic.subsonic.ShareHandler
-import org.moire.ultrasonic.subsonic.VideoPlayer
import org.moire.ultrasonic.util.Constants
/**
@@ -76,6 +75,5 @@ val musicServiceModule = module {
single { DownloadHandler(get(), get()) }
single { NetworkAndStorageChecker(androidContext()) }
- single { VideoPlayer() }
single { ShareHandler(androidContext()) }
}
diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/TrackCollectionFragment.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/TrackCollectionFragment.kt
index c9d7affb..f370ab9f 100644
--- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/TrackCollectionFragment.kt
+++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/TrackCollectionFragment.kt
@@ -81,7 +81,6 @@ class TrackCollectionFragment : Fragment() {
private var shareButton: MenuItem? = null
private val mediaPlayerController: MediaPlayerController by inject()
- private val videoPlayer: VideoPlayer by inject()
private val downloadHandler: DownloadHandler by inject()
private val networkAndStorageChecker: NetworkAndStorageChecker by inject()
private val imageLoaderProvider: ImageLoaderProvider by inject()
@@ -140,7 +139,7 @@ class TrackCollectionFragment : Fragment() {
bundle
)
} else if (entry != null && entry.isVideo) {
- videoPlayer.playVideo(requireContext(), entry)
+ VideoPlayer.playVideo(requireContext(), entry)
} else {
enableButtons()
}
diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/subsonic/VideoPlayer.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/subsonic/VideoPlayer.kt
index 152aa89a..2b88653c 100644
--- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/subsonic/VideoPlayer.kt
+++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/subsonic/VideoPlayer.kt
@@ -11,22 +11,25 @@ import org.moire.ultrasonic.util.Util
/**
* This utility class helps starting video playback
*/
+@Suppress("UtilityClassWithPublicConstructor")
class VideoPlayer {
- fun playVideo(context: Context, entry: MusicDirectory.Entry?) {
- if (!Util.isNetworkConnected() || entry == null) {
- Util.toast(context, R.string.select_album_no_network)
- return
- }
- try {
- val intent = Intent(Intent.ACTION_VIEW)
- val url = MusicServiceFactory.getMusicService().getVideoUrl(entry.id)
- intent.setDataAndType(
- Uri.parse(url),
- "video/*"
- )
- context.startActivity(intent)
- } catch (e: Exception) {
- Util.toast(context, e.toString(), false)
+ companion object {
+ fun playVideo(context: Context, entry: MusicDirectory.Entry?) {
+ if (!Util.isNetworkConnected() || entry == null) {
+ Util.toast(context, R.string.select_album_no_network)
+ return
+ }
+ try {
+ val intent = Intent(Intent.ACTION_VIEW)
+ val url = MusicServiceFactory.getMusicService().getVideoUrl(entry.id)
+ intent.setDataAndType(
+ Uri.parse(url),
+ "video/*"
+ )
+ context.startActivity(intent)
+ } catch (e: Exception) {
+ Util.toast(context, e.toString(), false)
+ }
}
}
}