Repository navigation
ADB Application Manager Pro v7.13.0
A feature release on top of v7.12.11, built on the branch release/v7.12.12 (the work was planned as v7.12.12 and grew into a minor version). New: an Extra Settings tab (Private DNS with fifteen services and a speed test, animation speed, brightness bias, device telemetry, power and reboot, Doze and the power governor, zram and memory), a bottom navigation bar with pinned tabs and long-press shortcuts, a Console tab (ADB Shell and Live Logcat) with the Terminal as its own tab, a rebuilt Application Updater check, an Install button on every ShizuStore row, a DUMP row and "Copy grant commands" in the permission sheet, an SD Maid accessibility fix for One UI's App info page, the Morphe sources labelled Official and Custom, and three install follow-ups. Everything is tested on a computer. On a phone, only this was run: the owner re-ran the three Private DNS checks of section 21 (AdGuard DNS, Off, Automatic) on v7.12.11 on 2026-10-12 and each read back correctly from settings get global private_dns_mode / private_dns_specifier; the card text, Android's own Private DNS screen and a page load were not verified. Nothing else below has been run on a device by the people and tools that wrote it.
- Extra Settings tab: Private DNS with fifteen services and a speed test (#157, #158). The Private DNS card moves out of the gear Settings page (a tester could not find it there) into a tab of its own, Extra Settings, right after Hidden Settings; the gear page and the Hidden Settings tab point to it. The services are tiles: Google Public DNS, Cloudflare (and Cloudflare Security and Family), Quad9 (and Quad9 with no filtering), AdGuard DNS (and AdGuard Family and AdGuard with no filtering), OpenDNS, CleanBrowsing (Family, Adult and Security filters), NextDNS and DNS.SB, plus Automatic, Off and your own host name (Mullvad is left out: its public encrypted DNS is being retired). Test speed measures each service natively: one name lookup, then up to three short encrypted connections on port 853 (TCP connect, TLS handshake, one real DNS-over-TLS lookup of
example.com), the median is shown per tile with the fastest marked, Sort by speed reorders the tiles, Stop ends it and the tiles not reached say Not tested; a tile that failed the test needs a second tap to be applied. The test works without a working mode; applying a service still needs one and reads the phone back before it says anything. At most 8 name lookups run at once in the whole app, a lookup that outlives its timeout is counted as "resolver busy", and a test is cancelled when it is replaced or the tab is left. Java suitednsprobe(local TLS servers), UI script t217. Not run on a device (apart from the owner's three read-back checks above). - Extra Settings: animation speed, brightness bias, device telemetry (#170). Three sections after Private DNS. Animation speed sets Android's three Developer-options scales (window, transition, animator) together, from Off to 10×, with a moving dot per row that previews the speed before Apply; the card reads the three scales back and shows what the phone really holds. Brightness bias shifts adaptive brightness darker or brighter (
screen_auto_brightness_adj, −1 to 1) without switching it off, says when adaptive brightness is off, and offers Android's display settings. Device telemetry only reads: three rings (RAM used, storage used, battery, with the charging state) and spec chips (model, Android and One UI version, kernel, uptime, battery temperature and health, swap), refreshed every five seconds while the tab is on screen and paused when it is not, with a Copy report button; it needs no working mode. The chips at the top of the tab add Animations and Battery. Each section that changes the phone is locked with a reason in Read-Only mode, and nothing changes until Apply. UI scripts t250 and t170, Java suitetelemetry. Not run on a device. - Extra Settings: power & reboot, Doze & power governor, zram & memory (#172). Power & reboot: six tiles (Reboot, Soft reboot for root only, Recovery, Power off, Bootloader, Restart SystemUI) that open a sheet naming the exact command and run nothing until confirmed; the three dangerous ones need a 1.2 s press-and-hold; a 10 s watchdog reports a phone that did not answer, with the phone's own refusal text. Doze & power governor: a five-phase timeline read from
dumpsys deviceidle, Force / Step / Wake / Simulate motion with read-back, and Performance / Balanced / Ultra saver profiles whose marked card comes from the read-back only. Zram & memory: compression badge, a stacked bar and 2×2 stats frommm_stat,disksizeandmeminfo, refreshed only while on screen, with root-only cache drops and the Settings page's own trim path. Everything is locked with a reason in Read-Only mode. UI script t251, Java suitepowertweaks. Not run on a device. - Bottom navigation bar and long-press shortcuts (#164). A bar at the bottom with four pinned tabs and More (the defaults are Application Manager, Installer, Extra Settings and Console), a gradient pill on the lit slot, badges, a More sheet with every other tab, pin buttons in the Feature List, and Settings > Navigation with Bottom bar only (the default: the tab bar at the top is gone), Bottom bar + top bar and Top bar only. The bar slides away for the keyboard, sheets, the full-screen terminal and start-up, becomes a 76 px rail at 720 px and wider, and everything fixed near the bottom is lifted by its height. Holding a slot (450 ms) opens a menu of up to four shortcuts (navigation only; Update All is the one exception and still asks the install question); Settings > Navigation > Shortcuts chooses them per slot. UI scripts t260 to t263. Not run on a device.
- Console tab: ADB Shell and Live Logcat; the Terminal as its own tab (#161). The Command-Line Interface tab is split in two. Console (in the place the terminal had) has the two-segment look of the Kotlin console: ADB Shell with an outlined command box, an accent Run button and the history as newest-first cards with outcome, Copy, Run again and Show all; and Live Logcat, the former Logcat Viewer moved as it was, read only while on screen. Terminal keeps the pty terminal, the three shells, Termux sync and the Coding Agents. Saved tab choices are migrated; nothing opens the old Logcat tab by its key any more (it opens Console on Live Logcat). No feature is lost. Not run on a device.
- Application Updater: a rebuilt check and result screen (#159). The check runs every source at once from three ordered queues with 8 workers, 5 s / 8 s timeouts and a 90 s deadline that reports unfinished apps instead of dropping them; it can be cancelled; a host that is down is given up on after 3 requests and named once in the failure list; a phone that is offline is reported at once; the Obtainium catalog is read as a whole and kept for 24 hours; results are kept 30 minutes per package and version (7 days for "no source knows this app", errors never). The page streams rows as they are found, shows a real progress bar and a live-region status, Cancel, Retry failed, Check again, ignore saved results, and the saved result after a restart. It never says "up to date" when apps could not be checked, and a broken check never moves the time of the last good one. On a 120-app model the first run makes 192 requests instead of 385, and 125 instead of 315 with IzzyOnDroid down. The install side is unchanged. Java suite
updatechecker(134 checks). Not run on a device. - App Stores: an Install button on every ShizuStore row (#163). From the first phone check of v7.12.11 ("the ShizuStore Install buttons are missing on the right side of each app"): every ShizuStore row now has the same Install button as the other stores, installing without opening the details sheet, through the one shared download rule and the one shared start path (so the install question still comes first). Row state survives search, sort and Show more; progress is routed to the installing app's row. Not run on a device.
- Permission sheet: a DUMP row and "Copy grant commands" (#160).
android.permission.DUMPis a row of the first-launch permission sheet and of About > Permissions (privileged only: granted through the working mode, and the phone's own check decides whether it shows as allowed). A button copies theadb shell pm grantlines for what is still missing (restricted settings excluded: the app cannot see a grant made from a computer), and a grant made from a computer gets its tick when the sheet is reopened. Not run on a device. - SD Maid: the accessibility cache clearer no longer stalls on One UI's App info page (#162). When the Storage row's click returns true and does nothing, the service tries a ladder of ways (scroll clear of the floating bar, node click, parent click, a passthrough gesture tap, D-pad with a focus guard by ancestry, and in a privileged mode an input tap and input keys), a watchdog ends an app after two rounds without effect and stops a run after three such apps in a row, and a Copy screen report button in the SD Maid tab copies per-app diagnostics (plan, step, what was tried, a Settings-only screen dump). The tab says why the service could not run (off, not running, no consent) and which apps the pre-flight left out. Reasoned from the owner's screenshot and upstream SD Maid SE; not run on a device.
- Morphe Patcher: sources are labelled Official and Custom (#165, ported as #173). The sources sheet labels the pre-installed source Official and every added one Custom (it said Pre-installed before, and nothing on an added one), with a line saying what the two mean and that a source that is off is not loaded. Not run on a device.
- Install follow-ups (#156). Read-Only mode empties the Updater queue and now also removes the waiting rows' queued progress entries, so Update and Update All work again when a privileged mode returns (they stayed on Queued before, even across an update check). A new Update All question clears the stored approvals as soon as it is accepted, so a No, a failed mode check or an error cannot leave an older yes usable. The Morphe uninstall-first retry is judged on the package read from the APK and is not offered when it could not be read. Not run on a device.
- Connected Devices: Freeze and Frozen, like the Application Manager. The row badge reads FROZEN (a little stronger than before: a fuller tint, darker text), the row button, the batch bar, the batch question and the app menu read Freeze (the menu entry is blue like the row button), and the filter chip and the read-back lines read Frozen, Not frozen and Still frozen. The command is unchanged (
pm disable-user). Asked for by the owner during the release; not run on a device. - Dictionaries: no key written twice. The merges of this release left 58 keys written twice in each of the 13 dictionaries (dead text: the later line wins; in Spanish and Brazilian Portuguese "Running…" carried two translations, and the one the page used is kept). They are removed, and the i18n check now refuses a dictionary with a repeated key. Nothing the page shows changes.
- Not run on a device: apart from the owner's three Private DNS read-back checks, none of the above has been run on a phone by the people and tools that wrote it. Sections 21 and 23 to 27 of
docs/DEVICE-TEST-CHECKLIST.mdlist the phone checks for this release: 21 (Private DNS and the speed test), 23 (the fixes and the ShizuStore button), 24 (the Console tab), 25 (power, Doze, zram), 26 (animation, brightness, telemetry) and 27 (the bottom bar and its shortcuts).