Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
apsun committed Jan 1, 2016
1 parent 8f90637 commit 29fa8fc
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 16 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -25,6 +25,7 @@ local.properties

# Gradle
.gradle/
gradle/
gradlew
gradlew.bat

Expand Down
32 changes: 16 additions & 16 deletions README.md
Expand Up @@ -22,48 +22,48 @@ Block all messages starting with `the` and ending with `game`:
## Requirements

- A rooted phone running Android 4.4 KitKat or newer
- [Xposed framework](http://forum.xda-developers.com/xposed/xposed-installer-versions-changelog-t2714053)
([Lollipop/Marshmallow version](http://forum.xda-developers.com/showthread.php?t=3034811))
- [Xposed framework](http://forum.xda-developers.com/xposed)

## Note

NekoSMS was designed for devices running stock Android. If your ROM has made
significant changes to the way Android internally handles SMS messages, this
NekoSMS was designed for devices running stock Android. If your ROM has made
significant changes to the way Android internally handles SMS messages, this
app might not work.

## License

All code is licensed under [GPLv3](http://www.gnu.org/licenses/gpl-3.0.txt).
Images are copyright their respective owners.
All code is licensed under [GPLv3](http://www.gnu.org/licenses/gpl-3.0.txt).
Icons are from Google's [material icons library](https://design.google.com/icons/).

## Q&A

### Why is it called NekoSMS?

No reason in particular. I wanted a name that had "SMS" in it, and "neko" was the
No reason in particular. I wanted a name that had "SMS" in it, and "neko" was the
first word that popped into my head. Hence, NekoSMS.

### Why does this app require root/Xposed?
### Why does this app require Xposed?

[Starting from Android 4.4, only the default SMS app has the ability to intercept SMS messages]
(http://android-developers.blogspot.in/2013/10/getting-your-sms-apps-ready-for-kitkat.html).
In order to bypass this restriction, code must be modified at the OS level, which requires root.
In order to bypass this restriction, code must be modified at the OS level.

### Does NekoSMS work with (insert SMS app here)?

As long as your ROM supports it, yes. There is no app-specific SMS blocking
As long as your ROM supports it, yes. There is no app-specific SMS blocking
code, so if it works with one SMS app, it will work with them all.

### How does it work? (for nerds)

It hooks the internal Android class, `com.android.internal.telephony.InboundSmsHandler`.
This class is responsible for taking the raw SMS data received by the phone and
dispatching it to the default SMS app, then broadcasting it to all apps capable of
It hooks the internal Android class, [`com.android.internal.telephony.InboundSmsHandler`]
(https://android.googlesource.com/platform/frameworks/opt/telephony/+/master/src/java/com/android/internal/telephony/InboundSmsHandler.java).
This class is responsible for taking the raw SMS data received by the phone and
dispatching it to the default SMS app, then broadcasting it to all apps capable of
reading SMS messages.

Essentially, this app intercepts the data right before it is sent to the default
SMS app, then runs it through the user-defined filters. If the message matches
a filter, it is discarded and no broadcasts are sent.
Essentially, this app intercepts the data right before it is sent to the default
SMS app, then runs it through the user-defined filters. If the message matches
a filter, the broadcast is dropped.

### How does it work? (for non-nerds)

Expand Down

0 comments on commit 29fa8fc

Please sign in to comment.