Repository navigation
Releases: eqbirvin/T2EToolbox
Releases · eqbirvin/T2EToolbox
Release list
v0.7.2 - Fix IME Keyboard Switching & Base Density Protection
Fixes in v0.7.2
- IME / Keyboard Filtering: Added active input method detection (\InputMethodManager.enabledInputMethodList) to ignore keyboard popups (such as PhysiBoard, Gboard) during texting/typing in Instagram or any other app, ensuring app scaling stays locked to tablet layout and does not trigger spurious app switches.
- Base Density Override Protection: Introduced atomic \isOverridingDpi\ state tracking to prevent WindowManager's asynchronous \onConfigurationChanged\ callback from overwriting base density with the temporary target DPI during density transitions.
- Physical Density Detection & Safe Reset: Added direct physical density detection via \wm density\ output; when returning to base without user custom override, reliably executes \wm density reset\ to cleanly restore stock hardware density.
- Comprehensive Home Launcher Detection: Enhanced launcher package resolution to query both \queryIntentActivities\ and
esolveActivity, ensuring third-party launchers like Nova Launcher trigger immediate reversion to base density.
v0.7.1 - Fix App Picker Package Visibility
Fixes in v0.7.1
- Fix App Picker Package Visibility: Resolved Android 11+ Package Visibility filtering where only ~5 default apps were selectable in the Per-App Scaling app picker:
- Added \�ndroid.permission.QUERY_ALL_PACKAGES\ and intent queries (\CATEGORY_LAUNCHER\ and \CATEGORY_HOME) to \AndroidManifest.xml.
- Upgraded \loadInstalledApps()\ to use \PackageManager.MATCH_ALL\ alongside \getInstalledApplications\ with \getLaunchIntentForPackage, ensuring all third-party and system launcher applications appear in the searchable app picker.
v0.7.0 - Per-App Scaling (DPI)
What's New in v0.7.0
- Per-App Scaling (DPI): Dynamically overrides screen density (DPI / smallest width) on a per-app basis via Shizuku window manager commands.
- Solves vertical squishing and content cutoff on the Unihertz Titan 2 Elite's unique square screen (1080x1200, physical ~576 dp phone layout) by triggering Android's native tablet layout (>= 600 dp) for apps like Instagram, Spotify, and Slack.
- Intelligent Layout Range Legend: Dynamically computes and displays layout ranges for the active screen resolution (Stock 1080px, Calibrated 1076px, or 864px Display Fix):
- Phone Layout: < 600 dp (>= 289 DPI at stock 1080px)
- Tablet Layout (Recommended): 600 – 719 dp (241 – 288 DPI at stock 1080px)
- Desktop Layout: >= 720 dp (<= 240 DPI at stock 1080px)
- Custom Scaling Modes: Presets for Tablet (600 dp), Desktop (720 dp), Custom Smallest Width (dp), and Custom Density (DPI) with real-time in-dialog calculation previews.
- Automatic Base Density Restoration: Intelligently captures base density configured in Settings, Developer Options, or ADB, and restores it immediately upon entering Home launcher, Recents screen, or switching to untargeted apps.
- Debounced Window Tracking: Low 180ms settle debounce provides rapid, responsive switching without animation jitter during fast app switching.
- Lockscreen & Pedometer Safety: Reverts to base density immediately upon screen-off (ACTION_SCREEN_OFF) to prevent Unihertz lockscreen distortion.
- Searchable App Picker: Filter through all installed launcher applications with high-res app icons and labels.
- Hosted directly within the existing UnifiedPullDownAccessibilityService for window state observation without additional background services.
v0.6.2 — Dark Status Bar Icons
Fixes status bar icon visibility inside the T2E Toolbox app.
What's Fixed:
- Enforces dark (black) status bar foreground elements (clock, battery level, cellular, Wi-Fi, notification icons) and navigation bar elements across the app.
- Status bar icons now contrast clearly against the app's light background, even when system-wide dark mode is enabled on the device.
v0.6.1 — True Silent (Mute Only) without DND
Fix for 'Silent (Mute only)' mode inadvertently activating Do Not Disturb (DND).
What's Fixed:
- Solved an AOSP architecture limitation where calling Android's standard AudioManager.setRingerMode(RINGER_MODE_SILENT) automatically forces the system into Do Not Disturb (ZEN_MODE_IMPORTANT_INTERRUPTIONS).
- Introduced privileged Shizuku-backed internal ringer control (cmd audio set-ringer-mode SILENT && cmd notification set_dnd off) so that 'Silent (Mute only)' sets ringer mode to Silent, mutes calls, notifications, system audio, and vibrations to 0, while keeping Do Not Disturb completely OFF.
- Heads-up banners, lockscreen notifications, and status bar icons continue to appear normally without being suppressed.
- Standard API fallback with post-SILENT interruption filter decoupling and stream muting guards.
- Unified ringer state tracking in cycling logic to keep side key cycles perfectly in sync.
v0.6.0 — Silent Mode Behavior (Mute vs DND)
Added Silent Mode Behavior setting to Volume Mode Switcher allowing users to choose whether the Silent state acts as Silent Mute Only (visual notifications visible, DND off) or Do Not Disturb (DND on, notifications suppressed).
v0.5.1 — Volume Mode Task Isolation & Permission Fallback
Fixes Volume Mode pulling T2E Toolbox to foreground by isolating the headless task, and adds graceful fallback to Sound mode when DND permission is missing.
v0.5.0 — Status Bar Flashlight Indicator
What's New in v0.5.0
- Status Bar Flashlight Indicator: Displays a clean horizontal flashlight badge in the dead center of the status bar when the flashlight is active, preventing accidental battery drain on the Unihertz Titan 2 Elite.
- Touch Pass-Through: Uses accessibility overlay with full touch pass-through so all status bar gestures and shade pulls pass through cleanly.
- Customization: Amber Glow, Bright Yellow, and Crisp White color options, plus optional tap-to-dismiss toggle.
- Volume Mode Switcher: Invisible launcher shortcut app to cycle Sound, Vibrate, and Silent modes via the programmable side key.
- Unified Pull-Down: Stock-style status bar pull gestures with Smart Shade Detection.
- Display Fix: Aspect ratio and density overrides via Shizuku with snapshot and restore.