Skip to content

Releases: marcoazeem/duo-open

Duo Open 1.3.0

Choose a tag to compare

@marcoazeem marcoazeem released this 25 Sep 07:55

New: Live blur — the fold without screenshots. Tune → How it's drawn → Live blur uses the system's own window blur on the live screen instead of capturing and warping a screenshot. It starts the instant a fold phase begins, has no capture rate limit, and content keeps moving underneath. The frost is stepped rather than smooth and there is no perspective bend. Greyed out on devices with window blur turned off. Snapshot (the previous behaviour) stays the default.

Clearer settings. The Tune sheet is now six explained sections in the order you need them: where it plays, how it's drawn, look, which parts move, wallpaper image, hinge sensor.

Phones that keep both screens on. The service now runs one fold engine per lit display, so on hardware that leaves the cover screen on while the inner screen is active, both play together with no gap at the handover. Verified on an emulator with a simulated second display, not on real hardware — if you have such a phone (Pixel Fold dual-screen modes etc.), please open an issue with adb logcat -s DuoOverlay from one open/close. In Snapshot mode the second panel's capture lands ~0.35 s late because Android's screenshot rate limit is global; Live blur avoids that.

README now explains why phones that light one panel at a time (OnePlus Open and most book-style foldables) always have a gap at the panel swap, and what can and can't be done about it.

Files: DuoOpen-1.3.0.apk — full (system-wide fold + wallpaper). DuoOpen-1.3.0-lite.apk — wallpaper only, no accessibility service.

Upgrading from a debug/sideloaded dev build: uninstall it first (different signing key). Upgrading from 1.x release builds installs over the top; re-check that the accessibility service is still on.

Duo Open 1.2.0

Choose a tag to compare

@marcoazeem marcoazeem released this 23 Sep 09:36

Two editions

  • DuoOpen-1.2.0.apk — Full. System-wide fold via the accessibility service, plus the live wallpaper. Same as 1.1.0 in behaviour; still needs Android's Allow restricted settings step (or adb install) on a sideload.
  • DuoOpen-1.2.0-lite.apk — Lite. Live wallpaper only. No accessibility service is declared or compiled in (0 references in the APK), so Play Protect and restricted settings never get involved. The fold plays on the home and lock-screen wallpaper; icons and apps stay sharp. Installs as Duo Open Lite (com.duoopen.lite) alongside the full edition.

Both are signed with the same key as 1.0.0/1.1.0. The lite edition is built from the same code as the wallpaper mode of the full edition; on-device testing of this release was done with the full edition on a OnePlus Open (Android 16).

Duo Open 1.1.0

Choose a tag to compare

@marcoazeem marcoazeem released this 22 Sep 04:59

Samsung-tolerant sensor picker, coarse-sensor fallback, setup guide

  • Hinge sensor picker: registers every real hinge-angle sensor (platform TYPE_HINGE_ANGLE plus vendor sensors with a ~180° range; posture flags skipped), survives the SecurityException Samsung throws for its permission-gated folding_angle sensor, and keeps the finest one that actually reports.
  • Stops-only sensors: the Galaxy Z Fold 7 and earlier only expose 0/90/180 to apps. Duo Open detects this and plays a ~0.5 s timed fold at each stop change instead of tracking the hinge. Tune says so when it applies. Untested on Samsung hardware — reports welcome via Tune → Copy sensor report.
  • Fix: after a panel swap, a screenshot retry could be cut off by the first attempt's timeout, dropping the inner-screen phase of an open. Timeouts are now per attempt, with 1.1 s allowed for a panel that's still lighting up.
  • Tune: live sensor status (name · resolution · Hz · raw · age), Copy sensor report, and a Toggle greyed out? guide for Android's restricted-settings block with deep links to app info and Accessibility (Samsung Auto Blocker note, adb commands).
  • README: installing over adb skips the restricted-settings check; Samsung notes; related projects.

Tested on the OnePlus Open (Android 16). Signed with the same key as 1.0.0, so it installs over it; the accessibility service needs re-enabling after any reinstall.

Duo Open 1.0.0

Choose a tag to compare

@marcoazeem marcoazeem released this 11 Sep 07:17

The iPhone "Duo" frosted-glass fold, playing system-wide on your foldable as you open and close it. Driven by the real hinge angle. No root.

Install

  1. Install DuoOpen-1.0.0.apk.
  2. Open Duo Open → Tune → Turn on in Accessibility → enable Duo Open full-screen fold.
    If the toggle is greyed out (sideloaded apps on Android 13+): Settings → Apps → Duo Open → ⋮ → Allow restricted settings, then try again.
  3. Fold the phone partway and open it. Tune → Test it now replays the effect without folding.

What's in it

  • Full-screen fold over any wallpaper, icons, widgets, lock screen and apps (accessibility overlay).
  • Both panels: cover screen frosts in from the right edge as you start opening, the inner screen picks up frosted and clears to flat; closing runs in reverse.
  • Only the left half moves by default (configurable: left / right / both), plus strength, frost, darkening and eye-distance sliders.
  • Plain live-wallpaper mode if you'd rather not enable an accessibility service.

Tested on OnePlus Open (Android 16). Other Android 13+ foldables with a hinge sensor should work but are untested. Please report what you see.

Privacy: takes one screenshot per fold phase, held in memory only while the overlay is on screen. No storage, no network permission.

Known limits: Android allows one screenshot per ~333 ms and a freshly-lit panel is black for ~0.4 s, so on a very fast flick the inner-screen phase may not appear. Secure screens (banking, DRM video) are skipped.