v0.1.4 -- New group, UI polish, performance fixes
EN
New features
- New group "Hide + notifications" (
LOCAL_AUTO_UNFREEZE): frozen when VPN is ON, auto-unfrozen when VPN is OFF. Perfect for banks / payment apps / messengers where you want notifications while VPN is off but complete isolation while VPN is up. Per-app and uses the existing freeze mechanism (no root, no suspend yet -- that's planned for v0.1.5). - VPN client is now a separate tab (between Apps and Settings) with a Hail-style collapsible search. Previously embedded in Settings.
- Inline "+" in each group on Home -- quickly add an app to any group via a searchable bottom sheet, without navigating to the Apps tab. Empty Home also shows four "Add to X" shortcuts.
- Home groups are now sorted alphabetically (closes #55).
- Pull-to-refresh on the Apps tab instead of an "Update" button. The button moved to the first row next to the counts.
- Legend with descriptions on the Apps tab replaces the four narrow badges -- clearer semantics for each group.
- Long-press on QS tile opens Anubis (PR #51, thanks @HotarunIchijou).
- Benchmark easter egg: after stealth toggle the status card briefly shows "Frozen N in X.X s" so you can see how your device handles freeze/unfreeze.
Performance
- Parallel freeze/unfreeze with Semaphore(4): groups of 30+ apps are freeze/unfreeze ~4× faster.
pm->cmd package: avoids ~100-200ms of Dalvik VM startup per command. Noticeable on 20+ app groups.- App-level Mutex between Orchestrator and VpnMonitorService: previously both paths dispatched the same freeze/unfreeze in parallel on VPN transitions, doubling the work. Now the second path waits for the first and skips no-op work.
Bug fixes
- Own dummy VPN was detected as external VPN: when the stealth mode's internal force-disconnect VPN briefly appears in the system's network list, monitoring used to treat it as "VPN came up" and re-freeze groups that had just been unfrozen. Fixed with an in-flight flag + 1.5 s grace period gated across all four detection paths.
- Icon creation for shortcuts on Pixel A14+ / Monet launchers: switched to
Icon.createWithAdaptiveBitmapfor AdaptiveIconDrawable. No more white halos around frozen-app shortcuts (PR #52 -- thanks @NeAlien, closes #26). - QS tile state update is now optimistic: tile flips instantly on click instead of waiting for the orchestration to finish (PR #51).
Documentation
- New SETUP.md section: "HyperOS / HiOS / OxygenOS -- what helped users" with a step-by-step recipe compiled from issues #7, #33, #44, #58. Includes the "USB debugging (security settings)" MIUI gotcha.
Deprecated
- The global "Unfreeze groups on VPN toggle" switch in Settings (introduced in
0.1.4-beta.1) is now marked deprecated with an in-app notice. It will be removed in v0.1.5 in favour of the per-groupLOCAL_AUTO_UNFREEZE. Existing opt-in users are not affected -- the toggle still works.
Contributors
- @HotarunIchijou -- PR #51
- @NeAlien -- PR #52
RU
Новые фичи
- Новая группа «Без VPN + уведомления» (
LOCAL_AUTO_UNFREEZE): замораживается при включении VPN, автоматически размораживается при его выключении. Банки, платёжные приложения, мессенджеры -- которые должны получать уведомления без VPN, но полностью скрываться при активном VPN. Per-app через существующий механизм disable (без root и пока без suspend -- suspend планируется в v0.1.5). - VPN-клиент теперь отдельная вкладка (между «Приложениями» и «Настройками») с поиском по иконке-лупе (Hail-style). Раньше был встроен в Настройки.
- Inline «+» в заголовке каждой группы на главной -- добавить приложение в любую группу можно прямо с Home через bottom sheet с поиском, не переходя во вкладку «Приложения». Если все группы пустые -- на главной показывается 4 ярлыка «Добавить в …».
- Сортировка приложений в группах на главной по алфавиту (закрывает #55).
- Pull-to-refresh на вкладке «Приложения» вместо кнопки «Обновить». Сама кнопка «Авто-выбор» переехала в первый ряд рядом со счётчиками.
- Легенда с описаниями на вкладке «Приложения» вместо четырёх узких бейджей -- семантика каждой группы теперь читается.
- Long-press по QS-тайлу открывает Anubis (PR #51, спасибо @HotarunIchijou).
- Пасхалка-бенчмарк: после включения/выключения стелса в статус-карточке ненадолго появляется «Заморожено N за X.X с» -- можно оценить реальную скорость на вашем устройстве.
Производительность
- Параллельная заморозка/разморозка с Semaphore(4): группы 30+ приложений обрабатываются примерно в 4 раза быстрее.
pm→cmd package: убирает ~100-200 мс на старт Dalvik VM на каждый вызов. Заметно на группах 20+ apps.- App-level Mutex между Orchestrator и VpnMonitorService: раньше при переключении VPN оба пути параллельно выполняли одни и те же freeze/unfreeze -- дублирование работы. Теперь второй путь ждёт первый и пропускает уже выполненное.
Исправления
- Собственный dummy VPN определялся как внешний: при выключении стелса внутренний force-disconnect VPN кратковременно появляется в списке сетевых интерфейсов системы. Мониторинг ошибочно трактовал это как «включился новый VPN» и заново замораживал группы, которые только что разморозились. Починено через in-flight флаг + 1.5 с grace period на всех четырёх точках детекта VPN.
- Создание иконок для ярлыков на Pixel A14+ / Monet-лаунчерах: для AdaptiveIconDrawable теперь используется
Icon.createWithAdaptiveBitmap. Больше никаких белых ореолов вокруг ярлыков замороженных приложений (PR #52, спасибо @NeAlien, закрывает #26). - QS-тайл реагирует мгновенно: тайл переключается сразу после клика, не дожидаясь окончания оркестрации (PR #51).
Документация
- Новый раздел в SETUP.md: «HyperOS / HiOS / OxygenOS -- что помогло пользователям» с пошаговым рецептом, собранным из issues #7, #33, #44, #58. Включая ключевой пункт «Отладка по USB (настройки безопасности)» на MIUI.
Устаревшее
- Глобальный переключатель в Настройках «Размораживать группы при включении/отключении VPN» (из
0.1.4-beta.1) помечен как устаревший прямо в карточке. Будет удалён в v0.1.5 в пользу новой группыLOCAL_AUTO_UNFREEZE. Пользователи, включившие его, ничего не теряют -- он продолжает работать.
Контрибьюторы
- @HotarunIchijou -- PR #51
- @NeAlien -- PR #52