A countdown timer on the Glyph Matrix of the Nothing Phone (3) and Phone (4a) Pro. Flip to start, pick up to stop.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Unofficial app. Not made, endorsed or supported by Nothing Technology Limited. See Trademarks.
More pictures of each feature are on the website.
GlyphCountdown-….apk.Updates install over the top and keep your settings. The Glyph Matrix needs a Nothing Phone (3) or Phone (4a) Pro; on other phones the timer, sounds and widgets still work.
Every release is built and signed by GitHub Actions, and its notes list the APK's SHA-256. Official builds are signed with this certificate:
SHA-256: a22a650d43425496555e814f387403d5d5b95fe1cd9e70519c030388654439e7
Check with apksigner verify --print-certs GlyphCountdown-….apk. An APK signed with any other certificate isn't an official build.
Tap the gear on the timer screen.
| Section | Options |
|---|---|
| Time's up | Animation, sound, sync, dimming, dim level, vibrate, pick up to dismiss |
| Glyph Matrix | Countdown style · Only when screen is off |
| Appearance | Theme: Phone, Light or Dark |
| Widgets | Translucent background |
The app has no internet permission, so it can't go online. No account, no analytics, no ads. Settings stay in the app's own storage on the phone.
| Path | What it is |
|---|---|
app/src/…/MainActivity.java | Timer screen, flip to start |
app/src/…/DialView.java | The tick-ring dial and draggable dot |
app/src/…/TimerService.java | Countdown, notification, alarm, Glyph Matrix |
app/src/…/Placement.java | Works out where the phone is (table, hand, pocket) to light or darken the matrix |
app/src/…/PickupDetector.java | Pick up to dismiss the alarm |
app/src/…/MatrixRenderer.java | Draws frames for the Glyph Matrix (25 × 25 and 13 × 13) |
app/src/…/CountdownStyles.java, CountdownStyleActivity.java | The ten countdown styles and their picker |
app/src/…/MorphEngine.java | The ten time's-up animations, for both matrix sizes |
app/src/…/SoundSync.java | Reads the alarm sound's notes; stutter, dimming and the time's-up frame |
app/src/…/TimesUpActivity.java | The Time's up page with its live preview |
app/src/…/Sounds.java | The phone's alarm and notification sound lists |
app/src/…/SettingsActivity.java, Prefs.java | Settings screen and saved switches |
app/src/…/Palette.java | Light and dark colours; the theme choice |
app/src/…/Widget*.java | Home screen widgets (light/dark via res/layout-night) |
docs/ | The website (GitHub Pages), design images and release notes |
tools/ | APK assembler, zip aligner, widget preview generator |
.github/ | Build check on every push, signed releases, Dependabot |
No Android Studio or Gradle needed: just git, a JDK (17+) and python3.
./setup-deps.sh # once: downloads and compiles the build tools (~50 MB)
KEYSTORE_PASS='choose-a-password' ./build.sh
# → out/GlyphCountdown.apk
A local build signs with release.jks (or wherever KEYSTORE points), creating a key there if none exists. That's for your own testing: phones won't accept it as an update to the official releases.
Every build tool is pinned to an exact commit, and android.jar and the Glyph SDK are checked against SHA-256 hashes, so a changed dependency fails the build instead of slipping in. setup-deps.sh downloads Nothing's Glyph Matrix SDK from Nothing's repository; its licence allows using it in your own app but not redistributing it, so it isn't included here.
To preview the website, serve docs/ with any static server, for example python3 -m http.server -d docs.
Releases are automatic. Raise versionCode and versionName in app/AndroidManifest.xml, add docs/release-notes/v<versionName>.md, and push to main. The Release workflow sees a version with no release yet, waits for approval in the release environment, then builds that exact commit, signs it with the key in the repository's encrypted secrets (KEYSTORE_BASE64, KEYSTORE_PASS), and publishes v<versionName> with the APK, its SHA-256 and the certificate fingerprint. Pushing a v* tag by hand also works.
The Build check workflow builds every push and pull request with a throwaway key, so a broken build is caught early.
See SECURITY.md for how to report a problem and how releases are signed.
The code is released under the MIT Licence, with no warranty: you use it at your own risk. Third-party components keep their own licences; see THIRD-PARTY-NOTICES.md.
Nothing, Phone (3) and Glyph are trademarks of Nothing Technology Limited. They are used here only to say which device and feature this app works with. This project is not affiliated with or endorsed by Nothing.