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 70 @IntDef(prefix = {"CONFIG_UPDATE_RESULT_"}, value = { 71 CONFIG_UPDATE_RESULT_UNKNOWN, 72 CONFIG_UPDATE_RESULT_SUCCESS, 73 CONFIG_UPDATE_RESULT_INVALID_DOMAIN, 74 CONFIG_UPDATE_RESULT_INVALID_VERSION, 75 CONFIG_UPDATE_RESULT_NO_DATA, 76 CONFIG_UPDATE_RESULT_NO_SATELLITE_DATA, 77 CONFIG_UPDATE_RESULT_PARSE_ERROR, 78 CONFIG_UPDATE_RESULT_CARRIER_DATA_INVALID_PLMN, 79 CONFIG_UPDATE_RESULT_CARRIER_DATA_INVALID_SUPPORTED_SERVICES, 80 CONFIG_UPDATE_RESULT_DEVICE_DATA_INVALID_COUNTRY_CODE, 81 CONFIG_UPDATE_RESULT_DEVICE_DATA_INVALID_S2_CELL_FILE, 82 CONFIG_UPDATE_RESULT_IO_ERROR 83 }) 84 @Retention(RetentionPolicy.SOURCE) 85 public @interface ConfigUpdateResult {} 86 87 // Access control type is unknown 88 public static final int ACCESS_CONTROL_TYPE_UNKNOWN = 0; 89 // Network country code is used for satellite access decision 90 public static final int ACCESS_CONTROL_TYPE_NETWORK_COUNTRY_CODE = 1; 91 // Device's current location is used for satellite access decision 92 public static final int ACCESS_CONTROL_TYPE_CURRENT_LOCATION = 2; 93 // Device's last known location is used for satellite access decision 94 public static final int ACCESS_CONTROL_TYPE_LAST_KNOWN_LOCATION = 3; 95 // Cached country codes are used for satellite access decision 96 public static final int ACCESS_CONTROL_TYPE_CACHED_COUNTRY_CODE = 4; 97 98 @IntDef(prefix = {"ACCESS_CONTROL_TYPE_"}, value = { 99 ACCESS_CONTROL_TYPE_UNKNOWN, 100 ACCESS_CONTROL_TYPE_NETWORK_COUNTRY_CODE, 101 ACCESS_CONTROL_TYPE_CURRENT_LOCATION, 102 ACCESS_CONTROL_TYPE_LAST_KNOWN_LOCATION, 103 ACCESS_CONTROL_TYPE_CACHED_COUNTRY_CODE 104 }) 105 @Retention(RetentionPolicy.SOURCE) 106 public @interface AccessControlType {} 107 } 108