diff --git a/pixel_ril/compatibility_matrix.xml b/pixel_ril/compatibility_matrix.xml new file mode 100644 index 0000000..b3539f6 --- /dev/null +++ b/pixel_ril/compatibility_matrix.xml @@ -0,0 +1,11 @@ + + + vendor.google.ril_ext + 1 + + IRilExt + slot1 + slot2 + + + diff --git a/pixel_ril/manifest_ril.xml b/pixel_ril/manifest_ril.xml new file mode 100644 index 0000000..ca11929 --- /dev/null +++ b/pixel_ril/manifest_ril.xml @@ -0,0 +1,6 @@ + + + vendor.google.ril_ext + IRilExt/slot1 + + diff --git a/pixel_ril/manifest_ril_ds.xml b/pixel_ril/manifest_ril_ds.xml new file mode 100644 index 0000000..15af796 --- /dev/null +++ b/pixel_ril/manifest_ril_ds.xml @@ -0,0 +1,7 @@ + + + vendor.google.ril_ext + IRilExt/slot1 + IRilExt/slot2 + + diff --git a/pixel_ril/ril.mk b/pixel_ril/ril.mk new file mode 100644 index 0000000..03f7f24 --- /dev/null +++ b/pixel_ril/ril.mk @@ -0,0 +1,14 @@ +BOARD_SEPOLICY_DIRS += device/google/gs-common/pixel_ril/sepolicy + +ifeq ($(SIM_COUNT), 2) + DEVICE_MANIFEST_FILE += device/google/gs-common/pixel_ril/manifest_ril_ds.xml +else + DEVICE_MANIFEST_FILE += device/google/gs-common/pixel_ril/manifest_ril.xml +endif +DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs-common/pixel_ril/compatibility_matrix.xml + +PRODUCT_PACKAGES += ril-extension + +PRODUCT_SOONG_NAMESPACES += vendor/google/tools/ril-extension-service + +USE_GOOGLE_RIL_EXT := true diff --git a/pixel_ril/sepolicy/rild.te b/pixel_ril/sepolicy/rild.te new file mode 100644 index 0000000..3bb2cd7 --- /dev/null +++ b/pixel_ril/sepolicy/rild.te @@ -0,0 +1,2 @@ +add_service(rild, hal_ril_ext_service) +binder_call(rild, rilextensionservice_app) diff --git a/pixel_ril/sepolicy/rilextensionservice_app.te b/pixel_ril/sepolicy/rilextensionservice_app.te new file mode 100644 index 0000000..d315367 --- /dev/null +++ b/pixel_ril/sepolicy/rilextensionservice_app.te @@ -0,0 +1,11 @@ +type rilextensionservice_app, domain; +app_domain(rilextensionservice_app) + +allow rilextensionservice_app app_api_service:service_manager find; +allow rilextensionservice_app hal_ril_ext_service:service_manager find; +allow rilextensionservice_app radio_service:service_manager find; + +binder_call(rilextensionservice_app, rild) + +set_prop(rilextensionservice_app, vendor_rild_prop) +set_prop(rilextensionservice_app, radio_prop) diff --git a/pixel_ril/sepolicy/seapp_contexts b/pixel_ril/sepolicy/seapp_contexts new file mode 100644 index 0000000..295f5c9 --- /dev/null +++ b/pixel_ril/sepolicy/seapp_contexts @@ -0,0 +1,2 @@ +# RIL extension service +user=_app isPrivApp=true name=com.google.android.rilextension domain=rilextensionservice_app levelFrom=all diff --git a/pixel_ril/sepolicy/service.te b/pixel_ril/sepolicy/service.te new file mode 100644 index 0000000..1908206 --- /dev/null +++ b/pixel_ril/sepolicy/service.te @@ -0,0 +1 @@ +type hal_ril_ext_service, hal_service_type, service_manager_type; diff --git a/pixel_ril/sepolicy/service_contexts b/pixel_ril/sepolicy/service_contexts new file mode 100644 index 0000000..5f29162 --- /dev/null +++ b/pixel_ril/sepolicy/service_contexts @@ -0,0 +1,3 @@ +vendor.google.ril_ext.IRilExt/slot1 u:object_r:hal_ril_ext_service:s0 +vendor.google.ril_ext.IRilExt/slot2 u:object_r:hal_ril_ext_service:s0 +vendor.google.ril_ext.IRilExt/slot3 u:object_r:hal_ril_ext_service:s0