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

Commit f532e958 authored by Robert Greenwalt's avatar Robert Greenwalt Committed by Android Git Automerger
Browse files

am 6548f395: Merge "Inet status bug fix" into gingerbread

Merge commit '6548f395' into gingerbread-plus-aosp

* commit '6548f395':
  Inet status bug fix
parents e665698f 6548f395
Loading
Loading
Loading
Loading
+9 −13
Original line number Diff line number Diff line
@@ -711,21 +711,20 @@ public class StatusBarPolicy {
                ConnectivityManager.EXTRA_NETWORK_INFO));
        int connectionStatus = intent.getIntExtra(ConnectivityManager.EXTRA_INET_CONDITION, 0);
        Slog.d(TAG, "got CONNECTIVITY_ACTION - info=" + info + ", status = " + connectionStatus);
        if (info.isConnected() == false) return;

        int inetCondition = (connectionStatus > INET_CONDITION_THRESHOLD ? 1 : 0);

        switch (info.getType()) {
        case ConnectivityManager.TYPE_MOBILE:
            if (info.isConnected()) {
                updateDataNetType(info.getSubtype(), connectionStatus);
            mInetCondition = inetCondition;
            updateDataNetType(info.getSubtype());
            updateDataIcon();
            updateSignalStrength(); // apply any change in connectionStatus
            }
            break;
        case ConnectivityManager.TYPE_WIFI:
            mInetCondition = inetCondition;
            if (info.isConnected()) {
                mIsWifiConnected = true;
                mInetCondition =
                        (connectionStatus > INET_CONDITION_THRESHOLD ? 1 : 0);
                int iconId;
                if (mLastWifiSignalLevel == -1) {
                    iconId = sWifiSignalImages[mInetCondition][0];
@@ -738,7 +737,6 @@ public class StatusBarPolicy {
            } else {
                mLastWifiSignalLevel = -1;
                mIsWifiConnected = false;
                mInetCondition = 0;
                int iconId = sWifiSignalImages[0][0];

                mService.setIcon("wifi", iconId, 0);
@@ -777,9 +775,8 @@ public class StatusBarPolicy {
        @Override
        public void onDataConnectionStateChanged(int state, int networkType) {
            mDataState = state;
            updateDataNetType(networkType, 0);
            updateDataNetType(networkType);
            updateDataIcon();
            updateSignalStrength(); // apply the change in connection status
        }

        @Override
@@ -940,8 +937,7 @@ public class StatusBarPolicy {
        return (levelEvdoDbm < levelEvdoSnr) ? levelEvdoDbm : levelEvdoSnr;
    }

    private final void updateDataNetType(int net, int inetCondition) {
        mInetCondition = (inetCondition > INET_CONDITION_THRESHOLD ? 1 : 0);
    private final void updateDataNetType(int net) {
        switch (net) {
        case TelephonyManager.NETWORK_TYPE_EDGE:
            mDataIconList = sDataNetType_e[mInetCondition];
+16 −0
Original line number Diff line number Diff line
@@ -951,11 +951,19 @@ public class ConnectivityService extends IConnectivityManager.Stub {
            newNet = tryFailover(prevNetType);
            if (newNet != null) {
                NetworkInfo switchTo = newNet.getNetworkInfo();
                if (!switchTo.isConnected()) {
                    // if the other net is connected they've already reset this and perhaps even gotten
                    // a positive report we don't want to overwrite, but if not we need to clear this now
                    // to turn our cellular sig strength white
                    mDefaultInetConditionPublished = 0;
                }
                intent.putExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO, switchTo);
            } else {
                mDefaultInetConditionPublished = 0; // we're not connected anymore
                intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, true);
            }
        }
        intent.putExtra(ConnectivityManager.EXTRA_INET_CONDITION, mDefaultInetConditionPublished);
        // do this before we broadcast the change
        handleConnectivityChange(prevNetType);

@@ -1114,12 +1122,20 @@ public class ConnectivityService extends IConnectivityManager.Stub {
            newNet = tryFailover(info.getType());
            if (newNet != null) {
                NetworkInfo switchTo = newNet.getNetworkInfo();
                if (!switchTo.isConnected()) {
                    // if the other net is connected they've already reset this and perhaps even gotten
                    // a positive report we don't want to overwrite, but if not we need to clear this now
                    // to turn our cellular sig strength white
                    mDefaultInetConditionPublished = 0;
                }
                intent.putExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO, switchTo);
            } else {
                mDefaultInetConditionPublished = 0;
                intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, true);
            }
        }

        intent.putExtra(ConnectivityManager.EXTRA_INET_CONDITION, mDefaultInetConditionPublished);
        sendStickyBroadcast(intent);
        /*
         * If the failover network is already connected, then immediately send