1 /*
2  * Copyright (C) 2012 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 package com.android.internal.telephony;
17 
18 import com.android.internal.util.Protocol;
19 
20 /**
21  * @hide
22  */
23 public class DctConstants {
24     /**
25      * IDLE: ready to start data connection setup, default state
26      * CONNECTING: state of issued startPppd() but not finish yet
27      * SCANNING: data connection fails with one apn but other apns are available
28      *           ready to start data connection on other apns (before INITING)
29      * CONNECTED: IP connection is setup
30      * DISCONNECTING: Connection.disconnect() has been called, but PDP
31      *                context is not yet deactivated
32      * FAILED: data connection fail for all apns settings
33      * RETRYING: data connection failed but we're going to retry.
34      *
35      * getDataConnectionState() maps State to DataState
36      *      FAILED or IDLE : DISCONNECTED
37      *      RETRYING or CONNECTING or SCANNING: CONNECTING
38      *      CONNECTED : CONNECTED or DISCONNECTING
39      */
40     public enum State {
41         IDLE,
42         CONNECTING,
43         SCANNING,
44         CONNECTED,
45         DISCONNECTING,
46         FAILED,
47         RETRYING        // After moving retry manager to ApnContext, we'll never enter this state!
48                         // Todo: Remove this state and other places that use this state and then
49                         // rename SCANNING to RETRYING.
50     }
51 
52     public enum Activity {
53         NONE,
54         DATAIN,
55         DATAOUT,
56         DATAINANDOUT,
57         DORMANT
58     }
59 
60     /***** Event Codes *****/
61     public static final int BASE = Protocol.BASE_DATA_CONNECTION_TRACKER;
62     public static final int EVENT_DATA_SETUP_COMPLETE = BASE + 0;
63     public static final int EVENT_RADIO_AVAILABLE = BASE + 1;
64     public static final int EVENT_RECORDS_LOADED = BASE + 2;
65     public static final int EVENT_TRY_SETUP_DATA = BASE + 3;
66     public static final int EVENT_DATA_STATE_CHANGED = BASE + 4;
67     public static final int EVENT_POLL_PDP = BASE + 5;
68     public static final int EVENT_RADIO_OFF_OR_NOT_AVAILABLE = BASE + 6;
69     public static final int EVENT_VOICE_CALL_STARTED = BASE + 7;
70     public static final int EVENT_VOICE_CALL_ENDED = BASE + 8;
71     public static final int EVENT_DATA_CONNECTION_DETACHED = BASE + 9;
72     public static final int EVENT_LINK_STATE_CHANGED = BASE + 10;
73     public static final int EVENT_ROAMING_ON = BASE + 11;
74     public static final int EVENT_ROAMING_OFF = BASE + 12;
75     public static final int EVENT_ENABLE_NEW_APN = BASE + 13;
76     public static final int EVENT_RESTORE_DEFAULT_APN = BASE + 14;
77     public static final int EVENT_DISCONNECT_DONE = BASE + 15;
78     public static final int EVENT_DATA_CONNECTION_ATTACHED = BASE + 16;
79     public static final int EVENT_DATA_STALL_ALARM = BASE + 17;
80     public static final int EVENT_DO_RECOVERY = BASE + 18;
81     public static final int EVENT_APN_CHANGED = BASE + 19;
82     public static final int EVENT_CDMA_DATA_DETACHED = BASE + 20;
83     public static final int EVENT_CDMA_SUBSCRIPTION_SOURCE_CHANGED = BASE + 21;
84     public static final int EVENT_PS_RESTRICT_ENABLED = BASE + 22;
85     public static final int EVENT_PS_RESTRICT_DISABLED = BASE + 23;
86     public static final int EVENT_CLEAN_UP_CONNECTION = BASE + 24;
87     public static final int EVENT_CDMA_OTA_PROVISION = BASE + 25;
88     public static final int EVENT_RESTART_RADIO = BASE + 26;
89     public static final int EVENT_SET_INTERNAL_DATA_ENABLE = BASE + 27;
90     public static final int EVENT_RESET_DONE = BASE + 28;
91     public static final int EVENT_CLEAN_UP_ALL_CONNECTIONS = BASE + 29;
92     public static final int CMD_SET_USER_DATA_ENABLE = BASE + 30;
93     public static final int CMD_SET_DEPENDENCY_MET = BASE + 31;
94     public static final int CMD_SET_POLICY_DATA_ENABLE = BASE + 32;
95     public static final int EVENT_ICC_CHANGED = BASE + 33;
96     public static final int EVENT_DISCONNECT_DC_RETRYING = BASE + 34;
97     public static final int EVENT_DATA_SETUP_COMPLETE_ERROR = BASE + 35;
98     public static final int CMD_SET_ENABLE_FAIL_FAST_MOBILE_DATA = BASE + 36;
99     public static final int CMD_ENABLE_MOBILE_PROVISIONING = BASE + 37;
100     public static final int CMD_IS_PROVISIONING_APN = BASE + 38;
101     public static final int EVENT_PROVISIONING_APN_ALARM = BASE + 39;
102     public static final int CMD_NET_STAT_POLL = BASE + 40;
103     public static final int EVENT_DATA_RAT_CHANGED = BASE + 41;
104     public static final int CMD_CLEAR_PROVISIONING_SPINNER = BASE + 42;
105     public static final int EVENT_DEVICE_PROVISIONED_CHANGE = BASE + 43;
106     public static final int EVENT_REDIRECTION_DETECTED = BASE + 44;
107 
108     /***** Constants *****/
109 
110     public static final int APN_INVALID_ID = -1;
111     public static final int APN_DEFAULT_ID = 0;
112     public static final int APN_MMS_ID = 1;
113     public static final int APN_SUPL_ID = 2;
114     public static final int APN_DUN_ID = 3;
115     public static final int APN_HIPRI_ID = 4;
116     public static final int APN_IMS_ID = 5;
117     public static final int APN_FOTA_ID = 6;
118     public static final int APN_CBS_ID = 7;
119     public static final int APN_IA_ID = 8;
120     public static final int APN_EMERGENCY_ID = 9;
121     public static final int APN_NUM_TYPES = 10;
122 
123     public static final int INVALID = -1;
124     public static final int DISABLED = 0;
125     public static final int ENABLED = 1;
126 
127     public static final String APN_TYPE_KEY = "apnType";
128     public static final String PROVISIONING_URL_KEY = "provisioningUrl";
129 }
130