Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
Simple-Sms
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhangchengbo
Simple-Sms
Commits
329d1be0
Commit
329d1be0
authored
Aug 05, 2025
by
zhangchengbo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:根据对话内容检测,对号码进行脱敏操作
parent
5529f9d4
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
8 additions
and
35 deletions
+8
-35
MainActivity.kt
...c/main/kotlin/com/secspace/sms/activities/MainActivity.kt
+8
-1
ThreadActivity.kt
...main/kotlin/com/secspace/sms/activities/ThreadActivity.kt
+0
-34
No files found.
app/src/main/kotlin/com/secspace/sms/activities/MainActivity.kt
View file @
329d1be0
...
@@ -109,7 +109,7 @@ class MainActivity : SimpleActivity() {
...
@@ -109,7 +109,7 @@ class MainActivity : SimpleActivity() {
//是否拥有通知使用权
//是否拥有通知使用权
val
result
=
isNotificationAccessEnabled
()
val
result
=
isNotificationAccessEnabled
()
if
(!
result
)
{
if
(!
result
)
{
val
intent
=
Intent
(
"android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"
)
val
intent
=
Intent
(
"android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"
)
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
)
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
)
startActivity
(
intent
)
startActivity
(
intent
)
...
@@ -484,6 +484,13 @@ class MainActivity : SimpleActivity() {
...
@@ -484,6 +484,13 @@ class MainActivity : SimpleActivity() {
val
lastMsg
=
messages
.
last
()
val
lastMsg
=
messages
.
last
()
firstConversation
.
snippet
=
lastMsg
.
body
firstConversation
.
snippet
=
lastMsg
.
body
firstConversation
.
date
=
lastMsg
.
date
firstConversation
.
date
=
lastMsg
.
date
val
listContains
:
List
<
String
>
=
messages
.
map
{
it
.
body
}.
filter
{
it
.
contains
(
"\u200B"
)
}
Log
.
d
(
TAG
,
"sendNormalMessage: 该对话是否有包含零宽字符 = ${listContains.isNotEmpty()}"
)
if
(
listContains
.
isNotEmpty
())
{
firstConversation
.
isSFNumber
=
true
Log
.
d
(
TAG
,
"sendNormalMessage: last body = ${GsonUtil.parseBeanToJson(conversationsDB.getNonArchived().last())}"
)
}
// Log.d(TAG, " MainActivity getMessages() firstConversation 数据库 =:${GsonUtil.parseBeanToJson(firstConversation)} ")
// Log.d(TAG, " MainActivity getMessages() firstConversation 数据库 =:${GsonUtil.parseBeanToJson(firstConversation)} ")
conversationsDB
.
insertOrUpdate
(
firstConversation
)
conversationsDB
.
insertOrUpdate
(
firstConversation
)
...
...
app/src/main/kotlin/com/secspace/sms/activities/ThreadActivity.kt
View file @
329d1be0
...
@@ -1367,53 +1367,19 @@ class ThreadActivity : SimpleActivity() {
...
@@ -1367,53 +1367,19 @@ class ThreadActivity : SimpleActivity() {
private
fun
sendNormalMessage
(
text
:
String
,
subscriptionId
:
Int
)
{
private
fun
sendNormalMessage
(
text
:
String
,
subscriptionId
:
Int
)
{
val
addresses
=
participants
.
getAddresses
()
val
addresses
=
participants
.
getAddresses
()
// android.util.Log.d(TAG, "sendNormalMessage: addresses = $addresses")
val
attachments
=
buildMessageAttachments
()
val
attachments
=
buildMessageAttachments
()
try
{
try
{
refreshedSinceSent
=
false
refreshedSinceSent
=
false
sendMessageCompat
(
text
,
addresses
,
subscriptionId
,
attachments
,
messageToResend
)
sendMessageCompat
(
text
,
addresses
,
subscriptionId
,
attachments
,
messageToResend
)
ensureBackgroundThread
{
ensureBackgroundThread
{
val
messageIds
=
messages
.
map
{
it
.
id
}
val
messageIds
=
messages
.
map
{
it
.
id
}
// android.util.Log.d(TAG, "sendNormalMessage: messageIds = $messageIds threadId = $threadId ")
val
messages
:
List
<
Message
>
=
getMessages
(
threadId
,
getImageResolutions
=
true
,
limit
=
maxOf
(
1
,
attachments
.
size
))
val
messages
:
List
<
Message
>
=
getMessages
(
threadId
,
getImageResolutions
=
true
,
limit
=
maxOf
(
1
,
attachments
.
size
))
.
filter
{
it
.
id
!
in
messageIds
}
.
filter
{
it
.
id
!
in
messageIds
}
// android.util.Log.d(TAG, "sendNormalMessage: body = ${GsonUtil.parseListToJson(messages)}")
for
(
message
in
messages
)
{
for
(
message
in
messages
)
{
// message.body = "${message.body} \u200B"
// android.util.Log.d(TAG, "sendNormalMessage: body = ${message.body} isContains = ${message.body.contains("\u200B")}")
insertOrUpdateMessage
(
message
)
insertOrUpdateMessage
(
message
)
val
listContains
:
List
<
String
>
=
this
.
messages
.
map
{
it
.
body
}.
filter
{
it
.
contains
(
"\u200B"
)
}
// android.util.Log.d(TAG, "sendNormalMessage: 该对话是否有包含零宽字符 = ${listContains.isNotEmpty()}")
if
(
listContains
.
isNotEmpty
())
{
val
allConversation
=
conversationsDB
.
getNonArchived
()
val
lastConversation
=
allConversation
.
last
()
lastConversation
.
snippet
=
"${message.body} \u200B \u200C \u200D "
lastConversation
.
isSFNumber
=
true
lastConversation
.
threadId
=
message
.
threadId
val
id
=
conversationsDB
.
insertOrUpdate
(
lastConversation
)
android
.
util
.
Log
.
d
(
TAG
,
"sendNormalMessage: message.threadId = ${message.threadId} id = $id"
)
// android.util.Log.d(TAG, "sendNormalMessage: last body = ${GsonUtil.parseBeanToJson(conversationsDB.getNonArchived().last())}")
}
}
}
val
allConversation
=
conversationsDB
.
getNonArchived
()
val
lastConversation
=
allConversation
.
last
()
lastConversation
.
snippet
=
"测试内容 body \u200B \u200C \u200D"
lastConversation
.
isSFNumber
=
true
// lastConversation.threadId = message.threadId
val
id
=
conversationsDB
.
insertOrUpdate
(
lastConversation
)
android
.
util
.
Log
.
d
(
TAG
,
"sendNormalMessage: id = $id"
)
android
.
util
.
Log
.
d
(
TAG
,
"sendNormalMessage: last body = ${GsonUtil.parseBeanToJson(conversationsDB.getNonArchived().last())}"
)
}
}
clearCurrentMessage
()
clearCurrentMessage
()
}
catch
(
e
:
Exception
)
{
}
catch
(
e
:
Exception
)
{
showErrorToast
(
e
)
showErrorToast
(
e
)
}
catch
(
e
:
Error
)
{
}
catch
(
e
:
Error
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment