Skip to content

Releases

v1.5.1

Choose a tag to compare

@right9code right9code released this 27 Oct 01:04

HiBig Zero v1.5.1 — E-Ink UI Revamp

UI Overhaul

  • Sub-tab navigation: 5 instant-switch tabs (READING, SENSORS, STANDBY, DEBLOAT, APPS) replace the 10-screen vertical scroll
  • Header telemetry: live CPU/DOZE/SENS/BATT status merged into the header bar — tap to refresh, zero background polling cost
  • Stepper chips: inline 1-tap chips for Wake/Sleep CPU governor, Doze speed, charge ceiling (75/80/85/90/Custom), and auto-shutdown timeout (1H/2H/4H/8H/Custom)
  • Hybrid 2 pills: [ ● ON ] / [ ○ OFF ] and [ ● FROZEN ] / [ ○ ACTIVE ] with unambiguous solid/dashed styling
  • Long-press APPLY ALL: long-press the header title → confirmation → apply all rules (zero screen cost)
  • Suspend & Alarm Shield: unified card with master toggle + 4 checkboxes (kill Bigme shutdown timer, batch alarms, throttle JobScheduler, instant keyguard lock)
  • Keys & Gestures: dual-shortcut card for Custom Side Keys and Gesture Settings (auto-disabled when launcher frozen)

New Features

  • Tailscale added to the managed app installer (from tailscale/tailscale-android GitHub releases)
  • Instant Deep Doze: force-idle on screen-off, unforce on screen-on via ScreenReceiver
  • WhatsApp host added to NetGuard download allow-list

Improvements

  • Removed redundant header battery 30s polling timer (telemetry strip handles it)
  • DRY_RUN toggle dropped from UI (underlying key preserved as dormant fallback)
  • CPU_OPTIMIZER merged into Wake Governor profiles
  • Sleep Governor auto-switch enabled when selecting a profile
  • Doze modes consolidated: Instant (15s) / Aggressive (5m) / Stock

HiBig Zero v1.5.0

Choose a tag to compare

@right9code right9code released this 21 Sep 13:41

HiBig Zero v1.5.0

🆕 New managed app: Obtainium

Obtainium joins the APPS tab — install and update apps straight from GitHub releases, with no Play Store and no account.

  • Uses the plain release asset (app-arm64-v8a-release.apk), not the F-Droid flavour. They are different packages (dev.imranr.obtainium vs dev.imranr.obtainium.fdroid) signed by different keys, so mixing them would install a second app or fail the signature check on update. Verified against the published asset.
  • REQUEST_INSTALL_PACKAGES is granted on install, so Obtainium can actually install what it downloads instead of sitting behind a system "Allow from this source" prompt.

🔋 Sleep clamp measured — results published

The screen-off CPU clamp was finally measured on hardware. Full write-up in docs/SLEEP_CLAMP_TEST.md:

  • The clamp works — identical work takes 2.44× longer, verified across 8 legs with CPU frequencies recorded in every sample.
  • It only matters while the device is awake with the screen off, where it saves ~10–17 mA (the wake profile pins the little cores at a 900 MHz minimum). While the device is genuinely suspended it saves nothing — the firmware powers the cores down regardless of governor.
  • The total-energy figure cannot be measured on this hardware: the battery gauge is unusable below ~10 mA (charge_counter frozen, positive current reported while discharging) and the timing and current instruments contradict each other by ~6×. This is stated rather than papered over.
  • Recommendation: the upside is small and bounded while the failure mode is a crippled device, so SLEEP_GOVERNOR_ENABLED=0 is the safer default. Shipped default is unchanged (1), and the failure mode is fully contained by the recovery machinery below.

🛠️ Reliability and hardening (since v1.4.0)

  • Self-updater trust boundaries — downloads are restricted to GitHub hosts with every redirect hop re-checked, and the APK must be signed by the same certificate as the running app. A tampered or failed download now fails loudly.
  • execRoot liveness — stdout and stderr are read on separate threads (the old sequential read could deadlock permanently when a command filled the stderr pipe), with waitFor(timeout) plus destroyForcibly() so a wedged su can never freeze a caller forever.
  • Screen-state durability, three tiers — dynamic receiver for the hot path, reconciliation on every process start, and a non-wakeup ELAPSED_REALTIME watchdog that repairs a stuck clamp within ~2 s of the screen coming on. Previously a process killed while clamped left the device at 400–900 MHz with 4 cores dead permanently; that state was reproduced on-device before being fixed.
  • Boot-loop guard — after 3 fast boots the rule pass suspends itself and the header offers RESUME RULES, so a bad rule can't make the device unbootable.
  • Boot rule table — the 19 numbered blocks in BootReceiver are now tables plus explicit steps, with behaviour proven identical by diffing 24 real boot commands against the pre-refactor binary. Kills the ON/OFF drift class that had already caused two bugs.
  • Config hardening — a package name read from a world-writable file was interpolated into root shell commands at every boot. Closed with 0600 owner-only files plus package-name validation; the injection was demonstrated not to execute afterwards.
  • Persistent log — the log is now a real rotating file (/data/local/tmp/hibreak.log) instead of a memory-only list, written by a single batched thread.
  • Charge ceiling — the MTK current_cmd switch, with every failure path resuming normal charging.

📥 Install

adb install -r HiBigZero-v1.5.0-release.apk

Same signing key as previous releases, so this upgrades in place. HiBigZero-v1.5.0-release.apk.sha256 is attached for verification.

HiBig Zero v1.4.0

Choose a tag to compare

@right9code right9code released this 20 Sep 15:29

HiBig Zero v1.4.0

Fixed: the phone could be left permanently crippled

The sleep CPU profile is applied by a receiver that only lives while the app's
process does. If Android killed the app while the screen was off, nothing
restored the wake profile — the phone woke up stuck at 400–900 MHz with four
cores offline
, and opening the app did not fix it. Now repaired two ways: on
any app start, and by a non-wakeup watchdog alarm that survives the process being
killed and restores the profile about 2 seconds after you press the power key.

New: a real battery charge ceiling

Charging actually stops at your chosen percentage (default 80%, resumes at 75%)
by switching the MediaTek charge input, instead of the old toggle that claimed to
cap charging and did nothing. Fail-safe by design: every failure path resumes
charging, and unplugging or rebooting always clears it.

New: logs that survive a restart

Every action is now appended to a real log file, so you can see what the app did
before it was restarted — the boot-time rule pass, charger events, shutdown
decisions. Previously the log existed only in memory and died with the process.

New: boot-loop guard

If rules ever put the device in a boot loop, the app stops applying them after 3
consecutive fast boots and says so in the header, with a RESUME RULES button.

New: dry run

A switch that logs every state-changing action instead of applying it, so a whole
rule set can be rehearsed safely. Status cards keep showing real values.

Faster and quieter

  • Cold start roughly 5.5–6.3 s → ~1.7 s; root shells per launch down from 14
    to 1–5
  • The package list builds in chunks instead of one long UI-thread block
  • Root commands no longer read output in a way that could hang the UI, and every
    one now has a timeout

Safer

  • Updates and app installs only download from GitHub, and the APK must be signed
    with this app's own key, verified before anything is installed
  • Package names read back from config are validated, and the files that feed root
    commands are no longer world-writable

Fixed

  • Apps were being frozen that you never touched; the OFF path also re-enabled far
    too much, undoing deliberate choices
  • Auto-shutdown: skips while charging, reschedules when you wake the phone, and
    has a dry-run mode that logs the decision instead of powering off
  • Removed 6 app-ops that do not exist on Android 14 and were silent no-ops,
    and a global setting that was being changed as a side effect
  • deskclock is no longer in the debloat list (it is the only alarm clock)

Signing: signed with the same key as v1.3.4, so it updates in place.
Installs of v1.3.3 or older use a different key and must be uninstalled once
before they can be replaced.

SHA256: a9f5efc779f6880c829ace4ae1cb959994bc75ce789dba51d033a6b35cf92a66

HiBig Zero v1.3.2

Choose a tag to compare

@right9code right9code released this 19 Sep 18:42

HiBig Zero v1.3.2 - bug fixes

Fixed

  • Settings now persist - saveConfig wrote /data/local/tmp/hibreak.conf with a plain FileWriter, which the app UID cannot do (dir is 775 shell:shell, SELinux shell_data_file). Every toggle silently failed and settings reset on restart. Now written via root with chmod 666.
  • Deep sleep test button works - it ran a nonexistent full_diag.sh; it now stages the bundled drain_sampler.sh and launches it. The script also accepts a duration (10-min test honors its window).
  • Correct current readings below 10 mA - current_now is microamps; small draws were shown raw (2.5 mA displayed as "2500 mA").
  • HOTPLUG_4_CORES latch - selecting the E-Reader governor set the flag but nothing cleared it, so cores 4-7 stayed offline even for stock/8-core profiles. Now cleared on profile change.
  • ScreenReceiver.saveActiveGov - same root-write fix for /data/local/tmp.

Notes

  • Runtime projection uses the 2100 mAh spec-sheet capacity.
  • Full install / nothing else required.

HiBig Zero v1.3.1

Choose a tag to compare

@right9code right9code released this 18 Sep 02:04

What's New

  • CAPACITIVE_KEYS toggle: Freeze/unfreeze Bigme launcher to configure side-button assignment
  • OPEN SETTINGS: Directly opens CustomMenuActivity for capacitive key configuration
  • Fix: LocalSend package name corrected (card now updates after install)
  • Fix: REINSTALL button now visible in update dialog
  • Version bump: versionCode 5, versionName 1.3.1

Full Changelog

v1.3.0...v1.3.1

HiBig Zero v1.3.0

Choose a tag to compare

@right9code right9code released this 17 Sep 17:17

What's New

  • Self-Updater: UPDATE button checks GitHub for new releases, downloads and installs with progress
  • MANAGE_EXTERNAL_STORAGE: KOReader and MiXplorer now get full storage access on Android 14
  • SELinux-safe installs: APKs staged to /data/local/tmp before pm install
  • Resilient version comparison: Handles -rc1, -beta suffixes correctly
  • Proper JSON parsing: Migrated from string-scanning to org.json
  • Cleaned up su -c nesting: postInstall commands no longer double-wrap with su

Apps Managed

AnyHome, KOReader, E-Ink Bro, Obsidian, MiXplorer, LocalSend

HiBig Zero v1.0.0

Choose a tag to compare

@right9code right9code released this 13 Sep 13:34

HiBig Zero v1.0.0

Zero-Drain Power & Hardware Manager for the Bigme B6 / HiBreak (MediaTek Helio P35, Android 14).

E-ink UI

  • Responsive sp typography using the system typeface
  • Density-independent dp layout (no raw pixels)
  • Compact banner showing app name, version, and author
  • Separated tab bar with a clear selected-state indicator
  • Collapsible sections across all tabs
  • Package Manager with plain-language per-app status and FILTER/SORT dropdowns
  • Strict 1-bit monochrome styling with no system grey drawables
  • New launcher icon

Install

adb install -r HiBigZero-v1.0.0-release.apk

Root (Magisk v26+) is required.

Artifact

  • HiBigZero-v1.0.0-release.apk
  • SHA256: e034c0a02eb7127798a9c674ba967de54712fd2331060f37d4ab93581d274238