mirror of
https://github.com/revanced/revanced-patches
synced 2024-12-11 21:08:01 +01:00
feat(youtube/settings): disable preferences and add dialog messages to preferences (#1801)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
This commit is contained in:
parent
33f795350d
commit
05023bab1d
@ -1,10 +1,7 @@
|
|||||||
package app.revanced.patches.shared.settings.preference.impl
|
package app.revanced.patches.shared.settings.preference.impl
|
||||||
|
|
||||||
import app.revanced.patches.shared.settings.preference.BasePreference
|
import app.revanced.patches.shared.settings.preference.*
|
||||||
import app.revanced.patches.shared.settings.preference.IResource
|
import app.revanced.patches.shared.settings.resource.patch.AbstractSettingsResourcePatch.Companion.include
|
||||||
import app.revanced.patches.shared.settings.preference.addDefault
|
|
||||||
import app.revanced.patches.shared.settings.preference.addSummary
|
|
||||||
import app.revanced.patches.shared.settings.preference.SummaryType
|
|
||||||
import org.w3c.dom.Document
|
import org.w3c.dom.Document
|
||||||
import org.w3c.dom.Element
|
import org.w3c.dom.Element
|
||||||
|
|
||||||
@ -16,16 +13,21 @@ import org.w3c.dom.Element
|
|||||||
* @param default The default value of the switch.
|
* @param default The default value of the switch.
|
||||||
* @param summaryOn The summary to show when the preference is enabled.
|
* @param summaryOn The summary to show when the preference is enabled.
|
||||||
* @param summaryOff The summary to show when the preference is disabled.
|
* @param summaryOff The summary to show when the preference is disabled.
|
||||||
|
* @param userDialogMessage The message to show in a dialog when the user toggles the preference.
|
||||||
*/
|
*/
|
||||||
internal class SwitchPreference(
|
internal class SwitchPreference(
|
||||||
key: String, title: StringResource,
|
key: String, title: StringResource,
|
||||||
val default: Boolean = false,
|
val default: Boolean = false,
|
||||||
val summaryOn: StringResource? = null,
|
val summaryOn: StringResource? = null,
|
||||||
val summaryOff: StringResource? = null
|
val summaryOff: StringResource? = null,
|
||||||
|
val userDialogMessage: StringResource? = null
|
||||||
) : BasePreference(key, title) {
|
) : BasePreference(key, title) {
|
||||||
override val tag: String = "SwitchPreference"
|
override val tag: String = "SwitchPreference"
|
||||||
|
|
||||||
override fun serialize(ownerDocument: Document, resourceCallback: ((IResource) -> Unit)?): Element {
|
override fun serialize(ownerDocument: Document, resourceCallback: ((IResource) -> Unit)?): Element {
|
||||||
|
// dialog message is stored as a regular string and later referenced by SettingsEnum
|
||||||
|
userDialogMessage?.include()
|
||||||
|
|
||||||
return super.serialize(ownerDocument, resourceCallback).apply {
|
return super.serialize(ownerDocument, resourceCallback).apply {
|
||||||
addDefault(default)
|
addDefault(default)
|
||||||
addSummary(summaryOn?.also { resourceCallback?.invoke(it) }, SummaryType.ON)
|
addSummary(summaryOn?.also { resourceCallback?.invoke(it) }, SummaryType.ON)
|
||||||
|
@ -36,8 +36,11 @@ class SpoofAppVersionPatch : BytecodePatch(
|
|||||||
"revanced_spoof_app_version",
|
"revanced_spoof_app_version",
|
||||||
StringResource("revanced_spoof_app_version_title", "Spoof app version"),
|
StringResource("revanced_spoof_app_version_title", "Spoof app version"),
|
||||||
false,
|
false,
|
||||||
StringResource("revanced_spoof_app_version_summary_on", "Version spoofed to 17.30.34. If switched off, the old UI layout may remain until logging out or clearing app data"),
|
StringResource("revanced_spoof_app_version_summary_on", "Version spoofed to 17.30.34"),
|
||||||
StringResource("revanced_spoof_app_version_summary_off", "Version not spoofed")
|
StringResource("revanced_spoof_app_version_summary_off", "Version not spoofed"),
|
||||||
|
StringResource("revanced_spoof_app_version_user_dialog_message",
|
||||||
|
"App version will be spoofed to 17.30.34. This will give the old UI layout, but unknown side effects may occur."
|
||||||
|
+ " If later turned off, the old UI layout may remain until you log out or clear the app data.")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -52,7 +52,12 @@ class DebuggingPatch : ResourcePatch {
|
|||||||
),
|
),
|
||||||
true,
|
true,
|
||||||
StringResource("revanced_debug_toast_on_error_summary_on", "Toast shown if error occurs"),
|
StringResource("revanced_debug_toast_on_error_summary_on", "Toast shown if error occurs"),
|
||||||
StringResource("revanced_debug_toast_on_error_summary_off", "Toast not shown if error occurs")
|
StringResource("revanced_debug_toast_on_error_summary_off", "Toast not shown if error occurs"),
|
||||||
|
StringResource("revanced_debug_toast_on_error_user_dialog_message",
|
||||||
|
"Turning off error toasts hides all ReVanced error notifications." +
|
||||||
|
" This includes hiding normal network connection timeouts, " +
|
||||||
|
"but also hides notification of any unexpected and more serious errors."
|
||||||
|
)
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
StringResource("revanced_debug_summary", "Enable or disable debugging options")
|
StringResource("revanced_debug_summary", "Enable or disable debugging options")
|
||||||
|
@ -45,7 +45,9 @@ class SpoofSignatureVerificationPatch : BytecodePatch(
|
|||||||
StringResource("revanced_spoof_signature_verification_title", "Spoof app signature"),
|
StringResource("revanced_spoof_signature_verification_title", "Spoof app signature"),
|
||||||
true,
|
true,
|
||||||
StringResource("revanced_spoof_signature_verification_summary_on", "App signature spoofed"),
|
StringResource("revanced_spoof_signature_verification_summary_on", "App signature spoofed"),
|
||||||
StringResource("revanced_spoof_signature_verification_summary_off", "App signature not spoofed")
|
StringResource("revanced_spoof_signature_verification_summary_off", "App signature not spoofed"),
|
||||||
|
StringResource("revanced_spoof_signature_verification_user_dialog_message",
|
||||||
|
"Signature spoofing can fix playback issues, but may causes side effects.")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ import app.revanced.patches.shared.settings.resource.patch.AbstractSettingsResou
|
|||||||
import app.revanced.patches.youtube.misc.settings.bytecode.patch.SettingsPatch
|
import app.revanced.patches.youtube.misc.settings.bytecode.patch.SettingsPatch
|
||||||
import app.revanced.util.resources.ResourceUtils
|
import app.revanced.util.resources.ResourceUtils
|
||||||
import app.revanced.util.resources.ResourceUtils.copyResources
|
import app.revanced.util.resources.ResourceUtils.copyResources
|
||||||
|
import app.revanced.util.resources.ResourceUtils.mergeStrings
|
||||||
import org.w3c.dom.Node
|
import org.w3c.dom.Node
|
||||||
|
|
||||||
@Name("settings-resource-patch")
|
@Name("settings-resource-patch")
|
||||||
@ -77,6 +78,8 @@ class SettingsResourcePatch : AbstractSettingsResourcePatch(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
context.mergeStrings("settings/host/values/strings.xml")
|
||||||
|
|
||||||
return PatchResultSuccess()
|
return PatchResultSuccess()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
4
src/main/resources/settings/host/values/strings.xml
Normal file
4
src/main/resources/settings/host/values/strings.xml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<string name="revanced_settings_confirm_user_dialog_title">Do you wish to proceed?</string>
|
||||||
|
</resources>
|
Loading…
Reference in New Issue
Block a user