Merge "Promote ActiveApn and methods to DataConnectionTracker."

This commit is contained in:
Wink Saville
2010-11-24 11:37:53 -08:00
committed by Android (Google) Code Review
3 changed files with 37 additions and 63 deletions

View File

@@ -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) {

View File

@@ -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

View File

@@ -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)) {