That fuck shit the fascists are using
1package org.tm.archive.logsubmit
2
3import android.content.Context
4import org.tm.archive.dependencies.ApplicationDependencies
5import org.tm.archive.video.exo.ExoPlayerPool
6
7/**
8 * Prints off the current exoplayer pool stats, including ownership info.
9 */
10class LogSectionExoPlayerPool : LogSection {
11 override fun getTitle(): String = "EXOPLAYER POOL"
12
13 override fun getContent(context: Context): CharSequence {
14 val poolStats = ApplicationDependencies.getExoPlayerPool().getPoolStats()
15 val owners: Map<String, List<ExoPlayerPool.OwnershipInfo>> = poolStats.owners.groupBy { it.tag }
16 val output = StringBuilder()
17
18 output.append("Total players created: ${poolStats.created}\n")
19 output.append("Max allowed unreserved instances: ${poolStats.maxUnreserved}\n")
20 output.append("Max allowed reserved instances: ${poolStats.maxReserved}\n")
21 output.append("Available created unreserved instances: ${poolStats.unreservedAndAvailable}\n")
22 output.append("Available created reserved instances: ${poolStats.reservedAndAvailable}\n")
23 output.append("Total unreserved created: ${poolStats.unreserved}\n")
24 output.append("Total reserved created: ${poolStats.reserved}\n\n")
25
26 output.append("Ownership Info:\n")
27 if (owners.isEmpty()) {
28 output.append(" No ownership info to display.")
29 } else {
30 owners.forEach { (ownerTag, infoList) ->
31 output.append(" Owner $ownerTag\n")
32 output.append(" reserved: ${infoList.filter { it.isReserved }.size}\n")
33 output.append(" unreserved: ${infoList.filterNot { it.isReserved }.size}\n")
34 }
35 }
36
37 return output
38 }
39}