1 /* 2 * Copyright (C) 2017 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.os; 18 19 import android.annotation.FlaggedApi; 20 import android.annotation.SdkConstant; 21 import android.annotation.SdkConstant.SdkConstantType; 22 import android.annotation.SystemApi; 23 24 /** 25 * Intents used to provide unbundled updates of system data. 26 * All require the UPDATE_CONFIG permission. 27 * 28 * @see com.android.server.updates 29 * @hide 30 */ 31 @SystemApi 32 public final class ConfigUpdate { 33 34 /** 35 * Update system wide certificate pins for TLS connections. 36 * @hide 37 */ 38 @SystemApi 39 public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS"; 40 41 /** 42 * Update system wide Intent firewall. 43 * @hide 44 */ 45 @SystemApi 46 public static final String ACTION_UPDATE_INTENT_FIREWALL 47 = "android.intent.action.UPDATE_INTENT_FIREWALL"; 48 49 /** 50 * Update list of permium SMS short codes. 51 * @hide 52 */ 53 @SystemApi 54 public static final String ACTION_UPDATE_SMS_SHORT_CODES 55 = "android.intent.action.UPDATE_SMS_SHORT_CODES"; 56 57 /** 58 * Update list of carrier provisioning URLs. 59 * @hide 60 */ 61 @SystemApi 62 public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS 63 = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS"; 64 65 /** 66 * Update set of trusted logs used for Certificate Transparency support for TLS connections. 67 * @hide 68 */ 69 @SystemApi 70 public static final String ACTION_UPDATE_CT_LOGS 71 = "android.intent.action.UPDATE_CT_LOGS"; 72 73 /** 74 * Update language detection model file. 75 * @hide 76 */ 77 @SystemApi 78 public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID"; 79 80 /** 81 * Update smart selection model file. 82 * @hide 83 */ 84 @SystemApi 85 public static final String ACTION_UPDATE_SMART_SELECTION 86 = "android.intent.action.UPDATE_SMART_SELECTION"; 87 88 /** 89 * Update conversation actions model file. 90 * @hide 91 */ 92 @SystemApi 93 public static final String ACTION_UPDATE_CONVERSATION_ACTIONS 94 = "android.intent.action.UPDATE_CONVERSATION_ACTIONS"; 95 96 /** 97 * Update network watchlist config file. 98 * @hide 99 */ 100 @SystemApi 101 public static final String ACTION_UPDATE_NETWORK_WATCHLIST 102 = "android.intent.action.UPDATE_NETWORK_WATCHLIST"; 103 104 /** 105 * Broadcast intent action indicating that the updated carrier id config is available. 106 * <p>Extra: "VERSION" the numeric version of the new data. Devices should only install if the 107 * update version is newer than the current one. 108 * <p>Extra: "REQUIRED_HASH" the hash of the current update data. 109 * <p>Input: {@link android.content.Intent#getData} is URI of downloaded carrier id file. 110 * Devices should pick up the downloaded file and persist to the database 111 * {@link com.android.providers.telephony.CarrierIdProvider}. 112 * 113 * @hide 114 */ 115 @SystemApi 116 public static final String ACTION_UPDATE_CARRIER_ID_DB 117 = "android.os.action.UPDATE_CARRIER_ID_DB"; 118 119 /** 120 * Update the emergency number database into the devices. 121 * <p>Extra: {@link #EXTRA_VERSION} the numeric version of the database. 122 * <p>Extra: {@link #EXTRA_REQUIRED_HASH} hash of the database, which is encoded by base-16 123 * SHA512. 124 * <p>Input: {@link android.content.Intent#getData} the URI to download emergency number 125 * database. 126 * 127 * @hide 128 */ 129 @SystemApi 130 @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 131 public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = 132 "android.os.action.UPDATE_EMERGENCY_NUMBER_DB"; 133 134 /** 135 * Broadcast intent action indicating that the updated config data is available. 136 * This broadcast intent action is to be sent by the config updater app, and will be received 137 * and handled by the platform. 138 * <p>Extra: {@link #EXTRA_VERSION} the numeric version of the database. 139 * <p>Extra: {@link #EXTRA_REQUIRED_HASH} hash of the database, which is encoded by base-16 140 * SHA512 141 * <p>Extra: {@link #EXTRA_DOMAIN} the string identifying the affected module 142 * <p>Input: {@link android.content.Intent#getData} the URI to download config data file 143 * 144 * @hide 145 */ 146 @SystemApi 147 @FlaggedApi(com.android.internal.telephony.flags.Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) 148 @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 149 public static final String ACTION_UPDATE_CONFIG = "android.os.action.UPDATE_CONFIG"; 150 151 /** 152 * An integer to indicate the numeric version of the new data. Devices should only install 153 * if the update version is newer than the current one. 154 * 155 * @hide 156 */ 157 @SystemApi 158 public static final String EXTRA_VERSION = "android.os.extra.VERSION"; 159 160 /** 161 * Hash of the database, which is encoded by base-16 SHA512. 162 * 163 * @hide 164 */ 165 @SystemApi 166 public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH"; 167 168 /** 169 * String identifying the affected module. 170 * Devices apply the updated config data to the module specified in the string. 171 * 172 * @hide 173 */ 174 @SystemApi 175 @FlaggedApi(com.android.internal.telephony.flags.Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) 176 public static final String EXTRA_DOMAIN = "android.os.extra.DOMAIN"; 177 ConfigUpdate()178 private ConfigUpdate() { 179 } 180 } 181