forked from recloudstream/cloudstream
		
	[Refactor] Minor adjustments to Source selection names (#954)
* [Refactor] Minor adjustment to name + quality display on Sources * Minor refactor on some extractors to prevent duplicate qualities displaying on Source name
This commit is contained in:
		
							parent
							
								
									a4735c41ba
								
							
						
					
					
						commit
						d969fe42da
					
				
					 11 changed files with 38 additions and 26 deletions
				
			
		|  | @ -23,13 +23,12 @@ open class PlayerVoxzer : ExtractorApi() { | |||
|             ), true | ||||
|         ) | ||||
|             .map { stream -> | ||||
|                 val qualityString = if ((stream.quality ?: 0) == 0) "" else "${stream.quality}p" | ||||
|                 sources.add(  ExtractorLink( | ||||
|                     name, | ||||
|                     "$name $qualityString", | ||||
|                     name = name, | ||||
|                     stream.streamUrl, | ||||
|                     url, | ||||
|                     getQualityFromName(stream.quality.toString()), | ||||
|                     getQualityFromName(stream.quality?.toString()), | ||||
|                     true | ||||
|                 )) | ||||
|             } | ||||
|  |  | |||
|  | @ -111,13 +111,12 @@ open class StreamSB : ExtractorApi() { | |||
|         ) | ||||
|             .map { stream -> | ||||
|                // val cleanstreamurl = stream.streamUrl.replace(Regex("https://.*/hls/"), "$urlmain/hls/") | ||||
|                 val qualityString = if ((stream.quality ?: 0) == 0) "" else "${stream.quality}p" | ||||
|                 ExtractorLink( | ||||
|                     name, | ||||
|                     "$name $qualityString", | ||||
|                     name = name, | ||||
|                     stream.streamUrl, | ||||
|                     url, | ||||
|                     getQualityFromName(stream.quality.toString()), | ||||
|                     getQualityFromName(stream.quality?.toString()), | ||||
|                     true | ||||
|                 ) | ||||
|             } | ||||
|  |  | |||
|  | @ -48,7 +48,7 @@ class UpstreamExtractor: ExtractorApi() { | |||
|                     source = this.name, | ||||
|                     url = linkUrl, | ||||
|                     quality = Qualities.Unknown.value, | ||||
|                     referer = referer!!, | ||||
|                     referer = referer ?: linkUrl, | ||||
|                     isM3u8 = true | ||||
|                     ) | ||||
|                 ) | ||||
|  |  | |||
|  | @ -61,7 +61,7 @@ class Vidstream(val mainUrl: String) { | |||
|                         callback.invoke( | ||||
|                             ExtractorLink( | ||||
|                                 this.name, | ||||
|                                 if (qual == "null") this.name else "${this.name} - " + qual + "p", | ||||
|                                 name = this.name, | ||||
|                                 href, | ||||
|                                 page.url, | ||||
|                                 getQualityFromName(qual), | ||||
|  |  | |||
|  | @ -35,7 +35,7 @@ open class VoeExtractor : ExtractorApi() { | |||
|                 if (!linkUrl.isNullOrEmpty()) { | ||||
|                     extractedLinksList.add( | ||||
|                         ExtractorLink( | ||||
|                             name = "Voe $linkLabel", | ||||
|                             name = this.name, | ||||
|                             source = this.name, | ||||
|                             url = linkUrl, | ||||
|                             quality = getQualityFromName(linkLabel), | ||||
|  |  | |||
|  | @ -26,13 +26,12 @@ open class WatchSB : ExtractorApi() { | |||
|             ), true | ||||
|         ) | ||||
|             .map { stream -> | ||||
|                 val qualityString = if ((stream.quality ?: 0) == 0) "" else "${stream.quality}p" | ||||
|                 ExtractorLink( | ||||
|                     name, | ||||
|                     "$name $qualityString", | ||||
|                     name = name, | ||||
|                     stream.streamUrl, | ||||
|                     url, | ||||
|                     getQualityFromName(stream.quality.toString()), | ||||
|                     getQualityFromName(stream.quality?.toString()), | ||||
|                     true | ||||
|                 ) | ||||
|             } | ||||
|  |  | |||
|  | @ -99,7 +99,7 @@ open class WcoStream : ExtractorApi() { | |||
|                                 sources.add( | ||||
|                                     ExtractorLink( | ||||
|                                         "VidStream", | ||||
|                                         "VidStream $quality", | ||||
|                                         "VidStream", | ||||
|                                         serverurl, | ||||
|                                         url, | ||||
|                                         getQualityFromName(quality), | ||||
|  | @ -117,15 +117,13 @@ open class WcoStream : ExtractorApi() { | |||
|                     hlsHelper.m3u8Generation(M3u8Helper.M3u8Stream(it.file.replace("#.mp4",""), null, | ||||
|                     headers = mapOf("Referer" to url)), true) | ||||
|                         .forEach { stream -> | ||||
|                             val qualityString = | ||||
|                                 if ((stream.quality ?: 0) == 0) "" else "${stream.quality}p" | ||||
|                             sources.add( | ||||
|                                 ExtractorLink( | ||||
|                                     name, | ||||
|                                     "$name $qualityString", | ||||
|                                     name = name, | ||||
|                                     stream.streamUrl, | ||||
|                                     url, | ||||
|                                     getQualityFromName(stream.quality.toString()), | ||||
|                                     getQualityFromName(stream.quality?.toString()), | ||||
|                                     true, | ||||
|                                 ) | ||||
|                             ) | ||||
|  | @ -134,7 +132,7 @@ open class WcoStream : ExtractorApi() { | |||
|                     sources.add( | ||||
|                         ExtractorLink( | ||||
|                             name, | ||||
|                             name + if (it.label != null) " - ${it.label}" else "", | ||||
|                             name = name, | ||||
|                             it.file, | ||||
|                             "", | ||||
|                             Qualities.P720.value, | ||||
|  |  | |||
|  | @ -48,7 +48,7 @@ open class XStreamCdn : ExtractorApi() { | |||
|                         extractedLinksList.add( | ||||
|                             ExtractorLink( | ||||
|                                 name, | ||||
|                                 "$name ${data.label}", | ||||
|                                 name = name, | ||||
|                                 data.file, | ||||
|                                 url, | ||||
|                                 getQualityFromName(data.label), | ||||
|  |  | |||
|  | @ -44,13 +44,12 @@ open class ZplayerV2 : ExtractorApi() { | |||
|                                 ), true | ||||
|                             ) | ||||
|                                 .map { stream -> | ||||
|                                     val qualityString = if ((stream.quality ?: 0) == 0) "" else "${stream.quality}p" | ||||
|                                     sources.add(  ExtractorLink( | ||||
|                                         name, | ||||
|                                         "$name $qualityString", | ||||
|                                         source = name, | ||||
|                                         name = name, | ||||
|                                         stream.streamUrl, | ||||
|                                         url, | ||||
|                                         getQualityFromName(stream.quality.toString()), | ||||
|                                         getQualityFromName(stream.quality?.toString()), | ||||
|                                         true | ||||
|                                     )) | ||||
|                                 } | ||||
|  |  | |||
|  | @ -265,7 +265,8 @@ class GeneratorPlayer : FullScreenPlayer() { | |||
|                         ArrayAdapter<String>(ctx, R.layout.sort_bottom_single_choice) | ||||
| 
 | ||||
|                     sourcesArrayAdapter.addAll(sortedUrls.map { | ||||
|                         it.first?.name ?: it.second?.name ?: "NULL" | ||||
|                         val name = it.first?.name ?: it.second?.name ?: "NULL" | ||||
|                         "$name ${Qualities.getStringByInt(it.first?.quality)}" | ||||
|                     }) | ||||
| 
 | ||||
|                     providerList.choiceMode = AbsListView.CHOICE_MODE_SINGLE | ||||
|  |  | |||
|  | @ -51,10 +51,27 @@ enum class Qualities(var value: Int) { | |||
|     P720(1), // 720p | ||||
|     P1080(2), // 1080p | ||||
|     P1440(3), // 1440p | ||||
|     P2160(4) // 4k or 2160p | ||||
|     P2160(4); // 4k or 2160p | ||||
| 
 | ||||
|     companion object { | ||||
|         fun getStringByInt(qual: Int?) : String { | ||||
|             return when (qual) { | ||||
|                 P360.value -> "360p" | ||||
|                 P480.value -> "480p" | ||||
|                 P720.value -> "720p" | ||||
|                 P1080.value -> "1080p" | ||||
|                 P1440.value -> "1440p" | ||||
|                 P2160.value -> "2160p/4k" | ||||
|                 else -> "" | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| fun getQualityFromName(qualityName: String): Int { | ||||
| fun getQualityFromName(qualityName: String?): Int { | ||||
|     if (qualityName == null) { | ||||
|         return Qualities.Unknown.value | ||||
|     } | ||||
|     return when (qualityName.replace("p", "").replace("P", "").trim()) { | ||||
|         "360" -> Qualities.P360 | ||||
|         "480" -> Qualities.P480 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue