From 91e69a05e04fefcfc9aaa42383cd620c50ca04d7 Mon Sep 17 00:00:00 2001 From: Nicolas Pomepuy Date: Wed, 9 Feb 2022 16:03:35 +0100 Subject: [PATCH] Move lambda arguments outside of parentheses And other lint fixes --- .../moviepedia/ui/MediaScrapingActivity.kt | 4 +-- .../videolan/org/commontools/LiveEvent.kt | 4 +-- .../src/org/videolan/vlc/ArtworkProvider.kt | 18 +++++----- .../org/videolan/vlc/MediaParsingService.kt | 4 +-- .../src/org/videolan/vlc/PlaybackService.kt | 10 +++--- .../vlc/gui/AudioPlayerContainerActivity.kt | 12 +++---- .../org/videolan/vlc/gui/ContentActivity.kt | 8 ++--- .../org/videolan/vlc/gui/HistoryFragment.kt | 4 +-- .../src/org/videolan/vlc/gui/InfoActivity.kt | 10 +++--- .../src/org/videolan/vlc/gui/MoreFragment.kt | 12 +++---- .../org/videolan/vlc/gui/PlaylistActivity.kt | 8 ++--- .../org/videolan/vlc/gui/PlaylistFragment.kt | 14 ++++---- .../vlc/gui/audio/AudioAlbumsSongsFragment.kt | 20 +++++------ .../vlc/gui/audio/AudioBrowserFragment.kt | 16 ++++----- .../vlc/gui/browser/BaseBrowserFragment.kt | 10 +++--- .../vlc/gui/browser/ExtensionBrowser.kt | 8 ++--- .../gui/browser/MLStorageBrowserFragment.kt | 22 ++++++------ .../vlc/gui/browser/MainBrowserFragment.kt | 36 +++++++++---------- .../vlc/gui/dialogs/AddToGroupDialog.kt | 4 +-- .../vlc/gui/dialogs/PickTimeFragment.kt | 2 +- .../vlc/gui/dialogs/RenderersDialog.kt | 4 +-- .../vlc/gui/dialogs/SavePlaylistDialog.kt | 4 +-- .../SubtitleDownloaderDialogFragment.kt | 12 +++---- .../vlc/gui/network/MRLPanelFragment.kt | 4 +-- .../gui/preferences/BasePreferenceFragment.kt | 2 +- .../PreferencesExtensionFragment.kt | 2 +- .../search/PreferenceSearchActivity.kt | 8 ++--- .../vlc/gui/video/VideoGridFragment.kt | 8 ++--- .../gui/video/VideoPlayerOverlayDelegate.kt | 20 +++++------ .../videolan/vlc/media/MediaSessionBrowser.kt | 2 +- .../org/videolan/vlc/util/DialogDelegates.kt | 6 ++-- 31 files changed, 149 insertions(+), 149 deletions(-) diff --git a/application/moviepedia/src/main/java/org/videolan/moviepedia/ui/MediaScrapingActivity.kt b/application/moviepedia/src/main/java/org/videolan/moviepedia/ui/MediaScrapingActivity.kt index 423810640..ef06f4d74 100644 --- a/application/moviepedia/src/main/java/org/videolan/moviepedia/ui/MediaScrapingActivity.kt +++ b/application/moviepedia/src/main/java/org/videolan/moviepedia/ui/MediaScrapingActivity.kt @@ -78,9 +78,9 @@ open class MediaScrapingActivity : BaseActivity(), TextWatcher, TextView.OnEdito binding.searchEditText.setOnEditorActionListener(this) viewModel = ViewModelProvider(this).get(media.uri.path ?: "", MediaScrapingModel::class.java) - viewModel.apiResult.observe(this, { + viewModel.apiResult.observe(this) { mediaScrapingResultAdapter.setItems(it.getAllResults()) - }) + } viewModel.search(media.uri) binding.searchEditText.setText(media.title) } diff --git a/application/tools/src/main/java/videolan/org/commontools/LiveEvent.kt b/application/tools/src/main/java/videolan/org/commontools/LiveEvent.kt index 1994980f4..1738c7448 100644 --- a/application/tools/src/main/java/videolan/org/commontools/LiveEvent.kt +++ b/application/tools/src/main/java/videolan/org/commontools/LiveEvent.kt @@ -36,9 +36,9 @@ class LiveEvent : MutableLiveData() { override fun observe(owner: LifecycleOwner, observer: Observer) { if (hasActiveObservers()) Log.w(TAG, "Multiple observers registered but only one will be notified of changes.") // Observe the internal MutableLiveData - super.observe(owner, { t -> + super.observe(owner) { t -> if (pending.compareAndSet(true, false)) observer.onChanged(t) - }) + } } override fun observeForever(observer: Observer) { diff --git a/application/vlc-android/src/org/videolan/vlc/ArtworkProvider.kt b/application/vlc-android/src/org/videolan/vlc/ArtworkProvider.kt index 1fffc5c45..a8676b380 100644 --- a/application/vlc-android/src/org/videolan/vlc/ArtworkProvider.kt +++ b/application/vlc-android/src/org/videolan/vlc/ArtworkProvider.kt @@ -378,21 +378,21 @@ class ArtworkProvider : ContentProvider() { * compressed data stream directly to the file descriptor with no intermediate byte array. */ private fun getPFDFromBitmap(bitmap: Bitmap?): ParcelFileDescriptor { - return super.openPipeHelper(Uri.EMPTY, MIME_TYPE_IMAGE_WEBP, null, bitmap, - { pfd: ParcelFileDescriptor, _: Uri, _: String, _: Bundle?, bitmap: Bitmap? -> - /* Compression is performed on an AsyncTask thread within openPipeHelper() */ - bitmap?.compress(CompressFormat.WEBP, 100, FileOutputStream(pfd.fileDescriptor)) - }) + return super.openPipeHelper(Uri.EMPTY, MIME_TYPE_IMAGE_WEBP, null, bitmap + ) { pfd: ParcelFileDescriptor, _: Uri, _: String, _: Bundle?, bitmap: Bitmap? -> + /* Compression is performed on an AsyncTask thread within openPipeHelper() */ + bitmap?.compress(CompressFormat.WEBP, 100, FileOutputStream(pfd.fileDescriptor)) + } } /** * Return a ParcelFileDescriptor from an existing image in a byte array. */ private fun getPFDFromByteArray(byteArray: ByteArray?): ParcelFileDescriptor { - return super.openPipeHelper(Uri.EMPTY, MIME_TYPE_IMAGE_WEBP, null, byteArray, - { pfd: ParcelFileDescriptor, _: Uri, _: String, _: Bundle?, byteArray: ByteArray? -> - if (byteArray != null) FileOutputStream(pfd.fileDescriptor).write(byteArray) - }) + return super.openPipeHelper(Uri.EMPTY, MIME_TYPE_IMAGE_WEBP, null, byteArray + ) { pfd: ParcelFileDescriptor, _: Uri, _: String, _: Bundle?, byteArray: ByteArray? -> + if (byteArray != null) FileOutputStream(pfd.fileDescriptor).write(byteArray) + } } private val dateFormatter by lazy { diff --git a/application/vlc-android/src/org/videolan/vlc/MediaParsingService.kt b/application/vlc-android/src/org/videolan/vlc/MediaParsingService.kt index d481fa012..95b964403 100644 --- a/application/vlc-android/src/org/videolan/vlc/MediaParsingService.kt +++ b/application/vlc-android/src/org/videolan/vlc/MediaParsingService.kt @@ -136,11 +136,11 @@ class MediaParsingService : LifecycleService(), DevicesDiscoveryCb { wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "VLC:MediaParsigService") if (lastNotificationTime == 5L) stopService(Intent(applicationContext, MediaParsingService::class.java)) - Medialibrary.getState().observe(this, { running -> + Medialibrary.getState().observe(this) { running -> if (!running) { exitCommand() } - }) + } medialibrary.exceptionHandler = exceptionHandler setupScope() } diff --git a/application/vlc-android/src/org/videolan/vlc/PlaybackService.kt b/application/vlc-android/src/org/videolan/vlc/PlaybackService.kt index 52845ef2d..b8519b21e 100644 --- a/application/vlc-android/src/org/videolan/vlc/PlaybackService.kt +++ b/application/vlc-android/src/org/videolan/vlc/PlaybackService.kt @@ -630,10 +630,10 @@ class PlaybackService : MediaBrowserServiceCompat(), LifecycleOwner { registerReceiver(receiver, filter) keyguardManager = getSystemService()!! - renderer.observe(this, { setRenderer(it) }) - restartPlayer.observe(this, { restartPlaylistManager() }) - headSetDetection.observe(this, { detectHeadset(it) }) - equalizer.observe(this, { setEqualizer(it) }) + renderer.observe(this) { setRenderer(it) } + restartPlayer.observe(this) { restartPlaylistManager() } + headSetDetection.observe(this) { detectHeadset(it) } + equalizer.observe(this) { setEqualizer(it) } serviceFlow.value = this } @@ -1317,7 +1317,7 @@ class PlaybackService : MediaBrowserServiceCompat(), LifecycleOwner { try { val artworkMrl = media.artworkMrl if (!artworkMrl.isNullOrEmpty() && isPathValid(artworkMrl)) { - val artworkUri = artworkToUriCache.getOrPut(artworkMrl, { ArtworkProvider.buildMediaUri(media) } ) + val artworkUri = artworkToUriCache.getOrPut(artworkMrl) { ArtworkProvider.buildMediaUri(media) } val key = MediaSessionBrowser.generateMediaId(media) it[key] = artworkUri } diff --git a/application/vlc-android/src/org/videolan/vlc/gui/AudioPlayerContainerActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/AudioPlayerContainerActivity.kt index cdeed40ee..a046f8892 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/AudioPlayerContainerActivity.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/AudioPlayerContainerActivity.kt @@ -480,14 +480,14 @@ open class AudioPlayerContainerActivity : BaseActivity(), KeycodeListener { protected open fun onPlayerStateChanged(bottomSheet: View, newState: Int) {} private fun registerLiveData() { - PlaylistManager.showAudioPlayer.observe(this, { showPlayer -> + PlaylistManager.showAudioPlayer.observe(this) { showPlayer -> if (showPlayer == true) showAudioPlayer() else { hideAudioPlayer() if (isAudioPlayerReady) playerBehavior.lock(true) } - }) - MediaParsingService.progress.observe(this, { scanProgress -> + } + MediaParsingService.progress.observe(this) { scanProgress -> if (scanProgress == null || !Medialibrary.getInstance().isWorking) { updateProgressVisibility(false) return@observe @@ -506,15 +506,15 @@ open class AudioPlayerContainerActivity : BaseActivity(), KeycodeListener { scanProgressBar?.isIndeterminate = false scanProgressBar?.isVisible = true } - }) + } MediaParsingService.discoveryError.observe(this) { UiTools.snacker(this, getString(R.string.discovery_failed, it.entryPoint)) } - MediaParsingService.newStorages.observe(this, { devices -> + MediaParsingService.newStorages.observe(this) { devices -> if (devices == null) return@observe for (device in devices) UiTools.newStorageDetected(this@AudioPlayerContainerActivity, device) MediaParsingService.newStorages.setValue(null) - }) + } } @SuppressLint("RestrictedApi") diff --git a/application/vlc-android/src/org/videolan/vlc/gui/ContentActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/ContentActivity.kt index 2eeea3808..ebdacecb3 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/ContentActivity.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/ContentActivity.kt @@ -59,16 +59,16 @@ open class ContentActivity : AudioPlayerContainerActivity(), SearchView.OnQueryT super.initAudioPlayerContainerActivity() if (!AndroidDevices.isChromeBook && !AndroidDevices.isAndroidTv && Settings.getInstance(this).getBoolean("enable_casting", true)) { - PlaybackService.renderer.observe(this, { + PlaybackService.renderer.observe(this) { val item = toolbar.menu.findItem(R.id.ml_menu_renderers) ?: return@observe item.isVisible = !hideRenderers() && showRenderers item.setIcon(if (!PlaybackService.hasRenderer()) R.drawable.ic_am_renderer else R.drawable.ic_am_renderer_on) - }) - RendererDelegate.renderers.observe(this, { rendererItems -> + } + RendererDelegate.renderers.observe(this) { rendererItems -> showRenderers = !rendererItems.isNullOrEmpty() val item = toolbar.menu.findItem(R.id.ml_menu_renderers) if (item != null) item.isVisible = !hideRenderers() && showRenderers - }) + } } } diff --git a/application/vlc-android/src/org/videolan/vlc/gui/HistoryFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/HistoryFragment.kt index 454d2e97d..ba5e6a6f7 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/HistoryFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/HistoryFragment.kt @@ -66,7 +66,7 @@ class HistoryFragment : MediaBrowserFragment(), IRefreshable, IHis override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) viewModel = ViewModelProvider(requireActivity(), HistoryModel.Factory(requireContext())).get(HistoryModel::class.java) - viewModel.dataset.observe(viewLifecycleOwner, { list -> + viewModel.dataset.observe(viewLifecycleOwner) { list -> list?.let { historyAdapter.update(it) updateEmptyView() @@ -74,7 +74,7 @@ class HistoryFragment : MediaBrowserFragment(), IRefreshable, IHis cleanMenuItem.isVisible = list.isNotEmpty() } } - }) + } viewModel.loading.observe(viewLifecycleOwner) { (activity as? MainActivity)?.refreshing = it } diff --git a/application/vlc-android/src/org/videolan/vlc/gui/InfoActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/InfoActivity.kt index 83eba3a32..428a587ac 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/InfoActivity.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/InfoActivity.kt @@ -100,10 +100,10 @@ class InfoActivity : AudioPlayerContainerActivity(), View.OnClickListener, PathA if (model.sizeText.value === null) model.checkFile(item) if (model.mediaTracks.value === null) model.parseTracks(this, item) } - model.hasSubs.observe(this, { if (it) binding.infoSubtitles.visibility = View.VISIBLE }) - model.mediaTracks.observe(this, { adapter.setTracks(it) }) - model.sizeText.observe(this, { binding.sizeValueText = it }) - model.cover.observe(this, { + model.hasSubs.observe(this) { if (it) binding.infoSubtitles.visibility = View.VISIBLE } + model.mediaTracks.observe(this) { adapter.setTracks(it) } + model.sizeText.observe(this) { binding.sizeValueText = it } + model.cover.observe(this) { if (it != null) { binding.cover = BitmapDrawable(this@InfoActivity.resources, it) lifecycleScope.launch { @@ -112,7 +112,7 @@ class InfoActivity : AudioPlayerContainerActivity(), View.OnClickListener, PathA if (fabVisibility != -1) binding.fab.visibility = fabVisibility } } else noCoverFallback() - }) + } if (model.cover.value === null) model.getCover(item, getScreenWidth()) updateMeta() binding.directoryNotScannedButton.setOnClickListener { diff --git a/application/vlc-android/src/org/videolan/vlc/gui/MoreFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/MoreFragment.kt index ef90dcf67..69b7476c2 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/MoreFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/MoreFragment.kt @@ -100,7 +100,7 @@ class MoreFragment : BaseFragment(), IRefreshable, IHistory, IDialogManager, historyEntry = view.findViewById(R.id.history_entry) if (!Settings.getInstance(requireActivity()).getBoolean(PLAYBACK_HISTORY, true)) historyEntry.setGone() viewModel = ViewModelProvider(requireActivity(), HistoryModel.Factory(requireContext())).get(HistoryModel::class.java) - viewModel.dataset.observe(viewLifecycleOwner, { list -> + viewModel.dataset.observe(viewLifecycleOwner) { list -> list?.let { historyAdapter.update(it) if (list.isEmpty()) historyEntry.setGone() else { @@ -110,7 +110,7 @@ class MoreFragment : BaseFragment(), IRefreshable, IHistory, IDialogManager, if (list.isNotEmpty()) historyEntry.actionButton.setVisible() else historyEntry.actionButton.setGone() } restoreMultiSelectHelper() - }) + } viewModel.loading.observe(viewLifecycleOwner) { lifecycleScope.launchWhenStarted { if (it) delay(300L) @@ -132,18 +132,18 @@ class MoreFragment : BaseFragment(), IRefreshable, IHistory, IDialogManager, i.putExtra("fragment", SecondaryActivity.STREAMS) requireActivity().startActivityForResult(i, SecondaryActivity.ACTIVITY_RESULT_SECONDARY) } - streamsViewModel.dataset.observe(requireActivity(), { + streamsViewModel.dataset.observe(requireActivity()) { streamsAdapter.update(it) streamsEntry.loading.state = EmptyLoadingState.NONE - }) - streamsViewModel.loading.observe(requireActivity(), { + } + streamsViewModel.loading.observe(requireActivity()) { lifecycleScope.launchWhenStarted { if (it) delay(300L) (activity as? MainActivity)?.refreshing = it if (it) streamsEntry.loading.state = EmptyLoadingState.LOADING } - }) + } settingsButton.setOnClickListener { requireActivity().startActivityForResult(Intent(activity, PreferencesActivity::class.java), ACTIVITY_RESULT_PREFERENCES) diff --git a/application/vlc-android/src/org/videolan/vlc/gui/PlaylistActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/PlaylistActivity.kt index cf07f9240..d3764ee24 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/PlaylistActivity.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/PlaylistActivity.kt @@ -113,16 +113,16 @@ open class PlaylistActivity : AudioPlayerContainerActivity(), IEventsHandler + viewModel.tracksProvider.pagedList.observe(this) { tracks -> @Suppress("UNCHECKED_CAST") (tracks as? PagedList)?.let { audioBrowserAdapter.submitList(it) } menu.let { UiTools.updateSortTitles(it, viewModel.tracksProvider) } if (::itemTouchHelperCallback.isInitialized) itemTouchHelperCallback.swipeEnabled = true - }) + } - viewModel.tracksProvider.liveHeaders.observe(this, { + viewModel.tracksProvider.liveHeaders.observe(this) { binding.songs.invalidateItemDecorations() - }) + } audioBrowserAdapter = AudioBrowserAdapter(MediaLibraryItem.TYPE_MEDIA, this, this, isPlaylist) if (isPlaylist) { itemTouchHelperCallback = SwipeDragItemTouchHelperCallback(audioBrowserAdapter) diff --git a/application/vlc-android/src/org/videolan/vlc/gui/PlaylistFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/PlaylistFragment.kt index 247fd6671..40a00118d 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/PlaylistFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/PlaylistFragment.kt @@ -111,17 +111,17 @@ class PlaylistFragment : BaseAudioBrowser(), SwipeRefreshLay override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) - viewModel.provider.pagedList.observe(requireActivity(), { + viewModel.provider.pagedList.observe(requireActivity()) { playlistAdapter.submitList(it as PagedList) updateEmptyView() - }) - viewModel.provider.loading.observe(requireActivity(), { loading -> - setRefreshing(loading) { } - }) + } + viewModel.provider.loading.observe(requireActivity()) { loading -> + setRefreshing(loading) { } + } - viewModel.provider.liveHeaders.observe(requireActivity(), { + viewModel.provider.liveHeaders.observe(requireActivity()) { playlists.invalidateItemDecorations() - }) + } fastScroller.setRecyclerView(getCurrentRV(), viewModel.provider) diff --git a/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.kt index ec75d7da7..2347c9091 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.kt @@ -130,29 +130,29 @@ class AudioAlbumsSongsFragment : BaseAudioBrowser(), SwipeR } fabPlay?.setImageResource(R.drawable.ic_fab_play) - viewModel.albumsProvider.pagedList.observe(requireActivity(), { albums -> + viewModel.albumsProvider.pagedList.observe(requireActivity()) { albums -> @Suppress("UNCHECKED_CAST") (albums as? PagedList)?.let { albumsAdapter.submitList(it) } if (viewModel.albumsProvider.loading.value == false && empty && !viewModel.isFiltering()) currentTab = 1 - }) - viewModel.tracksProvider.pagedList.observe(requireActivity(), { tracks -> + } + viewModel.tracksProvider.pagedList.observe(requireActivity()) { tracks -> @Suppress("UNCHECKED_CAST") (tracks as? PagedList)?.let { songsAdapter.submitList(it) } - }) + } for (i in 0..1) setupLayoutManager(viewModel.providersInCard[i], lists[i], viewModel.providers[i] as MedialibraryProvider, adapters[i], spacing) - viewModel.albumsProvider.loading.observe(requireActivity(), { loading -> + viewModel.albumsProvider.loading.observe(requireActivity()) { loading -> if (!loading) { fastScroller.setRecyclerView(getCurrentRV(), viewModel.providers[currentTab]) } setRefreshing(loading) - }) + } - viewModel.albumsProvider.liveHeaders.observe(viewLifecycleOwner, { + viewModel.albumsProvider.liveHeaders.observe(viewLifecycleOwner) { lists[0].invalidateItemDecorations() - }) - viewModel.tracksProvider.liveHeaders.observe(viewLifecycleOwner, { + } + viewModel.tracksProvider.liveHeaders.observe(viewLifecycleOwner) { lists[1].invalidateItemDecorations() - }) + } } override fun sortBy(sort: Int) { diff --git a/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.kt index 5a2251716..61881808e 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.kt @@ -184,7 +184,7 @@ class AudioBrowserFragment : BaseAudioBrowser() { private fun setupProvider(index: Int = viewModel.currentTab) { val provider = viewModel.providers[index.coerceIn(0, viewModel.providers.size - 1)] if (provider.loading.hasObservers()) return - provider.pagedList.observe(viewLifecycleOwner, { items -> + provider.pagedList.observe(viewLifecycleOwner) { items -> @Suppress("UNCHECKED_CAST") if (items != null) adapters.getOrNull(index)?.submitList(items as PagedList?) updateEmptyView() @@ -193,8 +193,8 @@ class AudioBrowserFragment : BaseAudioBrowser() { restorePositions.delete(index) } setFabPlayShuffleAllVisibility(items.isNotEmpty()) - }) - provider.loading.observe(viewLifecycleOwner, { loading -> + } + provider.loading.observe(viewLifecycleOwner) { loading -> if (loading == null || currentTab != index) return@observe setRefreshing(loading) { refresh -> if (refresh) updateEmptyView() @@ -203,13 +203,13 @@ class AudioBrowserFragment : BaseAudioBrowser() { songs_fast_scroller.setRecyclerView(getCurrentRV(), viewModel.providers[currentTab]) } } - }) - provider.liveHeaders.observe(viewLifecycleOwner, { + } + provider.liveHeaders.observe(viewLifecycleOwner) { lists[currentTab].invalidateItemDecorations() - }) + } lifecycleScope.launchWhenStarted { waitForML() - provider.pagedList.observe(viewLifecycleOwner, { items -> + provider.pagedList.observe(viewLifecycleOwner) { items -> @Suppress("UNCHECKED_CAST") if (items != null) adapters.getOrNull(index)?.submitList(items as PagedList?) updateEmptyView() @@ -218,7 +218,7 @@ class AudioBrowserFragment : BaseAudioBrowser() { restorePositions.delete(index) } setFabPlayShuffleAllVisibility(items.isNotEmpty()) - }) + } } } diff --git a/application/vlc-android/src/org/videolan/vlc/gui/browser/BaseBrowserFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/browser/BaseBrowserFragment.kt index 597e23a1c..4d56e07ae 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/browser/BaseBrowserFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/browser/BaseBrowserFragment.kt @@ -152,15 +152,15 @@ abstract class BaseBrowserFragment : MediaBrowserFragment(), IRefr binding.networkList.layoutManager = layoutManager binding.networkList.adapter = adapter registerSwiperRefreshlayout() - viewModel.dataset.observe(viewLifecycleOwner, { mediaLibraryItems -> + viewModel.dataset.observe(viewLifecycleOwner) { mediaLibraryItems -> adapter.update(mediaLibraryItems!!) if (::addPlaylistFolderOnly.isInitialized) addPlaylistFolderOnly.isVisible = adapter.mediaCount > 0 - }) - viewModel.getDescriptionUpdate().observe(viewLifecycleOwner, { pair -> if (pair != null) adapter.notifyItemChanged(pair.first, pair.second) }) - viewModel.loading.observe(viewLifecycleOwner, { loading -> + } + viewModel.getDescriptionUpdate().observe(viewLifecycleOwner) { pair -> if (pair != null) adapter.notifyItemChanged(pair.first, pair.second) } + viewModel.loading.observe(viewLifecycleOwner) { loading -> swipeRefreshLayout.isRefreshing = loading updateEmptyView() - }) + } } open fun registerSwiperRefreshlayout() = swipeRefreshLayout.setOnRefreshListener(this) diff --git a/application/vlc-android/src/org/videolan/vlc/gui/browser/ExtensionBrowser.kt b/application/vlc-android/src/org/videolan/vlc/gui/browser/ExtensionBrowser.kt index efdce0da2..3e6d02b7d 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/browser/ExtensionBrowser.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/browser/ExtensionBrowser.kt @@ -80,7 +80,7 @@ class ExtensionBrowser : Fragment(), View.OnClickListener, androidx.swiperefresh override fun onResume() { super.onResume() if (mustBeTerminated) - activity!!.supportFragmentManager.beginTransaction().remove(this).commit() + requireActivity().supportFragmentManager.beginTransaction().remove(this).commit() mustBeTerminated = true } @@ -89,7 +89,7 @@ class ExtensionBrowser : Fragment(), View.OnClickListener, androidx.swiperefresh setTitle(mTitle) updateDisplay() if (showSettings) { - if (mAddDirectoryFAB == null) mAddDirectoryFAB = activity!!.findViewById(R.id.fab) + if (mAddDirectoryFAB == null) mAddDirectoryFAB = requireActivity().findViewById(R.id.fab) mAddDirectoryFAB!!.setImageResource(R.drawable.ic_fab_add) mAddDirectoryFAB!!.show() mAddDirectoryFAB!!.setOnClickListener(this) @@ -108,13 +108,13 @@ class ExtensionBrowser : Fragment(), View.OnClickListener, androidx.swiperefresh val activity = activity as AppCompatActivity? if (activity != null && activity.supportActionBar != null) { activity.supportActionBar!!.title = title - getActivity()!!.invalidateOptionsMenu() + requireActivity().invalidateOptionsMenu() } } fun goBack() { val activity = activity - if (activity != null && activity.supportFragmentManager.popBackStackImmediate()) getActivity()!!.finish() + if (activity != null && activity.supportFragmentManager.popBackStackImmediate()) requireActivity().finish() } fun doRefresh(title: String, items: List) { diff --git a/application/vlc-android/src/org/videolan/vlc/gui/browser/MLStorageBrowserFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/browser/MLStorageBrowserFragment.kt index 4083cd19c..54d755aa3 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/browser/MLStorageBrowserFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/browser/MLStorageBrowserFragment.kt @@ -109,7 +109,7 @@ class MLStorageBrowserFragment : BaseFragment(), IStorageFragmentDelegate by Sto val storageBrowserAdapter = StorageBrowserAdapter(getBrowserContainer(false)) localEntry.list.adapter = storageBrowserAdapter localViewModel = getBrowserModel(category = TYPE_STORAGE, url = null, showHiddenFiles = false) - localViewModel.dataset.observe(viewLifecycleOwner, { list -> + localViewModel.dataset.observe(viewLifecycleOwner) { list -> list?.let { storageBrowserAdapter.update(it) localEntry.loading.state = when { @@ -118,14 +118,14 @@ class MLStorageBrowserFragment : BaseFragment(), IStorageFragmentDelegate by Sto else -> EmptyLoadingState.EMPTY } } - }) - localViewModel.loading.observe(viewLifecycleOwner, { + } + localViewModel.loading.observe(viewLifecycleOwner) { if (it) localEntry.loading.state = EmptyLoadingState.LOADING - }) + } localViewModel.browseRoot() - localViewModel.getDescriptionUpdate().observe(viewLifecycleOwner, { pair -> + localViewModel.getDescriptionUpdate().observe(viewLifecycleOwner) { pair -> if (pair != null) storageBrowserAdapter.notifyItemChanged(pair.first, pair.second) - }) + } networkEntry = view.findViewById(R.id.network_browser_entry) networkEntry.visibility = if (FeatureFlagManager.isEnabled(requireActivity(), FeatureFlag.NETWORK_INDEXING)) View.VISIBLE else View.GONE @@ -134,18 +134,18 @@ class MLStorageBrowserFragment : BaseFragment(), IStorageFragmentDelegate by Sto val networkAdapter = StorageBrowserAdapter(getBrowserContainer(true)) networkEntry.list.adapter = networkAdapter networkViewModel = getBrowserModel(category = TYPE_NETWORK, url = null, showHiddenFiles = false) - networkViewModel.dataset.observe(viewLifecycleOwner, { list -> - list?.let { + networkViewModel.dataset.observe(viewLifecycleOwner) { list -> + list?.let { val filtered = it.filter { item -> item is MediaWrapper && item.uri?.scheme == "smb" } networkAdapter.update(filtered) updateNetworkEmptyView(networkEntry.loading) if (networkViewModel.loading.value == false) networkEntry.loading.state = if (list.isEmpty()) EmptyLoadingState.EMPTY else EmptyLoadingState.NONE } - }) - networkViewModel.loading.observe(viewLifecycleOwner, { + } + networkViewModel.loading.observe(viewLifecycleOwner) { if (it) networkEntry.loading.state = EmptyLoadingState.LOADING updateNetworkEmptyView(networkEntry.loading) - }) + } networkViewModel.browseRoot() localEntry.displayInCards = false diff --git a/application/vlc-android/src/org/videolan/vlc/gui/browser/MainBrowserFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/browser/MainBrowserFragment.kt index 51ad33b12..6d8bcaf81 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/browser/MainBrowserFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/browser/MainBrowserFragment.kt @@ -166,7 +166,7 @@ class MainBrowserFragment : BaseFragment(), View.OnClickListener, CtxActionRecei localEntry.list.adapter = storageBrowserAdapter localViewModel = getBrowserModel(category = TYPE_FILE, url = null, showHiddenFiles = false) containerAdapterAssociation[storageBbrowserContainer] = Pair(storageBrowserAdapter, localViewModel) - localViewModel.dataset.observe(viewLifecycleOwner, { list -> + localViewModel.dataset.observe(viewLifecycleOwner) { list -> list?.let { if (Permissions.canReadStorage(requireActivity())) storageBrowserAdapter.update(it) localEntry.loading.state = when { @@ -176,14 +176,14 @@ class MainBrowserFragment : BaseFragment(), View.OnClickListener, CtxActionRecei else -> EmptyLoadingState.EMPTY } } - }) - localViewModel.loading.observe(viewLifecycleOwner, { - if (it) localEntry.loading.state = EmptyLoadingState.LOADING else if (!Permissions.canReadStorage(requireActivity()))localEntry.loading.state = EmptyLoadingState.MISSING_PERMISSION - }) + } + localViewModel.loading.observe(viewLifecycleOwner) { + if (it) localEntry.loading.state = EmptyLoadingState.LOADING else if (!Permissions.canReadStorage(requireActivity())) localEntry.loading.state = EmptyLoadingState.MISSING_PERMISSION + } localViewModel.browseRoot() - localViewModel.getDescriptionUpdate().observe(viewLifecycleOwner, { pair -> + localViewModel.getDescriptionUpdate().observe(viewLifecycleOwner) { pair -> if (pair != null) storageBrowserAdapter.notifyItemChanged(pair.first, pair.second) - }) + } favoritesEntry = view.findViewById(R.id.fav_browser_entry) favoritesEntry.loading.showNoMedia = false @@ -193,9 +193,9 @@ class MainBrowserFragment : BaseFragment(), View.OnClickListener, CtxActionRecei favoritesEntry.list.adapter = favoritesAdapter favoritesViewModel = BrowserFavoritesModel(requireContext()) containerAdapterAssociation[favoritesBrowserContainer] = Pair(favoritesAdapter, favoritesViewModel) - favoritesViewModel.favorites.observe(viewLifecycleOwner, { list -> + favoritesViewModel.favorites.observe(viewLifecycleOwner) { list -> list.let { - if (list.isEmpty() || !Permissions.canReadStorage(requireActivity())) favoritesEntry.setGone() else favoritesEntry.setVisible() + if (list.isEmpty() || !Permissions.canReadStorage(requireActivity())) favoritesEntry.setGone() else favoritesEntry.setVisible() favoritesAdapter.update(it) favoritesEntry.loading.state = when { list.isNotEmpty() -> EmptyLoadingState.NONE @@ -203,13 +203,13 @@ class MainBrowserFragment : BaseFragment(), View.OnClickListener, CtxActionRecei else -> EmptyLoadingState.EMPTY } } - }) - favoritesViewModel.provider.loading.observe(viewLifecycleOwner, { + } + favoritesViewModel.provider.loading.observe(viewLifecycleOwner) { if (it) localEntry.loading.state = EmptyLoadingState.LOADING - }) - favoritesViewModel.provider.descriptionUpdate.observe(viewLifecycleOwner, { pair -> + } + favoritesViewModel.provider.descriptionUpdate.observe(viewLifecycleOwner) { pair -> if (pair != null) favoritesAdapter.notifyItemChanged(pair.first, pair.second) - }) + } networkEntry = view.findViewById(R.id.network_browser_entry) networkEntry.loading.showNoMedia = false @@ -219,17 +219,17 @@ class MainBrowserFragment : BaseFragment(), View.OnClickListener, CtxActionRecei networkEntry.list.adapter = networkAdapter networkViewModel = getBrowserModel(category = TYPE_NETWORK, url = null, showHiddenFiles = false) containerAdapterAssociation[networkBrowserContainer] = Pair(networkAdapter, networkViewModel) - networkViewModel.dataset.observe(viewLifecycleOwner, { list -> + networkViewModel.dataset.observe(viewLifecycleOwner) { list -> list?.let { networkAdapter.update(it) updateNetworkEmptyView(networkEntry.loading) if (networkViewModel.loading.value == false) networkEntry.loading.state = if (list.isEmpty()) EmptyLoadingState.EMPTY else EmptyLoadingState.NONE } - }) - networkViewModel.loading.observe(viewLifecycleOwner, { + } + networkViewModel.loading.observe(viewLifecycleOwner) { if (it) networkEntry.loading.state = EmptyLoadingState.LOADING updateNetworkEmptyView(networkEntry.loading) - }) + } networkViewModel.browseRoot() localEntry.displayInCards = !displayInList diff --git a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/AddToGroupDialog.kt b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/AddToGroupDialog.kt index 94fbde97c..7fcdbff69 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/AddToGroupDialog.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/AddToGroupDialog.kt @@ -110,7 +110,7 @@ class AddToGroupDialog : VLCBottomSheetDialogFragment(), SimpleAdapter.ClickHand binding.list.adapter = adapter //we have to create the viewmodel that way to avoid the cache from ViewModelProvider which will send the model from the calling activity that may have a different groupingType val viewModel = VideosViewModel.Factory(requireContext(), VideoGroupingType.NAME, null, null).create(VideosViewModel::class.java) - viewModel.provider.pagedList.observe(viewLifecycleOwner, { + viewModel.provider.pagedList.observe(viewLifecycleOwner) { adapter.submitList(it.filter { group -> group is VideoGroup && group.mediaCount() > 1 }.apply { forEach { mediaLibraryItem -> mediaLibraryItem.description = resources.getQuantityString(R.plurals.media_quantity, mediaLibraryItem.tracksCount, mediaLibraryItem.tracksCount) } @@ -120,7 +120,7 @@ class AddToGroupDialog : VLCBottomSheetDialogFragment(), SimpleAdapter.ClickHand } }) updateEmptyView() - }) + } updateEmptyView() } diff --git a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/PickTimeFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/PickTimeFragment.kt index 38b0131dc..6f49e4f34 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/PickTimeFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/PickTimeFragment.kt @@ -111,7 +111,7 @@ abstract class PickTimeFragment : VLCBottomSheetDialogFragment(), View.OnClickLi } override fun initialFocusedView(): View { - return view!!.findViewById(R.id.tim_pic_1) + return requireView().findViewById(R.id.tim_pic_1) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { diff --git a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/RenderersDialog.kt b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/RenderersDialog.kt index 7427e9f64..7ebf3aeba 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/RenderersDialog.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/RenderersDialog.kt @@ -52,12 +52,12 @@ class RenderersDialog : DialogFragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - RendererDelegate.renderers.observe(this, { + RendererDelegate.renderers.observe(this) { if (it !== null) { renderers = it mAdapter.update(it) } - }) + } } override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { diff --git a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/SavePlaylistDialog.kt b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/SavePlaylistDialog.kt index e4223d188..acb156b9e 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/SavePlaylistDialog.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/SavePlaylistDialog.kt @@ -116,11 +116,11 @@ class SavePlaylistDialog : VLCBottomSheetDialogFragment(), View.OnClickListener, filesText = resources.getQuantityString(R.plurals.media_quantity, newTracks.size, newTracks.size) } } else { - viewModel.dataset.observe(this, { mediaLibraryItems -> + viewModel.dataset.observe(this) { mediaLibraryItems -> newTracks = mediaLibraryItems.asSequence().map { it as MediaWrapper }.filter { it.type != MediaWrapper.TYPE_DIR }.toList().toTypedArray() isLoading = false filesText = resources.getQuantityString(R.plurals.media_quantity, newTracks.size, newTracks.size) - }) + } } } emptyArray() diff --git a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/SubtitleDownloaderDialogFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/SubtitleDownloaderDialogFragment.kt index 9499e9daf..6e5cc81a0 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/SubtitleDownloaderDialogFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/SubtitleDownloaderDialogFragment.kt @@ -164,17 +164,17 @@ class SubtitleDownloaderDialogFragment : VLCBottomSheetDialogFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel.result.observe(viewLifecycleOwner, { + viewModel.result.observe(viewLifecycleOwner) { downloadAdapter.setList(it) if (it.isNotEmpty()) focusOnView(binding.scrollView) - }) - viewModel.isApiLoading.observe(viewLifecycleOwner, { + } + viewModel.isApiLoading.observe(viewLifecycleOwner) { binding.subDownloadLoading.visibility = if (it) View.VISIBLE else View.GONE - }) + } - viewModel.history.observe(this, { + viewModel.history.observe(this) { historyAdapter.setList(it) - }) + } } override fun onConfigurationChanged(newConfig: Configuration) { diff --git a/application/vlc-android/src/org/videolan/vlc/gui/network/MRLPanelFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/network/MRLPanelFragment.kt index 284f15a4b..0900f2305 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/network/MRLPanelFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/network/MRLPanelFragment.kt @@ -113,8 +113,8 @@ class MRLPanelFragment : BaseFragment(), View.OnKeyListener, TextView.OnEditorAc override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel.dataset.observe(requireActivity(), { adapter.update(it) }) - viewModel.loading.observe(requireActivity(), { (activity as? MainActivity)?.refreshing = it }) + viewModel.dataset.observe(requireActivity()) { adapter.update(it) } + viewModel.loading.observe(requireActivity()) { (activity as? MainActivity)?.refreshing = it } } override fun onResume() { diff --git a/application/vlc-android/src/org/videolan/vlc/gui/preferences/BasePreferenceFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/preferences/BasePreferenceFragment.kt index 713a1ad9d..16f63c79e 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/preferences/BasePreferenceFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/preferences/BasePreferenceFragment.kt @@ -59,7 +59,7 @@ abstract class BasePreferenceFragment : PreferenceFragmentCompat() { } protected fun loadFragment(fragment: Fragment) { - activity!!.supportFragmentManager.beginTransaction().replace(R.id.fragment_placeholder, fragment) + requireActivity().supportFragmentManager.beginTransaction().replace(R.id.fragment_placeholder, fragment) .addToBackStack("main") .commit() } diff --git a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesExtensionFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesExtensionFragment.kt index ca3a5f66c..303d86714 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesExtensionFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesExtensionFragment.kt @@ -44,7 +44,7 @@ class PreferencesExtensionFragment : BasePreferenceFragment() { extensionKey = newBundle.getString("extension_key") extensionPackageName = extensionKey!!.replace(ExtensionsManager.EXTENSION_PREFIX + "_", "") extensionId = ExtensionsManager.getInstance().getExtensionId(extensionPackageName) - extension = ExtensionsManager.getInstance().getExtensions(activity!!.application, false)[extensionId] + extension = ExtensionsManager.getInstance().getExtensions(requireActivity().application, false)[extensionId] extensionTitle = extension!!.title() setTitle(extensionTitle) androidAutoAvailable = ExtensionsManager.androidAutoInstalled && extension!!.androidAutoEnabled() diff --git a/application/vlc-android/src/org/videolan/vlc/gui/preferences/search/PreferenceSearchActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/preferences/search/PreferenceSearchActivity.kt index 286f89ccb..d1723c366 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/preferences/search/PreferenceSearchActivity.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/preferences/search/PreferenceSearchActivity.kt @@ -60,13 +60,13 @@ class PreferenceSearchActivity : BaseActivity(), TextWatcher, PreferenceItemAdap } viewmodel = ViewModelProvider(this, PreferenceSearchModel.Factory(this)).get(PreferenceSearchModel::class.java) binding.searchText.addTextChangedListener(this) - viewmodel.filtered.observe(this, { + viewmodel.filtered.observe(this) { adapter.submitList(it) - }) - viewmodel.showTranslations.observe(this, { + } + viewmodel.showTranslations.observe(this) { adapter.showTranslation = it binding.translateButton.isSelected = it - }) + } adapter = PreferenceItemAdapter(this) binding.list.adapter = adapter binding.list.layoutManager = LinearLayoutManager(this) diff --git a/application/vlc-android/src/org/videolan/vlc/gui/video/VideoGridFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/video/VideoGridFragment.kt index 82d70e816..35345c42f 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/video/VideoGridFragment.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/video/VideoGridFragment.kt @@ -125,24 +125,24 @@ class VideoGridFragment : MediaBrowserFragment(), SwipeRefreshL private fun setDataObservers() { videoListAdapter.dataType = viewModel.groupingType - viewModel.provider.loading.observe(this@VideoGridFragment, { loading -> + viewModel.provider.loading.observe(this@VideoGridFragment) { loading -> setRefreshing(loading) { refresh -> if (!refresh) { menu?.let { UiTools.updateSortTitles(it, viewModel.provider) } restoreMultiSelectHelper() } } - }) + } videoListAdapter.showFilename.set(viewModel.groupingType == VideoGroupingType.NONE && viewModel.provider.sort == Medialibrary.SORT_FILENAME) lifecycleScope.launch { waitForML() - viewModel.provider.pagedList.observe(requireActivity(), { + viewModel.provider.pagedList.observe(requireActivity()) { (it as? PagedList)?.let { videoListAdapter.submitList(it) } updateEmptyView() restoreMultiSelectHelper() if (activity?.isFinishing == false && viewModel.group != null && it.size < 2) requireActivity().finish() setFabPlayVisibility(true) - }) + } } } diff --git a/application/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerOverlayDelegate.kt b/application/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerOverlayDelegate.kt index 209a5da09..40bbc8047 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerOverlayDelegate.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerOverlayDelegate.kt @@ -385,15 +385,15 @@ class VideoPlayerOverlayDelegate (private val player: VideoPlayerActivity) { hudBinding.player = player hudBinding.progress = service.playlistManager.player.progress abRepeatAddMarker = hudBinding.abRepeatContainer.findViewById(R.id.ab_repeat_add_marker) - service.playlistManager.abRepeat.observe(player, { abvalues -> + service.playlistManager.abRepeat.observe(player) { abvalues -> hudBinding.abRepeatA = if (abvalues.start == -1L) -1F else abvalues.start / service.playlistManager.player.getLength().toFloat() hudBinding.abRepeatB = if (abvalues.stop == -1L) -1F else abvalues.stop / service.playlistManager.player.getLength().toFloat() hudBinding.abRepeatMarkerA.visibility = if (abvalues.start == -1L) View.GONE else View.VISIBLE hudBinding.abRepeatMarkerB.visibility = if (abvalues.stop == -1L) View.GONE else View.VISIBLE service.manageAbRepeatStep(hudBinding.abRepeatReset, hudBinding.abRepeatStop, hudBinding.abRepeatContainer, abRepeatAddMarker) if (player.settings.getBoolean(VIDEO_TRANSITION_SHOW, true)) showOverlayTimeout(if (abvalues.start == -1L || abvalues.stop == -1L) VideoPlayerActivity.OVERLAY_INFINITE else Settings.videoHudDelay * 1000) - }) - service.playlistManager.abRepeatOn.observe(player, { + } + service.playlistManager.abRepeatOn.observe(player) { abRepeatAddMarker.visibility = if (it) View.VISIBLE else View.GONE hudBinding.abRepeatMarkerGuidelineContainer.visibility = if (it) View.VISIBLE else View.GONE if (it) showOverlay(true) @@ -404,16 +404,16 @@ class VideoPlayerOverlayDelegate (private val player: VideoPlayerActivity) { if (it) showOverlayTimeout(VideoPlayerActivity.OVERLAY_INFINITE) service.manageAbRepeatStep(hudBinding.abRepeatReset, hudBinding.abRepeatStop, hudBinding.abRepeatContainer, abRepeatAddMarker) - }) - service.playlistManager.delayValue.observe(player, { + } + service.playlistManager.delayValue.observe(player) { player.delayDelegate.delayChanged(it, service) - }) - service.playlistManager.videoStatsOn.observe(player, { + } + service.playlistManager.videoStatsOn.observe(player) { if (it) showOverlay(true) player.statsDelegate.container = hudBinding.statsContainer player.statsDelegate.initPlotView(hudBinding) if (it) player.statsDelegate.start() else player.statsDelegate.stop() - }) + } hudBinding.statsClose.setOnClickListener { service.playlistManager.videoStatsOn.postValue(false) } hudBinding.lifecycleOwner = player @@ -421,8 +421,8 @@ class VideoPlayerOverlayDelegate (private val player: VideoPlayerActivity) { overlayBackground = player.findViewById(R.id.player_overlay_background) if (!AndroidDevices.isChromeBook && !player.isTv && player.settings.getBoolean("enable_casting", true)) { - PlaybackService.renderer.observe(player, { rendererItem -> hudRightBinding.videoRenderer.setImageDrawable(AppCompatResources.getDrawable(player, if (rendererItem == null) R.drawable.ic_player_renderer else R.drawable.ic_player_renderer_on)) }) - RendererDelegate.renderers.observe(player, { rendererItems -> updateRendererVisibility() }) + PlaybackService.renderer.observe(player) { rendererItem -> hudRightBinding.videoRenderer.setImageDrawable(AppCompatResources.getDrawable(player, if (rendererItem == null) R.drawable.ic_player_renderer else R.drawable.ic_player_renderer_on)) } + RendererDelegate.renderers.observe(player) { rendererItems -> updateRendererVisibility() } } hudRightBinding.playerOverlayTitle.text = service.currentMediaWrapper?.title diff --git a/application/vlc-android/src/org/videolan/vlc/media/MediaSessionBrowser.kt b/application/vlc-android/src/org/videolan/vlc/media/MediaSessionBrowser.kt index 7bc2b5c25..9a759313b 100644 --- a/application/vlc-android/src/org/videolan/vlc/media/MediaSessionBrowser.kt +++ b/application/vlc-android/src/org/videolan/vlc/media/MediaSessionBrowser.kt @@ -629,7 +629,7 @@ class MediaSessionBrowser : ExtensionManagerActivity { } } iconUri.appendPath("${libraryItem.id}") - artworkToUriCache.getOrPut(libraryItem.artworkMrl, { ArtworkProvider.buildUri(iconUri.build()) }) + artworkToUriCache.getOrPut(libraryItem.artworkMrl) { ArtworkProvider.buildUri(iconUri.build()) } } else if (libraryItem.itemType == MediaLibraryItem.TYPE_MEDIA && (libraryItem as MediaWrapper).type == MediaWrapper.TYPE_STREAM) DEFAULT_STREAM_ICON else { diff --git a/application/vlc-android/src/org/videolan/vlc/util/DialogDelegates.kt b/application/vlc-android/src/org/videolan/vlc/util/DialogDelegates.kt index 0ef341253..bc06199e7 100644 --- a/application/vlc-android/src/org/videolan/vlc/util/DialogDelegates.kt +++ b/application/vlc-android/src/org/videolan/vlc/util/DialogDelegates.kt @@ -26,12 +26,12 @@ interface IDialogManager { class DialogDelegate : IDialogDelegate { override fun observeDialogs(lco: LifecycleOwner, manager: IDialogManager) { - dialogEvt.observe(lco, { - when(it) { + dialogEvt.observe(lco) { + when (it) { is Show -> manager.fireDialog(it.dialog) is Cancel -> manager.dialogCanceled(it.dialog) } - }) + } } companion object DialogsListener : Dialog.Callbacks {