From 30787846a244d52d3f2264996ca113d1b9b11bc0 Mon Sep 17 00:00:00 2001 From: Aria Moradi Date: Sat, 31 Jul 2021 08:28:45 +0430 Subject: [PATCH] sync androidx.preference method signatures with extensions-lib --- .../preference/CheckBoxPreference.java | 2 +- .../androidx/preference/DialogPreference.java | 34 +++++++++++++++++++ .../preference/EditTextPreference.java | 20 +---------- .../androidx/preference/ListPreference.java | 13 ++++--- .../preference/MultiSelectListPreference.java | 32 +++++++++++++++++ .../java/androidx/preference/Preference.java | 31 ++++++++++++----- .../androidx/preference/PreferenceScreen.java | 3 +- .../preference/SwitchPreferenceCompat.java | 18 ++++++++++ .../preference/TwoStatePreference.java | 32 +++++++++++++++++ 9 files changed, 148 insertions(+), 37 deletions(-) create mode 100644 AndroidCompat/src/main/java/androidx/preference/DialogPreference.java create mode 100644 AndroidCompat/src/main/java/androidx/preference/MultiSelectListPreference.java create mode 100644 AndroidCompat/src/main/java/androidx/preference/SwitchPreferenceCompat.java create mode 100644 AndroidCompat/src/main/java/androidx/preference/TwoStatePreference.java diff --git a/AndroidCompat/src/main/java/androidx/preference/CheckBoxPreference.java b/AndroidCompat/src/main/java/androidx/preference/CheckBoxPreference.java index 654d4028..7a6af1e0 100644 --- a/AndroidCompat/src/main/java/androidx/preference/CheckBoxPreference.java +++ b/AndroidCompat/src/main/java/androidx/preference/CheckBoxPreference.java @@ -9,7 +9,7 @@ package androidx.preference; import android.content.Context; -public class CheckBoxPreference extends Preference { +public class CheckBoxPreference extends TwoStatePreference { // reference: https://android.googlesource.com/platform/frameworks/support/+/996971f962fcd554339a7cb2859cef9ca89dbcb7/preference/preference/src/main/java/androidx/preference/CheckBoxPreference.java public CheckBoxPreference(Context context) { diff --git a/AndroidCompat/src/main/java/androidx/preference/DialogPreference.java b/AndroidCompat/src/main/java/androidx/preference/DialogPreference.java new file mode 100644 index 00000000..5e946afc --- /dev/null +++ b/AndroidCompat/src/main/java/androidx/preference/DialogPreference.java @@ -0,0 +1,34 @@ +package androidx.preference; + +/* + * 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 android.content.Context; + +public abstract class DialogPreference extends Preference { + private CharSequence dialogTitle; + private CharSequence dialogMessage; + + public DialogPreference(Context context) { super(context); } + + public CharSequence getDialogTitle() { + return dialogTitle; + } + + public void setDialogTitle(CharSequence dialogTitle) { + this.dialogTitle = dialogTitle; + } + + public CharSequence getDialogMessage() { + return dialogMessage; + } + + public void setDialogMessage(CharSequence dialogMessage) { + this.dialogMessage = dialogMessage; + } + +} \ No newline at end of file diff --git a/AndroidCompat/src/main/java/androidx/preference/EditTextPreference.java b/AndroidCompat/src/main/java/androidx/preference/EditTextPreference.java index 3cbf24b2..e5d496e9 100644 --- a/AndroidCompat/src/main/java/androidx/preference/EditTextPreference.java +++ b/AndroidCompat/src/main/java/androidx/preference/EditTextPreference.java @@ -13,12 +13,10 @@ import android.content.Context; import android.widget.EditText; import com.fasterxml.jackson.annotation.JsonIgnore; -public class EditTextPreference extends Preference { +public class EditTextPreference extends DialogPreference { // reference: https://android.googlesource.com/platform/frameworks/support/+/996971f962fcd554339a7cb2859cef9ca89dbcb7/preference/preference/src/main/java/androidx/preference/EditTextPreference.java private String text; - private CharSequence dialogTitle; - private CharSequence dialogMessage; @JsonIgnore private OnBindEditTextListener onBindEditTextListener; @@ -27,22 +25,6 @@ public class EditTextPreference extends Preference { super(context); } - public CharSequence getDialogTitle() { - return dialogTitle; - } - - public void setDialogTitle(CharSequence dialogTitle) { - this.dialogTitle = dialogTitle; - } - - public CharSequence getDialogMessage() { - return dialogMessage; - } - - public void setDialogMessage(CharSequence dialogMessage) { - this.dialogMessage = dialogMessage; - } - public String getText() { return text; } diff --git a/AndroidCompat/src/main/java/androidx/preference/ListPreference.java b/AndroidCompat/src/main/java/androidx/preference/ListPreference.java index 96993933..99d06d21 100644 --- a/AndroidCompat/src/main/java/androidx/preference/ListPreference.java +++ b/AndroidCompat/src/main/java/androidx/preference/ListPreference.java @@ -8,7 +8,6 @@ package androidx.preference; * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import android.content.Context; -import androidx.annotation.ArrayRes; public class ListPreference extends Preference { // reference: https://android.googlesource.com/platform/frameworks/support/+/996971f962fcd554339a7cb2859cef9ca89dbcb7/preference/preference/src/main/java/androidx/preference/ListPreference.java @@ -28,9 +27,7 @@ public class ListPreference extends Preference { this.entries = entries; } - public void setEntries(@ArrayRes int entriesResId) { - throw new RuntimeException("Stub!"); - } + public int findIndexOfValue(String value) { throw new RuntimeException("Stub!"); } public CharSequence[] getEntryValues() { return entryValues; @@ -40,7 +37,9 @@ public class ListPreference extends Preference { this.entryValues = entryValues; } - public void setEntryValues(@ArrayRes int entryValuesResId) { - 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!"); } } diff --git a/AndroidCompat/src/main/java/androidx/preference/MultiSelectListPreference.java b/AndroidCompat/src/main/java/androidx/preference/MultiSelectListPreference.java new file mode 100644 index 00000000..18f8de38 --- /dev/null +++ b/AndroidCompat/src/main/java/androidx/preference/MultiSelectListPreference.java @@ -0,0 +1,32 @@ +package androidx.preference; + +/* + * 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 android.content.Context; + +import java.util.Set; + +public class MultiSelectListPreference extends DialogPreference { + + public MultiSelectListPreference(Context context) { super(context); } + + public void setEntries(CharSequence[] entries) { throw new RuntimeException("Stub!"); } + + + public CharSequence[] getEntries() { throw new RuntimeException("Stub!"); } + + public void setEntryValues(CharSequence[] entryValues) { throw new RuntimeException("Stub!"); } + + public CharSequence[] getEntryValues() { throw new RuntimeException("Stub!"); } + + public void setValues(Set values) { throw new RuntimeException("Stub!"); } + + public Set getValues() { throw new RuntimeException("Stub!"); } + + public int findIndexOfValue(String value) { throw new RuntimeException("Stub!"); } +} \ No newline at end of file diff --git a/AndroidCompat/src/main/java/androidx/preference/Preference.java b/AndroidCompat/src/main/java/androidx/preference/Preference.java index 66694a0e..5134df14 100644 --- a/AndroidCompat/src/main/java/androidx/preference/Preference.java +++ b/AndroidCompat/src/main/java/androidx/preference/Preference.java @@ -10,7 +10,9 @@ package androidx.preference; 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 { // 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. @@ -34,12 +36,12 @@ public class Preference { return context; } - public String getKey() { - return key; + public void setOnPreferenceChangeListener(OnPreferenceChangeListener onPreferenceChangeListener) { + this.onChangeListener = onPreferenceChangeListener; } - public void setKey(String key) { - this.key = key; + public void setOnPreferenceClickListener(OnPreferenceClickListener onPreferenceClickListener) { + throw new RuntimeException("Stub!"); } public CharSequence getTitle() { @@ -58,12 +60,20 @@ public class Preference { this.summary = summary; } - public void setDefaultValue(Object defaultValue) { - this.defaultValue = defaultValue; + public void setEnabled(boolean enabled) { + throw new RuntimeException("Stub!"); } - public void setOnPreferenceChangeListener(OnPreferenceChangeListener onPreferenceChangeListener) { - this.onChangeListener = onPreferenceChangeListener; + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public void setDefaultValue(Object defaultValue) { + this.defaultValue = defaultValue; } public boolean callChangeListener(Object newValue) { @@ -82,4 +92,7 @@ public class Preference { boolean onPreferenceChange(Preference preference, Object newValue); } + public interface OnPreferenceClickListener { + boolean onPreferenceClick(Preference preference); + } } diff --git a/AndroidCompat/src/main/java/androidx/preference/PreferenceScreen.java b/AndroidCompat/src/main/java/androidx/preference/PreferenceScreen.java index 0b91501c..c9c093fd 100644 --- a/AndroidCompat/src/main/java/androidx/preference/PreferenceScreen.java +++ b/AndroidCompat/src/main/java/androidx/preference/PreferenceScreen.java @@ -13,9 +13,9 @@ import java.util.LinkedList; import java.util.List; public class PreferenceScreen extends Preference { + // Tachidesk API private List preferences = new LinkedList<>(); - public PreferenceScreen(Context context) { super(context); } @@ -26,6 +26,7 @@ public class PreferenceScreen extends Preference { return true; } + // Tachidesk API public List getPreferences(){ return preferences; } diff --git a/AndroidCompat/src/main/java/androidx/preference/SwitchPreferenceCompat.java b/AndroidCompat/src/main/java/androidx/preference/SwitchPreferenceCompat.java new file mode 100644 index 00000000..2ba1dde6 --- /dev/null +++ b/AndroidCompat/src/main/java/androidx/preference/SwitchPreferenceCompat.java @@ -0,0 +1,18 @@ +package androidx.preference; + +/* + * 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 android.content.Context; + +public class SwitchPreferenceCompat extends Preference { + // reference: https://android.googlesource.com/platform/frameworks/support/+/996971f962fcd554339a7cb2859cef9ca89dbcb7/preference/preference/src/main/java/androidx/preference/CheckBoxPreference.java + + public SwitchPreferenceCompat(Context context) { + super(context); + } +} diff --git a/AndroidCompat/src/main/java/androidx/preference/TwoStatePreference.java b/AndroidCompat/src/main/java/androidx/preference/TwoStatePreference.java new file mode 100644 index 00000000..aa31e6fc --- /dev/null +++ b/AndroidCompat/src/main/java/androidx/preference/TwoStatePreference.java @@ -0,0 +1,32 @@ +package androidx.preference; + +/* + * 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 android.content.Context; + +public class TwoStatePreference extends Preference { + + public TwoStatePreference(Context context) { super(context); } + + public boolean isChecked() { throw new RuntimeException("Stub!"); } + + public void setChecked(boolean checked) { throw new RuntimeException("Stub!"); } + + public CharSequence getSummaryOn() { throw new RuntimeException("Stub!"); } + + public void setSummaryOn(CharSequence summary) { throw new RuntimeException("Stub!"); } + + public CharSequence getSummaryOff() { throw new RuntimeException("Stub!"); } + + public void setSummaryOff(CharSequence summary) { throw new RuntimeException("Stub!"); } + + public boolean getDisableDependentsState() { throw new RuntimeException("Stub!"); } + + public void setDisableDependentsState(boolean disableDependentsState) { throw new RuntimeException("Stub!"); } + +} \ No newline at end of file