ntfy Android app fork for CentralCloud oncall push notifications
Adds a SmsRelaySettingsActivity that edits the four config knobs
(enabled, base URL, device ID, sender whitelist) directly against the
`sms_relay_prefs` SharedPreferences file via a PreferenceFragmentCompat.
Also shows last-forward time and 24h failure count read-only.
Standalone (its own Activity), not folded into the existing
SettingsActivity, so this lands without touching the 1000-line monolith.
Launch with adb during bring-up:
adb shell am start -n io.heckel.ntfy/.sms.SmsRelaySettingsActivity
A future pass can link it from main_preferences.xml with
app:fragment="io.heckel.ntfy.sms.SmsRelaySettingsActivity$Fragment"
SmsRelayPreferences.whitelist
Storage format moved from StringSet to a single comma-separated
string so an EditTextPreference can edit it directly. External API
is unchanged — getter still returns Set<String>, whitespace and
empty entries stripped on read.
res/xml/sms_relay_preferences.xml
SwitchPreferenceCompat (enabled) + three EditTextPreferences
(base_url, device_id, whitelist) + two read-only summary entries
(last forward, failure count).
SmsRelaySettingsActivity / Fragment
Activity hosts the fragment; fragment loads the XML, points the
PreferenceManager at the `sms_relay_prefs` file, and refreshes the
read-only status entries on resume.
Manifest <activity> declaration goes with the broader pending manifest
commit alongside the SmsRelayReceiver registration.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .github/ISSUE_TEMPLATE | ||
| app | ||
| fastlane/metadata/android | ||
| gradle/wrapper | ||
| .envrc | ||
| .gitignore | ||
| build.gradle | ||
| flake.nix | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| README.md | ||
| settings.gradle | ||
| TESTING.md | ||
ntfy Android App
This is the Android app for ntfy (ntfy.sh). You can find the app in F-Droid or the Play Store, or as .apk files on the GitHub releases page.
If you're downloading the APKs from GitHub, they are signed with a certificate with the following SHA-256 fingerprint: 6e145d7ae685eff75468e5067e03a6c3645453343e4e181dac8b6b17ff67489d. You can also query the DNS TXT records for ntfy.sh to find this fingerprint.
Build
For up-to-date building instructions, please see the official docs.
Translations
We're using Weblate to translate the ntfy Android app. We'd love your participation.
License
Made with ❤️ by Philipp C. Heckel, distributed under the Apache License 2.0.
Thank you to these fantastic resources:
- RecyclerViewKotlin (Apache 2.0)
- Just another Hacker News Android client (MIT)
- Android Room with a View (Apache 2.0)
- Firebase Messaging Example (Apache 2.0)
- Designing a logo with Inkscape
- Foreground service
- github/gemoji (MIT) for as data source for an up-to-date emoji.json file
- emoji-java (MIT) has been stripped and inlined to use the emoji.json file