Added new AndroidManifest permission: android.permission.READ_PRECISE_PHONE_STATE Added the following PhoneStateListeners and corresponding broadcast intents: onPreciseCallStateChanged(PreciseCallState callState); onPreciseDataConnectionStateChanged(PreciseDataConnectionState dataConnectionState); broadcastPreciseCallStateChanged(int ringingCallState, int foregroundCallState, int backgroundCallState, int disconnectCause, int preciseDisconnectCause) broadcastPreciseDataConnectionStateChanged(int state, int networkType, String apnType, String apn, String reason, LinkProperties linkProperties, String failCause) Added TelephonyManager intent actions with their extras and constants: public static final String ACTION_PRECISE_CALL_STATE_CHANGED = "android.intent.action.PRECISE_CALL_STATE"; public static final String ACTION_PRECISE_DATA_CONNECTION_STATE_CHANGED = "android.intent.action.PRECISE_DATA_CONNECTION_STATE_CHANGED"; public static final int PRECISE_CALL_STATE_* Moved public static final int DISCONNECT_CAUSE_* from PreciseCallState.java to a new class DisconnectCause.java Moved public static final int PRECISE_DISCONNECT_CAUSE_* from PreciseCallState.java to a new class PreciseDisconnectCause.java Change-Id: If3b88c679507c529b746046c4a17cf6d9974bd09
103 lines
4.8 KiB
Java
103 lines
4.8 KiB
Java
/*
|
|
* Copyright (C) 2014 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
package android.telephony;
|
|
|
|
/**
|
|
* Contains precise disconnect call causes generated by the
|
|
* framework and the RIL.
|
|
*
|
|
* @hide
|
|
*/
|
|
public class PreciseDisconnectCause {
|
|
|
|
/** The disconnect cause is not valid (Not received a disconnect cause)*/
|
|
public static final int NOT_VALID = -1;
|
|
/** No disconnect cause provided. Generally a local disconnect or an incoming missed call */
|
|
public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0;
|
|
/**
|
|
* The destination cannot be reached because the number, although valid,
|
|
* is not currently assigned
|
|
*/
|
|
public static final int UNOBTAINABLE_NUMBER = 1;
|
|
/** One of the users involved in the call has requested that the call is cleared */
|
|
public static final int NORMAL = 16;
|
|
/** The called user is unable to accept another call */
|
|
public static final int BUSY = 17;
|
|
/** The called number is no longer assigned */
|
|
public static final int NUMBER_CHANGED = 22;
|
|
/** Provided in response to a STATUS ENQUIRY message */
|
|
public static final int STATUS_ENQUIRY = 30;
|
|
/** Reports a normal disconnect only when no other normal cause applies */
|
|
public static final int NORMAL_UNSPECIFIED = 31;
|
|
/** There is no channel presently available to handle the call */
|
|
public static final int NO_CIRCUIT_AVAIL = 34;
|
|
/**
|
|
* The network is not functioning correctly and the condition is not likely to last
|
|
* a long period of time
|
|
*/
|
|
public static final int TEMPORARY_FAILURE = 41;
|
|
/** The switching equipment is experiencing a period of high traffic */
|
|
public static final int SWITCHING_CONGESTION = 42;
|
|
/** The channel cannot be provided */
|
|
public static final int CHANNEL_NOT_AVAIL = 44;
|
|
/** The requested quality of service (ITU-T X.213) cannot be provided */
|
|
public static final int QOS_NOT_AVAIL = 49;
|
|
/** The requested bearer capability is not available at this time */
|
|
public static final int BEARER_NOT_AVAIL = 58;
|
|
/** The call clearing is due to ACM being greater than or equal to ACMmax */
|
|
public static final int ACM_LIMIT_EXCEEDED = 68;
|
|
/** The call is restricted */
|
|
public static final int CALL_BARRED = 240;
|
|
/** The call is blocked by the Fixed Dialing Number list */
|
|
public static final int FDN_BLOCKED = 241;
|
|
/** The given IMSI is not known at the VLR */
|
|
/** TS 24.008 cause 4 */
|
|
public static final int IMSI_UNKNOWN_IN_VLR = 242;
|
|
/**
|
|
* The network does not accept emergency call establishment using an IMEI or not accept attach
|
|
* procedure for emergency services using an IMEI
|
|
*/
|
|
public static final int IMEI_NOT_ACCEPTED = 243;
|
|
/** MS is locked until next power cycle */
|
|
public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000;
|
|
/** Drop call*/
|
|
public static final int CDMA_DROP = 1001;
|
|
/** INTERCEPT order received, MS state idle entered */
|
|
public static final int CDMA_INTERCEPT = 1002;
|
|
/** MS has been redirected, call is cancelled */
|
|
public static final int CDMA_REORDER = 1003;
|
|
/** Service option rejection */
|
|
public static final int CDMA_SO_REJECT = 1004;
|
|
/** Requested service is rejected, retry delay is set */
|
|
public static final int CDMA_RETRY_ORDER = 1005;
|
|
/** Unable to obtain access to the CDMA system */
|
|
public static final int CDMA_ACCESS_FAILURE = 1006;
|
|
/** Not a preempted call */
|
|
public static final int CDMA_PREEMPTED = 1007;
|
|
/** Not an emergency call */
|
|
public static final int CDMA_NOT_EMERGENCY = 1008;
|
|
/** Access Blocked by CDMA network */
|
|
public static final int CDMA_ACCESS_BLOCKED = 1009;
|
|
/** Disconnected due to unspecified reasons */
|
|
public static final int ERROR_UNSPECIFIED = 0xffff;
|
|
|
|
/** Private constructor to avoid class instantiation. */
|
|
private PreciseDisconnectCause() {
|
|
// Do nothing.
|
|
}
|
|
}
|