Merge changes I0faeda20,I726e74f5

* changes:
  Add 5G NSA to collapsed RAT types list
  Add getAllCollapsedRatTypes to NetworkTemplate
This commit is contained in:
Treehugger Robot
2020-08-20 03:44:07 +00:00
committed by Gerrit Code Review

View File

@@ -34,6 +34,7 @@ import static android.net.NetworkStats.ROAMING_NO;
import static android.net.NetworkStats.ROAMING_YES;
import static android.net.wifi.WifiInfo.sanitizeSsid;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Parcel;
@@ -52,6 +53,8 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
@@ -489,6 +492,36 @@ public class NetworkTemplate implements Parcelable {
}
}
/**
* Return all supported collapsed RAT types that could be returned by
* {@link #getCollapsedRatType(int)}.
*/
@NonNull
public static final int[] getAllCollapsedRatTypes() {
final int[] ratTypes = TelephonyManager.getAllNetworkTypes();
final HashSet<Integer> collapsedRatTypes = new HashSet<>();
for (final int ratType : ratTypes) {
collapsedRatTypes.add(NetworkTemplate.getCollapsedRatType(ratType));
}
// Add NETWORK_TYPE_5G_NSA to the returned list since 5G NSA is a virtual RAT type and
// it is not in TelephonyManager#NETWORK_TYPE_* constants.
// See {@link NetworkTemplate#NETWORK_TYPE_5G_NSA}.
collapsedRatTypes.add(NetworkTemplate.getCollapsedRatType(NETWORK_TYPE_5G_NSA));
// Ensure that unknown type is returned.
collapsedRatTypes.add(TelephonyManager.NETWORK_TYPE_UNKNOWN);
return toIntArray(collapsedRatTypes);
}
@NonNull
private static int[] toIntArray(@NonNull Collection<Integer> list) {
final int[] array = new int[list.size()];
int i = 0;
for (final Integer item : list) {
array[i++] = item;
}
return array;
}
/**
* Check if matches Wi-Fi network template.
*/