← wander

Kompakt tweaks

A few settings the Kompakt keeps out of reach, changed from Chrome or Edge on a computer over a USB cable. Each one says what it does, reads how the phone is set now, shows the command it runs, and can be put back from here.

Connecting

  1. On the phone, tap Build number in Settings → About until it says you are a developer, then turn on USB debugging in Settings → System → Developer options.
  2. Plug the phone into this computer. If you use adb, run adb kill-server first: the computer's own adb holds the phone, and this page can't reach it while it does.
  3. Press Connect, choose the phone, and allow the prompt on its screen.
Not connected.

Nothing about the phone leaves this computer. The page and the phone talk over the cable, and the key the phone is asked to trust is made in this browser and kept there. The page asks nothing of any other site.

Hidden browser

The Kompakt carries a bare browser with no icon, WebView Shell, and web links open in it until it is switched off. Android's WebView engine is a separate piece and stays, so pages inside apps keep working; links then go to another browser you have installed, such as EinkBro. With no other browser, links open nothing.

—

Runs pm disable-user --user 0 org.chromium.webview_shell, and to put it back pm enable --user 0 org.chromium.webview_shell. Reads pm list packages -d.

Installing an app

Drop an app's .apk file in the box and it is installed on the phone, or updated in place with its settings kept if it is there already. Any app will do: one downloaded from a developer's site, from GitHub's releases, or from F-Droid.

Drop an .apk here, or

Copies the file to /data/local/tmp/, runs pm install -r on it, then rm to delete the copy. To remove an app, uninstall it on the phone as usual.

Letting an app run in the background

With the screen off, Android holds apps back to save battery, so messages and reminders can come late; an app on this list is let through, at some cost in battery.

Runs dumpsys deviceidle whitelist +<package>, and to put it back dumpsys deviceidle whitelist -<package>. Reads dumpsys deviceidle whitelist and pm list packages -3.

Mudita's phones also run DuraSpeed, which closes apps on its own and keeps its own list; a texting app it has closed loses the texts that arrive meanwhile. This page leaves DuraSpeed alone, because adb can add to its list but not take anything off it. To let an app through, open DuraSpeed, press Open, and switch the app on.

Runs am start -a android.settings.APPLICATION_DETAILS_SETTINGS -d package:com.mediatek.duraspeed, which only opens a screen.

Default apps

Which app takes texts, places calls, draws the home screen and opens web links; only apps that can do the job are offered. To go back, choose the one it was.

Runs cmd role add-role-holder <role> <package> with android.app.role.SMS, DIALER, HOME or BROWSER. Reads dumpsys role, and finds the apps with cmd package query-activities.

Hiding Mudita's own apps

A hidden app leaves the app list and stops running, keeping what it stored, and comes back as it was. Only apps another can stand in for are offered; the phone app, home screen, Settings and updater are not.

Runs pm disable-user --user 0 <package>, and to bring it back pm enable --user 0 <package>. Reads pm list packages -d.

Animations

Windows slide and fade as they open and close, which an E Ink screen draws as a smear of in-between frames; with animations off they simply appear.

—

Runs settings put global window_animation_scale 0, the same for transition_animation_scale and animator_duration_scale, and 1 for each to put them back. Reads settings get global ….

Private DNS

The phone looks up every address it visits; with a private DNS server it asks that server alone, encrypted, such as dns.quad9.net. The Kompakt's Settings has no page for it. If the server can't be reached, nothing online works until this is set back to Automatic.

—

Runs settings put global private_dns_specifier <hostname> and settings put global private_dns_mode hostname; Off is settings put global private_dns_mode off, Automatic settings delete global private_dns_mode. Reads settings get global private_dns_mode.