Svet Crnil Pomoc 2.0.1 / Android build 20001

The application ID and original release signing identity are unchanged. Install
over the existing app to retain the saved request; do not uninstall or clear data.
RustDesk native libraries and their verified upstream provenance are unchanged.

CHANGES
- The explicit input-permission button attempts to open this app's accessibility
  service details. Unsupported devices fall back to Android accessibility settings.
  The user must still personally grant accessibility and screen-capture consent.
- Company invoice fields appear before checkout. AJPES lookup uses the existing
  Printomat lookup (including its configured Finko fallback). A missing result
  leaves editable tax ID, company name and full address fields. The user confirms
  the details before accepting the quote. The invoice email is the order email.
- Operator review is a recoverable pause. Status checks can observe its release
  while retaining the same request. A reviewed request cannot be discarded using
  the New request button. Cancelled/completed requests remain closed.

MATCHING SERVER AND WORKER
The matching support server stores an immutable billing snapshot in the existing
Printomat database before checkout. Confirmed invoices use the existing invoice
numbering and fiscal pipeline. Email uses the durable Printomat mail queue with
one reference per invoice. Support payments are direct service sales: no wallet
credit and no print command is created. Accepted/invoiced orders cannot silently
change buyer details. Existing personal invoices are not rewritten as company
invoices by this update.

The ZBook worker has a supervised restart, same-conversation recovery, an
idempotent lease-recovery operation and a separate explicit review command for a
verified unexecuted step. Unknown device changes are never automatically replayed.
Read-only inspection and activating a local RustDesk window are not device
changes and do not create a pending action.

REGRESSION SURFACE
- MainActivity.kt: one channel-method hook to the new SvetCrnilPermissions.kt.
- svetcrnil_commercial_page.dart: company form, permission button, review/reset UI.
- svetcrnil_commercial_api.dart: billing requests and read-only status polling
  through an operator-review pause; cancellation and identity guards retained.
- commercial_contract_test.dart: company persistence and review-release checks.
- SC_package_source_v2.py: matching release name and version metadata.
Other upstream runtime paths and unrelated generated iOS files are unchanged.

VALIDATION AND LIMITS
Commercial, upgrade-continuity and retained legacy Dart contracts pass. Static
analysis of the changed Dart modules reports no errors or warnings (style-only
brace suggestions remain). Server/worker tests cover payment idempotency,
same-request recovery, billing snapshots, single receipt queueing and unchanged
wallet balance. The extension reinjection test verifies one active dispatcher.
The deployed supervisor was tested by terminating only the idle worker: it
restarted and retained the same request, attempt and checkpoint.

Physical Android permission screens vary by manufacturer. A build/signature check
does not replace a device test. Internet, valid browser login, ChatGPT availability,
an awake support host and customer consent are required; 100 percent unattended
reconnection cannot be guaranteed. An ambiguous device action requires review.
Queueing an email does not by itself prove delivery to the recipient inbox.

Build using SC_ANDROID_BUILD_V2.md with --build-name=2.0.1 --build-number=20001.
Use CI=true for Flutter tooling to avoid its cloud-environment detection probe.
Use the platform's trusted certificate store when building behind a managed proxy;
do not disable TLS verification. Packaging excludes signing and private material.
