Commit Graph

31 Commits

Author SHA1 Message Date
oxmc f6176009b1 Add recovery_ui and recovery_toolkit scaffolding (first draft, not build-tested)
Stages TWRP's GUI engine and standalone tooling as PawletOS-owned modules
instead of a bootable/recovery fork, per the plugin-architecture finding in
NOTES-ota-recovery-ab.md: stock recovery_main.cpp already dlopen()s
librecovery_ui_ext.so and dlsym()s make_device() from it at runtime, so the
UI layer doesn't require touching stock bootable/recovery at all. Confirmed
via source grep that recovery.cpp/install.cpp have zero references into the
partition manager/backup engine/GUI code and vice versa.

recovery_ui/: TWRP's gui/, minuitwrp/, libpixelflinger/ (copied verbatim,
GPL-3.0), plus a new device/ providing PawletTwrpUI (a ScreenRecoveryUI
subclass) and make_device() — written from scratch against stock's
RecoveryUI/ScreenRecoveryUI virtual-method contract, since TWRP's own fork
never ships a make_device() (every real TWRP device provides its own, and
no reference device tree was available to copy from). Top-level Android.bp
defines librecovery_ui_pawlet_twrp, the module TARGET_RECOVERY_UI_LIB should
point at. gui/Android.bp and minuitwrp/Android.bp had their include_dirs
rewritten for the new paths.

recovery_toolkit/: partition manager, backup engine (tar/digest/adbbu/apex),
filesystem/format support (exfat/dosfstools/gpt/fuse/mtp/crypto), scripting
(openrecoveryscript/orscmd/twrpinstall), shared helpers. Source only, no
Android.bp yet for any of it.

Known gap blocking recovery_ui from actually linking: gui/'s libguitwrp
depends on libaosprecovery, built from recovery_toolkit/helpers/twrp.cpp via
a Go Soong plugin (libaosprecovery_defaults.go) not yet ported. Neither repo
has been build-tested — no local AOSP build environment available in this
workspace. See each directory's README.md for a precise done/not-done
breakdown.
2026-07-11 16:34:35 -07:00
oxmc f903842054 Add bg-upd sepolicy dir and a security patch date variable
bg-upd's own sepolicy domain (packages/apps/BgUpd/sepolicy, in its own repo)
now gets pulled into BOARD_SEPOLICY_DIRS unconditionally alongside its
PRODUCT_PACKAGES entry, since it's a core PawletOS system app.

PAWLET_SECURITY_PATCH/PLATFORM_SECURITY_PATCH didn't exist anywhere before —
device previously just inherited whatever default date came from upstream.
Paired with PawletOS-Build/docs/security-patch-process.md and
scripts/check_security_patch.py.
2026-07-11 16:33:48 -07:00
oxmc 5480a452f1 Wire up bg-upd's webview provider switching and set the default wallpaper
- Add BgUpd + a day-one webview package to PRODUCT_PACKAGES so devices
  boot with a working WebView before bg-upd's first check ever runs
- Add config_webview_packages.xml declaring the providers bg-upd can
  switch between at runtime
- Add default_wallpaper.png to the framework RRO overlay (single image
  for all devices/densities for now — see the new overlay README)
2026-07-09 01:27:51 -07:00
oxmc 68226a7a94 patches: remove duplicate patch files from vendor tree
Patches are maintained in PawletOS/patches (synced to vendor/pawlet/patches
by the local manifest). The copies here were dead code — repo sync overlays
the patches repo on this directory, so these files were never applied.
2026-06-16 07:53:36 -07:00
oxmc c86c7f2f08 privapp-permissions: add all privileged permissions for GmsCore and FakeStore
The previous whitelist only granted FAKE_PACKAGE_SIGNATURE. With
ro.control_privapp_permissions=enforce, PKMS throws a fatal exception
for each missing privileged permission, killing system_server before
ActivityManagerService can register — causing the bootloop.

Added all android.permission.* entries with protectionLevel including
"privileged" that GmsCore and FakeStore declare in their manifests.
2026-06-16 09:38:56 +00:00
oxmc 324ee3a29a overlay: fix android_upgrading_title product attributes for Android 16
AOSP 16 now defines android_upgrading_title with explicit product="default",
product="tablet", and product="device" variants. Defining it without a
product attribute in the overlay creates a duplicate default-product entry
that aapt2 rejects. Match AOSP's product split and drop android_upgrading_starting
which was removed upstream.
2026-06-15 07:03:50 -07:00
oxmc 6899cbbd10 vendorsetup: add productimage to pbuild 2026-06-15 03:09:41 -07:00
oxmc 36c92e2538 vendorsetup: add pbuild, pdist, psign, pota helpers
pbuild  — builds boot + system + system_ext + vendor images in one shot
pdist   — builds the dist target to produce a signable target_files zip
psign   — signs target_files with ~/pawlet-certs release keys; automatically
          excludes presigned microG/FDroid APKs from re-signing
pota    — wraps ota_from_target_files; supports full and incremental (-i) OTAs
2026-06-15 02:52:19 -07:00
oxmc 9e0a9a1c0f overlay: replace "Android is upgrading" with PawletOS branding 2026-06-15 01:58:46 -07:00
oxmc 22d00dca82 overlay: replace "Phone is starting" with "Device is starting" 2026-06-15 01:58:07 -07:00
oxmc 13048dee04 common: add PawletSetupWizard to PRODUCT_PACKAGES 2026-06-15 00:31:10 -07:00
oxmc ced5a53f70 patches: drop sysui-taskbar-navfix 2026-06-13 07:52:23 -07:00
oxmc a1ba2cd315 patches: fix sysui-taskbar-navfix to add config_taskbarEnabled to framework core/res 2026-06-13 05:51:37 -07:00
oxmc 60554dfadc common: enable boot/shutdown animations, rename shutdown zip to shutdownanimation.zip 2026-06-13 04:54:53 -07:00
oxmc 054d9d4aaf media: update boot and shutdown animations 2026-06-13 04:48:08 -07:00
oxmc 62cb93ad3f rpi_common: add SettingsProviderRpiCommonOverlay to PRODUCT_PACKAGES 2026-06-13 03:56:20 -07:00
oxmc e8202dbd3d microg: update partner_gms path (gms.mk moved to repo root) 2026-06-13 03:09:54 -07:00
oxmc 85303c2587 vendor: add AOSP patches for signature spoofing and SystemUI nav bar fix
Adds patches/frameworks/base/:
- android_frameworks_base-signature-spoofing.patch: microG signature
  spoofing support (forward-port from Android 12)
- sysui-taskbar-navfix.patch: adds config_taskbarEnabled resource to
  SystemUI and checks it in NavigationBarControllerImpl.supportsTaskbar(),
  allowing per-device overlay opt-out of Taskbar in favour of traditional
  3-button nav bar
2026-06-13 02:05:25 -07:00
oxmc 6715b9e21e vendor: add default-vendor-config.mk for Config Provisioner
Ships the common vendor.cfg to the vendor partition. Device trees
inherit this by default; they can switch to their own device-specific
vendor.cfg by commenting out the inherit-product call and uncommenting
their own PRODUCT_COPY_FILES entry.
2026-06-12 18:09:41 -07:00
oxmc 079478edba vendor: initial PawletOS vendor tree setup
Foundation of the vendor/pawlet tree for Android 16:
- Hardware feature declarations for RPi phone/tablet/TV variants
- BootControl HAL: fix VINTF manifest version, qualify android::base namespace
- microG: add microg.mk with FAKE_PACKAGE_SIGNATURE auto-grant and network
  location feature XML; enable for all RPi variants
- PawletPlatform resource APK and ThemePickerPawletOverlay: fix XML comments
- Updater overlay: wire in tryboot A/B config for RPi firmware tryboot support
- PawletSettings added to PRODUCT_PACKAGES
- Separated RPi-specific configs from base vendor config
2026-06-11 09:25:36 -07:00
oxmc bb013dd685 ThemePickerPawletOverlay: fix XML comment dividers (-- invalid in XML comments) 2026-06-04 05:28:21 -07:00
oxmc 3b7658b9f5 PawletPlatform: fix XML comments - replace -- dividers, remove non-ASCII arrow 2026-06-04 05:03:50 -07:00
oxmc b92d206a8d config: add microg.mk, add commented include in rpi_common.mk 2026-06-04 04:27:47 -07:00
oxmc 5daf904660 Resource only APK 2026-06-03 01:33:16 -07:00
oxmc 2b0922298f Include tryboot config overlay for updater for rpi devices 2026-06-03 00:59:37 -07:00
oxmc dd16b6e06f Add AndroidManifest.xml to both overlays 2026-06-03 00:37:39 -07:00
oxmc 5c8a24c691 use PawletOS for of LineageOS Updater package 2026-05-30 02:40:23 -07:00
oxmc 0a6a63054a Seperate RPI configs, and base configs 2026-05-30 02:03:21 -07:00
oxmc 70db9a7f67 Add logos and better documentation for config.xml 2026-05-30 01:39:18 -07:00
oxmc c1abce134f Update: attempt to add monet 2026-05-26 06:54:43 -07:00
oxmc 9344e608f6 Initial commit: PawletOS vendor tree
Adds the full vendor/pawlet tree for PawletOS on Raspberry Pi 4/5:

- build/: envsetup.sh helpers (breakfast/brunch/mka), bacon OTA target,
  Soong namespace, build core hook
- config/: common.mk, version.mk, BoardConfigPawlet.mk, BoardConfigSoong.mk,
  privapp-permissions, me.pawlet.android feature XML
- hal/boot_control/rpi/: AIDL boot_control HAL for RPi A/B slot switching
- apps/Updater/: A/B OTA updater (download, verify, install, reboot)
- apps/PawletPlatform/: platform resource APK (device icons, strings)
- overlay/frameworks/base/core/res/: framework config overrides
- prebuilt/, vars/: init rc, aosp_target_release
2026-03-21 19:08:46 -07:00