Merge changes Ib048c18b,Ie7694a63
* changes: Add debug log for tracking NPE of mMobileIfaces Fix mMobileIfaces is not protected by lock
This commit is contained in:
@@ -289,8 +289,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
|||||||
private String mActiveIface;
|
private String mActiveIface;
|
||||||
|
|
||||||
/** Set of any ifaces associated with mobile networks since boot. */
|
/** Set of any ifaces associated with mobile networks since boot. */
|
||||||
@GuardedBy("mStatsLock")
|
private volatile String[] mMobileIfaces = new String[0];
|
||||||
private String[] mMobileIfaces = new String[0];
|
|
||||||
|
|
||||||
/** Set of all ifaces currently used by traffic that does not explicitly specify a Network. */
|
/** Set of all ifaces currently used by traffic that does not explicitly specify a Network. */
|
||||||
@GuardedBy("mStatsLock")
|
@GuardedBy("mStatsLock")
|
||||||
@@ -935,7 +934,12 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getMobileIfaces() {
|
public String[] getMobileIfaces() {
|
||||||
return mMobileIfaces;
|
// TODO (b/192758557): Remove debug log.
|
||||||
|
if (ArrayUtils.contains(mMobileIfaces, null)) {
|
||||||
|
throw new NullPointerException(
|
||||||
|
"null element in mMobileIfaces: " + Arrays.toString(mMobileIfaces));
|
||||||
|
}
|
||||||
|
return mMobileIfaces.clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1084,7 +1088,8 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getIfaceStats(String iface, int type) {
|
public long getIfaceStats(@NonNull String iface, int type) {
|
||||||
|
Objects.requireNonNull(iface);
|
||||||
long nativeIfaceStats = nativeGetIfaceStat(iface, type, checkBpfStatsEnable());
|
long nativeIfaceStats = nativeGetIfaceStat(iface, type, checkBpfStatsEnable());
|
||||||
if (nativeIfaceStats == -1) {
|
if (nativeIfaceStats == -1) {
|
||||||
return nativeIfaceStats;
|
return nativeIfaceStats;
|
||||||
@@ -1382,7 +1387,12 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mMobileIfaces = mobileIfaces.toArray(new String[mobileIfaces.size()]);
|
mMobileIfaces = mobileIfaces.toArray(new String[0]);
|
||||||
|
// TODO (b/192758557): Remove debug log.
|
||||||
|
if (ArrayUtils.contains(mMobileIfaces, null)) {
|
||||||
|
throw new NullPointerException(
|
||||||
|
"null element in mMobileIfaces: " + Arrays.toString(mMobileIfaces));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int getSubIdForMobile(@NonNull NetworkStateSnapshot state) {
|
private static int getSubIdForMobile(@NonNull NetworkStateSnapshot state) {
|
||||||
|
|||||||
Reference in New Issue
Block a user