Merge "move and rename DcFailCause to DataFailCause"
diff --git a/src/java/com/android/internal/telephony/dataconnection/DataConnection.java b/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
index e683c47..0de4a53 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
@@ -40,6 +40,7 @@
import android.os.SystemClock;
import android.os.SystemProperties;
import android.telephony.AccessNetworkConstants.TransportType;
+import android.telephony.DataFailCause;
import android.telephony.Rlog;
import android.telephony.ServiceState;
import android.telephony.TelephonyManager;
@@ -173,14 +174,14 @@
private ApnSetting mApnSetting;
private ConnectionParams mConnectionParams;
private DisconnectParams mDisconnectParams;
- private DcFailCause mDcFailCause;
+ private DataFailCause mDcFailCause;
private Phone mPhone;
private DataServiceManager mDataServiceManager;
private LinkProperties mLinkProperties = new LinkProperties();
private long mCreateTime;
private long mLastFailTime;
- private DcFailCause mLastFailCause;
+ private DataFailCause mLastFailCause;
private static final String NULL_IP = "0.0.0.0";
private Object mUserData;
private int mSubscriptionOverride;
@@ -349,10 +350,10 @@
ERROR_STALE,
ERROR_DATA_SERVICE_SPECIFIC_ERROR;
- public DcFailCause mFailCause;
+ public DataFailCause mFailCause;
SetupResult() {
- mFailCause = DcFailCause.fromInt(0);
+ mFailCause = DataFailCause.fromInt(0);
}
@Override
@@ -530,7 +531,7 @@
mCreateTime = -1;
mLastFailTime = -1;
- mLastFailCause = DcFailCause.NONE;
+ mLastFailCause = DataFailCause.NONE;
Message msg = obtainMessage(EVENT_SETUP_DATA_CONNECTION_DONE, cp);
msg.obj = cp;
@@ -609,7 +610,7 @@
private void notifyAllOfDisconnectDcRetrying(String reason) {
notifyAllWithEvent(null, DctConstants.EVENT_DISCONNECT_DC_RETRYING, reason);
}
- private void notifyAllDisconnectCompleted(DcFailCause cause) {
+ private void notifyAllDisconnectCompleted(DataFailCause cause) {
notifyAllWithEvent(null, DctConstants.EVENT_DISCONNECT_DONE, cause.toString());
}
@@ -618,10 +619,10 @@
* Send the connectionCompletedMsg.
*
* @param cp is the ConnectionParams
- * @param cause and if no error the cause is DcFailCause.NONE
+ * @param cause and if no error the cause is DataFailCause.NONE
* @param sendAll is true if all contexts are to be notified
*/
- private void notifyConnectCompleted(ConnectionParams cp, DcFailCause cause, boolean sendAll) {
+ private void notifyConnectCompleted(ConnectionParams cp, DataFailCause cause, boolean sendAll) {
ApnContext alreadySent = null;
if (cp != null && cp.mOnCompletedMsg != null) {
@@ -633,7 +634,7 @@
long timeStamp = System.currentTimeMillis();
connectionCompletedMsg.arg1 = mCid;
- if (cause == DcFailCause.NONE) {
+ if (cause == DataFailCause.NONE) {
mCreateTime = timeStamp;
AsyncResult.forMessage(connectionCompletedMsg);
} else {
@@ -641,7 +642,7 @@
mLastFailTime = timeStamp;
// Return message with a Throwable exception to signify an error.
- if (cause == null) cause = DcFailCause.UNKNOWN;
+ if (cause == null) cause = DataFailCause.UNKNOWN;
AsyncResult.forMessage(connectionCompletedMsg, cause,
new Throwable(cause.toString()));
}
@@ -687,7 +688,7 @@
}
if (sendAll) {
if (reason == null) {
- reason = DcFailCause.UNKNOWN.toString();
+ reason = DataFailCause.UNKNOWN.toString();
}
notifyAllWithEvent(alreadySent, DctConstants.EVENT_DISCONNECT_DONE, reason);
}
@@ -727,7 +728,7 @@
mCreateTime = -1;
mLastFailTime = -1;
- mLastFailCause = DcFailCause.NONE;
+ mLastFailCause = DataFailCause.NONE;
mCid = -1;
mPcscfAddr = new String[5];
@@ -760,14 +761,14 @@
result = SetupResult.ERROR_STALE;
} else if (resultCode == DataServiceCallback.RESULT_ERROR_ILLEGAL_STATE) {
result = SetupResult.ERROR_RADIO_NOT_AVAILABLE;
- result.mFailCause = DcFailCause.RADIO_NOT_AVAILABLE;
+ result.mFailCause = DataFailCause.RADIO_NOT_AVAILABLE;
} else if (response.getStatus() != 0) {
- if (response.getStatus() == DcFailCause.RADIO_NOT_AVAILABLE.getErrorCode()) {
+ if (response.getStatus() == DataFailCause.RADIO_NOT_AVAILABLE.getErrorCode()) {
result = SetupResult.ERROR_RADIO_NOT_AVAILABLE;
- result.mFailCause = DcFailCause.RADIO_NOT_AVAILABLE;
+ result.mFailCause = DataFailCause.RADIO_NOT_AVAILABLE;
} else {
result = SetupResult.ERROR_DATA_SERVICE_SPECIFIC_ERROR;
- result.mFailCause = DcFailCause.fromInt(response.getStatus());
+ result.mFailCause = DataFailCause.fromInt(response.getStatus());
}
} else {
if (DBG) log("onSetupConnectionCompleted received successful DataCallResponse");
@@ -1132,7 +1133,7 @@
// a failure we'll clear again at the bottom of this code.
linkProperties.clear();
- if (response.getStatus() == DcFailCause.NONE.getErrorCode()) {
+ if (response.getStatus() == DataFailCause.NONE.getErrorCode()) {
try {
// set interface name
linkProperties.setInterfaceName(response.getIfname());
@@ -1312,7 +1313,7 @@
case EVENT_CONNECT:
if (DBG) log("DcDefaultState: msg.what=EVENT_CONNECT, fail not expected");
ConnectionParams cp = (ConnectionParams) msg.obj;
- notifyConnectCompleted(cp, DcFailCause.UNKNOWN, false);
+ notifyConnectCompleted(cp, DataFailCause.UNKNOWN, false);
break;
case EVENT_DISCONNECT:
@@ -1426,7 +1427,7 @@
*/
private class DcInactiveState extends State {
// Inform all contexts we've failed connecting
- public void setEnterNotificationParams(ConnectionParams cp, DcFailCause cause) {
+ public void setEnterNotificationParams(ConnectionParams cp, DataFailCause cause) {
if (VDBG) log("DcInactiveState: setEnterNotificationParams cp,cause");
mConnectionParams = cp;
mDisconnectParams = null;
@@ -1438,11 +1439,11 @@
if (VDBG) log("DcInactiveState: setEnterNotificationParams dp");
mConnectionParams = null;
mDisconnectParams = dp;
- mDcFailCause = DcFailCause.NONE;
+ mDcFailCause = DataFailCause.NONE;
}
// Inform all contexts of the failure cause
- public void setEnterNotificationParams(DcFailCause cause) {
+ public void setEnterNotificationParams(DataFailCause cause) {
mConnectionParams = null;
mDisconnectParams = null;
mDcFailCause = cause;
@@ -1515,7 +1516,7 @@
if (DBG) {
log("DcInactiveState: msg.what=EVENT_CONNECT initConnection failed");
}
- notifyConnectCompleted(cp, DcFailCause.UNACCEPTABLE_NETWORK_PARAMETER,
+ notifyConnectCompleted(cp, DataFailCause.UNACCEPTABLE_NETWORK_PARAMETER,
false);
}
retVal = HANDLED;
@@ -1595,7 +1596,7 @@
switch (result) {
case SUCCESS:
// All is well
- mDcFailCause = DcFailCause.NONE;
+ mDcFailCause = DataFailCause.NONE;
transitionTo(mActiveState);
break;
case ERROR_RADIO_NOT_AVAILABLE:
@@ -1759,7 +1760,7 @@
if (DBG) {
log("DcActiveState: EVENT_CONNECT cp=" + cp + " dc=" + DataConnection.this);
}
- notifyConnectCompleted(cp, DcFailCause.NONE, false);
+ notifyConnectCompleted(cp, DataFailCause.NONE, false);
retVal = HANDLED;
break;
}
@@ -1813,7 +1814,7 @@
log("DcActiveState EVENT_LOST_CONNECTION dc=" + DataConnection.this);
}
- mInactiveState.setEnterNotificationParams(DcFailCause.LOST_CONNECTION);
+ mInactiveState.setEnterNotificationParams(DataFailCause.LOST_CONNECTION);
transitionTo(mInactiveState);
retVal = HANDLED;
break;
@@ -2101,7 +2102,7 @@
// Transition to inactive but send notifications after
// we've entered the mInactive state.
mInactiveState.setEnterNotificationParams(cp,
- DcFailCause.UNACCEPTABLE_NETWORK_PARAMETER);
+ DataFailCause.UNACCEPTABLE_NETWORK_PARAMETER);
transitionTo(mInactiveState);
} else {
if (DBG) {
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcController.java b/src/java/com/android/internal/telephony/dataconnection/DcController.java
index 2f74ff0..8933f8b 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DcController.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DcController.java
@@ -27,6 +27,7 @@
import android.os.Handler;
import android.os.Message;
import android.telephony.AccessNetworkConstants.TransportType;
+import android.telephony.DataFailCause;
import android.telephony.PhoneStateListener;
import android.telephony.Rlog;
import android.telephony.TelephonyManager;
@@ -330,7 +331,7 @@
apnsToCleanup.addAll(apnContexts);
mDct.isCleanupRequired.set(false);
} else {
- DcFailCause failCause = DcFailCause.fromInt(newState.getStatus());
+ DataFailCause failCause = DataFailCause.fromInt(newState.getStatus());
if (failCause.isRadioRestartFailure(mPhone.getContext(),
mPhone.getSubId())) {
if (DBG) {
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcFailBringUp.java b/src/java/com/android/internal/telephony/dataconnection/DcFailBringUp.java
index c24d0bf..b6a63cf 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DcFailBringUp.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DcFailBringUp.java
@@ -17,6 +17,7 @@
package com.android.internal.telephony.dataconnection;
import android.content.Intent;
+import android.telephony.DataFailCause;
import android.telephony.Rlog;
/**
@@ -39,8 +40,8 @@
// failCause with its --ei option name and default value
static final String FAIL_CAUSE = "fail_cause";
- static final DcFailCause DEFAULT_FAIL_CAUSE = DcFailCause.ERROR_UNSPECIFIED;
- DcFailCause mFailCause;
+ static final DataFailCause DEFAULT_FAIL_CAUSE = DataFailCause.ERROR_UNSPECIFIED;
+ DataFailCause mFailCause;
// suggestedRetryTime with its --ei option name and default value
static final String SUGGESTED_RETRY_TIME = "suggested_retry_time";
@@ -51,7 +52,7 @@
void saveParameters(Intent intent, String s) {
if (DBG) log(s + ".saveParameters: action=" + intent.getAction());
mCounter = intent.getIntExtra(COUNTER, DEFAULT_COUNTER);
- mFailCause = DcFailCause.fromInt(
+ mFailCause = DataFailCause.fromInt(
intent.getIntExtra(FAIL_CAUSE, DEFAULT_FAIL_CAUSE.getErrorCode()));
mSuggestedRetryTime =
intent.getIntExtra(SUGGESTED_RETRY_TIME, DEFAULT_SUGGESTED_RETRY_TIME);
@@ -62,7 +63,7 @@
public void saveParameters(int counter, int failCause, int suggestedRetryTime) {
mCounter = counter;
- mFailCause = DcFailCause.fromInt(failCause);
+ mFailCause = DataFailCause.fromInt(failCause);
mSuggestedRetryTime = suggestedRetryTime;
}
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcFailCause.java b/src/java/com/android/internal/telephony/dataconnection/DcFailCause.java
deleted file mode 100644
index 79c79de..0000000
--- a/src/java/com/android/internal/telephony/dataconnection/DcFailCause.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * Copyright (C) 2006 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 com.android.internal.telephony.dataconnection;
-
-import android.content.Context;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-
-/**
- * Returned as the reason for a connection failure as defined
- * by RIL_DataCallFailCause in ril.h and some local errors.
- */
-public enum DcFailCause {
- NONE(0),
-
- // This series of errors as specified by the standards
- // specified in ril.h
- OPERATOR_BARRED(0x08), /* no retry */
- NAS_SIGNALLING(0x0E),
- LLC_SNDCP(0x19),
- INSUFFICIENT_RESOURCES(0x1A),
- MISSING_UNKNOWN_APN(0x1B), /* no retry */
- UNKNOWN_PDP_ADDRESS_TYPE(0x1C), /* no retry */
- USER_AUTHENTICATION(0x1D), /* no retry */
- ACTIVATION_REJECT_GGSN(0x1E), /* no retry */
- ACTIVATION_REJECT_UNSPECIFIED(0x1F),
- SERVICE_OPTION_NOT_SUPPORTED(0x20), /* no retry */
- SERVICE_OPTION_NOT_SUBSCRIBED(0x21), /* no retry */
- SERVICE_OPTION_OUT_OF_ORDER(0x22),
- NSAPI_IN_USE(0x23), /* no retry */
- REGULAR_DEACTIVATION(0x24), /* possibly restart radio, based on config */
- QOS_NOT_ACCEPTED(0x25),
- NETWORK_FAILURE(0x26),
- UMTS_REACTIVATION_REQ(0x27),
- FEATURE_NOT_SUPP(0x28),
- TFT_SEMANTIC_ERROR(0x29),
- TFT_SYTAX_ERROR(0x2A),
- UNKNOWN_PDP_CONTEXT(0x2B),
- FILTER_SEMANTIC_ERROR(0x2C),
- FILTER_SYTAX_ERROR(0x2D),
- PDP_WITHOUT_ACTIVE_TFT(0x2E),
- ONLY_IPV4_ALLOWED(0x32), /* no retry */
- ONLY_IPV6_ALLOWED(0x33), /* no retry */
- ONLY_SINGLE_BEARER_ALLOWED(0x34),
- ESM_INFO_NOT_RECEIVED(0x35),
- PDN_CONN_DOES_NOT_EXIST(0x36),
- MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED(0x37),
- MAX_ACTIVE_PDP_CONTEXT_REACHED(0x41),
- UNSUPPORTED_APN_IN_CURRENT_PLMN(0x42),
- INVALID_TRANSACTION_ID(0x51),
- MESSAGE_INCORRECT_SEMANTIC(0x5F),
- INVALID_MANDATORY_INFO(0x60),
- MESSAGE_TYPE_UNSUPPORTED(0x61),
- MSG_TYPE_NONCOMPATIBLE_STATE(0x62),
- UNKNOWN_INFO_ELEMENT(0x63),
- CONDITIONAL_IE_ERROR(0x64),
- MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE(0x65),
- PROTOCOL_ERRORS(0x6F), /* no retry */
- APN_TYPE_CONFLICT(0x70),
- INVALID_PCSCF_ADDR(0x71),
- INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN(0x72),
- EMM_ACCESS_BARRED(0x73),
- EMERGENCY_IFACE_ONLY(0x74),
- IFACE_MISMATCH(0x75),
- COMPANION_IFACE_IN_USE(0x76),
- IP_ADDRESS_MISMATCH(0x77),
- IFACE_AND_POL_FAMILY_MISMATCH(0x78),
- EMM_ACCESS_BARRED_INFINITE_RETRY(0x79),
- AUTH_FAILURE_ON_EMERGENCY_CALL(0x7A),
-
- // OEM sepecific error codes. To be used by OEMs when they don't
- // want to reveal error code which would be replaced by ERROR_UNSPECIFIED
- OEM_DCFAILCAUSE_1(0x1001),
- OEM_DCFAILCAUSE_2(0x1002),
- OEM_DCFAILCAUSE_3(0x1003),
- OEM_DCFAILCAUSE_4(0x1004),
- OEM_DCFAILCAUSE_5(0x1005),
- OEM_DCFAILCAUSE_6(0x1006),
- OEM_DCFAILCAUSE_7(0x1007),
- OEM_DCFAILCAUSE_8(0x1008),
- OEM_DCFAILCAUSE_9(0x1009),
- OEM_DCFAILCAUSE_10(0x100A),
- OEM_DCFAILCAUSE_11(0x100B),
- OEM_DCFAILCAUSE_12(0x100C),
- OEM_DCFAILCAUSE_13(0x100D),
- OEM_DCFAILCAUSE_14(0x100E),
- OEM_DCFAILCAUSE_15(0x100F),
-
- // Local errors generated by Vendor RIL
- // specified in ril.h
- REGISTRATION_FAIL(-1),
- GPRS_REGISTRATION_FAIL(-2),
- SIGNAL_LOST(-3), /* no retry */
- PREF_RADIO_TECH_CHANGED(-4),
- RADIO_POWER_OFF(-5), /* no retry */
- TETHERED_CALL_ACTIVE(-6), /* no retry */
- ERROR_UNSPECIFIED(0xFFFF),
-
- // Errors generated by the Framework
- // specified here
- UNKNOWN(0x10000),
- RADIO_NOT_AVAILABLE(0x10001), /* no retry */
- UNACCEPTABLE_NETWORK_PARAMETER(0x10002), /* no retry */
- CONNECTION_TO_DATACONNECTIONAC_BROKEN(0x10003),
- LOST_CONNECTION(0x10004),
- RESET_BY_FRAMEWORK(0x10005);
-
- private final int mErrorCode;
- private static final HashMap<Integer, DcFailCause> sErrorCodeToFailCauseMap;
- static {
- sErrorCodeToFailCauseMap = new HashMap<Integer, DcFailCause>();
- for (DcFailCause fc : values()) {
- sErrorCodeToFailCauseMap.put(fc.getErrorCode(), fc);
- }
- }
-
- /**
- * Map of subId -> set of data call setup permanent failure for the carrier.
- */
- private static final HashMap<Integer, HashSet<DcFailCause>> sPermanentFailureCache =
- new HashMap<>();
-
- DcFailCause(int errorCode) {
- mErrorCode = errorCode;
- }
-
- public int getErrorCode() {
- return mErrorCode;
- }
-
- /**
- * Returns whether or not the fail cause is a failure that requires a modem restart
- *
- * @param context device context
- * @param subId subscription index
- * @return true if the fail cause code needs platform to trigger a modem restart.
- */
- public boolean isRadioRestartFailure(Context context, int subId) {
- CarrierConfigManager configManager = (CarrierConfigManager)
- context.getSystemService(Context.CARRIER_CONFIG_SERVICE);
- if (configManager != null) {
- PersistableBundle b = configManager.getConfigForSubId(subId);
-
- if (b != null) {
- if (this == REGULAR_DEACTIVATION
- && b.getBoolean(CarrierConfigManager
- .KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL)) {
- // This is for backward compatibility support. We need to continue support this
- // old configuration until it gets removed in the future.
- return true;
- }
- // Check the current configurations.
- int[] causeCodes = b.getIntArray(CarrierConfigManager
- .KEY_RADIO_RESTART_FAILURE_CAUSES_INT_ARRAY);
- if (causeCodes != null) {
- return Arrays.stream(causeCodes).anyMatch(i -> i == getErrorCode());
- }
- }
- }
-
- return false;
- }
-
- public boolean isPermanentFailure(Context context, int subId) {
-
- synchronized (sPermanentFailureCache) {
-
- HashSet<DcFailCause> permanentFailureSet = sPermanentFailureCache.get(subId);
-
- // In case of cache miss, we need to look up the settings from carrier config.
- if (permanentFailureSet == null) {
- // Retrieve the permanent failure from carrier config
- CarrierConfigManager configManager = (CarrierConfigManager)
- context.getSystemService(Context.CARRIER_CONFIG_SERVICE);
- if (configManager != null) {
- PersistableBundle b = configManager.getConfigForSubId(subId);
- if (b != null) {
- String[] permanentFailureStrings = b.getStringArray(CarrierConfigManager.
- KEY_CARRIER_DATA_CALL_PERMANENT_FAILURE_STRINGS);
-
- if (permanentFailureStrings != null) {
- permanentFailureSet = new HashSet<>();
- for (String failure : permanentFailureStrings) {
- permanentFailureSet.add(DcFailCause.valueOf(failure));
- }
- }
- }
- }
-
- // If we are not able to find the configuration from carrier config, use the default
- // ones.
- if (permanentFailureSet == null) {
- permanentFailureSet = new HashSet<DcFailCause>() {
- {
- add(OPERATOR_BARRED);
- add(MISSING_UNKNOWN_APN);
- add(UNKNOWN_PDP_ADDRESS_TYPE);
- add(USER_AUTHENTICATION);
- add(ACTIVATION_REJECT_GGSN);
- add(SERVICE_OPTION_NOT_SUPPORTED);
- add(SERVICE_OPTION_NOT_SUBSCRIBED);
- add(NSAPI_IN_USE);
- add(ONLY_IPV4_ALLOWED);
- add(ONLY_IPV6_ALLOWED);
- add(PROTOCOL_ERRORS);
- add(RADIO_POWER_OFF);
- add(TETHERED_CALL_ACTIVE);
- add(RADIO_NOT_AVAILABLE);
- add(UNACCEPTABLE_NETWORK_PARAMETER);
- add(SIGNAL_LOST);
- }
- };
- }
-
- sPermanentFailureCache.put(subId, permanentFailureSet);
- }
-
- return permanentFailureSet.contains(this);
- }
- }
-
- public boolean isEventLoggable() {
- return (this == OPERATOR_BARRED) || (this == INSUFFICIENT_RESOURCES) ||
- (this == UNKNOWN_PDP_ADDRESS_TYPE) || (this == USER_AUTHENTICATION) ||
- (this == ACTIVATION_REJECT_GGSN) || (this == ACTIVATION_REJECT_UNSPECIFIED) ||
- (this == SERVICE_OPTION_NOT_SUBSCRIBED) ||
- (this == SERVICE_OPTION_NOT_SUPPORTED) ||
- (this == SERVICE_OPTION_OUT_OF_ORDER) || (this == NSAPI_IN_USE) ||
- (this == ONLY_IPV4_ALLOWED) || (this == ONLY_IPV6_ALLOWED) ||
- (this == PROTOCOL_ERRORS) || (this == SIGNAL_LOST) ||
- (this == RADIO_POWER_OFF) || (this == TETHERED_CALL_ACTIVE) ||
- (this == UNACCEPTABLE_NETWORK_PARAMETER);
- }
-
- public static DcFailCause fromInt(int errorCode) {
- DcFailCause fc = sErrorCodeToFailCauseMap.get(errorCode);
- if (fc == null) {
- fc = UNKNOWN;
- }
- return fc;
- }
-}
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcTesterFailBringUpAll.java b/src/java/com/android/internal/telephony/dataconnection/DcTesterFailBringUpAll.java
index dede71e..25edbe1 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DcTesterFailBringUpAll.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DcTesterFailBringUpAll.java
@@ -22,6 +22,7 @@
import android.content.IntentFilter;
import android.os.Build;
import android.os.Handler;
+import android.telephony.DataFailCause;
import android.telephony.Rlog;
import com.android.internal.telephony.Phone;
@@ -35,7 +36,7 @@
* Also you can add a suggested retry time if desired:
* --ei suggested_retry_time 5000
*
- * The fail_cause is one of {@link DcFailCause}
+ * The fail_cause is one of {@link DataFailCause}
*/
public class DcTesterFailBringUpAll {
private static final String LOG_TAG = "DcTesterFailBrinupAll";
@@ -61,12 +62,12 @@
// Counter is MAX, bringUp/retry will always fail
log("simulate detaching");
mFailBringUp.saveParameters(Integer.MAX_VALUE,
- DcFailCause.LOST_CONNECTION.getErrorCode(),
+ DataFailCause.LOST_CONNECTION.getErrorCode(),
DcFailBringUp.DEFAULT_SUGGESTED_RETRY_TIME);
} else if (action.equals(mPhone.getActionAttached())) {
// Counter is 0 next bringUp/retry will succeed
log("simulate attaching");
- mFailBringUp.saveParameters(0, DcFailCause.NONE.getErrorCode(),
+ mFailBringUp.saveParameters(0, DataFailCause.NONE.getErrorCode(),
DcFailBringUp.DEFAULT_SUGGESTED_RETRY_TIME);
} else {
if (DBG) log("onReceive: unknown action=" + action);
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
index ca85e33..2efc095 100755
--- a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
@@ -62,6 +62,7 @@
import android.telephony.AccessNetworkConstants.TransportType;
import android.telephony.CarrierConfigManager;
import android.telephony.CellLocation;
+import android.telephony.DataFailCause;
import android.telephony.PcoData;
import android.telephony.Rlog;
import android.telephony.ServiceState;
@@ -1429,7 +1430,7 @@
ArrayList<ApnSetting> waitingApns =
buildWaitingApns(apnContext.getApnType(), radioTech);
if (waitingApns.isEmpty()) {
- notifyNoData(DcFailCause.MISSING_UNKNOWN_APN, apnContext);
+ notifyNoData(DataFailCause.MISSING_UNKNOWN_APN, apnContext);
notifyOffApnsOfAvailability(apnContext.getReason());
String str = "trySetupData: X No APN found retValue=false";
if (DBG) log(str);
@@ -1792,9 +1793,9 @@
}
}
- boolean isPermanentFailure(DcFailCause dcFailCause) {
+ boolean isPermanentFailure(DataFailCause dcFailCause) {
return (dcFailCause.isPermanentFailure(mPhone.getContext(), mPhone.getSubId()) &&
- (mAttached.get() == false || dcFailCause != DcFailCause.SIGNAL_LOST));
+ (mAttached.get() == false || dcFailCause != DataFailCause.SIGNAL_LOST));
}
private DataConnection findFreeDataConnection() {
@@ -2134,7 +2135,7 @@
SystemClock.elapsedRealtime() + delay, alarmIntent);
}
- private void notifyNoData(DcFailCause lastFailCauseCode,
+ private void notifyNoData(DataFailCause lastFailCauseCode,
ApnContext apnContext) {
if (DBG) log( "notifyNoData: type=" + apnContext.getApnType());
if (isPermanentFailure(lastFailCauseCode)
@@ -2715,7 +2716,7 @@
*/
private void onDataSetupComplete(AsyncResult ar) {
- DcFailCause cause = DcFailCause.UNKNOWN;
+ DataFailCause cause = DataFailCause.UNKNOWN;
boolean handleError = false;
ApnContext apnContext = getValidApnContext(ar, "onDataSetupComplete");
@@ -2744,7 +2745,7 @@
}
if (dataConnection == null) {
log("onDataSetupComplete: no connection to DC, handle as error");
- cause = DcFailCause.CONNECTION_TO_DATACONNECTIONAC_BROKEN;
+ cause = DataFailCause.CONNECTION_TO_DATACONNECTIONAC_BROKEN;
handleError = true;
} else {
ApnSetting apn = apnContext.getApnSetting();
@@ -2856,7 +2857,7 @@
}
}
} else {
- cause = (DcFailCause) (ar.result);
+ cause = (DataFailCause) (ar.result);
if (DBG) {
ApnSetting apn = apnContext.getApnSetting();
log(String.format("onDataSetupComplete: error apn=%s cause=%s",
diff --git a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcFailCauseTest.java b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcFailCauseTest.java
index 48fc139..e0deb63 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcFailCauseTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcFailCauseTest.java
@@ -25,6 +25,7 @@
import android.content.Context;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
+import android.telephony.DataFailCause;
import android.test.suitebuilder.annotation.SmallTest;
import com.android.internal.telephony.TelephonyTest;
@@ -161,10 +162,11 @@
@SmallTest
public void testPermanentFailDefault() throws Exception {
for (DcFailCauseData data : mFailCauseDataList) {
- assertEquals("cause = " + data.mCause, data.mPermanentFailure, DcFailCause.fromInt(
+ assertEquals("cause = " + data.mCause, data.mPermanentFailure,
+ DataFailCause.fromInt(
data.mCause).isPermanentFailure(mContext, mPhone.getSubId()));
}
- assertFalse(DcFailCause.fromInt(123456).isPermanentFailure(mContext, mPhone.getSubId()));
+ assertFalse(DataFailCause.fromInt(123456).isPermanentFailure(mContext, mPhone.getSubId()));
}
@Test
@@ -180,13 +182,16 @@
// Run it twice to make sure the cached carrier config is working as expected.
for (int i = 0; i < 2; i++) {
for (DcFailCauseData data : mFailCauseDataList) {
- if (DcFailCause.fromInt(data.mCause).equals(
- DcFailCause.SERVICE_OPTION_NOT_SUBSCRIBED) ||
- DcFailCause.fromInt(data.mCause).equals(DcFailCause.TETHERED_CALL_ACTIVE)) {
- assertTrue("cause = " + data.mCause, DcFailCause.fromInt(data.mCause).
+ if (DataFailCause.fromInt(data.mCause).equals(
+ DataFailCause.SERVICE_OPTION_NOT_SUBSCRIBED) ||
+ DataFailCause.fromInt(data.mCause).equals(
+ DataFailCause.TETHERED_CALL_ACTIVE)) {
+ assertTrue("cause = " + data.mCause,
+ DataFailCause.fromInt(data.mCause).
isPermanentFailure(mContext, mPhone.getSubId()));
} else {
- assertFalse("cause = " + data.mCause, DcFailCause.fromInt(data.mCause).
+ assertFalse("cause = " + data.mCause,
+ DataFailCause.fromInt(data.mCause).
isPermanentFailure(mContext, mPhone.getSubId()));
}
}
@@ -198,37 +203,37 @@
public void testEventLoggable() throws Exception {
for (DcFailCauseData data : mFailCauseDataList) {
assertEquals("cause = " + data.mCause, data.mEventLoggable,
- DcFailCause.fromInt(data.mCause).isEventLoggable());
+ DataFailCause.fromInt(data.mCause).isEventLoggable());
}
- assertFalse(DcFailCause.fromInt(123456).isEventLoggable());
+ assertFalse(DataFailCause.fromInt(123456).isEventLoggable());
}
@Test
@SmallTest
public void testGetErrorCode() throws Exception {
for (DcFailCauseData data : mFailCauseDataList) {
- assertEquals(data.mCause, DcFailCause.fromInt(data.mCause).getErrorCode());
+ assertEquals(data.mCause, DataFailCause.fromInt(data.mCause).getErrorCode());
}
- assertEquals(DcFailCause.UNKNOWN.getErrorCode(),
- DcFailCause.fromInt(123456).getErrorCode());
+ assertEquals(DataFailCause.UNKNOWN.getErrorCode(),
+ DataFailCause.fromInt(123456).getErrorCode());
}
@Test
public void testIsRadioRestartFailureRegularDeactivation() {
- assertFalse(DcFailCause.fromInt(DcFailCause.REGULAR_DEACTIVATION.getErrorCode())
+ assertFalse(DataFailCause.fromInt(DataFailCause.REGULAR_DEACTIVATION.getErrorCode())
.isRadioRestartFailure(mContext, mPhone.getSubId()));
mPersistableBundle.putBoolean(CarrierConfigManager
.KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL, true);
- assertTrue(DcFailCause.fromInt(DcFailCause.REGULAR_DEACTIVATION.getErrorCode())
+ assertTrue(DataFailCause.fromInt(DataFailCause.REGULAR_DEACTIVATION.getErrorCode())
.isRadioRestartFailure(mContext, mPhone.getSubId()));
}
@Test
public void testIsRadioRestartFailureNotRegularDeactivation() {
- DcFailCause randomCause = DcFailCause.fromInt(mFailCauseDataList
+ DataFailCause randomCause = DataFailCause.fromInt(mFailCauseDataList
.get(new Random().nextInt(mFailCauseDataList.size())).mCause);
- while (randomCause == DcFailCause.REGULAR_DEACTIVATION) {
- randomCause = DcFailCause.fromInt(mFailCauseDataList
+ while (randomCause == DataFailCause.REGULAR_DEACTIVATION) {
+ randomCause = DataFailCause.fromInt(mFailCauseDataList
.get(new Random().nextInt(mFailCauseDataList.size())).mCause);
}
assertFalse(randomCause.isRadioRestartFailure(mContext, mPhone.getSubId()));