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
17package android.os;
18
19import android.annotation.SystemApi;
20
21/**
22 * Intents used to provide unbundled updates of system data.
23 * All require the UPDATE_CONFIG permission.
24 *
25 * @see com.android.server.updates
26 * @hide
27 */
28@SystemApi
29public final class ConfigUpdate {
30
31    /**
32     * Update system wide certificate pins for TLS connections.
33     * @hide
34     */
35    @SystemApi
36    public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
37
38    /**
39     * Update system wide Intent firewall.
40     * @hide
41     */
42    @SystemApi
43    public static final String ACTION_UPDATE_INTENT_FIREWALL
44            = "android.intent.action.UPDATE_INTENT_FIREWALL";
45
46    /**
47     * Update list of permium SMS short codes.
48     * @hide
49     */
50    @SystemApi
51    public static final String ACTION_UPDATE_SMS_SHORT_CODES
52            = "android.intent.action.UPDATE_SMS_SHORT_CODES";
53
54    /**
55     * Update list of carrier provisioning URLs.
56     * @hide
57     */
58    @SystemApi
59    public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS
60            = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
61
62    /**
63     * Update set of trusted logs used for Certificate Transparency support for TLS connections.
64     * @hide
65     */
66    @SystemApi
67    public static final String ACTION_UPDATE_CT_LOGS
68            = "android.intent.action.UPDATE_CT_LOGS";
69
70    /**
71     * Update language detection model file.
72     * @hide
73     */
74    @SystemApi
75    public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID";
76
77    /**
78     * Update smart selection model file.
79     * @hide
80     */
81    @SystemApi
82    public static final String ACTION_UPDATE_SMART_SELECTION
83            = "android.intent.action.UPDATE_SMART_SELECTION";
84
85    /**
86     * Update network watchlist config file.
87     * @hide
88     */
89    @SystemApi
90    public static final String ACTION_UPDATE_NETWORK_WATCHLIST
91            = "android.intent.action.UPDATE_NETWORK_WATCHLIST";
92
93    /**
94     * Broadcast intent action indicating that the updated carrier id config is available.
95     * <p>Extra: "VERSION" the numeric version of the new data. Devices should only install if the
96     * update version is newer than the current one.
97     * <p>Extra: "REQUIRED_HASH" the hash of the current update data.
98     * <p>Input: {@link android.content.Intent#getData} is URI of downloaded carrier id file.
99     * Devices should pick up the downloaded file and persist to the database
100     * {@link com.android.providers.telephony.CarrierIdProvider}.
101     *
102     * @hide
103     */
104    @SystemApi
105    public static final String ACTION_UPDATE_CARRIER_ID_DB
106            = "android.os.action.UPDATE_CARRIER_ID_DB";
107
108    private ConfigUpdate() {
109    }
110}
111