Merge "Netd unconditionally enable bandwidth control"
This commit is contained in:
@@ -315,7 +315,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
|
|||||||
}
|
}
|
||||||
private HashMap<String, IdleTimerParams> mActiveIdleTimers = Maps.newHashMap();
|
private HashMap<String, IdleTimerParams> mActiveIdleTimers = Maps.newHashMap();
|
||||||
|
|
||||||
private volatile boolean mBandwidthControlEnabled;
|
|
||||||
private volatile boolean mFirewallEnabled;
|
private volatile boolean mFirewallEnabled;
|
||||||
private volatile boolean mStrictEnabled;
|
private volatile boolean mStrictEnabled;
|
||||||
|
|
||||||
@@ -619,22 +618,11 @@ public class NetworkManagementService extends INetworkManagementService.Stub
|
|||||||
*/
|
*/
|
||||||
private void prepareNativeDaemon() {
|
private void prepareNativeDaemon() {
|
||||||
|
|
||||||
mBandwidthControlEnabled = false;
|
|
||||||
|
|
||||||
// push any existing quota or UID rules
|
// push any existing quota or UID rules
|
||||||
synchronized (mQuotaLock) {
|
synchronized (mQuotaLock) {
|
||||||
|
|
||||||
// TODO: Delete this code and have netd unconditionally enable bandwidth control at
|
// Netd unconditionally enable bandwidth control
|
||||||
// startup time
|
SystemProperties.set(PROP_QTAGUID_ENABLED, "1");
|
||||||
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");
|
|
||||||
|
|
||||||
mStrictEnabled = true;
|
mStrictEnabled = true;
|
||||||
|
|
||||||
@@ -716,11 +704,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mBandwidthControlEnabled) {
|
|
||||||
try {
|
try {
|
||||||
getBatteryStats().noteNetworkStatsEnabled();
|
getBatteryStats().noteNetworkStatsEnabled();
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1566,10 +1553,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
|
|||||||
public void setInterfaceQuota(String iface, long quotaBytes) {
|
public void setInterfaceQuota(String iface, long quotaBytes) {
|
||||||
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
||||||
|
|
||||||
// silently discard when control disabled
|
|
||||||
// TODO: eventually migrate to be always enabled
|
|
||||||
if (!mBandwidthControlEnabled) return;
|
|
||||||
|
|
||||||
synchronized (mQuotaLock) {
|
synchronized (mQuotaLock) {
|
||||||
if (mActiveQuotas.containsKey(iface)) {
|
if (mActiveQuotas.containsKey(iface)) {
|
||||||
throw new IllegalStateException("iface " + iface + " already has quota");
|
throw new IllegalStateException("iface " + iface + " already has quota");
|
||||||
@@ -1600,10 +1583,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
|
|||||||
public void removeInterfaceQuota(String iface) {
|
public void removeInterfaceQuota(String iface) {
|
||||||
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
||||||
|
|
||||||
// silently discard when control disabled
|
|
||||||
// TODO: eventually migrate to be always enabled
|
|
||||||
if (!mBandwidthControlEnabled) return;
|
|
||||||
|
|
||||||
synchronized (mQuotaLock) {
|
synchronized (mQuotaLock) {
|
||||||
if (!mActiveQuotas.containsKey(iface)) {
|
if (!mActiveQuotas.containsKey(iface)) {
|
||||||
// TODO: eventually consider throwing
|
// TODO: eventually consider throwing
|
||||||
@@ -1637,10 +1616,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
|
|||||||
public void setInterfaceAlert(String iface, long alertBytes) {
|
public void setInterfaceAlert(String iface, long alertBytes) {
|
||||||
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
||||||
|
|
||||||
// silently discard when control disabled
|
|
||||||
// TODO: eventually migrate to be always enabled
|
|
||||||
if (!mBandwidthControlEnabled) return;
|
|
||||||
|
|
||||||
// quick sanity check
|
// quick sanity check
|
||||||
if (!mActiveQuotas.containsKey(iface)) {
|
if (!mActiveQuotas.containsKey(iface)) {
|
||||||
throw new IllegalStateException("setting alert requires existing quota on 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) {
|
public void removeInterfaceAlert(String iface) {
|
||||||
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
||||||
|
|
||||||
// silently discard when control disabled
|
|
||||||
// TODO: eventually migrate to be always enabled
|
|
||||||
if (!mBandwidthControlEnabled) return;
|
|
||||||
|
|
||||||
synchronized (mQuotaLock) {
|
synchronized (mQuotaLock) {
|
||||||
if (!mActiveAlerts.containsKey(iface)) {
|
if (!mActiveAlerts.containsKey(iface)) {
|
||||||
// TODO: eventually consider throwing
|
// TODO: eventually consider throwing
|
||||||
@@ -1689,10 +1660,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
|
|||||||
public void setGlobalAlert(long alertBytes) {
|
public void setGlobalAlert(long alertBytes) {
|
||||||
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
||||||
|
|
||||||
// silently discard when control disabled
|
|
||||||
// TODO: eventually migrate to be always enabled
|
|
||||||
if (!mBandwidthControlEnabled) return;
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
mConnector.execute("bandwidth", "setglobalalert", alertBytes);
|
mConnector.execute("bandwidth", "setglobalalert", alertBytes);
|
||||||
} catch (NativeDaemonConnectorException e) {
|
} catch (NativeDaemonConnectorException e) {
|
||||||
@@ -1703,10 +1670,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
|
|||||||
private void setUidOnMeteredNetworkList(int uid, boolean blacklist, boolean enable) {
|
private void setUidOnMeteredNetworkList(int uid, boolean blacklist, boolean enable) {
|
||||||
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
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 chain = blacklist ? "naughtyapps" : "niceapps";
|
||||||
final String suffix = enable ? "add" : "remove";
|
final String suffix = enable ? "add" : "remove";
|
||||||
|
|
||||||
@@ -1858,7 +1821,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
|
|||||||
@Override
|
@Override
|
||||||
public boolean isBandwidthControlEnabled() {
|
public boolean isBandwidthControlEnabled() {
|
||||||
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
|
||||||
return mBandwidthControlEnabled;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -2365,7 +2328,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub
|
|||||||
mConnector.dump(fd, pw, args);
|
mConnector.dump(fd, pw, args);
|
||||||
pw.println();
|
pw.println();
|
||||||
|
|
||||||
pw.print("Bandwidth control enabled: "); pw.println(mBandwidthControlEnabled);
|
|
||||||
pw.print("mMobileActivityFromRadio="); pw.print(mMobileActivityFromRadio);
|
pw.print("mMobileActivityFromRadio="); pw.print(mMobileActivityFromRadio);
|
||||||
pw.print(" mLastPowerStateFromRadio="); pw.println(mLastPowerStateFromRadio);
|
pw.print(" mLastPowerStateFromRadio="); pw.println(mLastPowerStateFromRadio);
|
||||||
pw.print("mNetworkActive="); pw.println(mNetworkActive);
|
pw.print("mNetworkActive="); pw.println(mNetworkActive);
|
||||||
|
|||||||
Reference in New Issue
Block a user