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

Commit 5262c0eb authored by Junyu Lai's avatar Junyu Lai Committed by junyulai
Browse files

[MS61] Remove NetworkManagementSocketTagger#install dependency

Expose TrafficStats#attachSocketTagger and use it instead.

Test: atest TrafficStatsTest
Bug: 204830222
CTS-Coverage-Bug: 214979748
Change-Id: I1748d349b499053ad08bd62202325fa759ad8da5
parent 55d337b1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -318,6 +318,7 @@ package android.net {
  }

  public class TrafficStats {
    method public static void attachSocketTagger();
    method public static void init(@NonNull android.content.Context);
  }

+2 −2
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.app.ApplicationErrorReport;
import android.app.IActivityManager;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.type.DefaultMimeMapFactory;
import android.net.TrafficStats;
import android.os.Build;
import android.os.DeadObjectException;
import android.os.IBinder;
@@ -32,7 +33,6 @@ import android.util.Log;
import android.util.Slog;

import com.android.internal.logging.AndroidConfig;
import com.android.server.NetworkManagementSocketTagger;

import dalvik.system.RuntimeHooks;
import dalvik.system.VMRuntime;
@@ -254,7 +254,7 @@ public class RuntimeInit {
        /*
         * Wire socket tagging to traffic stats.
         */
        NetworkManagementSocketTagger.install();
        TrafficStats.attachSocketTagger();

        initialized = true;
    }
+14 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package android.net;

import static android.annotation.SystemApi.Client.MODULE_LIBRARIES;

import android.annotation.NonNull;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
@@ -213,6 +215,18 @@ public class TrafficStats {
        sStatsService = statsManager.getBinder();
    }

    /**
     * Attach the socket tagger implementation to the current process, to
     * get notified when a socket's {@link FileDescriptor} is assigned to
     * a thread. See {@link SocketTagger#set(SocketTagger)}.
     *
     * @hide
     */
    @SystemApi(client = MODULE_LIBRARIES)
    public static void attachSocketTagger() {
        NetworkManagementSocketTagger.install();
    }

    /**
     * Set active tag to use when accounting {@link Socket} traffic originating
     * from the current thread. Only one active tag per thread is supported.