Asurascans Hide Premium chapters (#6627)
* Hide Premium chapters * default true, Formatting
This commit is contained in:
		
							parent
							
								
									d65b847907
								
							
						
					
					
						commit
						f228ad572d
					
				@ -1,7 +1,7 @@
 | 
				
			|||||||
ext {
 | 
					ext {
 | 
				
			||||||
    extName = 'Asura Scans'
 | 
					    extName = 'Asura Scans'
 | 
				
			||||||
    extClass = '.AsuraScans'
 | 
					    extClass = '.AsuraScans'
 | 
				
			||||||
    extVersionCode = 43
 | 
					    extVersionCode = 44
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
apply from: "$rootDir/common.gradle"
 | 
					apply from: "$rootDir/common.gradle"
 | 
				
			||||||
 | 
				
			|||||||
@ -241,7 +241,8 @@ class AsuraScans : ParsedHttpSource(), ConfigurableSource {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    override fun chapterListRequest(manga: SManga) = mangaDetailsRequest(manga)
 | 
					    override fun chapterListRequest(manga: SManga) = mangaDetailsRequest(manga)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    override fun chapterListSelector() = "div.scrollbar-thumb-themecolor > div.group"
 | 
					    override fun chapterListSelector() =
 | 
				
			||||||
 | 
					        if (preferences.hidePremiumChapters()) "div.scrollbar-thumb-themecolor > div.group:not(:has(svg))" else "div.scrollbar-thumb-themecolor > div.group"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    override fun chapterFromElement(element: Element) = SChapter.create().apply {
 | 
					    override fun chapterFromElement(element: Element) = SChapter.create().apply {
 | 
				
			||||||
        setUrlWithoutDomain(element.selectFirst("a")!!.attr("abs:href").toPermSlugIfNeeded())
 | 
					        setUrlWithoutDomain(element.selectFirst("a")!!.attr("abs:href").toPermSlugIfNeeded())
 | 
				
			||||||
@ -288,6 +289,13 @@ class AsuraScans : ParsedHttpSource(), ConfigurableSource {
 | 
				
			|||||||
            summary = "Automatically update random numbers in manga URLs.\nHelps mitigating HTTP 404 errors during update and \"in library\" marks when browsing.\nNote: This setting may require clearing database in advanced settings and migrating all manga to the same source."
 | 
					            summary = "Automatically update random numbers in manga URLs.\nHelps mitigating HTTP 404 errors during update and \"in library\" marks when browsing.\nNote: This setting may require clearing database in advanced settings and migrating all manga to the same source."
 | 
				
			||||||
            setDefaultValue(true)
 | 
					            setDefaultValue(true)
 | 
				
			||||||
        }.let(screen::addPreference)
 | 
					        }.let(screen::addPreference)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        SwitchPreferenceCompat(screen.context).apply {
 | 
				
			||||||
 | 
					            key = PREF_HIDE_PREMIUM_CHAPTERS
 | 
				
			||||||
 | 
					            title = "Hide premium chapters"
 | 
				
			||||||
 | 
					            summary = "Hides the chapters that require a subscription to view"
 | 
				
			||||||
 | 
					            setDefaultValue(true)
 | 
				
			||||||
 | 
					        }.let(screen::addPreference)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private var SharedPreferences.slugMap: MutableMap<String, String>
 | 
					    private var SharedPreferences.slugMap: MutableMap<String, String>
 | 
				
			||||||
@ -306,6 +314,10 @@ class AsuraScans : ParsedHttpSource(), ConfigurableSource {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private fun SharedPreferences.dynamicUrl(): Boolean = getBoolean(PREF_DYNAMIC_URL, true)
 | 
					    private fun SharedPreferences.dynamicUrl(): Boolean = getBoolean(PREF_DYNAMIC_URL, true)
 | 
				
			||||||
 | 
					    private fun SharedPreferences.hidePremiumChapters(): Boolean = getBoolean(
 | 
				
			||||||
 | 
					        PREF_HIDE_PREMIUM_CHAPTERS,
 | 
				
			||||||
 | 
					        true,
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private fun String.toPermSlugIfNeeded(): String {
 | 
					    private fun String.toPermSlugIfNeeded(): String {
 | 
				
			||||||
        if (!preferences.dynamicUrl()) return this
 | 
					        if (!preferences.dynamicUrl()) return this
 | 
				
			||||||
@ -327,5 +339,6 @@ class AsuraScans : ParsedHttpSource(), ConfigurableSource {
 | 
				
			|||||||
        private val OLD_FORMAT_CHAPTER_REGEX = """^/(\d+-)?[^/]*-chapter-\d+(-\d+)*/?$""".toRegex()
 | 
					        private val OLD_FORMAT_CHAPTER_REGEX = """^/(\d+-)?[^/]*-chapter-\d+(-\d+)*/?$""".toRegex()
 | 
				
			||||||
        private const val PREF_SLUG_MAP = "pref_slug_map_2"
 | 
					        private const val PREF_SLUG_MAP = "pref_slug_map_2"
 | 
				
			||||||
        private const val PREF_DYNAMIC_URL = "pref_dynamic_url"
 | 
					        private const val PREF_DYNAMIC_URL = "pref_dynamic_url"
 | 
				
			||||||
 | 
					        private const val PREF_HIDE_PREMIUM_CHAPTERS = "pref_hide_premium_chapters"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user