Commit Graph
2 Commits
Author SHA1 Message Date
oxmc ec943e82b9 SetupWizard: allowlist DOMAIN_VERIFICATION_AGENT privileged permission
The manifest declares android.permission.DOMAIN_VERIFICATION_AGENT
(signature|privileged) but it was missing from the privapp-permissions
allowlist. On enforcing builds PermissionManagerService.onSystemReady()
throws IllegalStateException for an unallowlisted privileged permission,
killing system_server every boot (bootanim loop). Add the entry.
2026-07-17 08:10:40 -07:00
oxmc c85367f3d4 setupwizard: replace with new Kotlin/Compose implementation
Replaces the LineageOS-based Java wizard with a new Kotlin/Jetpack
Compose wizard built on the PawletOS design language.

Key changes:
- Extensible WizardPage registry with DeviceProfile-based gating
  (phone/tablet/embedded form factors, hasWifi, hasTelephony)
- SetupWizardManager drives navigation via StateFlow<Int> over
  a runtime-built page list; supports oxn://page?id= deep link jumps
- Circular-reveal collapse animation on finish (900ms, matches
  LineageOS FinishActivity behaviour) via Compose drawWithContent/clipPath
- finishSetupWizard() sets DEVICE_PROVISIONED + USER_SETUP_COMPLETE
  and disables the HOME component on completion
- EntryPoint registered with CATEGORY_HOME + CATEGORY_SETUP_WIZARD
  so AOSP launches the wizard on first boot
- Deep link handling: cdn.oxmc.me / oxmc.me / pawlet.oxmc.me (http/https)
  and oxn:// scheme (apk install, page navigation, management)
- Full package rename: dev.oxmc.setupwizard -> me.pawlet.setupwizard
- Dual build system: Gradle (app/build.gradle.kts) for Studio development,
  Android.bp + root AndroidManifest.xml for AOSP/Soong ROM build
- Signed with platform certificate, system_ext, sharedUserId=android.uid.system
2026-06-16 22:30:40 -07:00