SetupWizard: full step set, cleanup, theme, kiosk/deeplink off, OTA check
Steps: add Bluetooth, SIM-missing, Date/Time, Restore (auto-skip), Location, microG, Screen-lock, Biometric, Navigation, Theme, Privacy/Metrics, Device-specific, Recovery-update, and an OTA update-check step, all on a shared WizardStepScaffold with DeviceProfile gating. PartnerReceiver + SETUP_COMPLETE broadcast added. microG: gate the step on microG's GmsCore being installed (microGAvailable) rather than hasGMS(), which additionally requires Google's setup wizard and is therefore always false on a microG build. OTA: UpdateChecker mirrors the Updater's read-only check (server URL from the Updater's own resources, same version/timestamp/release-type rules) and delegates download + A/B install to the Updater (update_engine). Props are read via reflection so the module still builds under Gradle. Kiosk + deep links gated off via WizardFlags (immersive skipped entirely, oxmc http/oxn VIEW filters removed from both manifests). Permissions gate removed (platform-signed SETUP_WIZARD already holds what it needs). Cleanup: purge Applebee's-mockup code (login/AuthManager, oxmcservers, ManagerInfo/UserInfo, TemperatureUnit, SettingsScreen, weather + oxmc API strings). Rework theme off the all-purple palette to neutral surfaces with violet/pink/teal accents; fix white-on-primary button contrast.
This commit is contained in:
+15
-27
@@ -89,29 +89,10 @@
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
|
||||
<!-- oxmc domains: config APK downloads, OTA payloads, provisioning manifests -->
|
||||
<intent-filter android:autoVerify="true">
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="http" android:host="cdn.oxmc.me" />
|
||||
<data android:scheme="https" android:host="cdn.oxmc.me" />
|
||||
<data android:scheme="http" android:host="oxmc.me" />
|
||||
<data android:scheme="https" android:host="oxmc.me" />
|
||||
<data android:scheme="http" android:host="pawlet.oxmc.me" />
|
||||
<data android:scheme="https" android:host="pawlet.oxmc.me" />
|
||||
</intent-filter>
|
||||
|
||||
<!-- oxn:// internal scheme for system service → wizard IPC
|
||||
oxn://apk?url=...&silent=true silent APK install during setup
|
||||
oxn://page?id=... jump to a registered wizard page
|
||||
oxn://mng management/provisioning commands -->
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="oxn" />
|
||||
</intent-filter>
|
||||
<!-- Deep links disabled for now (WizardFlags.DEEP_LINKS). The oxmc
|
||||
http(s) VIEW filters and the oxn:// IPC scheme were removed so the
|
||||
wizard is only launched as the SETUP_WIZARD HOME app. Re-add these
|
||||
and flip WizardFlags.DEEP_LINKS to restore provisioning deep links. -->
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
@@ -120,10 +101,6 @@
|
||||
android:immersive="true"
|
||||
android:excludeFromRecents="true" />
|
||||
|
||||
<activity
|
||||
android:name=".activities.PermissionsActivity"
|
||||
android:exported="false" />
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="me.pawlet.setupwizard.fileprovider"
|
||||
@@ -133,5 +110,16 @@
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/file_paths" />
|
||||
</provider>
|
||||
|
||||
<!-- Partner/provisioning hook: a trusted app holding FINISH_SETUP may
|
||||
broadcast SETUP_FINISHED to complete setup without user input. -->
|
||||
<receiver
|
||||
android:name=".PartnerReceiver"
|
||||
android:exported="true"
|
||||
android:permission="me.pawlet.setupwizard.permission.FINISH_SETUP">
|
||||
<intent-filter>
|
||||
<action android:name="me.pawlet.setupwizard.SETUP_FINISHED" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
</application>
|
||||
</manifest>
|
||||
|
||||
Reference in New Issue
Block a user