Merge "Ignore wildcard network policies." into nyc-dev
This commit is contained in:
@@ -250,6 +250,16 @@ public class NetworkTemplate implements Parcelable {
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isPersistable() {
|
||||
switch (mMatchRule) {
|
||||
case MATCH_MOBILE_WILDCARD:
|
||||
case MATCH_WIFI_WILDCARD:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public int getMatchRule() {
|
||||
return mMatchRule;
|
||||
}
|
||||
|
||||
@@ -28,13 +28,12 @@ import static android.content.Intent.ACTION_UID_REMOVED;
|
||||
import static android.content.Intent.ACTION_USER_ADDED;
|
||||
import static android.content.Intent.ACTION_USER_REMOVED;
|
||||
import static android.content.Intent.EXTRA_UID;
|
||||
|
||||
import static android.net.ConnectivityManager.CONNECTIVITY_ACTION;
|
||||
import static android.net.ConnectivityManager.TYPE_MOBILE;
|
||||
import static android.net.ConnectivityManager.TYPE_WIMAX;
|
||||
import static android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED;
|
||||
import static android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_ENABLED;
|
||||
import static android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_WHITELISTED;
|
||||
import static android.net.ConnectivityManager.TYPE_MOBILE;
|
||||
import static android.net.ConnectivityManager.TYPE_WIMAX;
|
||||
import static android.net.ConnectivityManager.isNetworkTypeMobile;
|
||||
import static android.net.NetworkPolicy.CYCLE_NONE;
|
||||
import static android.net.NetworkPolicy.LIMIT_DISABLED;
|
||||
@@ -47,11 +46,9 @@ import static android.net.NetworkPolicyManager.FIREWALL_CHAIN_STANDBY;
|
||||
import static android.net.NetworkPolicyManager.FIREWALL_RULE_ALLOW;
|
||||
import static android.net.NetworkPolicyManager.FIREWALL_RULE_DEFAULT;
|
||||
import static android.net.NetworkPolicyManager.FIREWALL_RULE_DENY;
|
||||
import static android.net.NetworkPolicyManager.POLICY_ALLOW_BACKGROUND_BATTERY_SAVE;
|
||||
import static android.net.NetworkPolicyManager.POLICY_NONE;
|
||||
import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
|
||||
import static android.net.NetworkPolicyManager.RULE_ALLOW_ALL;
|
||||
import static android.net.NetworkPolicyManager.RULE_REJECT_ALL;
|
||||
import static android.net.NetworkPolicyManager.RULE_REJECT_METERED;
|
||||
import static android.net.NetworkPolicyManager.RULE_UNKNOWN;
|
||||
import static android.net.NetworkPolicyManager.computeLastCycleBoundary;
|
||||
@@ -80,6 +77,7 @@ import static com.android.internal.util.XmlUtils.writeIntAttribute;
|
||||
import static com.android.internal.util.XmlUtils.writeLongAttribute;
|
||||
import static com.android.server.NetworkManagementService.LIMIT_GLOBAL_ALERT;
|
||||
import static com.android.server.net.NetworkStatsService.ACTION_NETWORK_STATS_UPDATED;
|
||||
|
||||
import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT;
|
||||
import static org.xmlpull.v1.XmlPullParser.END_TAG;
|
||||
import static org.xmlpull.v1.XmlPullParser.START_TAG;
|
||||
@@ -130,12 +128,12 @@ import android.os.IDeviceIdleController;
|
||||
import android.os.INetworkManagementService;
|
||||
import android.os.IPowerManager;
|
||||
import android.os.Message;
|
||||
import android.os.ResultReceiver;
|
||||
import android.os.MessageQueue.IdleHandler;
|
||||
import android.os.PowerManager;
|
||||
import android.os.PowerManagerInternal;
|
||||
import android.os.RemoteCallbackList;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ResultReceiver;
|
||||
import android.os.ServiceManager;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
@@ -157,8 +155,6 @@ import android.util.SparseIntArray;
|
||||
import android.util.TrustedTime;
|
||||
import android.util.Xml;
|
||||
|
||||
import libcore.io.IoUtils;
|
||||
|
||||
import com.android.internal.R;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.content.PackageMonitor;
|
||||
@@ -169,6 +165,9 @@ import com.android.server.DeviceIdleController;
|
||||
import com.android.server.EventLogTags;
|
||||
import com.android.server.LocalServices;
|
||||
import com.android.server.SystemConfig;
|
||||
|
||||
import libcore.io.IoUtils;
|
||||
|
||||
import com.google.android.collect.Lists;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
@@ -1446,9 +1445,11 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
|
||||
final NetworkTemplate template = new NetworkTemplate(networkTemplate,
|
||||
subscriberId, networkId);
|
||||
mNetworkPolicy.put(template, new NetworkPolicy(template, cycleDay,
|
||||
cycleTimezone, warningBytes, limitBytes, lastWarningSnooze,
|
||||
lastLimitSnooze, metered, inferred));
|
||||
if (template.isPersistable()) {
|
||||
mNetworkPolicy.put(template, new NetworkPolicy(template, cycleDay,
|
||||
cycleTimezone, warningBytes, limitBytes, lastWarningSnooze,
|
||||
lastLimitSnooze, metered, inferred));
|
||||
}
|
||||
|
||||
} else if (TAG_UID_POLICY.equals(tag)) {
|
||||
final int uid = readIntAttribute(in, ATTR_UID);
|
||||
@@ -1535,6 +1536,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
for (int i = 0; i < mNetworkPolicy.size(); i++) {
|
||||
final NetworkPolicy policy = mNetworkPolicy.valueAt(i);
|
||||
final NetworkTemplate template = policy.template;
|
||||
if (!template.isPersistable()) continue;
|
||||
|
||||
out.startTag(null, TAG_NETWORK_POLICY);
|
||||
writeIntAttribute(out, ATTR_NETWORK_TEMPLATE, template.getMatchRule());
|
||||
|
||||
Reference in New Issue
Block a user