Files
android_packages_apps_Setup…/Android.bp
T
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

73 lines
1.9 KiB
Plaintext

// SPDX-FileCopyrightText: The PawletOS Project
// SPDX-License-Identifier: Apache-2.0
android_library_import {
name: "android-device-info",
aars: ["app/libs/android-device-info.aar"],
sdk_version: "current",
}
android_app {
name: "PawletSetupWizard",
srcs: ["app/src/main/java/**/*.kt"],
resource_dirs: ["app/src/main/res"],
manifest: "AndroidManifest.xml",
kotlincflags: ["-Xjvm-default=all"],
certificate: "platform",
privileged: true,
privapp_allowlist: "me.pawlet.setupwizard.xml",
system_ext_specific: true,
platform_apis: true,
overrides: ["Provision"],
optimize: {
proguard_flags_files: ["proguard.flags"],
},
static_libs: [
// AndroidX core
"androidx.core_core-ktx",
"androidx.appcompat_appcompat",
"androidx.activity_activity",
"androidx.activity_activity-compose",
"androidx.lifecycle_lifecycle-runtime-ktx",
"androidx.core_core-splashscreen",
// Compose runtime + UI
"androidx.compose.runtime_runtime",
"androidx.compose.ui_ui",
"androidx.compose.ui_ui-graphics",
"androidx.compose.foundation_foundation",
// Material3 + icons
"androidx.compose.material3_material3",
"androidx.compose.material_material-icons-extended",
// Compose animation
"androidx.compose.animation_animation",
// JSON
"gson",
// PawletOS platform APIs
"pawlet-system",
// Telephony helpers
"telephony-common",
// Device info library (local prebuilt)
"android-device-info",
],
// OkHttp and Coil are not available as AOSP static_libs.
// Add them as android_library_import entries pointing to AARs in app/libs/
// once prebuilts are sourced from the Gradle dependency cache.
// See: https://git.oxmc.me/PawletOS/android_packages_apps_SetupWizard
}