Skip to content
Snippets Groups Projects
Commit f419d33c authored by Jack Yu's avatar Jack Yu Committed by Sarah Chin
Browse files

Fixed the incorrect APN dedupling

Fixed that APN settings can't be merged when one APN
entry has MTU set, but the other doesn't. Also default
MTU unset value to 0 for backwards compatability.

Test: atest DataProfileManagerTest & Manual testing
Fix: 226563054
Change-Id: I02190be62855f5f3b86c41677bbf7ff6a362e652
Merged-In: I02190be62855f5f3b86c41677bbf7ff6a362e652
parent 217b0fdb
No related branches found
No related tags found
No related merge requests found
......@@ -1290,8 +1290,8 @@ public class ApnSetting implements Parcelable {
&& Objects.equals(this.mOperatorNumeric, other.mOperatorNumeric)
&& Objects.equals(this.mProtocol, other.mProtocol)
&& Objects.equals(this.mRoamingProtocol, other.mRoamingProtocol)
&& xorEqualsInt(this.mMtuV4, other.mMtuV4)
&& xorEqualsInt(this.mMtuV6, other.mMtuV6)
&& mtuUnsetOrEquals(this.mMtuV4, other.mMtuV4)
&& mtuUnsetOrEquals(this.mMtuV6, other.mMtuV6)
&& Objects.equals(this.mCarrierEnabled, other.mCarrierEnabled)
&& Objects.equals(this.mNetworkTypeBitmask, other.mNetworkTypeBitmask)
&& Objects.equals(this.mLingeringNetworkTypeBitmask,
......@@ -1319,7 +1319,12 @@ public class ApnSetting implements Parcelable {
// Equal or one is not specified.
private boolean xorEqualsInt(int first, int second) {
return first == UNSPECIFIED_INT || second == UNSPECIFIED_INT
|| Objects.equals(first, second);
|| first == second;
}
// Equal or one is not specified. Specific to MTU where <= 0 indicates unset.
private boolean mtuUnsetOrEquals(int first, int second) {
return first <= 0 || second <= 0 || first == second;
}
private String nullToEmpty(String stringValue) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment