Bug fix: LCE list initialization

Initialize LCE list so that its size is at least 1. This is important for 1st call back after registration especially when there is no LCE report yet.

Bug: 198682652
Test: atest -c TelephonyCallbackTest in airplane mode.
Change-Id: I54b4ce0c51e6c10c6ef67776cf3083a04b7d5da3
Merged-In: I54b4ce0c51e6c10c6ef67776cf3083a04b7d5da3
This commit is contained in:
Kai Shi
2021-09-29 12:42:06 -07:00
parent 5563f3ad03
commit 7180cca70d

View File

@@ -385,6 +385,10 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
private int[] mAllowedNetworkTypeReason;
private long[] mAllowedNetworkTypeValue;
private static final List<LinkCapacityEstimate> INVALID_LCE_LIST =
new ArrayList<LinkCapacityEstimate>(Arrays.asList(new LinkCapacityEstimate(
LinkCapacityEstimate.LCE_TYPE_COMBINED,
LinkCapacityEstimate.INVALID, LinkCapacityEstimate.INVALID)));
private List<List<LinkCapacityEstimate>> mLinkCapacityEstimateLists;
/**
@@ -719,7 +723,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
mPhysicalChannelConfigs.add(i, new ArrayList<>());
mAllowedNetworkTypeReason[i] = -1;
mAllowedNetworkTypeValue[i] = -1;
mLinkCapacityEstimateLists.add(i, new ArrayList<>());
mLinkCapacityEstimateLists.add(i, INVALID_LCE_LIST);
}
}
@@ -819,7 +823,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
mPhysicalChannelConfigs.add(i, new ArrayList<>());
mAllowedNetworkTypeReason[i] = -1;
mAllowedNetworkTypeValue[i] = -1;
mLinkCapacityEstimateLists.add(i, new ArrayList<>());
mLinkCapacityEstimateLists.add(i, INVALID_LCE_LIST);
}
mAppOps = mContext.getSystemService(AppOpsManager.class);