Merge "Promote ActiveApn and methods to DataConnectionTracker."
This commit is contained in:
@@ -16,8 +16,6 @@
|
||||
|
||||
package com.android.internal.telephony;
|
||||
|
||||
import com.android.internal.telephony.cdma.CDMAPhone;
|
||||
|
||||
import android.app.PendingIntent;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
@@ -231,6 +229,9 @@ public abstract class DataConnectionTracker extends Handler {
|
||||
protected HashMap<Integer, DataConnection> mDataConnections =
|
||||
new HashMap<Integer, DataConnection>();
|
||||
|
||||
/* Currently active APN */
|
||||
protected ApnSetting mActiveApn;
|
||||
|
||||
protected BroadcastReceiver mIntentReceiver = new BroadcastReceiver ()
|
||||
{
|
||||
@Override
|
||||
@@ -343,6 +344,40 @@ public abstract class DataConnectionTracker extends Handler {
|
||||
return new ArrayList<DataConnection>(mDataConnections.values());
|
||||
}
|
||||
|
||||
protected boolean isApnTypeActive(String type) {
|
||||
// TODO: support simultaneous with List instead
|
||||
return mActiveApn != null && mActiveApn.canHandleType(type);
|
||||
}
|
||||
|
||||
public String[] getActiveApnTypes() {
|
||||
String[] result;
|
||||
if (mActiveApn != null) {
|
||||
result = mActiveApn.types;
|
||||
} else {
|
||||
result = new String[1];
|
||||
result[0] = Phone.APN_TYPE_DEFAULT;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public String getActiveApnType() {
|
||||
String result;
|
||||
if (mActiveApn != null) {
|
||||
result = apnIdToType(mActiveApn.id);
|
||||
} else {
|
||||
result = null;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
protected String getActiveApnString() {
|
||||
String result = null;
|
||||
if (mActiveApn != null) {
|
||||
result = mActiveApn.apn;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* The data connection is expected to be setup while device
|
||||
* 1. has Icc card
|
||||
@@ -533,14 +568,8 @@ public abstract class DataConnectionTracker extends Handler {
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract boolean isApnTypeActive(String type);
|
||||
|
||||
protected abstract boolean isApnTypeAvailable(String type);
|
||||
|
||||
protected abstract String[] getActiveApnTypes();
|
||||
|
||||
protected abstract String getActiveApnString();
|
||||
|
||||
protected abstract void setState(State s);
|
||||
|
||||
protected LinkProperties getLinkProperties(String apnType) {
|
||||
|
||||
@@ -89,9 +89,6 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
|
||||
Phone.APN_TYPE_MMS,
|
||||
Phone.APN_TYPE_HIPRI };
|
||||
|
||||
// if we have no active Apn this is null
|
||||
protected ApnSetting mActiveApn;
|
||||
|
||||
/* Constructor */
|
||||
|
||||
CdmaDataConnectionTracker(CDMAPhone p) {
|
||||
@@ -157,11 +154,6 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isApnTypeActive(String type) {
|
||||
return mActiveApn != null && mActiveApn.canHandleType(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isApnTypeAvailable(String type) {
|
||||
for (String s : mSupportedApnTypes) {
|
||||
@@ -172,23 +164,6 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String[] getActiveApnTypes() {
|
||||
String[] result;
|
||||
if (mActiveApn != null) {
|
||||
result = mActiveApn.types;
|
||||
} else {
|
||||
result = new String[1];
|
||||
result[0] = Phone.APN_TYPE_DEFAULT;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getActiveApnString() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* The data connection is expected to be setup while device
|
||||
* 1. has ruim card or non-volatile data store
|
||||
|
||||
@@ -109,9 +109,6 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
|
||||
private int mWaitingApnsPermanentFailureCountDown = 0;
|
||||
private ApnSetting mPreferredApn = null;
|
||||
|
||||
/* Currently active APN */
|
||||
protected ApnSetting mActiveApn;
|
||||
|
||||
/** The DataConnection being setup */
|
||||
private GsmDataConnection mPendingDataConnection;
|
||||
|
||||
@@ -212,27 +209,6 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getActiveApnTypes() {
|
||||
String[] result;
|
||||
if (mActiveApn != null) {
|
||||
result = mActiveApn.types;
|
||||
} else {
|
||||
result = new String[1];
|
||||
result[0] = Phone.APN_TYPE_DEFAULT;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getActiveApnString() {
|
||||
String result = null;
|
||||
if (mActiveApn != null) {
|
||||
result = mActiveApn.apn;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* The data connection is expected to be setup while device
|
||||
* 1. has sim card
|
||||
@@ -256,12 +232,6 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isApnTypeActive(String type) {
|
||||
// TODO: support simultaneous with List instead
|
||||
return mActiveApn != null && mActiveApn.canHandleType(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isApnTypeAvailable(String type) {
|
||||
if (type.equals(Phone.APN_TYPE_DUN)) {
|
||||
|
||||
Reference in New Issue
Block a user