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

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

am 4b1bdc02: Merge "DO NOT MERGE Fixing Connectivity" into gingerbread

Merge commit '4b1bdc02' into gingerbread-plus-aosp

* commit '4b1bdc02':
  DO NOT MERGE Fixing Connectivity
parents 5474b0f8 4b1bdc02
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -240,6 +240,7 @@ public class MobileDataStateTracker extends NetworkStateTracker {
                                if (mInterfaceName == null) {
                                    Log.d(TAG, "CONNECTED event did not supply interface name.");
                                }
                                mDefaultGatewayAddr = intent.getIntExtra(Phone.DATA_GATEWAY_KEY, 0);
                                setDetailedState(DetailedState.CONNECTED, reason, apnName);
                                break;
                        }
+15 −0
Original line number Diff line number Diff line
@@ -128,4 +128,19 @@ public class NetworkUtils {
                |  (addrBytes[0] & 0xff);
        return addr;
    }

    public static int v4StringToInt(String str) {
        int result = 0;
        String[] array = str.split("\\.");
        if (array.length != 4) return 0;
        try {
            result = Integer.parseInt(array[3]);
            result = (result << 8) + Integer.parseInt(array[2]);
            result = (result << 8) + Integer.parseInt(array[1]);
            result = (result << 8) + Integer.parseInt(array[0]);
        } catch (NumberFormatException e) {
            return 0;
        }
        return result;
    }
}
+11 −3
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.NetworkUtils;
import android.os.Binder;
import android.os.Bundle;
import android.os.IBinder;
@@ -348,7 +349,8 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
    }

    public void notifyDataConnection(int state, boolean isDataConnectivityPossible,
            String reason, String apn, String[] apnTypes, String interfaceName, int networkType) {
            String reason, String apn, String[] apnTypes, String interfaceName, int networkType,
            String gateway) {
        if (!checkNotifyPermission("notifyDataConnection()" )) {
            return;
        }
@@ -372,7 +374,7 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
            }
        }
        broadcastDataConnectionStateChanged(state, isDataConnectivityPossible, reason, apn,
                apnTypes, interfaceName);
                apnTypes, interfaceName, gateway);
    }

    public void notifyDataConnectionFailed(String reason) {
@@ -535,7 +537,7 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {

    private void broadcastDataConnectionStateChanged(int state,
            boolean isDataConnectivityPossible,
            String reason, String apn, String[] apnTypes, String interfaceName) {
            String reason, String apn, String[] apnTypes, String interfaceName, String gateway) {
        // Note: not reporting to the battery stats service here, because the
        // status bar takes care of that after taking into account all of the
        // required info.
@@ -558,6 +560,12 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
        }
        intent.putExtra(Phone.DATA_APN_TYPES_KEY, types);
        intent.putExtra(Phone.DATA_IFACE_NAME_KEY, interfaceName);
        int gatewayAddr = 0;
        if (gateway != null) {
            gatewayAddr = NetworkUtils.v4StringToInt(gateway);
        }
        intent.putExtra(Phone.DATA_GATEWAY_KEY, gatewayAddr);

        mContext.sendStickyBroadcast(intent);
    }

+2 −1
Original line number Diff line number Diff line
@@ -102,7 +102,8 @@ public class DefaultPhoneNotifier implements PhoneNotifier {
                    sender.getActiveApnTypes(),
                    sender.getInterfaceName(null),
                    ((telephony!=null) ? telephony.getNetworkType() :
                    TelephonyManager.NETWORK_TYPE_UNKNOWN));
                    TelephonyManager.NETWORK_TYPE_UNKNOWN),
                    sender.getGateway(null));
        } catch (RemoteException ex) {
            // system process is dead
        }
+2 −1
Original line number Diff line number Diff line
@@ -32,7 +32,8 @@ interface ITelephonyRegistry {
    void notifyCallForwardingChanged(boolean cfi);
    void notifyDataActivity(int state);
    void notifyDataConnection(int state, boolean isDataConnectivityPossible,
            String reason, String apn, in String[] apnTypes, String interfaceName, int networkType);
            String reason, String apn, in String[] apnTypes, String interfaceName, int networkType,
            String gateway);
    void notifyDataConnectionFailed(String reason);
    void notifyCellLocation(in Bundle cellLocation);
}
Loading