From 4fb6c6f5cb18f27a84a2e02eaa57759905f2f136 Mon Sep 17 00:00:00 2001 From: youngtaecha <youngtaecha@google.com> Date: Wed, 13 Dec 2023 09:47:44 +0000 Subject: [PATCH] Support config update Add ACTION_UPDATE_TELEPHONY_CONFIG and EXTRA_DOMAIN Bug: 316266710 Test: Build Change-Id: I7ad2d617df642f866aa19ae64169836e8bef5209 --- core/api/system-current.txt | 2 ++ core/java/android/os/ConfigUpdate.java | 28 +++++++++++++++++++++++ data/etc/privapp-permissions-platform.xml | 1 + 3 files changed, 31 insertions(+) diff --git a/core/api/system-current.txt b/core/api/system-current.txt index f026b5772347..1b2775835ae9 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -10282,6 +10282,7 @@ package android.os { public final class ConfigUpdate { field public static final String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB"; field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS"; + field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final String ACTION_UPDATE_CONFIG = "android.os.action.UPDATE_CONFIG"; field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS"; field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS"; field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB"; @@ -10291,6 +10292,7 @@ package android.os { field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS"; field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION"; field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES"; + field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final String EXTRA_DOMAIN = "android.os.extra.DOMAIN"; field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH"; field public static final String EXTRA_VERSION = "android.os.extra.VERSION"; } diff --git a/core/java/android/os/ConfigUpdate.java b/core/java/android/os/ConfigUpdate.java index 4908919e59c0..87cd4ee577af 100644 --- a/core/java/android/os/ConfigUpdate.java +++ b/core/java/android/os/ConfigUpdate.java @@ -16,6 +16,7 @@ package android.os; +import android.annotation.FlaggedApi; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; @@ -130,6 +131,23 @@ public final class ConfigUpdate { public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB"; + /** + * Broadcast intent action indicating that the updated config data is available. + * This broadcast intent action is to be sent by the config updater app, and will be received + * and handled by the platform. + * <p>Extra: {@link #EXTRA_VERSION} the numeric version of the database. + * <p>Extra: {@link #EXTRA_REQUIRED_HASH} hash of the database, which is encoded by base-16 + * SHA512 + * <p>Extra: {@link #EXTRA_DOMAIN} the string identifying the affected module + * <p>Input: {@link android.content.Intent#getData} the URI to download config data file + * + * @hide + */ + @SystemApi + @FlaggedApi(com.android.internal.telephony.flags.Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) + public static final String ACTION_UPDATE_CONFIG = "android.os.action.UPDATE_CONFIG"; + /** * An integer to indicate the numeric version of the new data. Devices should only install * if the update version is newer than the current one. @@ -147,6 +165,16 @@ public final class ConfigUpdate { @SystemApi public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH"; + /** + * String identifying the affected module. + * Devices apply the updated config data to the module specified in the string. + * + * @hide + */ + @SystemApi + @FlaggedApi(com.android.internal.telephony.flags.Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) + public static final String EXTRA_DOMAIN = "android.os.extra.DOMAIN"; + private ConfigUpdate() { } } diff --git a/data/etc/privapp-permissions-platform.xml b/data/etc/privapp-permissions-platform.xml index 91e620cd4b83..0baaff0bb2fc 100644 --- a/data/etc/privapp-permissions-platform.xml +++ b/data/etc/privapp-permissions-platform.xml @@ -185,6 +185,7 @@ applications that come with the platform <permission name="android.permission.READ_COMPAT_CHANGE_CONFIG"/> <permission name="android.permission.UWB_PRIVILEGED"/> <permission name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER"/> + <permission name="android.permission.UPDATE_CONFIG"/> <permission name="android.permission.SEND_SAFETY_CENTER_UPDATE" /> </privapp-permissions> -- GitLab