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

Commit ed9b08a7 authored by Aaron Huang's avatar Aaron Huang Committed by Android (Google) Code Review
Browse files

Merge "Create service-connectivity.jar"

parents 82894b80 e6f27dd7
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -898,6 +898,18 @@ public class ConnectivityManager {
        }
    }

    /**
     * @hide
     * TODO: Expose for SystemServer when becomes a module.
     */
    public void systemReady() {
        try {
            mService.systemReady();
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * Checks if a given type uses the cellular data connection.
     * This should be replaced in the future by a network property.
+2 −0
Original line number Diff line number Diff line
@@ -233,4 +233,6 @@ interface IConnectivityManager

    void simulateDataStall(int detectionMethod, long timestampMillis, in Network network,
                in PersistableBundle extras);

    void systemReady();
}
+1 −0
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@ java_library {
        "services.voiceinteraction",
        "services.wifi",
        "service-blobstore",
        "service-connectivity",
        "service-jobscheduler",
        "android.hidl.base-V1.0-java",
    ],
+48 −0
Original line number Diff line number Diff line
filegroup {
    name: "services.core-sources",
    srcs: ["java/**/*.java"],
    exclude_srcs: [":connectivity-service-srcs"],
    path: "java",
    visibility: [
        "//frameworks/base/services",
@@ -167,3 +168,50 @@ prebuilt_etc {
    name: "protolog.conf.json.gz",
    src: ":services.core.json.gz",
}

// TODO: Move connectivity service sources to independent directory.
filegroup {
    name: "connectivity-service-srcs",
    srcs: [
        "java/com/android/server/ConnectivityService.java",
        "java/com/android/server/ConnectivityServiceInitializer.java",
        "java/com/android/server/TestNetworkService.java",
        "java/com/android/server/connectivity/AutodestructReference.java",
        "java/com/android/server/connectivity/ConnectivityConstants.java",
        "java/com/android/server/connectivity/DataConnectionStats.java",
        "java/com/android/server/connectivity/DefaultNetworkMetrics.java",
        "java/com/android/server/connectivity/DnsManager.java",
        "java/com/android/server/connectivity/IpConnectivityEventBuilder.java",
        "java/com/android/server/connectivity/IpConnectivityMetrics.java",
        "java/com/android/server/connectivity/KeepaliveTracker.java",
        "java/com/android/server/connectivity/LingerMonitor.java",
        "java/com/android/server/connectivity/MockableSystemProperties.java",
        "java/com/android/server/connectivity/MultipathPolicyTracker.java",
        "java/com/android/server/connectivity/Nat464Xlat.java",
        "java/com/android/server/connectivity/NetdEventListenerService.java",
        "java/com/android/server/connectivity/NetworkAgentInfo.java",
        "java/com/android/server/connectivity/NetworkDiagnostics.java",
        "java/com/android/server/connectivity/NetworkNotificationManager.java",
        "java/com/android/server/connectivity/NetworkRanker.java",
        "java/com/android/server/connectivity/PermissionMonitor.java",
        "java/com/android/server/connectivity/ProxyTracker.java",
        "java/com/android/server/connectivity/TcpKeepaliveController.java",
        "java/com/android/server/connectivity/Vpn.java",
        "java/com/android/server/connectivity/VpnIkev2Utils.java",
        "java/com/android/server/net/LockdownVpnTracker.java",
    ],
}

java_library {
    name: "service-connectivity",
    srcs: [
        ":connectivity-service-srcs",
    ],
    installable: true,
    libs: [
        "android.net.ipsec.ike",
        "services.core",
        "services.net",
        "unsupportedappusage",
    ],
}
+13 −2
Original line number Diff line number Diff line
@@ -2301,10 +2301,21 @@ public class ConnectivityService extends IConnectivityManager.Stub
    }

    /**
     * Called when the system is ready and ConnectivityService can initialize remaining components.
     * Called by SystemServer through ConnectivityManager when the system is ready.
     */
    @VisibleForTesting
    @Override
    public void systemReady() {
        if (Binder.getCallingUid() != Process.SYSTEM_UID) {
            throw new SecurityException("Calling Uid is not system uid.");
        }
        systemReadyInternal();
    }

    /**
     * Called when ConnectivityService can initialize remaining components.
     */
    @VisibleForTesting
    public void systemReadyInternal() {
        // Let PermissionMonitor#startMonitoring() running in the beginning of the systemReady
        // before MultipathPolicyTracker.start(). Since mApps in PermissionMonitor needs to be
        // populated first to ensure that listening network request which is sent by
Loading