ComplexCondition:DownloadHandler.kt$DownloadHandler.<no name provided>$!append && !playNext && !unpin && !background
ComplexCondition:FilePickerAdapter.kt$FilePickerAdapter$currentDirectory.absolutePath == "/" || currentDirectory.absolutePath == "/storage" || currentDirectory.absolutePath == "/storage/emulated" || currentDirectory.absolutePath == "/mnt"
ComplexCondition:LocalMediaPlayer.kt$LocalMediaPlayer$Util.getGaplessPlaybackPreference() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN && ( playerState === PlayerState.STARTED || playerState === PlayerState.PAUSED )
ComplexMethod:DownloadFile.kt$DownloadFile.DownloadTask$override fun execute()
ComplexMethod:FilePickerAdapter.kt$FilePickerAdapter$private fun fileLister(currentDirectory: File)
ComplexMethod:SongView.kt$SongView$fun setSong(song: MusicDirectory.Entry, checkable: Boolean, draggable: Boolean)
ComplexMethod:TrackCollectionFragment.kt$TrackCollectionFragment$private fun enableButtons()
ComplexMethod:TrackCollectionFragment.kt$TrackCollectionFragment$private fun updateInterfaceWithEntries(musicDirectory: MusicDirectory)
EmptyFunctionBlock:SongView.kt$SongView${}
FunctionNaming:ThemeChangedEventDistributor.kt$ThemeChangedEventDistributor$fun RaiseThemeChangedEvent()
ImplicitDefaultLocale:DownloadFile.kt$DownloadFile$String.format("DownloadFile (%s)", song)
ImplicitDefaultLocale:DownloadFile.kt$DownloadFile.DownloadTask$String.format("Download of '%s' was cancelled", song)
ImplicitDefaultLocale:DownloadFile.kt$DownloadFile.DownloadTask$String.format("DownloadTask (%s)", song)
ImplicitDefaultLocale:EditServerFragment.kt$EditServerFragment.<no name provided>$String.format( "%s %s", resources.getString(R.string.settings_connection_failure), getErrorMessage(error) )
ImplicitDefaultLocale:FileLoggerTree.kt$FileLoggerTree$String.format("Failed to write log to %s", file)
ImplicitDefaultLocale:FileLoggerTree.kt$FileLoggerTree$String.format("Log file rotated, logging into file %s", file?.name)
ImplicitDefaultLocale:FileLoggerTree.kt$FileLoggerTree$String.format("Logging into file %s", file?.name)
ImplicitDefaultLocale:LocalMediaPlayer.kt$LocalMediaPlayer.BufferTask$String.format("BufferTask (%s)", downloadFile)
ImplicitDefaultLocale:LocalMediaPlayer.kt$LocalMediaPlayer.CheckCompletionTask$String.format("CheckCompletionTask (%s)", downloadFile)
ImplicitDefaultLocale:ShareHandler.kt$ShareHandler$String.format("%d:%s", timeSpanAmount, timeSpanType)
ImplicitDefaultLocale:ShareHandler.kt$ShareHandler.<no name provided>$String.format("%s\n\n%s", Util.getShareGreeting(), result.url)
ImplicitDefaultLocale:SongView.kt$SongView$String.format("%02d.", trackNumber)
ImplicitDefaultLocale:SongView.kt$SongView$String.format("%s ", bitRate)
ImplicitDefaultLocale:SongView.kt$SongView$String.format("%s > %s", suffix, transcodedSuffix)
LargeClass:TrackCollectionFragment.kt$TrackCollectionFragment : Fragment
LongMethod:DownloadFile.kt$DownloadFile.DownloadTask$override fun execute()
LongMethod:EditServerFragment.kt$EditServerFragment$override fun onViewCreated(view: View, savedInstanceState: Bundle?)
LongMethod:FilePickerAdapter.kt$FilePickerAdapter$private fun fileLister(currentDirectory: File)
LongMethod:LocalMediaPlayer.kt$LocalMediaPlayer$@Synchronized private fun doPlay(downloadFile: DownloadFile, position: Int, start: Boolean)
LongMethod:MediaPlayerService.kt$MediaPlayerService$private fun updateMediaSession(currentPlaying: DownloadFile?, playerState: PlayerState)
LongMethod:NavigationActivity.kt$NavigationActivity$override fun onCreate(savedInstanceState: Bundle?)
LongMethod:ShareHandler.kt$ShareHandler$private fun showDialog( fragment: Fragment, shareDetails: ShareDetails, swipe: SwipeRefreshLayout?, cancellationToken: CancellationToken )
LongMethod:SongView.kt$SongView$fun setSong(song: MusicDirectory.Entry, checkable: Boolean, draggable: Boolean)
LongMethod:TrackCollectionFragment.kt$TrackCollectionFragment$override fun onContextItemSelected(menuItem: MenuItem): Boolean
LongMethod:TrackCollectionFragment.kt$TrackCollectionFragment$override fun onViewCreated(view: View, savedInstanceState: Bundle?)
LongMethod:TrackCollectionFragment.kt$TrackCollectionFragment$private fun updateDisplay(refresh: Boolean)
LongMethod:TrackCollectionFragment.kt$TrackCollectionFragment$private fun updateInterfaceWithEntries(musicDirectory: MusicDirectory)
LongParameterList:ServerRowAdapter.kt$ServerRowAdapter$( private var context: Context, private var data: Array<ServerSetting>, private val model: ServerSettingsModel, private val activeServerProvider: ActiveServerProvider, private val manageMode: Boolean, private val serverDeletedCallback: ((Int) -> Unit), private val serverEditRequestedCallback: ((Int) -> Unit) )
MagicNumber:ActiveServerProvider.kt$ActiveServerProvider$8192
MagicNumber:DownloadFile.kt$DownloadFile.DownloadTask$10
MagicNumber:DownloadFile.kt$DownloadFile.DownloadTask$60
MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.<no name provided>$60000
MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.BufferTask$100000
MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.BufferTask$1024L
MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.BufferTask$8
MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.BufferTask$86400L
MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.BufferTask$8L
MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.CheckCompletionTask$5000L
MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.PositionCache$50L
MagicNumber:MediaPlayerService.kt$MediaPlayerService$256
MagicNumber:MediaPlayerService.kt$MediaPlayerService$3
MagicNumber:MediaPlayerService.kt$MediaPlayerService$4
MagicNumber:RESTMusicService.kt$RESTMusicService$206
MagicNumber:SongView.kt$SongView$3
MagicNumber:SongView.kt$SongView$4
MagicNumber:SongView.kt$SongView$60
MagicNumber:TrackCollectionFragment.kt$TrackCollectionFragment$10
NestedBlockDepth:DownloadFile.kt$DownloadFile.DownloadTask$override fun execute()
NestedBlockDepth:DownloadHandler.kt$DownloadHandler$private fun downloadRecursively( fragment: Fragment, id: String, name: String?, isShare: Boolean, isDirectory: Boolean, save: Boolean, append: Boolean, autoPlay: Boolean, shuffle: Boolean, background: Boolean, playNext: Boolean, unpin: Boolean, isArtist: Boolean )
NestedBlockDepth:MediaPlayerService.kt$MediaPlayerService$private fun setupOnSongCompletedHandler()
ReturnCount:CommunicationErrorHandler.kt$CommunicationErrorHandler.Companion$fun getErrorMessage(error: Throwable, context: Context): String
ReturnCount:ServerRowAdapter.kt$ServerRowAdapter$ private fun popupMenuItemClick(menuItem: MenuItem, position: Int): Boolean
ReturnCount:TrackCollectionFragment.kt$TrackCollectionFragment$override fun onContextItemSelected(menuItem: MenuItem): Boolean
TooGenericExceptionCaught:DownloadFile.kt$DownloadFile$e: Exception
TooGenericExceptionCaught:FileLoggerTree.kt$FileLoggerTree$x: Throwable
TooGenericExceptionCaught:LocalMediaPlayer.kt$LocalMediaPlayer$ex: Exception
TooGenericExceptionCaught:LocalMediaPlayer.kt$LocalMediaPlayer$exception: Throwable
TooGenericExceptionCaught:LocalMediaPlayer.kt$LocalMediaPlayer$x: Exception
TooGenericExceptionCaught:LocalMediaPlayer.kt$LocalMediaPlayer.PositionCache$e: Exception
TooGenericExceptionCaught:MediaPlayerService.kt$MediaPlayerService$e: Exception
TooGenericExceptionCaught:SongView.kt$SongView$e: Exception
TooGenericExceptionCaught:SubsonicUncaughtExceptionHandler.kt$SubsonicUncaughtExceptionHandler$x: Throwable
TooGenericExceptionCaught:VideoPlayer.kt$VideoPlayer$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
TooManyFunctions:RESTMusicService.kt$RESTMusicService : MusicService
TooManyFunctions:TrackCollectionFragment.kt$TrackCollectionFragment : Fragment
UtilityClassWithPublicConstructor:CommunicationErrorHandler.kt$CommunicationErrorHandler
UtilityClassWithPublicConstructor:FragmentTitle.kt$FragmentTitle