mirror of
https://github.com/Suwayomi/Suwayomi-Server.git
synced 2026-07-04 03:14:40 -05:00
convert EditTextPreference to json successfully
This commit is contained in:
@@ -8,18 +8,22 @@ package androidx.preference;
|
|||||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
|
||||||
/** A minimal implementation of androidx.preference.Preference */
|
/** A minimal implementation of androidx.preference.Preference */
|
||||||
public class Preference {
|
public class Preference {
|
||||||
// reference: https://android.googlesource.com/platform/frameworks/support/+/996971f962fcd554339a7cb2859cef9ca89dbcb7/preference/preference/src/main/java/androidx/preference/Preference.java
|
// reference: https://android.googlesource.com/platform/frameworks/support/+/996971f962fcd554339a7cb2859cef9ca89dbcb7/preference/preference/src/main/java/androidx/preference/Preference.java
|
||||||
// Note: `Preference` doesn't actually hold or persist the value, `OnPreferenceChangeListener` is called and it's up to the extension to persist it.
|
// Note: `Preference` doesn't actually hold or persist the value, `OnPreferenceChangeListener` is called and it's up to the extension to persist it.
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
protected Context context;
|
protected Context context;
|
||||||
|
|
||||||
private String key;
|
private String key;
|
||||||
private CharSequence title;
|
private CharSequence title;
|
||||||
private Object defaultValue;
|
private Object defaultValue;
|
||||||
private OnPreferenceChangeListener onChangeListener;
|
|
||||||
|
@JsonIgnore
|
||||||
|
public OnPreferenceChangeListener onChangeListener;
|
||||||
|
|
||||||
public Preference(Context context) {
|
public Preference(Context context) {
|
||||||
this.context = context;
|
this.context = context;
|
||||||
@@ -29,7 +33,6 @@ public class Preference {
|
|||||||
return context;
|
return context;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getKey() {
|
public String getKey() {
|
||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
@@ -54,6 +57,10 @@ public class Preference {
|
|||||||
return onChangeListener == null || onChangeListener.onPreferenceChange(this, newValue);
|
return onChangeListener == null || onChangeListener.onPreferenceChange(this, newValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Object getDefaultValue() {
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
public interface OnPreferenceChangeListener {
|
public interface OnPreferenceChangeListener {
|
||||||
boolean onPreferenceChange(Preference preference, Object newValue);
|
boolean onPreferenceChange(Preference preference, Object newValue);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,5 +84,8 @@ configure(projects) {
|
|||||||
|
|
||||||
// APK parser
|
// APK parser
|
||||||
implementation("net.dongliu:apk-parser:2.6.10")
|
implementation("net.dongliu:apk-parser:2.6.10")
|
||||||
|
|
||||||
|
// Jackson
|
||||||
|
implementation("com.fasterxml.jackson.core:jackson-annotations:2.10.3")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -58,7 +58,12 @@ object Source {
|
|||||||
|
|
||||||
private val context by DI.global.instance<CustomContext>()
|
private val context by DI.global.instance<CustomContext>()
|
||||||
|
|
||||||
fun getSourcePreferences(sourceId: Long) {
|
data class PreferenceObject(
|
||||||
|
val type: String,
|
||||||
|
val props: Any
|
||||||
|
)
|
||||||
|
|
||||||
|
fun getSourcePreferences(sourceId: Long): List<PreferenceObject> {
|
||||||
val source = getHttpSource(sourceId)
|
val source = getHttpSource(sourceId)
|
||||||
|
|
||||||
if (source is ConfigurableSource) {
|
if (source is ConfigurableSource) {
|
||||||
@@ -66,7 +71,10 @@ object Source {
|
|||||||
|
|
||||||
source.setupPreferenceScreen(screen)
|
source.setupPreferenceScreen(screen)
|
||||||
|
|
||||||
screen.preferences.forEach { println(it) }
|
return screen.preferences.map {
|
||||||
|
PreferenceObject(it::class.java.name, it)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return emptyList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
package suwayomi.tachidesk.server
|
package suwayomi.tachidesk.server
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) Contributors to the Suwayomi project
|
||||||
|
*
|
||||||
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
import io.javalin.Javalin
|
import io.javalin.Javalin
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -13,13 +20,6 @@ import java.io.IOException
|
|||||||
import java.util.concurrent.CompletableFuture
|
import java.util.concurrent.CompletableFuture
|
||||||
import kotlin.concurrent.thread
|
import kotlin.concurrent.thread
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) Contributors to the Suwayomi project
|
|
||||||
*
|
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
||||||
|
|
||||||
object JavalinSetup {
|
object JavalinSetup {
|
||||||
private val logger = KotlinLogging.logger {}
|
private val logger = KotlinLogging.logger {}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user