zipt release notes
1.16.5
The keyboard, again. Installs over 1.16.0 or later.
Fixed
- Inside an allowed app during a block, the keyboard no longer opens and closes by itself. 1.16.3 stopped the jump back to the lock screen; what was left was a Back press the service used to close the notification shade on phones where Android's own dismiss action is refused, which HyperOS does. Back over a text field closes the keyboard. Inside an allowed app the service now uses the dismiss action only and never presses Back.
Added
- The usage report has a Service section: blocked apps bounced, system windows seen inside allowed apps, shade closed with Back, and whether the dismiss-shade action works on this phone. Counts only, never which app.
1.16.4
Sign-in is switched on. Installs over 1.16.0 or later.
Added
- Settings → Account → Sign in with Google now works: this build carries Radheya's Firebase settings. Still optional; blocks never need it. Sign out and Delete account are on the same card, and Delete removes your name and email from Radheya's records at once. Checked end to end on the emulator: sign in, sign out, sign in again, delete.
1.16.3
The first alpha round, answered. Installs over 1.16.0 or later; from older, see 1.16.2's note.
Fixed
- Inside an allowed app during a block, a volume press, the notification shade or the keyboard's own system windows no longer throw you back to the lock screen. On Redmi phones this showed up as "the keyboard will not open in WhatsApp". The lock screen still comes back the moment you press Home, open Recents over it, or open any app that is not allowed.
Added
- Haptics. The zip's teeth and its commit, the duration ruler and chips, the lock screen's buttons and Settings' switches now vibrate, short and quiet, whether or not the phone's Touch feedback setting is on.
- Settings → About → What's new: every version's note, newest first, with the installed one marked.
- Close background apps: a Done pill floats over Recents during the pass. Tap it and the lock screen is back at once. The pass's own timer is now 60 seconds instead of 30, since it is only the backstop.
Changed
- Settings is an index of six pages: Schedules, Your way out, Account, Activity, Phone and security, About. Each row shows a one-line summary; the cards inside are the same as before. Anything worth asking about shows a red count on the Activity row.
- The Account card says plainly that sign-in is switched on from Radheya's side with a release, and that there is nothing to do on your phone until then.
1.16.2
Optional account, for the community and leaderboard features that come next. First build shared with friends for alpha testing.
Before you install
From 1.16.0 or 1.16.1 this file installs over the top and everything stays. If your zipt is older than 1.16.0, it was signed with the old key: with no block running, open zipt, tap Remove zipt, then Settings → Apps → zipt → Uninstall, then install this file and go through setup again.
Added
- Optional account: Settings → Account → Sign in with Google. Nothing about blocks changes, and signed out zipt still sends nothing. Signed in, your name and email are kept for community and leaderboards later. Sign out and Delete account are in the same card. Account changes wait until a block ends. Sign-in is switched on from Radheya's side; until then the card says accounts are not set up yet.
- Found a bug? Settings → Usage report → Share report and send it with your phone model: the report has the app and Android version, how each block ended and the last crash. Nothing leaves the phone unless you send it.
Changed
- zipt now declares internet access, used only by the optional sign-in. The privacy policy and Help say exactly what is sent.
1.16.1
No way out is now the default: once a block starts, it runs to its time.
Before you install
If your zipt is older than 1.16.0, it was signed with the old key and this file will not install over it. With no block running: open zipt, tap Remove zipt, then Settings → Apps → zipt → Uninstall, then install this file and go through setup again. From 1.16.0 it installs over the top.
Changed
- With nothing chosen, a block cannot be ended early. 1.16.0 gave End early and the cool-off wait to every phone without unlock codes; now End early appears only if you switch to the wait in Settings → Your way out. Phones that already chose the wait, or have unlock codes, keep them.
- Help's answer to "How do I end a block early?" says so.
Removed
- The "Who holds your way out?" card on Home after a block. It offered the wait or a trusted person; neither is the default any more.
Earlier
- 1.16.0 · The cool-off wait. If you have not chosen codes or No way out, the lock screen has End early. It starts a wait, and the lock stays on while it counts: 2 minutes the first time, then 10, 30 and 60 for each early end in the last 7 days. You can cancel it. Changing the phone's clock does not shorten it. Activity records the start, a cancel, and the block ending early. Settings has a Your way out card saying which way out applies, with a switch between the wait and No way out. Going from No way out to the wait is written down as looser. Close background apps, on the lock screen. During a block, Recents used to vanish the moment it opened, so apps could not be swiped closed. The button opens Recents for 30 seconds to swipe apps away; anything opened from there is still blocked, the notification shade stays closed, and the lock screen comes back by itself. Usage report, in Settings. Counts kept on your phone: setup steps reached, which permissions are on, blocks started and how each ended, schedules on, and the last crash. No app names, no codes. Share report opens Android's share sheet; nothing is sent unless you send it. zipt still has no internet permission. Help, on Home and on the lock screen. The questions people ask, one tap each: how to end a block early (answered for the way out your phone has), emergencies, what still works, messages and OTPs, banking apps, schedules that did not start, privacy, and how to reach us. The same questions are on the website at zipt.radheya.in/help. Setup no longer asks for unlock codes. It is the permissions, then an optional two-minute block so you can see what a block is like before you commit an evening to one. Home asks "Who holds your way out?" after a block has finished. Keep the wait, Someone I trust (the ten one-time codes, as before), or No way out. Later puts the question off until your next block ends or a new week starts, and it stops asking after three Laters. Before every block, Home says how it can end early: "· early end after a wait", "· no early end", or nothing when someone holds your codes. The warning that used to sit on Home all day is gone; it now appears only when a list of codes has run out. The authenticator QR is gone from setup. An authenticator key you already have keeps working, and Settings can still add one. A schedule shorter than 5 minutes was saved but never ran. The end-time picker now refuses it with a popup, "Schedule too short", saying why and the earliest end that works, with Pick another end and OK. A switched-on schedule that cannot run says "Will not run" in its row, and Next window reads "Not running, see Schedules" instead of "None set". A warning about Android pausing unused apps showed when it could not apply. Android already exempts zipt while its accessibility service is on or the uninstall guard is on, and the switch in App info is greyed out then. The warning now only appears when it is true, and says exactly where to go: scroll to the bottom of App info and turn off "Manage app if unused" ("Pause app activity if unused" before Android 15). Remove zipt did nothing on phones set up without a computer. It now switches off the uninstall guard, says so, and is refused during a block. Pulling the zip on Home sometimes did nothing. On phones using swipe navigation, Android could take the pull as the edge swipe for Back. The bottom of the zip strip, where a pull starts, is now kept for the zip. A new block could open on an old "Time's up" screen. If a block ended and you left with the Home button instead of pulling the zip open, the next block showed Time's up while it was running. Each block now gets a fresh lock screen. Codes, keys, schedules and allowed apps all stay. If you set up without codes before, zipt treats that as No way out and does not ask again.
- 1.15.1 · Setup can be paused. The two permission steps a block cannot run without, Accessibility and Display over other apps, now have a Not now button under Grant. It opens Home with the missing pieces listed, each with a Fix that brings you back to the step. Until both are granted, nothing on Home can start a block. The next time you open zipt it asks again. Banking apps. Some banking apps, iMobile Pay among them, will not open while any app's accessibility service is on. Settings has a new card that says so and a *Pause zipt's service* button for between blocks: it switches the service off, Activity records it, and Home shows how to turn it back on before your next block. It does nothing during a block. The in-app note and the website now carry the 1.15.0 release notes that were missing from the site.
- 1.15.0 · One-time unlock codes. Setup now creates ten eight-digit codes, shown once, for you to send to the person you trust. When a block has to end early you call them, they read you one code, you type it on the lock screen, and that code never works again. No authenticator app, nothing depends on the phone's clock. zipt keeps no copy of the codes, only a fingerprint of each under a key that cannot leave the phone. Settings shows how many are left and can issue a new list at any time between blocks. Issuing new codes makes the old list stop working, and Activity records it. The lock screen takes either kind of code, eight digits or the six from an authenticator, in one box. Three wrong tries of either kind start the same lockout. The authenticator key is now the alternative, one tap away in setup and its own card in Settings. Existing keys keep working exactly as before. Home's "no unlock key" warning now also covers a used-up list: "All unlock codes are used up. Nobody can end a block early until new ones are issued."
- 1.14.0 · The unlock key is optional. The last setup step has a new choice, *Go on without a key*. It asks you to confirm, because of what it means: without a key, nobody can end a block early, not you and not anyone else. Every block runs to the time you set. Calls always work. Home says so while there is no key, with a Fix that opens the key screen. Settings offers *Create key* in place of *Replace key*. Both choices are written into Activity ("set up without an unlock key", "unlock key created") so whoever reads the log knows which phone this is. The lock screen explains instead of asking. Holding the clock on a phone without a key says the block cannot be ended early and when it ends, rather than offering a code box that nothing could fill. The guide has a line for people who need YouTube for study during a block: allow a client without Shorts instead of YouTube itself.
- 1.13.0 · The code is for one thing: ending a running block. Nothing else in the app asks for it any more. Settings opens with a tap, and every schedule change applies at once, including switching one off. What the code used to guard is now on the record instead. A schedule change that gives time back, or replacing the unlock key, is written into Activity in Settings and included in Share this week, so the person who holds the code can see it without having to approve it.
- 1.12.0 · Schedules are yours to add. Tap Next window on Home to open Schedules without the code. Adding a block, or switching one on, applies at once: it only ever restricts the phone more. Giving time back still asks for the code. Turning a schedule off, removing it, moving it later, dropping a day or shortening it brings up the six-digit code, the same as ending a block early. zipt judges the change by what it does to the week, not by which control you touched. Settings, behind the code, is unchanged. The Allowed list opened slowly, or not at all, on phones with many apps: it loaded every icon before showing anything. Icons now appear as you scroll.
- 1.11.0 · This week. Hours off the phone, blocks finished and a streak of days, from zipt's own record. One line on Home; a card in Settings with Share this week, which hands a short plain-text summary to any chat app for the person who holds your code. zipt itself still sends nothing anywhere. Until a time. The Exact dialog has "Or choose an end time": pick when to unlock and zipt works out the length. App icons in the Allowed list and on the lock screen buttons. The lock screen shows "until 9:08 pm" under the time remaining. Home's Next window names the length too: "6:15 PM · 6h". Everything is kept. The week's numbers appear as blocks finish; days before this version count as far back as the record goes.
- 1.10.0 · Several schedules. A morning block at 5:30 for two and a half hours and an evening block at 6:15 for six, each with its own days, daily or only some days. Settings, behind the partner's code, lists them with a switch each and an Add another schedule button; tap a row to edit it. Up to eight. Overlapping schedules run as one block. If a second schedule starts while a block is running, the block simply lasts until the later end. It never drops and comes back. Search in Allowed apps. Type part of a name and the list narrows. Your existing schedule is kept as the first entry of the list. Key, allowed apps and everything else stay.
- 1.9.1 · The app tells you what changed. After an update, Home shows a short note once: what is new, improved or fixed, with a Got it button. Nothing to fetch; the notes ship inside the app. Someone updating from 1.8.0 sees the 1.9.0 note and this one, in order. Never shown during a block, never on a first install. Existing installs keep their key, allowed apps and schedule.
- 1.9.0 · Home has a new zip. It is a slim seam along the right edge of the screen. To start a block, pull its tab up; the seam opens into a full zip for the pull and zips the phone shut. Let go early and it springs back. The old zip across the bottom is gone. Duration is chips and the ruler. One tap for 1h, 2h, 4h or 6h, the ruler under them for anything in between, and Exact for typing a time. Locked screen keeps the clock, the time remaining and the Phone button, now left-aligned, with the shut seam and its one blue tooth along the edge. Time's up shows a tab at the top of the seam. Pull it down to open the phone. Settings redirects land on the right row. When a setup step or a Fix button sends you into Android Settings, the page opens with zipt's row highlighted where Android allows it, a short message names the switch to turn on, and the step itself says beforehand where you will land and what to press. Battery is one question. Instead of the list of every app, Android now asks whether zipt may always run in the background. Tap Allow. Existing installs keep their key, allowed apps and schedule. No setup step has to be repeated.
- 1.8.0 · Uninstall guard. An optional setup step registers zipt as a device admin with no powers, so removing it takes a trip through Settings first. Between blocks only; a running block already keeps Settings out of reach. Exact alarms step on Android 14 and newer, so blocks start and end on the minute. Play Store listing pack, privacy policy at zipt.radheya.in/privacy, and the release checklist. The device-admin page opened and closed at once when launched as a new task; the button did nothing. It now opens.
- 1.7.0 · Warnings for the three quiet kill switches: the volume-key accessibility shortcut, USB or wireless debugging (a phone can run adb on itself since Android 11), and "pause app activity if unused". Each warning has a Fix button. Instrumented checks that every Settings key zipt reads exists on the device.
- 1.6.0 · Autostart setup step for Xiaomi, HyperOS, OPPO, vivo, OnePlus and realme, with the exact path printed on the screen. Without it a restart quietly stops scheduled blocks. Website install steps, including the Android 13+ "restricted settings" unlock for sideloads.
- 1.5.0 · The floating-window escape. On HyperOS the lock screen could be shrunk into a small window and the phone used behind it. The lock screen now refuses to be resized, checks that it covers the screen, and relaunches full screen when it does not. Recents is closed during a block as well. Clock changes during a block no longer shorten it.
- 1.4.1 · Dropped the QUERY_ALL_PACKAGES permission. The allowed-apps picker lists launchable apps only.
- 1.4.0 · Second UI pass: the confirm sits above the fold, Home is balanced, decorative illustrations removed.
- 1.3.2 · The blue accent now appears only while a lock is running.
- 1.3.1 · Day chips read as toggles and the schedule saves itself.
- 1.3.0 · UI review fixes: contrast, zip legibility, the key handoff screen, warnings with Fix buttons.
- 1.2.0 · QA pass findings: the dialer is always allowed during a block, among others.
- 1.1.4 · Permissions and warnings refresh every time the app returns to the foreground.
- 1.1.3 · A warning when the phone is not setting its own clock.
- 1.1.2 · The QR code names the key "zipt" in the authenticator app.
- 1.1.1 · Guide for the friend and the partner card.
- 1.1.0 · The lock screen shows every allowed app in a grid.
- 1.0.0 · First release, as Focus Blocker: a daily phone lock with a partner-held unlock code.