pwagen 1.3
Announce blocked requests
Domain rules could refuse a request and say so only in logcat, which is no help
on a phone. Each site can now opt in to having refusals surface in the app.
Off by default on purpose: a rule that is working refuses things constantly, and
a page whose analytics are blocked would otherwise complain forever. It earns its
keep while a list is being tuned, which is when the question is usually what did
I forget to allow?
Each refused host is named once per launch, with a Mute button that silences
it for good — remembered inside the generated app, and reset by clearing that
app's storage in Android Settings.
Pull to refresh
Dragging down with the page already at its top reloads it.
The gesture is only claimed while the page has nowhere left to scroll, and is
abandoned the moment the page moves or a second finger lands, so it cannot
swallow a swipe or a pinch the site wanted. It is hand-rolled rather than taken
from SwipeRefreshLayout: that would have put an AndroidX dependency into the
network-facing module, and the short dependency list there is worth more than the
code it saves.
Larger controls
Import, export and Back were text glyphs sized at the Material minimum. A glyph
renders visually smaller than an icon of the same nominal size, which left them
as fine print in the corner of the screen. They are now 56dp targets with
correspondingly larger labels.
Note
Regenerate your apps to pick up the blocked-request notices and pull to
refresh — both live in the template APK, not in the config your generated apps
already carry. Regenerating installs as an in-place upgrade and keeps cookies,
logins and firewall rules.
Verifying this build
sha256 728ec84a1027928058216faa4de799d4f14287d80394da7c07302d71f598d72c
Same signing key as every release so far, so this updates in place:
813d6225f1c3bedeafd47e33775e7c0f5390cdedf259bd883c0e26b6d04b9dee