Add support for AndroidX preferences (#1971)
* Add stubs for AndroidX preferences * Update extensions for AndroidX preferences
This commit is contained in:
		
							parent
							
								
									e9d1479dd0
								
							
						
					
					
						commit
						98df581cfd
					
				@ -1,10 +1,7 @@
 | 
			
		||||
package android.support.v7.preference;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Created by Carlos on 5/9/2018.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
public abstract class DialogPreference extends Preference {
 | 
			
		||||
 | 
			
		||||
    public CharSequence getDialogTitle() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
@ -20,4 +17,5 @@ public abstract class DialogPreference extends Preference {
 | 
			
		||||
    public void setDialogMessage(CharSequence dialogMessage) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@ package android.support.v7.preference;
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
 | 
			
		||||
public class EditTextPreference extends DialogPreference {
 | 
			
		||||
 | 
			
		||||
    public EditTextPreference(Context context) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
@ -14,4 +15,5 @@ public class EditTextPreference extends DialogPreference {
 | 
			
		||||
    public void setText(String text) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -2,21 +2,17 @@ package android.support.v7.preference;
 | 
			
		||||
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Created by Carlos on 5/9/2018.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
public class ListPreference extends Preference {
 | 
			
		||||
 | 
			
		||||
    public ListPreference(Context context) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setEntries(CharSequence[] entries) {
 | 
			
		||||
    public CharSequence[] getEntries() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public CharSequence[] getEntries() {
 | 
			
		||||
    public void setEntries(CharSequence[] entries) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -24,11 +20,11 @@ public class ListPreference extends Preference {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setEntryValues(CharSequence[] entryValues) {
 | 
			
		||||
    public CharSequence[] getEntryValues() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public CharSequence[] getEntryValues() {
 | 
			
		||||
    public void setEntryValues(CharSequence[] entryValues) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -43,4 +39,5 @@ public class ListPreference extends Preference {
 | 
			
		||||
    public void setValue(String value) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,13 +1,6 @@
 | 
			
		||||
package android.support.v7.preference;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Created by Carlos on 5/9/2018.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
public class Preference {
 | 
			
		||||
    public interface OnPreferenceChangeListener {
 | 
			
		||||
        boolean onPreferenceChange(Preference preference, Object newValue);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setOnPreferenceChangeListener(OnPreferenceChangeListener onPreferenceChangeListener) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
@ -29,7 +22,7 @@ public class Preference {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setKey(String key) {
 | 
			
		||||
    public void setSummary(CharSequence summary) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -37,7 +30,7 @@ public class Preference {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setSummary(CharSequence summary) {
 | 
			
		||||
    public void setKey(String key) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -45,7 +38,12 @@ public class Preference {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public interface OnPreferenceChangeListener {
 | 
			
		||||
        boolean onPreferenceChange(Preference preference, Object newValue);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public interface OnPreferenceClickListener {
 | 
			
		||||
        boolean onPreferenceClick(Preference preference);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -2,11 +2,7 @@ package android.support.v7.preference;
 | 
			
		||||
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Created by Carlos on 5/7/2018.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
public class PreferenceScreen{
 | 
			
		||||
public class PreferenceScreen {
 | 
			
		||||
 | 
			
		||||
    public boolean addPreference(Preference preference) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
@ -15,4 +11,5 @@ public class PreferenceScreen{
 | 
			
		||||
    public Context getContext() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,21 @@
 | 
			
		||||
package androidx.preference;
 | 
			
		||||
 | 
			
		||||
public abstract class DialogPreference extends Preference {
 | 
			
		||||
 | 
			
		||||
    public CharSequence getDialogTitle() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setDialogTitle(CharSequence dialogTitle) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public CharSequence getDialogMessage() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setDialogMessage(CharSequence dialogMessage) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,19 @@
 | 
			
		||||
package androidx.preference;
 | 
			
		||||
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
 | 
			
		||||
public class EditTextPreference extends DialogPreference {
 | 
			
		||||
 | 
			
		||||
    public EditTextPreference(Context context) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getText() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setText(String text) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,43 @@
 | 
			
		||||
package androidx.preference;
 | 
			
		||||
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
 | 
			
		||||
public class ListPreference extends Preference {
 | 
			
		||||
 | 
			
		||||
    public ListPreference(Context context) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public CharSequence[] getEntries() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setEntries(CharSequence[] entries) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public int findIndexOfValue(String value) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public CharSequence[] getEntryValues() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setEntryValues(CharSequence[] entryValues) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setValueIndex(int index) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getValue() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setValue(String value) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,49 @@
 | 
			
		||||
package androidx.preference;
 | 
			
		||||
 | 
			
		||||
public class Preference {
 | 
			
		||||
 | 
			
		||||
    public void setOnPreferenceChangeListener(OnPreferenceChangeListener onPreferenceChangeListener) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setOnPreferenceClickListener(OnPreferenceClickListener onPreferenceClickListener) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public CharSequence getTitle() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setTitle(CharSequence title) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public CharSequence getSummary() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setSummary(CharSequence summary) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getKey() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setKey(String key) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setDefaultValue(Object defaultValue) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public interface OnPreferenceChangeListener {
 | 
			
		||||
        boolean onPreferenceChange(Preference preference, Object newValue);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public interface OnPreferenceClickListener {
 | 
			
		||||
        boolean onPreferenceClick(Preference preference);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,15 @@
 | 
			
		||||
package androidx.preference;
 | 
			
		||||
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
 | 
			
		||||
public class PreferenceScreen {
 | 
			
		||||
 | 
			
		||||
    public boolean addPreference(Preference preference) {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Context getContext() {
 | 
			
		||||
        throw new RuntimeException("Stub!");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -1,13 +1,9 @@
 | 
			
		||||
package eu.kanade.tachiyomi.source;
 | 
			
		||||
 | 
			
		||||
import android.support.v7.preference.PreferenceScreen;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Created by Carlos on 5/7/2018.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
public interface ConfigurableSource {
 | 
			
		||||
 | 
			
		||||
    void setupPreferenceScreen(PreferenceScreen screen);
 | 
			
		||||
    void setupPreferenceScreen(android.support.v7.preference.PreferenceScreen screen);
 | 
			
		||||
 | 
			
		||||
    void setupPreferenceScreen(androidx.preference.PreferenceScreen screen);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: Komga'
 | 
			
		||||
    pkgNameSuffix = 'all.komga'
 | 
			
		||||
    extClass = '.Komga'
 | 
			
		||||
    extVersionCode = 5
 | 
			
		||||
    extVersionCode = 6
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -190,13 +190,41 @@ open class Komga : ConfigurableSource, HttpSource() {
 | 
			
		||||
            }
 | 
			
		||||
            .build()
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
    override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) {
 | 
			
		||||
        screen.addPreference(screen.editTextPreference(ADDRESS_TITLE, ADDRESS_DEFAULT, baseUrl))
 | 
			
		||||
        screen.addPreference(screen.editTextPreference(USERNAME_TITLE, USERNAME_DEFAULT, username))
 | 
			
		||||
        screen.addPreference(screen.editTextPreference(PASSWORD_TITLE, PASSWORD_DEFAULT, password))
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun PreferenceScreen.editTextPreference(title: String, default: String, value: String): EditTextPreference {
 | 
			
		||||
    private fun androidx.preference.PreferenceScreen.editTextPreference(title: String, default: String, value: String): androidx.preference.EditTextPreference {
 | 
			
		||||
        return androidx.preference.EditTextPreference(context).apply {
 | 
			
		||||
            key = title
 | 
			
		||||
            this.title = title
 | 
			
		||||
            summary = value
 | 
			
		||||
            this.setDefaultValue(default)
 | 
			
		||||
            dialogTitle = title
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                try {
 | 
			
		||||
                    val res = preferences.edit().putString(title, newValue as String).commit()
 | 
			
		||||
                    Toast.makeText(context, "Restart Tachiyomi to apply new setting."
 | 
			
		||||
                        , Toast.LENGTH_LONG).show()
 | 
			
		||||
                    res
 | 
			
		||||
                } catch (e: Exception) {
 | 
			
		||||
                    e.printStackTrace()
 | 
			
		||||
                    false
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
        screen.addPreference(screen.supportEditTextPreference(ADDRESS_TITLE, ADDRESS_DEFAULT, baseUrl))
 | 
			
		||||
        screen.addPreference(screen.supportEditTextPreference(USERNAME_TITLE, USERNAME_DEFAULT, username))
 | 
			
		||||
        screen.addPreference(screen.supportEditTextPreference(PASSWORD_TITLE, PASSWORD_DEFAULT, password))
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun PreferenceScreen.supportEditTextPreference(title: String, default: String, value: String): EditTextPreference {
 | 
			
		||||
        return EditTextPreference(context).apply {
 | 
			
		||||
            key = title
 | 
			
		||||
            this.title = title
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: MangaDex'
 | 
			
		||||
    pkgNameSuffix = 'all.mangadex'
 | 
			
		||||
    extClass = '.MangadexFactory'
 | 
			
		||||
    extVersionCode = 73
 | 
			
		||||
    extVersionCode = 74
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -581,6 +581,55 @@ abstract class Mangadex(
 | 
			
		||||
        return baseUrl + attr
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) {
 | 
			
		||||
        val myPref = androidx.preference.ListPreference(screen.context).apply {
 | 
			
		||||
            key = SHOW_R18_PREF_Title
 | 
			
		||||
            title = SHOW_R18_PREF_Title
 | 
			
		||||
 | 
			
		||||
            title = SHOW_R18_PREF_Title
 | 
			
		||||
            entries = arrayOf("Show No R18+", "Show All", "Show Only R18+")
 | 
			
		||||
            entryValues = arrayOf("0", "1", "2")
 | 
			
		||||
            summary = "%s"
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                val selected = newValue as String
 | 
			
		||||
                val index = this.findIndexOfValue(selected)
 | 
			
		||||
                preferences.edit().putInt(SHOW_R18_PREF, index).commit()
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        val thumbsPref = androidx.preference.ListPreference(screen.context).apply {
 | 
			
		||||
            key = SHOW_THUMBNAIL_PREF_Title
 | 
			
		||||
            title = SHOW_THUMBNAIL_PREF_Title
 | 
			
		||||
            entries = arrayOf("Show high quality", "Show low quality")
 | 
			
		||||
            entryValues = arrayOf("0", "1")
 | 
			
		||||
            summary = "%s"
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                val selected = newValue as String
 | 
			
		||||
                val index = this.findIndexOfValue(selected)
 | 
			
		||||
                preferences.edit().putInt(SHOW_THUMBNAIL_PREF, index).commit()
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        val serverPref = androidx.preference.ListPreference(screen.context).apply {
 | 
			
		||||
            key = SERVER_PREF_Title
 | 
			
		||||
            title = SERVER_PREF_Title
 | 
			
		||||
            entries = SERVER_PREF_ENTRIES
 | 
			
		||||
            entryValues = SERVER_PREF_ENTRY_VALUES
 | 
			
		||||
            summary = "%s"
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                val selected = newValue as String
 | 
			
		||||
                val index = this.findIndexOfValue(selected)
 | 
			
		||||
                val entry = entryValues[index] as String
 | 
			
		||||
                preferences.edit().putString(SERVER_PREF, entry).commit()
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        screen.addPreference(myPref)
 | 
			
		||||
        screen.addPreference(thumbsPref)
 | 
			
		||||
        screen.addPreference(serverPref)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
        val myPref = ListPreference(screen.context).apply {
 | 
			
		||||
            key = SHOW_R18_PREF_Title
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: NHentai'
 | 
			
		||||
    pkgNameSuffix = 'all.nhentai'
 | 
			
		||||
    extClass = '.NHFactory'
 | 
			
		||||
    extVersionCode = 15
 | 
			
		||||
    extVersionCode = 16
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -57,6 +57,29 @@ open class NHentai(
 | 
			
		||||
        else -> false
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) {
 | 
			
		||||
        val serverPref = androidx.preference.ListPreference(screen.context).apply {
 | 
			
		||||
            key = TITLE_PREF
 | 
			
		||||
            title = TITLE_PREF
 | 
			
		||||
            entries = arrayOf("Full Title", "Short Title")
 | 
			
		||||
            entryValues = arrayOf("full", "short")
 | 
			
		||||
            summary = "%s"
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                displayFullTitle = when(newValue){
 | 
			
		||||
                    "full" -> true
 | 
			
		||||
                    else -> false
 | 
			
		||||
                }
 | 
			
		||||
                true
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if(!preferences.contains(TITLE_PREF))
 | 
			
		||||
            preferences.edit().putString(TITLE_PREF, "full").apply()
 | 
			
		||||
 | 
			
		||||
        screen.addPreference(serverPref)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
        val serverPref = ListPreference(screen.context).apply {
 | 
			
		||||
            key = TITLE_PREF
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: WP Manga Stream'
 | 
			
		||||
    pkgNameSuffix = 'all.wpmangastream'
 | 
			
		||||
    extClass = '.WPMangaStreamFactory'
 | 
			
		||||
    extVersionCode = 2
 | 
			
		||||
    extVersionCode = 3
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -35,8 +35,24 @@ abstract class WPMangaStream(override val name: String, override val baseUrl: St
 | 
			
		||||
        Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
    override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) {
 | 
			
		||||
        val thumbsPref = androidx.preference.ListPreference(screen.context).apply {
 | 
			
		||||
            key = SHOW_THUMBNAIL_PREF_Title
 | 
			
		||||
            title = SHOW_THUMBNAIL_PREF_Title
 | 
			
		||||
            entries = arrayOf("Show high quality", "Show mid quality", "Show low quality")
 | 
			
		||||
            entryValues = arrayOf("0", "1", "2")
 | 
			
		||||
            summary = "%s"
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                val selected = newValue as String
 | 
			
		||||
                val index = this.findIndexOfValue(selected)
 | 
			
		||||
                preferences.edit().putInt(SHOW_THUMBNAIL_PREF, index).commit()
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        screen.addPreference(thumbsPref)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
        val thumbsPref = ListPreference(screen.context).apply {
 | 
			
		||||
            key = SHOW_THUMBNAIL_PREF_Title
 | 
			
		||||
            title = SHOW_THUMBNAIL_PREF_Title
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: Guya'
 | 
			
		||||
    pkgNameSuffix = "en.guya"
 | 
			
		||||
    extClass = '.Guya'
 | 
			
		||||
    extVersionCode = 7
 | 
			
		||||
    extVersionCode = 8
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -163,6 +163,32 @@ open class Guya() : ConfigurableSource, HttpSource() {
 | 
			
		||||
        return parseManga(truncatedJSON)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) {
 | 
			
		||||
        val preference = androidx.preference.ListPreference(screen.context).apply {
 | 
			
		||||
            key = "preferred_scanlator"
 | 
			
		||||
            title = "Preferred scanlator"
 | 
			
		||||
            entries = arrayOf<String>()
 | 
			
		||||
            entryValues = arrayOf<String>()
 | 
			
		||||
            for (key in Scanlators.keys()) {
 | 
			
		||||
                entries += Scanlators.getValueFromKey(key)
 | 
			
		||||
                entryValues += key
 | 
			
		||||
            }
 | 
			
		||||
            summary = "Current: %s\n\n" +
 | 
			
		||||
                "This setting sets the scanlation group to prioritize " +
 | 
			
		||||
                "on chapter refresh/update. It will get the next available if " +
 | 
			
		||||
                "your preferred scanlator isn't an option (yet)."
 | 
			
		||||
 | 
			
		||||
            this.setDefaultValue("1")
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener{_, newValue ->
 | 
			
		||||
                val selected = newValue.toString()
 | 
			
		||||
                preferences.edit().putString(SCANLATOR_PREFERENCE, selected).commit()
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        screen.addPreference(preference)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
        val preference = ListPreference(screen.context).apply {
 | 
			
		||||
            key = "preferred_scanlator"
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: MangaKisa'
 | 
			
		||||
    pkgNameSuffix = 'en.mangakisa'
 | 
			
		||||
    extClass = '.MangaKisa'
 | 
			
		||||
    extVersionCode = 1
 | 
			
		||||
    extVersionCode = 2
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -141,7 +141,7 @@ class MangaKisa : ConfigurableSource, ParsedHttpSource() {
 | 
			
		||||
 | 
			
		||||
        return pages
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    override fun imageUrlRequest(page: Page) = throw Exception("Not used")
 | 
			
		||||
    override fun imageUrlParse(document: Document) = throw Exception("Not used")
 | 
			
		||||
 | 
			
		||||
@ -210,8 +210,41 @@ class MangaKisa : ConfigurableSource, ParsedHttpSource() {
 | 
			
		||||
        Pair("yaoi", "Yaoi "),
 | 
			
		||||
        Pair("yuri", "Yuri ")
 | 
			
		||||
        ))
 | 
			
		||||
    
 | 
			
		||||
    // Preferences Code 
 | 
			
		||||
 | 
			
		||||
    // Preferences Code
 | 
			
		||||
    override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) {
 | 
			
		||||
        val popularmangapref = androidx.preference.ListPreference(screen.context).apply {
 | 
			
		||||
            key = BROWSE_PREF_Title
 | 
			
		||||
            title = BROWSE_PREF_Title
 | 
			
		||||
            entries = arrayOf("Weekly", "All Time")
 | 
			
		||||
            entryValues = arrayOf("popular", "popular-alltime")
 | 
			
		||||
            summary = "%s"
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                val selected = newValue as String
 | 
			
		||||
                val index = this.findIndexOfValue(selected)
 | 
			
		||||
                val entry = entryValues.get(index) as String
 | 
			
		||||
                preferences.edit().putString(BROWSE_PREF, entry).commit()
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        val latestmangapref = androidx.preference.ListPreference(screen.context).apply {
 | 
			
		||||
            key = LATEST_PREF_Title
 | 
			
		||||
            title = LATEST_PREF_Title
 | 
			
		||||
            entries = arrayOf("Popular Updates", "All Updates")
 | 
			
		||||
            entryValues = arrayOf("latest", "all-updates/latest")
 | 
			
		||||
            summary = "%s"
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                val selected = newValue as String
 | 
			
		||||
                val index = this.findIndexOfValue(selected)
 | 
			
		||||
                val entry = entryValues.get(index) as String
 | 
			
		||||
                preferences.edit().putString(LATEST_PREF, entry).commit()
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        screen.addPreference(popularmangapref)
 | 
			
		||||
        screen.addPreference(latestmangapref)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
        val popularmangapref = ListPreference(screen.context).apply {
 | 
			
		||||
            key = BROWSE_PREF_Title
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: LectorManga'
 | 
			
		||||
    pkgNameSuffix = 'es.lectormanga'
 | 
			
		||||
    extClass = '.LectorManga'
 | 
			
		||||
    extVersionCode = 3
 | 
			
		||||
    extVersionCode = 4
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -408,6 +408,24 @@ class LectorManga : ConfigurableSource, ParsedHttpSource() {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Preferences Code
 | 
			
		||||
    override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) {
 | 
			
		||||
        val deduppref = androidx.preference.ListPreference(screen.context).apply {
 | 
			
		||||
            key = DEDUP_PREF_Title
 | 
			
		||||
            title = DEDUP_PREF_Title
 | 
			
		||||
            entries = arrayOf("All scanlators", "One scanlator per chapter")
 | 
			
		||||
            entryValues = arrayOf("all", "one")
 | 
			
		||||
            summary = "%s"
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                val selected = newValue as String
 | 
			
		||||
                val index = this.findIndexOfValue(selected)
 | 
			
		||||
                val entry = entryValues.get(index) as String
 | 
			
		||||
                preferences.edit().putString(DEDUP_PREF, entry).commit()
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        screen.addPreference(deduppref)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
        val deduppref = ListPreference(screen.context).apply {
 | 
			
		||||
            key = DEDUP_PREF_Title
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: TuMangaOnline'
 | 
			
		||||
    pkgNameSuffix = 'es.tumangaonline'
 | 
			
		||||
    extClass = '.TuMangaOnline'
 | 
			
		||||
    extVersionCode = 13
 | 
			
		||||
    extVersionCode = 14
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -38,7 +38,7 @@ class TuMangaOnline : ConfigurableSource, ParsedHttpSource() {
 | 
			
		||||
        .retryOnConnectionFailure(true)
 | 
			
		||||
        .followRedirects(true)
 | 
			
		||||
        .build()!!
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    private val userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0"
 | 
			
		||||
 | 
			
		||||
    override fun headersBuilder(): Headers.Builder {
 | 
			
		||||
@ -421,6 +421,24 @@ class TuMangaOnline : ConfigurableSource, ParsedHttpSource() {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Preferences Code
 | 
			
		||||
    override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) {
 | 
			
		||||
        val deduppref = androidx.preference.ListPreference(screen.context).apply {
 | 
			
		||||
            key = DEDUP_PREF_Title
 | 
			
		||||
            title = DEDUP_PREF_Title
 | 
			
		||||
            entries = arrayOf("All scanlators", "One scanlator per chapter")
 | 
			
		||||
            entryValues = arrayOf("all", "one")
 | 
			
		||||
            summary = "%s"
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                val selected = newValue as String
 | 
			
		||||
                val index = this.findIndexOfValue(selected)
 | 
			
		||||
                val entry = entryValues.get(index) as String
 | 
			
		||||
                preferences.edit().putString(DEDUP_PREF, entry).commit()
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        screen.addPreference(deduppref)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
        val deduppref = ListPreference(screen.context).apply {
 | 
			
		||||
            key = DEDUP_PREF_Title
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: ManaMoa'
 | 
			
		||||
    pkgNameSuffix = 'ko.mangashowme'
 | 
			
		||||
    extClass = '.ManaMoa'
 | 
			
		||||
    extVersionCode = 14
 | 
			
		||||
    extVersionCode = 15
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -267,6 +267,30 @@ class ManaMoa : ConfigurableSource, ParsedHttpSource() {
 | 
			
		||||
        Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) {
 | 
			
		||||
        val baseUrlPref = androidx.preference.EditTextPreference(screen.context).apply {
 | 
			
		||||
            key = BASE_URL_PREF_TITLE
 | 
			
		||||
            title = BASE_URL_PREF_TITLE
 | 
			
		||||
            summary = BASE_URL_PREF_SUMMARY
 | 
			
		||||
            this.setDefaultValue(defaultBaseUrl)
 | 
			
		||||
            dialogTitle = BASE_URL_PREF_TITLE
 | 
			
		||||
            dialogMessage = "Default: $defaultBaseUrl"
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                try {
 | 
			
		||||
                    val res = preferences.edit().putString(BASE_URL_PREF, newValue as String).commit()
 | 
			
		||||
                    Toast.makeText(screen.context, RESTART_TACHIYOMI, Toast.LENGTH_LONG).show()
 | 
			
		||||
                    res
 | 
			
		||||
                } catch (e: Exception) {
 | 
			
		||||
                    e.printStackTrace()
 | 
			
		||||
                    false
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        screen.addPreference(baseUrlPref)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
        val baseUrlPref = EditTextPreference(screen.context).apply {
 | 
			
		||||
            key = BASE_URL_PREF_TITLE
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: NewToki'
 | 
			
		||||
    pkgNameSuffix = 'ko.newtoki'
 | 
			
		||||
    extClass = '.NewTokiFactory'
 | 
			
		||||
    extVersionCode = 10
 | 
			
		||||
    extVersionCode = 11
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -198,6 +198,30 @@ open class NewToki(override val name: String, private val defaultBaseUrl: String
 | 
			
		||||
        Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) {
 | 
			
		||||
        val baseUrlPref = androidx.preference.EditTextPreference(screen.context).apply {
 | 
			
		||||
            key = BASE_URL_PREF_TITLE
 | 
			
		||||
            title = BASE_URL_PREF_TITLE
 | 
			
		||||
            summary = BASE_URL_PREF_SUMMARY
 | 
			
		||||
            this.setDefaultValue(defaultBaseUrl)
 | 
			
		||||
            dialogTitle = BASE_URL_PREF_TITLE
 | 
			
		||||
            dialogMessage = "Default: $defaultBaseUrl"
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                try {
 | 
			
		||||
                    val res = preferences.edit().putString(BASE_URL_PREF, newValue as String).commit()
 | 
			
		||||
                    Toast.makeText(screen.context, RESTART_TACHIYOMI, Toast.LENGTH_LONG).show()
 | 
			
		||||
                    res
 | 
			
		||||
                } catch (e: Exception) {
 | 
			
		||||
                    e.printStackTrace()
 | 
			
		||||
                    false
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        screen.addPreference(baseUrlPref)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
        val baseUrlPref = EditTextPreference(screen.context).apply {
 | 
			
		||||
            key = BASE_URL_PREF_TITLE
 | 
			
		||||
@ -230,4 +254,4 @@ open class NewToki(override val name: String, private val defaultBaseUrl: String
 | 
			
		||||
        private const val BASE_URL_PREF_SUMMARY = "For temporary uses. Update extension will erase this setting."
 | 
			
		||||
        private const val RESTART_TACHIYOMI = "Restart Tachiyomi to apply new setting."
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@ ext {
 | 
			
		||||
    appName = 'Tachiyomi: MangaLib'
 | 
			
		||||
    pkgNameSuffix = 'ru.libmanga'
 | 
			
		||||
    extClass = '.LibManga'
 | 
			
		||||
    extVersionCode = 8
 | 
			
		||||
    extVersionCode = 9
 | 
			
		||||
    libVersion = '1.2'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -47,6 +47,29 @@ class LibManga : ConfigurableSource, HttpSource() {
 | 
			
		||||
 | 
			
		||||
    private val jsonParser = JsonParser()
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) {
 | 
			
		||||
        val serverPref = androidx.preference.ListPreference(screen.context).apply {
 | 
			
		||||
            key = SERVER_PREF
 | 
			
		||||
            title = SERVER_PREF_Title
 | 
			
		||||
            entries = arrayOf("Основной", "Второй")
 | 
			
		||||
            entryValues = arrayOf("main", "alt")
 | 
			
		||||
            summary = "%s"
 | 
			
		||||
 | 
			
		||||
            setOnPreferenceChangeListener { _, newValue ->
 | 
			
		||||
                imageServerUrl = when(newValue){
 | 
			
		||||
                    "main" -> "https://img2.mangalib.me"
 | 
			
		||||
                    else -> "https://img3.mangalib.me"
 | 
			
		||||
                }
 | 
			
		||||
                true
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if(!preferences.contains(SERVER_PREF))
 | 
			
		||||
            preferences.edit().putString(SERVER_PREF, "main").apply()
 | 
			
		||||
 | 
			
		||||
        screen.addPreference(serverPref)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun setupPreferenceScreen(screen: PreferenceScreen) {
 | 
			
		||||
        val serverPref = ListPreference(screen.context).apply {
 | 
			
		||||
            key = SERVER_PREF
 | 
			
		||||
 | 
			
		||||
@ -10,7 +10,6 @@ ext {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    compileOnly project(':preference-stub')
 | 
			
		||||
    compileOnly 'com.google.code.gson:gson:2.8.5'
 | 
			
		||||
    compileOnly 'com.github.salomonbrys.kotson:kotson:2.5.0'
 | 
			
		||||
    compileOnly 'com.github.inorichi.injekt:injekt-core:65b0440'
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user