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