diff --git a/README.md b/README.md index e9a3ab4b..1c9e99fe 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ GKD **默认不提供规则**,需自行添加本地规则,或者通过订阅 开发过程中的衍生项目,它们正在被 gkd 使用,也许对你有帮助 - [kotlin-json5](https://github.com/lisonge/kotlin-json5) -- [kotlin-loc](https://github.com/lisonge/kotlin-loc) +- [kotlin-codeorigin](https://github.com/lisonge/kotlin-codeorigin) - [android-api-diff](https://github.com/android-cs/android-api-diff) - [remap](https://github.com/lisonge/remap) - [priv-kit](https://github.com/priv-kit/priv-kit) diff --git a/build.gradle.kts b/build.gradle.kts index 507c067c..57366f8b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -22,7 +22,7 @@ plugins { alias(libs.plugins.kotlin.compose) apply false alias(libs.plugins.kotlinx.atomicfu) apply false alias(libs.plugins.remap) apply false - alias(libs.plugins.loc) apply false + alias(libs.plugins.codeorigin) apply false alias(libs.plugins.littlerobots.version) } diff --git a/gkd-app/build.gradle.kts b/gkd-app/build.gradle.kts index a6e806a0..1e90acbb 100644 --- a/gkd-app/build.gradle.kts +++ b/gkd-app/build.gradle.kts @@ -21,7 +21,7 @@ plugins { alias(libs.plugins.kotlin.compose) alias(libs.plugins.kotlinx.atomicfu) alias(libs.plugins.remap) - alias(libs.plugins.loc) + alias(libs.plugins.codeorigin) } android { @@ -202,10 +202,6 @@ composeCompiler { ) } -loc { - template = "{packageName}.{methodName}({fileName}:{lineNumber})" -} - dependencies { implementation(libs.kotlin.stdlib) @@ -282,7 +278,7 @@ dependencies { implementation(libs.device) implementation(libs.json5) - compileOnly(libs.loc.annotation) + compileOnly(libs.codeorigin) // compose-webview declares Material but does not use it. implementation(libs.kevinnzouWebview) { diff --git a/gkd-app/src/main/kotlin/li/gkd/app/MainViewModel.kt b/gkd-app/src/main/kotlin/li/gkd/app/MainViewModel.kt index 24d444d6..5759191f 100644 --- a/gkd-app/src/main/kotlin/li/gkd/app/MainViewModel.kt +++ b/gkd-app/src/main/kotlin/li/gkd/app/MainViewModel.kt @@ -64,7 +64,7 @@ import li.gkd.app.util.launchTry import li.gkd.app.util.openWeChatScaner import li.gkd.app.util.runMainPost import li.gkd.app.util.toast -import li.songe.loc.Loc +import li.songe.codeorigin.CallSite import java.nio.file.Files import kotlin.reflect.jvm.jvmName import kotlin.time.Duration.Companion.days @@ -109,7 +109,7 @@ class MainViewModel : BaseViewModel(), OnSimpleLife by DefaultSimpleLifeImpl() { private val backThrottleTimer = ThrottleTimer() - fun popPage(@Loc loc: String = "") = runMainPost { + fun popPage(@CallSite loc: String = "") = runMainPost { if (backThrottleTimer.expired() && backStack.size > 1) { val old = backStack.last() backStack.removeAt(backStack.lastIndex) @@ -120,7 +120,7 @@ class MainViewModel : BaseViewModel(), OnSimpleLife by DefaultSimpleLifeImpl() { fun navigatePage( navKey: NavKey, replaced: Boolean = false, - @Loc loc: String = "", + @CallSite loc: String = "", ) = runMainPost { if (navKey != backStack.last()) { val old = backStack.last() diff --git a/gkd-app/src/main/kotlin/li/gkd/app/a11y/A11yState.kt b/gkd-app/src/main/kotlin/li/gkd/app/a11y/A11yState.kt index 700d4118..2bda91d7 100644 --- a/gkd-app/src/main/kotlin/li/gkd/app/a11y/A11yState.kt +++ b/gkd-app/src/main/kotlin/li/gkd/app/a11y/A11yState.kt @@ -33,7 +33,7 @@ import li.gkd.app.util.RuleSummary import li.gkd.app.util.launchTry import li.gkd.app.util.ruleSummaryFlow import li.gkd.app.util.systemUiAppId -import li.songe.loc.Loc +import li.songe.codeorigin.CallSite data class TopActivity( val appId: String = "", @@ -145,7 +145,7 @@ fun updateTopActivity( appId: String, activityId: String?, scene: ActivityScene = ActivityScene.A11y, - @Loc loc: String = "", + @CallSite loc: String = "", ) { val t = System.currentTimeMillis() if (scene == ActivityScene.TaskStack) { diff --git a/gkd-app/src/main/kotlin/li/gkd/app/util/LifecycleCallbacks.kt b/gkd-app/src/main/kotlin/li/gkd/app/util/LifecycleCallbacks.kt index cc581f73..cc21a6ee 100644 --- a/gkd-app/src/main/kotlin/li/gkd/app/util/LifecycleCallbacks.kt +++ b/gkd-app/src/main/kotlin/li/gkd/app/util/LifecycleCallbacks.kt @@ -8,7 +8,7 @@ import kotlinx.coroutines.cancel import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.launch -import li.songe.loc.Loc +import li.songe.codeorigin.CallSite typealias CbFn = () -> Unit @@ -26,7 +26,7 @@ interface OnSimpleLife { fun onDestroyed(f: CbFn) = cbs(2).add(f) fun onDestroyed() = cbs(2).forEach { it() } - fun useLogLifecycle(@Loc loc: String = "") { + fun useLogLifecycle(@CallSite loc: String = "") { onCreated { LogUtils.d("onCreated -> " + this::class.simpleName, loc = loc) } onDestroyed { LogUtils.d("onDestroyed -> " + this::class.simpleName, loc = loc) } if (this is OnA11yLife) { @@ -52,7 +52,7 @@ interface OnSimpleLife { fun useAliveToast( name: String, delayMillis: Long = 0L, - @Loc loc: String = "", + @CallSite loc: String = "", ) { onCreated { toast("${name}已启动", loc = loc, delayMillis = delayMillis) diff --git a/gkd-app/src/main/kotlin/li/gkd/app/util/LogUtils.kt b/gkd-app/src/main/kotlin/li/gkd/app/util/LogUtils.kt index 1c554cc1..b89c726c 100644 --- a/gkd-app/src/main/kotlin/li/gkd/app/util/LogUtils.kt +++ b/gkd-app/src/main/kotlin/li/gkd/app/util/LogUtils.kt @@ -8,15 +8,15 @@ import com.hjq.device.compat.DeviceMarketName import com.hjq.device.compat.DeviceOs import li.gkd.app.META import li.gkd.app.app -import li.songe.loc.Loc +import li.songe.codeorigin.CallSite import java.util.concurrent.Executors import kotlin.time.Duration.Companion.days object LogUtils { fun d( vararg args: Any?, - @Loc loc: String = "", - @Loc("{fileName}") fileName: String = "", + @CallSite loc: String = "", + @CallSite("{file}") fileName: String = "", tag: String = fileName.substringBeforeLast('.'), ) { val name = Thread.currentThread().name diff --git a/gkd-app/src/main/kotlin/li/gkd/app/util/Toast.kt b/gkd-app/src/main/kotlin/li/gkd/app/util/Toast.kt index 7f6b1ce4..a7259345 100644 --- a/gkd-app/src/main/kotlin/li/gkd/app/util/Toast.kt +++ b/gkd-app/src/main/kotlin/li/gkd/app/util/Toast.kt @@ -29,13 +29,13 @@ import li.gkd.app.service.A11yService import li.gkd.app.service.OverlayWindowService import li.gkd.app.store.actionCountFlow import li.gkd.app.store.storeFlow -import li.songe.loc.Loc +import li.songe.codeorigin.CallSite fun toast( text: CharSequence, forced: Boolean = false, delayMillis: Long = 0L, - @Loc loc: String = "", + @CallSite loc: String = "", ) { if (delayMillis > 0) { runMainPost(delayMillis) { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 87381b01..7e9c79b8 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,7 +16,7 @@ telephoto = "0.19.0" remap = "0.1.5" shizuku = "13.1.5" priv-kit = "0.9.3" -loc = "0.7.1" +codeorigin = "0.2.1" [libraries] kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" } @@ -74,7 +74,7 @@ coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" coil-network = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coil" } coil-gif = { module = "io.coil-kt.coil3:coil-gif", version.ref = "coil" } telephoto-zoomable = { module = "me.saket.telephoto:zoomable", version.ref = "telephoto" } -loc-annotation = { module = "li.songe.loc:loc-annotation", version.ref = "loc" } +codeorigin = { module = "li.songe:codeorigin", version.ref = "codeorigin" } reorderable = "sh.calvin.reorderable:reorderable:3.1.0" exp4j = "net.objecthunter:exp4j:0.4.8" toaster = "com.github.getActivity:Toaster:15.0" @@ -95,5 +95,5 @@ android-application = { id = "com.android.application", version.ref = "agp" } androidx-room = { id = "androidx.room3", version.ref = "room" } google-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } remap = { id = "li.songe.remap", version.ref = "remap" } -loc = { id = "li.songe.loc", version.ref = "loc" } +codeorigin = { id = "li.songe.codeorigin", version.ref = "codeorigin" } littlerobots-version = "nl.littlerobots.version-catalog-update:1.1.1"