From b29fd1a274d3986d8eb1c97f8acd8b0984a6676d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8C=E5=88=BA=E8=9E=88?= Date: Wed, 25 Dec 2024 21:55:42 +0800 Subject: [PATCH] fix: showActivityId --- .../main/kotlin/li/songe/gkd/data/ActionLog.kt | 16 ++-------------- .../main/kotlin/li/songe/gkd/data/ActivityLog.kt | 16 ++-------------- app/src/main/kotlin/li/songe/gkd/util/Others.kt | 14 +++++++++++++- 3 files changed, 17 insertions(+), 29 deletions(-) diff --git a/app/src/main/kotlin/li/songe/gkd/data/ActionLog.kt b/app/src/main/kotlin/li/songe/gkd/data/ActionLog.kt index 9be5caa74..547dae4c6 100644 --- a/app/src/main/kotlin/li/songe/gkd/data/ActionLog.kt +++ b/app/src/main/kotlin/li/songe/gkd/data/ActionLog.kt @@ -13,6 +13,7 @@ import androidx.room.Update import androidx.room.migration.AutoMigrationSpec import kotlinx.coroutines.flow.Flow import li.songe.gkd.util.format +import li.songe.gkd.util.getShowActivityId @Entity( tableName = "action_log", @@ -30,20 +31,7 @@ data class ActionLog( @ColumnInfo(name = "rule_key") val ruleKey: Int? = null, ) { - val showActivityId by lazy { - if (activityId != null) { - if (activityId.startsWith( - appId - ) - ) { - activityId.substring(appId.length) - } else { - activityId - } - } else { - null - } - } + val showActivityId by lazy { getShowActivityId(appId, activityId) } val date by lazy { ctime.format("MM-dd HH:mm:ss SSS") } diff --git a/app/src/main/kotlin/li/songe/gkd/data/ActivityLog.kt b/app/src/main/kotlin/li/songe/gkd/data/ActivityLog.kt index 0928bb8ba..cb5230d16 100644 --- a/app/src/main/kotlin/li/songe/gkd/data/ActivityLog.kt +++ b/app/src/main/kotlin/li/songe/gkd/data/ActivityLog.kt @@ -11,6 +11,7 @@ import androidx.room.Query import androidx.room.migration.AutoMigrationSpec import kotlinx.coroutines.flow.Flow import li.songe.gkd.util.format +import li.songe.gkd.util.getShowActivityId @Entity( tableName = "activity_log_v2", @@ -23,20 +24,7 @@ data class ActivityLog( @ColumnInfo(name = "app_id") val appId: String, @ColumnInfo(name = "activity_id") val activityId: String? = null, ) { - val showActivityId by lazy { - if (activityId != null) { - if (activityId.startsWith( - appId - ) - ) { - activityId.substring(appId.length) - } else { - activityId - } - } else { - null - } - } + val showActivityId by lazy { getShowActivityId(appId, activityId) } val date by lazy { ctime.format("MM-dd HH:mm:ss SSS") } @Dao diff --git a/app/src/main/kotlin/li/songe/gkd/util/Others.kt b/app/src/main/kotlin/li/songe/gkd/util/Others.kt index b522e8dc5..25483995d 100644 --- a/app/src/main/kotlin/li/songe/gkd/util/Others.kt +++ b/app/src/main/kotlin/li/songe/gkd/util/Others.kt @@ -27,4 +27,16 @@ fun Bitmap.isEmptyBitmap(): Boolean { return true } -class InterruptRuleMatchException() : Exception() \ No newline at end of file +class InterruptRuleMatchException() : Exception() + +fun getShowActivityId(appId: String, activityId: String?) { + if (activityId != null) { + if (activityId.startsWith(appId) && activityId.getOrNull(appId.length) == '.') { + activityId.substring(appId.length) + } else { + activityId + } + } else { + null + } +}