• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2024 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 com.android.internal.telephony.satellite;
18 
19 import android.annotation.IntDef;
20 
21 import java.lang.annotation.Retention;
22 import java.lang.annotation.RetentionPolicy;
23 
24 public class SatelliteConstants {
25     public static final int CONFIG_DATA_SOURCE_UNKNOWN = 0;
26     public static final int CONFIG_DATA_SOURCE_ENTITLEMENT = 1;
27     public static final int CONFIG_DATA_SOURCE_CONFIG_UPDATER = 2;
28     public static final int CONFIG_DATA_SOURCE_CARRIER_CONFIG = 3;
29     public static final int CONFIG_DATA_SOURCE_DEVICE_CONFIG = 4;
30 
31     @IntDef(prefix = {"CONFIG_DATA_SOURCE_"}, value = {
32             CONFIG_DATA_SOURCE_UNKNOWN,
33             CONFIG_DATA_SOURCE_ENTITLEMENT,
34             CONFIG_DATA_SOURCE_CONFIG_UPDATER,
35             CONFIG_DATA_SOURCE_CARRIER_CONFIG,
36             CONFIG_DATA_SOURCE_DEVICE_CONFIG
37     })
38     @Retention(RetentionPolicy.SOURCE)
39     public @interface ConfigDataSource {}
40 
41     public static final int SATELLITE_ENTITLEMENT_STATUS_UNKNOWN = 0;
42     public static final int SATELLITE_ENTITLEMENT_STATUS_DISABLED = 1;
43     public static final int SATELLITE_ENTITLEMENT_STATUS_ENABLED = 2;
44     public static final int SATELLITE_ENTITLEMENT_STATUS_INCOMPATIBLE = 3;
45     public static final int SATELLITE_ENTITLEMENT_STATUS_PROVISIONING = 4;
46 
47     @IntDef(prefix = {"SATELLITE_ENTITLEMENT_STATUS_"}, value = {
48             SATELLITE_ENTITLEMENT_STATUS_UNKNOWN,
49             SATELLITE_ENTITLEMENT_STATUS_DISABLED,
50             SATELLITE_ENTITLEMENT_STATUS_ENABLED,
51             SATELLITE_ENTITLEMENT_STATUS_INCOMPATIBLE,
52             SATELLITE_ENTITLEMENT_STATUS_PROVISIONING
53     })
54     @Retention(RetentionPolicy.SOURCE)
55     public @interface SatelliteEntitlementStatus {}
56 
57     public static final int CONFIG_UPDATE_RESULT_UNKNOWN = 0;
58     public static final int CONFIG_UPDATE_RESULT_SUCCESS = 1;
59     public static final int CONFIG_UPDATE_RESULT_INVALID_DOMAIN = 2;
60     public static final int CONFIG_UPDATE_RESULT_INVALID_VERSION = 3;
61     public static final int CONFIG_UPDATE_RESULT_NO_DATA = 4;
62     public static final int CONFIG_UPDATE_RESULT_NO_SATELLITE_DATA = 5;
63     public static final int CONFIG_UPDATE_RESULT_PARSE_ERROR = 6;
64     public static final int CONFIG_UPDATE_RESULT_CARRIER_DATA_INVALID_PLMN = 7;
65     public static final int CONFIG_UPDATE_RESULT_CARRIER_DATA_INVALID_SUPPORTED_SERVICES = 8;
66     public static final int CONFIG_UPDATE_RESULT_DEVICE_DATA_INVALID_COUNTRY_CODE = 9;
67     public static final int CONFIG_UPDATE_RESULT_DEVICE_DATA_INVALID_S2_CELL_FILE = 10;
68     public static final int CONFIG_UPDATE_RESULT_IO_ERROR = 11;
69     public static final int CONFIG_UPDATE_RESULT_INVALID_SATELLITE_ACCESS_CONFIG_FILE = 12;
70 
71     @IntDef(prefix = {"CONFIG_UPDATE_RESULT_"}, value = {
72             CONFIG_UPDATE_RESULT_UNKNOWN,
73             CONFIG_UPDATE_RESULT_SUCCESS,
74             CONFIG_UPDATE_RESULT_INVALID_DOMAIN,
75             CONFIG_UPDATE_RESULT_INVALID_VERSION,
76             CONFIG_UPDATE_RESULT_NO_DATA,
77             CONFIG_UPDATE_RESULT_NO_SATELLITE_DATA,
78             CONFIG_UPDATE_RESULT_PARSE_ERROR,
79             CONFIG_UPDATE_RESULT_CARRIER_DATA_INVALID_PLMN,
80             CONFIG_UPDATE_RESULT_CARRIER_DATA_INVALID_SUPPORTED_SERVICES,
81             CONFIG_UPDATE_RESULT_DEVICE_DATA_INVALID_COUNTRY_CODE,
82             CONFIG_UPDATE_RESULT_DEVICE_DATA_INVALID_S2_CELL_FILE,
83             CONFIG_UPDATE_RESULT_IO_ERROR,
84             CONFIG_UPDATE_RESULT_INVALID_SATELLITE_ACCESS_CONFIG_FILE
85     })
86     @Retention(RetentionPolicy.SOURCE)
87     public @interface ConfigUpdateResult {}
88 
89     // Access control type is unknown
90     public static final int ACCESS_CONTROL_TYPE_UNKNOWN = 0;
91     // Network country code is used for satellite access decision
92     public static final int ACCESS_CONTROL_TYPE_NETWORK_COUNTRY_CODE = 1;
93     // Device's current location is used for satellite access decision
94     public static final int ACCESS_CONTROL_TYPE_CURRENT_LOCATION = 2;
95     // Device's last known location is used for satellite access decision
96     public static final int ACCESS_CONTROL_TYPE_LAST_KNOWN_LOCATION = 3;
97     // Cached country codes are used for satellite access decision
98     public static final int ACCESS_CONTROL_TYPE_CACHED_COUNTRY_CODE = 4;
99 
100     @IntDef(prefix = {"ACCESS_CONTROL_TYPE_"}, value = {
101             ACCESS_CONTROL_TYPE_UNKNOWN,
102             ACCESS_CONTROL_TYPE_NETWORK_COUNTRY_CODE,
103             ACCESS_CONTROL_TYPE_CURRENT_LOCATION,
104             ACCESS_CONTROL_TYPE_LAST_KNOWN_LOCATION,
105             ACCESS_CONTROL_TYPE_CACHED_COUNTRY_CODE
106     })
107     @Retention(RetentionPolicy.SOURCE)
108     public @interface AccessControlType {}
109 
110     //// Unknown reason.
111     public static final int TRIGGERING_EVENT_UNKNOWN = 0;
112     // Satellite Access Controller has been triggered by an external event.
113     public static final int TRIGGERING_EVENT_EXTERNAL_REQUEST = 1;
114     // Satellite Access Controller has been triggered by an MCC change event.
115     public static final int TRIGGERING_EVENT_MCC_CHANGED = 2;
116     // Satellite Access Controller has been triggered due to the location setting being enabled.
117     public static final int TRIGGERING_EVENT_LOCATION_SETTINGS_ENABLED = 3;
118     // Satellite Access Controller has been triggered due to the location setting being disabled.
119     public static final int TRIGGERING_EVENT_LOCATION_SETTINGS_DISABLED = 4;
120     // Satellite Access Controller has been triggered due to the config data updated.
121     public static final int TRIGGERING_EVENT_CONFIG_DATA_UPDATED = 5;
122 
123     @IntDef(prefix = {"TRIGGERING_EVENT_"}, value = {
124             TRIGGERING_EVENT_UNKNOWN,
125             TRIGGERING_EVENT_EXTERNAL_REQUEST,
126             TRIGGERING_EVENT_MCC_CHANGED,
127             TRIGGERING_EVENT_LOCATION_SETTINGS_ENABLED,
128             TRIGGERING_EVENT_LOCATION_SETTINGS_DISABLED,
129             TRIGGERING_EVENT_CONFIG_DATA_UPDATED
130     })
131     @Retention(RetentionPolicy.SOURCE)
132     public @interface TriggeringEvent {}
133 
134     public static final int SATELLITE_ENTITLEMENT_SERVICE_POLICY_UNKNOWN = 0;
135     public static final int SATELLITE_ENTITLEMENT_SERVICE_POLICY_RESTRICTED = 1;
136     public static final int SATELLITE_ENTITLEMENT_SERVICE_POLICY_CONSTRAINED = 2;
137     public static final int SATELLITE_ENTITLEMENT_SERVICE_POLICY_UNCONSTRAINED = 3;
138 
139     @IntDef(prefix = {"SATELLITE_ENTITLEMENT_SERVICE_POLICY_"}, value = {
140             SATELLITE_ENTITLEMENT_SERVICE_POLICY_UNKNOWN,
141             SATELLITE_ENTITLEMENT_SERVICE_POLICY_RESTRICTED,
142             SATELLITE_ENTITLEMENT_SERVICE_POLICY_CONSTRAINED,
143             SATELLITE_ENTITLEMENT_SERVICE_POLICY_UNCONSTRAINED,
144     })
145     @Retention(RetentionPolicy.SOURCE)
146     public @interface SatelliteEntitlementServicePolicy {}
147 }
148