Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd97d83f authored by Wink Saville's avatar Wink Saville
Browse files

Promote ActiveApn and methods to DataConnectionTracker.

Also, add getActiveApnType.

Change-Id: If44d2c35617a1ad385a7e5b7c1028751ded3ead2
parent ac711639
Loading
Loading
Loading
Loading
+37 −8
Original line number Diff line number Diff line
@@ -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) {
+0 −25
Original line number Diff line number Diff line
@@ -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
+0 −30
Original line number Diff line number Diff line
@@ -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)) {