client: pawlet-client-sdk, public-SDK-only, installable:false, built for external AAR/jar publishing. device: pawlet-device, platform_apis:true, product-partition device API. system: pawlet-system + pawlet-manager-service, platform_apis:true, shared AIDL now a filegroup so client can compile its own copy without a ".." path reference. Removed core/java/pawletos/device/system/PawletManager.java -- a ServiceManager-based accessor that was never actually wired up (nothing ever called ServiceManager.addService), so it always returned null. PawletClient already covers this without a privileged-only path.
27 lines
1.2 KiB
Plaintext
27 lines
1.2 KiB
Plaintext
// Public client SDK — the thing third-party apps actually import. Built
|
|
// against the PUBLIC SDK only (no platform_apis, no hidden APIs), so it
|
|
// compiles in any Gradle project, not just in-tree. Reaches the service via
|
|
// bindService() to an exported component (see PawletClient's javadoc), never
|
|
// via ServiceManager — that API is hidden and unreachable from non-privileged
|
|
// apps, which is the whole reason pawlet-system/pawlet-device couldn't be
|
|
// published externally. Not installed on-device (installable: false): this
|
|
// module exists to be built into an AAR/jar and published, see ../publish/.
|
|
java_library {
|
|
name: "pawlet-client-sdk",
|
|
srcs: [
|
|
":pawlet-manager-aidl",
|
|
"java/pawletos/device/client/PawletClient.java",
|
|
],
|
|
aidl: {
|
|
// include_dirs (tree-root-relative), not local_include_dirs (module-
|
|
// dir-relative, and Soong rejects ".." path components outright) --
|
|
// the shared .aidl physically lives in ../system, reached here via
|
|
// the :pawlet-manager-aidl filegroup above.
|
|
include_dirs: ["vendor/pawlet/frameworks/pawlet/system/java"],
|
|
},
|
|
sdk_version: "current",
|
|
min_sdk_version: "26",
|
|
installable: false,
|
|
visibility: ["//visibility:public"],
|
|
}
|