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

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

Merge "Netd unconditionally enable bandwidth control" am: 75fb51b0 am: b4b2155f

am: 46346fc8

Change-Id: Ib33a0bfc0cff462f2f47e3446c67fa678d713359
parents da6d8f1b 46346fc8
Loading
Loading
Loading
Loading
+7 −45
Original line number Diff line number Diff line
@@ -316,7 +316,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;

@@ -624,22 +623,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;

@@ -721,12 +709,11 @@ public class NetworkManagementService extends INetworkManagementService.Stub
            }
        }

        if (mBandwidthControlEnabled) {

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

    }

@@ -1571,10 +1558,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");
@@ -1605,10 +1588,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
@@ -1642,10 +1621,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");
@@ -1670,10 +1645,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
@@ -1694,10 +1665,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) {
@@ -1708,10 +1675,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";

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

    @Override
@@ -2371,7 +2334,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);