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/. */
|
||||
|
||||
import android.content.Context;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
/** A minimal implementation of androidx.preference.Preference */
|
||||
public class Preference {
|
||||
// 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.
|
||||
|
||||
@JsonIgnore
|
||||
protected Context context;
|
||||
|
||||
private String key;
|
||||
private CharSequence title;
|
||||
private Object defaultValue;
|
||||
private OnPreferenceChangeListener onChangeListener;
|
||||
|
||||
@JsonIgnore
|
||||
public OnPreferenceChangeListener onChangeListener;
|
||||
|
||||
public Preference(Context context) {
|
||||
this.context = context;
|
||||
@@ -29,7 +33,6 @@ public class Preference {
|
||||
return context;
|
||||
}
|
||||
|
||||
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
@@ -54,6 +57,10 @@ public class Preference {
|
||||
return onChangeListener == null || onChangeListener.onPreferenceChange(this, newValue);
|
||||
}
|
||||
|
||||
public Object getDefaultValue() {
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
public interface OnPreferenceChangeListener {
|
||||
boolean onPreferenceChange(Preference preference, Object newValue);
|
||||
}
|
||||
|
||||
@@ -84,5 +84,8 @@ configure(projects) {
|
||||
|
||||
// APK parser
|
||||
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>()
|
||||
|
||||
fun getSourcePreferences(sourceId: Long) {
|
||||
data class PreferenceObject(
|
||||
val type: String,
|
||||
val props: Any
|
||||
)
|
||||
|
||||
fun getSourcePreferences(sourceId: Long): List<PreferenceObject> {
|
||||
val source = getHttpSource(sourceId)
|
||||
|
||||
if (source is ConfigurableSource) {
|
||||
@@ -66,7 +71,10 @@ object Source {
|
||||
|
||||
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
|
||||
|
||||
/*
|
||||
* 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 kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -13,13 +20,6 @@ import java.io.IOException
|
||||
import java.util.concurrent.CompletableFuture
|
||||
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 {
|
||||
private val logger = KotlinLogging.logger {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user