From e9db6200810ba62937c877b0b063ef946387296d Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Wed, 9 Sep 2020 22:39:47 +0200 Subject: [PATCH] [R] ModemConfig: Implement properties using sysprop Signed-off-by: Marijn Suijten --- ModemConfig/Android.bp | 2 ++ .../modemconfig/ModemConfigService.kt | 9 +++++++++ ModemConfig/sysprop/Android.bp | 9 +++++++++ ModemConfig/sysprop/README.md | 14 ++++++++++++++ .../sysprop/SomcModemProperties.sysprop | 18 ++++++++++++++++++ 5 files changed, 52 insertions(+) create mode 100644 ModemConfig/sysprop/Android.bp create mode 100644 ModemConfig/sysprop/README.md create mode 100644 ModemConfig/sysprop/SomcModemProperties.sysprop diff --git a/ModemConfig/Android.bp b/ModemConfig/Android.bp index ab5c0a9..adeb975 100644 --- a/ModemConfig/Android.bp +++ b/ModemConfig/Android.bp @@ -9,6 +9,8 @@ android_app { required: ["privapp_whitelist_com.sony.opentelephony.modemconfig"], + libs: ["SomcModemProperties"], + sdk_version: "system_current", } diff --git a/ModemConfig/src/com/sony/opentelephony/modemconfig/ModemConfigService.kt b/ModemConfig/src/com/sony/opentelephony/modemconfig/ModemConfigService.kt index 0487df9..e7ccb86 100644 --- a/ModemConfig/src/com/sony/opentelephony/modemconfig/ModemConfigService.kt +++ b/ModemConfig/src/com/sony/opentelephony/modemconfig/ModemConfigService.kt @@ -28,6 +28,7 @@ import android.telephony.SubscriptionManager import android.telephony.TelephonyManager import android.text.TextUtils import android.util.Log +import com.sony.opentelephony.modemconfig.SomcModemProperties import org.xmlpull.v1.XmlPullParser import java.nio.file.Files import java.nio.file.Paths @@ -198,6 +199,14 @@ context.resources.getXml(R.xml.service_provider_sim_configs).use { val name = findConfigurationName(this, tm) val notificationText = if (name != null) { + val prop = "persist.somc.cust.modem${sub.simSlotIndex}" + Log.d(TAG, "Setting $prop to $name") + when (sub.simSlotIndex) { + 0 -> SomcModemProperties.cust_modem_0(name) + 1 -> SomcModemProperties.cust_modem_1(name) + else -> throw Exception("Unknown slotIdx ${sub.simSlotIndex}") + } + resources.getString( R.string.notification_text_modem_configuration_resolved_modem_config, name, diff --git a/ModemConfig/sysprop/Android.bp b/ModemConfig/sysprop/Android.bp new file mode 100644 index 0000000..b49668b --- /dev/null +++ b/ModemConfig/sysprop/Android.bp @@ -0,0 +1,9 @@ +sysprop_library { + name: "SomcModemProperties", + proprietary: true, + + srcs: ["SomcModemProperties.sysprop"], + + property_owner: "Vendor", + api_packages: ["android.sysprop"], +} diff --git a/ModemConfig/sysprop/README.md b/ModemConfig/sysprop/README.md new file mode 100644 index 0000000..d7e3edc --- /dev/null +++ b/ModemConfig/sysprop/README.md @@ -0,0 +1,14 @@ +### Updating sysprop files + +#### Android 11 (R) + +Optional when not lunched for a device: +```sh +lunch sdk # (Can use sdk-eng too) +export ALLOW_MISSING_DEPENDENCIES=true # Ignore errors about hostapd, wpa_supplicant etc missing +``` + +```sh +build/soong/scripts/gen-sysprop-api-files.sh "vendor/oss/opentelephony/ModemConfig/sysprop" "SomcModemProperties" +m SomcModemProperties-dump-api && rm -rf vendor/oss/opentelephony/ModemConfig/sysprop/api/SomcModemProperties-current.txt && cp -f out/soong/.intermediates/vendor/oss/opentelephony/ModemConfig/sysprop/SomcModemProperties_sysprop_library/api-dump.txt vendor/oss/opentelephony/ModemConfig/sysprop/api/SomcModemProperties-current.txt +``` diff --git a/ModemConfig/sysprop/SomcModemProperties.sysprop b/ModemConfig/sysprop/SomcModemProperties.sysprop new file mode 100644 index 0000000..b29d74e --- /dev/null +++ b/ModemConfig/sysprop/SomcModemProperties.sysprop @@ -0,0 +1,18 @@ +module: "com.sony.opentelephony.modemconfig.SomcModemProperties" +owner: Vendor + +prop { + api_name: "cust_modem_0" + type: String + scope: Internal + access: ReadWrite + prop_name: "vendor.somc.cust.modem0" +} + +prop { + api_name: "cust_modem_1" + type: String + scope: Internal + access: ReadWrite + prop_name: "vendor.somc.cust.modem1" +}