Fix null pointer exceptions in NetworkPolicyEditor
This upload fixes a null pointer exception issue. After this fix the modified methods return their corresponding default values instead of null. Change-Id: Idb94f8b808b8dd18be5e3fc92cc5560ce0f81c4f
This commit is contained in:
committed by
Takeshi Aimi
parent
e14a5ef660
commit
524dee0fb5
@@ -160,7 +160,8 @@ public class NetworkPolicyEditor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int getPolicyCycleDay(NetworkTemplate template) {
|
public int getPolicyCycleDay(NetworkTemplate template) {
|
||||||
return getPolicy(template).cycleDay;
|
final NetworkPolicy policy = getPolicy(template);
|
||||||
|
return (policy != null) ? policy.cycleDay : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPolicyCycleDay(NetworkTemplate template, int cycleDay, String cycleTimezone) {
|
public void setPolicyCycleDay(NetworkTemplate template, int cycleDay, String cycleTimezone) {
|
||||||
@@ -173,7 +174,8 @@ public class NetworkPolicyEditor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public long getPolicyWarningBytes(NetworkTemplate template) {
|
public long getPolicyWarningBytes(NetworkTemplate template) {
|
||||||
return getPolicy(template).warningBytes;
|
final NetworkPolicy policy = getPolicy(template);
|
||||||
|
return (policy != null) ? policy.warningBytes : WARNING_DISABLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPolicyWarningBytes(NetworkTemplate template, long warningBytes) {
|
public void setPolicyWarningBytes(NetworkTemplate template, long warningBytes) {
|
||||||
@@ -185,7 +187,8 @@ public class NetworkPolicyEditor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public long getPolicyLimitBytes(NetworkTemplate template) {
|
public long getPolicyLimitBytes(NetworkTemplate template) {
|
||||||
return getPolicy(template).limitBytes;
|
final NetworkPolicy policy = getPolicy(template);
|
||||||
|
return (policy != null) ? policy.limitBytes : LIMIT_DISABLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPolicyLimitBytes(NetworkTemplate template, long limitBytes) {
|
public void setPolicyLimitBytes(NetworkTemplate template, long limitBytes) {
|
||||||
@@ -309,8 +312,16 @@ public class NetworkPolicyEditor {
|
|||||||
final NetworkPolicy policy3g = getPolicy(template3g);
|
final NetworkPolicy policy3g = getPolicy(template3g);
|
||||||
final NetworkPolicy policy4g = getPolicy(template4g);
|
final NetworkPolicy policy4g = getPolicy(template4g);
|
||||||
|
|
||||||
final NetworkPolicy restrictive = policy3g.compareTo(policy4g) < 0 ? policy3g
|
NetworkPolicy restrictive = null;
|
||||||
: policy4g;
|
if ((policy3g == null) && (policy4g == null)) {
|
||||||
|
return false;
|
||||||
|
} else if (policy3g == null) {
|
||||||
|
restrictive = policy4g;
|
||||||
|
} else if (policy4g == null) {
|
||||||
|
restrictive = policy3g;
|
||||||
|
} else {
|
||||||
|
restrictive = policy3g.compareTo(policy4g) < 0 ? policy3g : policy4g;
|
||||||
|
}
|
||||||
mPolicies.remove(policy3g);
|
mPolicies.remove(policy3g);
|
||||||
mPolicies.remove(policy4g);
|
mPolicies.remove(policy4g);
|
||||||
mPolicies.add(new NetworkPolicy(templateAll, restrictive.cycleDay,
|
mPolicies.add(new NetworkPolicy(templateAll, restrictive.cycleDay,
|
||||||
@@ -321,6 +332,9 @@ public class NetworkPolicyEditor {
|
|||||||
} else if (!beforeSplit && split) {
|
} else if (!beforeSplit && split) {
|
||||||
// duplicate existing policy into two rules
|
// duplicate existing policy into two rules
|
||||||
final NetworkPolicy policyAll = getPolicy(templateAll);
|
final NetworkPolicy policyAll = getPolicy(templateAll);
|
||||||
|
if (policyAll == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
mPolicies.remove(policyAll);
|
mPolicies.remove(policyAll);
|
||||||
mPolicies.add(new NetworkPolicy(template3g, policyAll.cycleDay, policyAll.cycleTimezone,
|
mPolicies.add(new NetworkPolicy(template3g, policyAll.cycleDay, policyAll.cycleTimezone,
|
||||||
policyAll.warningBytes, policyAll.limitBytes, SNOOZE_NEVER, SNOOZE_NEVER,
|
policyAll.warningBytes, policyAll.limitBytes, SNOOZE_NEVER, SNOOZE_NEVER,
|
||||||
|
Reference in New Issue
Block a user