refactor: update to aliucord-gradle 2

This commit is contained in:
Cilly Leang 2025-12-06 17:55:32 +11:00
parent 2b687cea21
commit 5df56646c7
Signed by: cilly
GPG key ID: 6500251E087653C9
20 changed files with 150 additions and 141 deletions

View file

@ -1,6 +1,10 @@
version = "1.3.0"
description = "Backported and improved search functionality"
android {
namespace = "moe.lava.awoocord.scout"
}
aliucord {
// Changelog of your plugin
changelog.set("""
@ -43,5 +47,5 @@ aliucord {
* Initial release >w<
""".trimIndent())
excludeFromUpdaterJson.set(false)
deploy.set(true)
}

View file

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="moe.lava.awoocord.scout" />

View file

@ -1,5 +0,0 @@
package com.discord.restapi
// Stub
@Suppress("ClassName")
abstract class `RequiredHeadersInterceptor$HeadersProvider` {}

View file

@ -13,20 +13,15 @@ import com.aliucord.utils.DimenUtils.dp
import com.aliucord.utils.ViewUtils.findViewById
import com.aliucord.wrappers.ChannelWrapper.Companion.id
import com.discord.BuildConfig
import com.discord.api.channel.Channel
import com.discord.api.channel.ChannelUtils
import com.discord.api.channel.`ChannelUtils$getSortByNameAndType$1`
import com.discord.api.channel.*
import com.discord.api.permission.Permission
import com.discord.databinding.WidgetSearchSuggestionsItemHasBinding
import com.discord.models.member.GuildMember
import com.discord.models.user.User
import com.discord.restapi.RequiredHeadersInterceptor
import com.discord.restapi.RequiredHeadersInterceptor.HeadersProvider
import com.discord.restapi.RestAPIBuilder
import com.discord.simpleast.core.parser.*
import com.discord.stores.StoreSearch
import com.discord.stores.StoreSearchInput
import com.discord.stores.StoreStream
import com.discord.stores.*
import com.discord.utilities.mg_recycler.MGRecyclerDataPayload
import com.discord.utilities.mg_recycler.SingleTypePayload
import com.discord.utilities.rest.RestAPI.AppHeadersProvider
@ -34,10 +29,7 @@ import com.discord.utilities.search.network.`SearchFetcher$getRestObservable$3`
import com.discord.utilities.search.network.SearchQuery
import com.discord.utilities.search.query.FilterType
import com.discord.utilities.search.query.node.QueryNode
import com.discord.utilities.search.query.node.answer.ChannelNode
import com.discord.utilities.search.query.node.answer.HasAnswerOption
import com.discord.utilities.search.query.node.answer.HasNode
import com.discord.utilities.search.query.node.answer.UserNode
import com.discord.utilities.search.query.node.answer.*
import com.discord.utilities.search.query.node.content.ContentNode
import com.discord.utilities.search.query.node.filter.FilterNode
import com.discord.utilities.search.query.parsing.QueryParser
@ -57,6 +49,7 @@ import moe.lava.awoocord.scout.api.SearchAPIInterface
import moe.lava.awoocord.scout.parsing.*
import moe.lava.awoocord.scout.ui.*
import java.util.regex.Pattern
import b.a.k.b as FormatUtils
@AliucordPlugin()
@Suppress("unused", "unchecked_cast")
@ -97,8 +90,7 @@ class Scout : Plugin() {
// Creates a new custom search API implementation, for the extra `min_id` param in search queries
private fun buildSearchApi(context: Context): SearchAPIInterface {
@Suppress("cast_never_succeeds")
val appHeadersProvider = AppHeadersProvider.INSTANCE as HeadersProvider
val appHeadersProvider = AppHeadersProvider.INSTANCE
val requiredHeadersInterceptor = RequiredHeadersInterceptor(appHeadersProvider)
val persistentCookieJar = PersistentCookieJar(SetCookieCache(), SharedPrefsCookiePersistor(context))
val restAPIBuilder = RestAPIBuilder(BuildConfig.HOST_API, persistentCookieJar)
@ -552,7 +544,7 @@ class Scout : Plugin() {
// Patch formatting utils to use our custom lowercase strings
// This is called by FilterViewHolder.onConfigure, using the results from getAnswerText and getFilterText
patcher.patch(
b.a.k.b::class.java.getDeclaredMethod("c",
FormatUtils::class.java.getDeclaredMethod("c",
Resources::class.java,
Int::class.javaPrimitiveType!!,
Array::class.java,
@ -568,12 +560,7 @@ class Scout : Plugin() {
else -> null
}
override?.let {
// Why invoke? Becuase I can't for the life of me get Function1 to cast properly
param.result = b.a.k.b::class.java.getDeclaredMethod("g",
CharSequence::class.java,
Array::class.java,
Function1::class.java
).invoke(null, it, objArr.copyOf(), param.args[3])
param.result = FormatUtils.g(it, objArr.copyOf(), param.args[3] as b.a.k.`b$b`)
}
}
)

View file

@ -1,9 +1,7 @@
package moe.lava.awoocord.scout.parsing
import android.content.Context
import com.discord.simpleast.core.parser.ParseSpec
import com.discord.simpleast.core.parser.Parser
import com.discord.simpleast.core.parser.Rule
import com.discord.simpleast.core.parser.*
import com.discord.utilities.search.query.node.QueryNode
import java.util.regex.Matcher
import java.util.regex.Pattern
@ -13,15 +11,15 @@ internal class SimpleParserRule(
regex: Pattern,
private val parseMethod: (
matcher: Matcher,
parser: Parser<Context, in QueryNode, Any>,
obj: Any
) -> ParseSpec<Context, Any>
parser: Parser<Context, in QueryNode, Any?>,
obj: Any?
) -> ParseSpec<Context, Any?>
) : ParserRule(regex) {
override fun parse(
matcher: Matcher?,
parser: Parser<Context, in QueryNode, in Any>,
obj: Any
): ParseSpec<Context, in Any> {
parser: Parser<Context, in QueryNode, in Any?>,
obj: Any?
): ParseSpec<Context, in Any?> {
checkNotNull(matcher) { "matcher" }
checkNotNull(parser) { "parser" }
return parseMethod(matcher, parser, obj)

View file

@ -15,5 +15,5 @@ aliucord {
* Initial release >w<
""".trimIndent())
excludeFromUpdaterJson.set(false)
deploy.set(true)
}

View file

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="moe.lava.awoocord.zinnia" />

View file

@ -62,7 +62,6 @@ object ZinniaSettings {
var blockApcaThreshold by api.delegate(75.0)
var blockWcagThreshold by api.delegate(4.5)
@Suppress("MISSING_DEPENDENCY_CLASS", "MISSING_DEPENDENCY_SUPERCLASS")
class Page : SettingsPage() {
private lateinit var manager: RadioManager
private lateinit var mRoleDot: CheckedSetting