Add IPawletManager AIDL interface, PawletManager client wrapper, and PawletManagerService implementation. The service is hosted by a privileged system app which calls: ServiceManager.addService(PawletManager.SERVICE_NAME, new PawletManagerService(this)); API surface: - Build info: getPawletVersion, getDisplayVersion, getReleaseType, getBuildDate - Device info: getDeviceCodename, getDeviceModel, getHardwarePlatform, getSerialNumber - Provisioning: isDeviceProvisioned, isUserSetupComplete - Feature flags: isFeatureEnabled / setFeatureEnabled (persist.pawlet.feature.*) - SDK version: getPawletSdkVersion PawletDevice: remove broken resource lookup, use system props directly; add isPawletDevice, getBuildVersion, getDisplayVersion, getReleaseType, getHardwarePlatform, getSerialNumber, getBuildDate. PawletSystem: remove dead SDK<24 branches; improve isRooted to check su binary paths and Magisk; keep isEmulator with same logic. sepolicy: vendor_internal_prop for persist.* and vendor.* props, dontaudit for system domains; fix file_contexts JAR labels. Android.bp: add aidl block, pawlet-manager-service java_library. AndroidManifest: minSdk 26, targetSdk 36.
12 lines
486 B
Plaintext
12 lines
486 B
Plaintext
# PawletOS system properties
|
|
ro.pawlet. u:object_r:system_prop:s0
|
|
ro.oxmc. u:object_r:system_prop:s0
|
|
|
|
# Vendor-internal properties (vendor domain only)
|
|
ro.vendor.oxmc. u:object_r:vendor_internal_prop:s0
|
|
ro.vendor.pawlet. u:object_r:vendor_internal_prop:s0
|
|
persist.vendor.pawlet. u:object_r:vendor_internal_prop:s0
|
|
|
|
# Feature flags (writable by pawlet service)
|
|
persist.pawlet.feature. u:object_r:vendor_internal_prop:s0
|