@@ -8,9 +8,9 @@ import android.content.ClipboardManager
8
8
import android.content.Context
9
9
import androidx.room.Room
10
10
import com.osfans.trime.data.prefs.AppPrefs
11
- import com.osfans.trime.util.StringUtils.matches
12
- import com.osfans.trime.util.StringUtils.removeAll
13
11
import com.osfans.trime.util.WeakHashSet
12
+ import com.osfans.trime.util.matchesAny
13
+ import com.osfans.trime.util.removeRegexSet
14
14
import kotlinx.coroutines.CoroutineScope
15
15
import kotlinx.coroutines.Dispatchers
16
16
import kotlinx.coroutines.SupervisorJob
@@ -62,10 +62,14 @@ object ClipboardHelper :
62
62
private val limit get() = AppPrefs .defaultInstance().clipboard.clipboardLimit
63
63
private val compare get() =
64
64
AppPrefs .defaultInstance().clipboard.clipboardCompareRules
65
- .trim().split(' \n ' )
65
+ .split(' \n ' )
66
+ .map { Regex (it.trim()) }
67
+ .toHashSet()
66
68
private val output get() =
67
69
AppPrefs .defaultInstance().clipboard.clipboardOutputRules
68
- .trim().split(' \n ' )
70
+ .split(' \n ' )
71
+ .map { Regex (it) }
72
+ .toHashSet()
69
73
70
74
var lastBean: DatabaseBean ? = null
71
75
@@ -118,10 +122,10 @@ object ClipboardHelper :
118
122
?.let { DatabaseBean .fromClipData(it) }
119
123
?.takeIf {
120
124
it.text!! .isNotBlank() &&
121
- ! it.text.matches (output.toTypedArray() )
125
+ ! it.text.matchesAny (output)
122
126
}
123
127
?.let { b ->
124
- if (b.text!! .removeAll (compare.toTypedArray()) .isEmpty()) return
128
+ if (b.text?.removeRegexSet (compare)? .isEmpty() == true ) return
125
129
Timber .d(" Accept clipboard $b " )
126
130
launch {
127
131
mutex.withLock {
0 commit comments