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

Commit b4b2155f authored by Luke Huang's avatar Luke Huang Committed by android-build-merger
Browse files

Merge "Netd unconditionally enable bandwidth control"

am: 75fb51b0

Change-Id: I58af9d801bae5e5128ba2debbb5fe865366ae77f
parents aa59a907 75fb51b0
Loading
Loading
Loading
Loading
+7 −45
Original line number Diff line number Diff line
@@ -315,7 +315,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
    }
    private HashMap<String, IdleTimerParams> mActiveIdleTimers = Maps.newHashMap();

    private volatile boolean mBandwidthControlEnabled;
    private volatile boolean mFirewallEnabled;
    private volatile boolean mStrictEnabled;

@@ -619,22 +618,11 @@ public class NetworkManagementService extends INetworkManagementService.Stub
     */
    private void prepareNativeDaemon() {

        mBandwidthControlEnabled = false;

        // push any existing quota or UID rules
        synchronized (mQuotaLock) {

            // TODO: Delete this code and have netd unconditionally enable bandwidth control at
            // startup time
            Slog.d(TAG, "enabling bandwidth control");
            try {
                mConnector.execute("bandwidth", "enable");
                mBandwidthControlEnabled = true;
            } catch (NativeDaemonConnectorException e) {
                Log.wtf(TAG, "problem enabling bandwidth controls", e);
            }

            SystemProperties.set(PROP_QTAGUID_ENABLED, mBandwidthControlEnabled ? "1" : "0");
            // Netd unconditionally enable bandwidth control
            SystemProperties.set(PROP_QTAGUID_ENABLED, "1");

            mStrictEnabled = true;

@@ -716,12 +704,11 @@ public class NetworkManagementService extends INetworkManagementService.Stub
            }
        }

        if (mBandwidthControlEnabled) {

        try {
            getBatteryStats().noteNetworkStatsEnabled();
        } catch (RemoteException e) {
        }
        }

    }

@@ -1566,10 +1553,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
    public void setInterfaceQuota(String iface, long quotaBytes) {
        mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);

        // silently discard when control disabled
        // TODO: eventually migrate to be always enabled
        if (!mBandwidthControlEnabled) return;

        synchronized (mQuotaLock) {
            if (mActiveQuotas.containsKey(iface)) {
                throw new IllegalStateException("iface " + iface + " already has quota");
@@ -1600,10 +1583,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
    public void removeInterfaceQuota(String iface) {
        mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);

        // silently discard when control disabled
        // TODO: eventually migrate to be always enabled
        if (!mBandwidthControlEnabled) return;

        synchronized (mQuotaLock) {
            if (!mActiveQuotas.containsKey(iface)) {
                // TODO: eventually consider throwing
@@ -1637,10 +1616,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
    public void setInterfaceAlert(String iface, long alertBytes) {
        mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);

        // silently discard when control disabled
        // TODO: eventually migrate to be always enabled
        if (!mBandwidthControlEnabled) return;

        // quick sanity check
        if (!mActiveQuotas.containsKey(iface)) {
            throw new IllegalStateException("setting alert requires existing quota on iface");
@@ -1665,10 +1640,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
    public void removeInterfaceAlert(String iface) {
        mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);

        // silently discard when control disabled
        // TODO: eventually migrate to be always enabled
        if (!mBandwidthControlEnabled) return;

        synchronized (mQuotaLock) {
            if (!mActiveAlerts.containsKey(iface)) {
                // TODO: eventually consider throwing
@@ -1689,10 +1660,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
    public void setGlobalAlert(long alertBytes) {
        mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);

        // silently discard when control disabled
        // TODO: eventually migrate to be always enabled
        if (!mBandwidthControlEnabled) return;

        try {
            mConnector.execute("bandwidth", "setglobalalert", alertBytes);
        } catch (NativeDaemonConnectorException e) {
@@ -1703,10 +1670,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
    private void setUidOnMeteredNetworkList(int uid, boolean blacklist, boolean enable) {
        mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);

        // silently discard when control disabled
        // TODO: eventually migrate to be always enabled
        if (!mBandwidthControlEnabled) return;

        final String chain = blacklist ? "naughtyapps" : "niceapps";
        final String suffix = enable ? "add" : "remove";

@@ -1858,7 +1821,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
    @Override
    public boolean isBandwidthControlEnabled() {
        mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
        return mBandwidthControlEnabled;
        return true;
    }

    @Override
@@ -2365,7 +2328,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
        mConnector.dump(fd, pw, args);
        pw.println();

        pw.print("Bandwidth control enabled: "); pw.println(mBandwidthControlEnabled);
        pw.print("mMobileActivityFromRadio="); pw.print(mMobileActivityFromRadio);
                pw.print(" mLastPowerStateFromRadio="); pw.println(mLastPowerStateFromRadio);
        pw.print("mNetworkActive="); pw.println(mNetworkActive);