diff options
author | Sarah Chin <sarahchin@google.com> | 2021-09-29 12:13:27 -0700 |
---|---|---|
committer | Sarah Chin <sarahchin@google.com> | 2021-10-06 10:14:30 +0000 |
commit | 80b8c7f128026f22c75fec17e49948212ecefb33 (patch) | |
tree | 1ddd11b94d11e1bff9a5c5b3e20554ed816424f6 | |
parent | 8dafa60a2fcf8beec61b5ddbc7729b861865b05c (diff) | |
download | base-80b8c7f128026f22c75fec17e49948212ecefb33.tar.gz |
Update constructors for IRadioData classes
Test: atest FrameworksTelephonyTests
Bug: 198331673
Change-Id: I8480df1164548dde491c6ae6251bbc2725c3eadf
Merged-In: I8480df1164548dde491c6ae6251bbc2725c3eadf
10 files changed, 45 insertions, 264 deletions
diff --git a/Android.bp b/Android.bp index 93209d833bd8..d976b9172602 100644 --- a/Android.bp +++ b/Android.bp @@ -244,6 +244,12 @@ java_library { "android.hardware.radio-V1.4-java", "android.hardware.radio-V1.5-java", "android.hardware.radio-V1.6-java", + "android.hardware.radio.data-V1-java", + "android.hardware.radio.messaging-V1-java", + "android.hardware.radio.modem-V1-java", + "android.hardware.radio.network-V1-java", + "android.hardware.radio.sim-V1-java", + "android.hardware.radio.voice-V1-java", "android.hardware.thermal-V1.0-java-constants", "android.hardware.thermal-V1.0-java", "android.hardware.thermal-V1.1-java", diff --git a/telephony/java/android/telephony/data/EpsQos.java b/telephony/java/android/telephony/data/EpsQos.java index 22c8b0a0a74f..64c956f22872 100644 --- a/telephony/java/android/telephony/data/EpsQos.java +++ b/telephony/java/android/telephony/data/EpsQos.java @@ -32,15 +32,9 @@ public final class EpsQos extends Qos implements Parcelable { int qosClassId; - public EpsQos() { - super(Qos.QOS_TYPE_EPS, - new android.hardware.radio.V1_6.QosBandwidth(), - new android.hardware.radio.V1_6.QosBandwidth()); - } - - public EpsQos(@NonNull android.hardware.radio.V1_6.EpsQos qos) { - super(Qos.QOS_TYPE_EPS, qos.downlink, qos.uplink); - qosClassId = qos.qci; + public EpsQos(QosBandwidth downlink, QosBandwidth uplink, int qosClassId) { + super(Qos.QOS_TYPE_EPS, downlink, uplink); + this.qosClassId = qosClassId; } private EpsQos(Parcel source) { diff --git a/telephony/java/android/telephony/data/NetworkSlicingConfig.java b/telephony/java/android/telephony/data/NetworkSlicingConfig.java index dec787f40ff2..024a3f576a7b 100644 --- a/telephony/java/android/telephony/data/NetworkSlicingConfig.java +++ b/telephony/java/android/telephony/data/NetworkSlicingConfig.java @@ -33,39 +33,15 @@ public final class NetworkSlicingConfig implements Parcelable { private final List<NetworkSliceInfo> mSliceInfo; public NetworkSlicingConfig() { - mUrspRules = new ArrayList<UrspRule>(); - mSliceInfo = new ArrayList<NetworkSliceInfo>(); + mUrspRules = new ArrayList<>(); + mSliceInfo = new ArrayList<>(); } /** @hide */ - public NetworkSlicingConfig(android.hardware.radio.V1_6.SlicingConfig sc) { - this(sc.urspRules, sc.sliceInfo); - } - - /** @hide */ - public NetworkSlicingConfig(List<android.hardware.radio.V1_6.UrspRule> urspRules, - List<android.hardware.radio.V1_6.SliceInfo> sliceInfo) { - mUrspRules = new ArrayList<UrspRule>(); - for (android.hardware.radio.V1_6.UrspRule ur : urspRules) { - mUrspRules.add(new UrspRule(ur.precedence, ur.trafficDescriptors, - ur.routeSelectionDescriptor)); - } - mSliceInfo = new ArrayList<NetworkSliceInfo>(); - for (android.hardware.radio.V1_6.SliceInfo si : sliceInfo) { - mSliceInfo.add(sliceInfoBuilder(si)); - } - } - - private NetworkSliceInfo sliceInfoBuilder(android.hardware.radio.V1_6.SliceInfo si) { - NetworkSliceInfo.Builder builder = new NetworkSliceInfo.Builder() - .setSliceServiceType(si.sst) - .setMappedHplmnSliceServiceType(si.mappedHplmnSst); - if (si.sliceDifferentiator != NetworkSliceInfo.SLICE_DIFFERENTIATOR_NO_SLICE) { - builder - .setSliceDifferentiator(si.sliceDifferentiator) - .setMappedHplmnSliceDifferentiator(si.mappedHplmnSD); - } - return builder.build(); + public NetworkSlicingConfig(List<UrspRule> urspRules, List<NetworkSliceInfo> sliceInfo) { + this(); + mUrspRules.addAll(urspRules); + mSliceInfo.addAll(sliceInfo); } /** @hide */ diff --git a/telephony/java/android/telephony/data/NrQos.java b/telephony/java/android/telephony/data/NrQos.java index fe124ac15393..a24d5fa5c278 100644 --- a/telephony/java/android/telephony/data/NrQos.java +++ b/telephony/java/android/telephony/data/NrQos.java @@ -32,11 +32,12 @@ public final class NrQos extends Qos implements Parcelable { int fiveQi; int averagingWindowMs; - public NrQos(@NonNull android.hardware.radio.V1_6.NrQos qos) { - super(Qos.QOS_TYPE_NR, qos.downlink, qos.uplink); - fiveQi = qos.fiveQi; - qosFlowId = qos.qfi; - averagingWindowMs = qos.averagingWindowMs; + public NrQos(QosBandwidth downlink, QosBandwidth uplink, int qosFlowId, int fiveQi, + int averagingWindowMs) { + super(Qos.QOS_TYPE_NR, downlink, uplink); + this.qosFlowId = qosFlowId; + this.fiveQi = fiveQi; + this.averagingWindowMs = averagingWindowMs; } private NrQos(Parcel source) { diff --git a/telephony/java/android/telephony/data/Qos.java b/telephony/java/android/telephony/data/Qos.java index c286c6217450..8c437c83e196 100644 --- a/telephony/java/android/telephony/data/Qos.java +++ b/telephony/java/android/telephony/data/Qos.java @@ -48,12 +48,10 @@ public abstract class Qos { final QosBandwidth downlink; final QosBandwidth uplink; - Qos(int type, - @NonNull android.hardware.radio.V1_6.QosBandwidth downlink, - @NonNull android.hardware.radio.V1_6.QosBandwidth uplink) { + Qos(int type, QosBandwidth downlink, QosBandwidth uplink) { this.type = type; - this.downlink = new QosBandwidth(downlink.maxBitrateKbps, downlink.guaranteedBitrateKbps); - this.uplink = new QosBandwidth(uplink.maxBitrateKbps, uplink.guaranteedBitrateKbps); + this.downlink = downlink; + this.uplink = uplink; } public QosBandwidth getDownlinkBandwidth() { @@ -68,10 +66,7 @@ public abstract class Qos { int maxBitrateKbps; int guaranteedBitrateKbps; - QosBandwidth() { - } - - QosBandwidth(int maxBitrateKbps, int guaranteedBitrateKbps) { + public QosBandwidth(int maxBitrateKbps, int guaranteedBitrateKbps) { this.maxBitrateKbps = maxBitrateKbps; this.guaranteedBitrateKbps = guaranteedBitrateKbps; } @@ -158,18 +153,6 @@ public abstract class Qos { } /** @hide */ - public static @NonNull Qos create(@NonNull android.hardware.radio.V1_6.Qos qos) { - switch (qos.getDiscriminator()) { - case android.hardware.radio.V1_6.Qos.hidl_discriminator.eps: - return new EpsQos(qos.eps()); - case android.hardware.radio.V1_6.Qos.hidl_discriminator.nr: - return new NrQos(qos.nr()); - default: - return null; - } - } - - /** @hide */ public @QosType int getType() { return type; } diff --git a/telephony/java/android/telephony/data/QosBearerFilter.java b/telephony/java/android/telephony/data/QosBearerFilter.java index 54930d0266b7..5f5762b2235b 100644 --- a/telephony/java/android/telephony/data/QosBearerFilter.java +++ b/telephony/java/android/telephony/data/QosBearerFilter.java @@ -18,15 +18,12 @@ package android.telephony.data; import android.annotation.IntDef; import android.annotation.NonNull; -import android.net.InetAddresses; import android.net.LinkAddress; import android.os.Parcel; import android.os.Parcelable; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -import java.net.InetAddress; -import java.net.Inet4Address; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -97,20 +94,13 @@ public final class QosBearerFilter implements Parcelable { */ private int precedence; - QosBearerFilter() { - localAddresses = new ArrayList<>(); - remoteAddresses = new ArrayList<>(); - localPort = new PortRange(); - remotePort = new PortRange(); - protocol = QOS_PROTOCOL_UNSPECIFIED; - filterDirection = QOS_FILTER_DIRECTION_BIDIRECTIONAL; - } - public QosBearerFilter(List<LinkAddress> localAddresses, List<LinkAddress> remoteAddresses, PortRange localPort, PortRange remotePort, int protocol, int tos, long flowLabel, long spi, int direction, int precedence) { - this.localAddresses = localAddresses; - this.remoteAddresses = remoteAddresses; + this.localAddresses = new ArrayList<>(); + this.localAddresses.addAll(localAddresses); + this.remoteAddresses = new ArrayList<>(); + this.remoteAddresses.addAll(remoteAddresses); this.localPort = localPort; this.remotePort = remotePort; this.protocol = protocol; @@ -141,82 +131,10 @@ public final class QosBearerFilter implements Parcelable { return precedence; } - /** @hide */ - public static @NonNull QosBearerFilter create( - @NonNull android.hardware.radio.V1_6.QosFilter qosFilter) { - QosBearerFilter ret = new QosBearerFilter(); - - String[] localAddresses = qosFilter.localAddresses.stream().toArray(String[]::new); - if (localAddresses != null) { - for (String address : localAddresses) { - ret.localAddresses.add(createLinkAddressFromString(address)); - } - } - - String[] remoteAddresses = qosFilter.remoteAddresses.stream().toArray(String[]::new); - if (remoteAddresses != null) { - for (String address : remoteAddresses) { - ret.remoteAddresses.add(createLinkAddressFromString(address)); - } - } - - if (qosFilter.localPort != null) { - if (qosFilter.localPort.getDiscriminator() - == android.hardware.radio.V1_6.MaybePort.hidl_discriminator.range) { - final android.hardware.radio.V1_6.PortRange portRange = qosFilter.localPort.range(); - ret.localPort.start = portRange.start; - ret.localPort.end = portRange.end; - } - } - - if (qosFilter.remotePort != null) { - if (qosFilter.remotePort.getDiscriminator() - == android.hardware.radio.V1_6.MaybePort.hidl_discriminator.range) { - final android.hardware.radio.V1_6.PortRange portRange - = qosFilter.remotePort.range(); - ret.remotePort.start = portRange.start; - ret.remotePort.end = portRange.end; - } - } - - ret.protocol = qosFilter.protocol; - - if (qosFilter.tos != null) { - if (qosFilter.tos.getDiscriminator() - == android.hardware.radio.V1_6.QosFilter.TypeOfService.hidl_discriminator.value) { - ret.typeOfServiceMask = qosFilter.tos.value(); - } - } - - if (qosFilter.flowLabel != null) { - if (qosFilter.flowLabel.getDiscriminator() - == android.hardware.radio.V1_6.QosFilter.Ipv6FlowLabel.hidl_discriminator.value) { - ret.flowLabel = qosFilter.flowLabel.value(); - } - } - - if (qosFilter.spi != null) { - if (qosFilter.spi.getDiscriminator() - == android.hardware.radio.V1_6.QosFilter.IpsecSpi.hidl_discriminator.value) { - ret.securityParameterIndex = qosFilter.spi.value(); - } - } - - ret.filterDirection = qosFilter.direction; - ret.precedence = qosFilter.precedence; - - return ret; - } - public static class PortRange implements Parcelable { int start; int end; - PortRange() { - start = -1; - end = -1; - } - private PortRange(Parcel source) { start = source.readInt(); end = source.readInt(); @@ -337,32 +255,6 @@ public final class QosBearerFilter implements Parcelable { && precedence == other.precedence; } - private static LinkAddress createLinkAddressFromString(String addressString) { - addressString = addressString.trim(); - InetAddress address = null; - int prefixLength = -1; - try { - String[] pieces = addressString.split("/", 2); - address = InetAddresses.parseNumericAddress(pieces[0]); - if (pieces.length == 1) { - prefixLength = (address instanceof Inet4Address) ? 32 : 128; - } else if (pieces.length == 2) { - prefixLength = Integer.parseInt(pieces[1]); - } - } catch (NullPointerException e) { // Null string. - } catch (ArrayIndexOutOfBoundsException e) { // No prefix length. - } catch (NumberFormatException e) { // Non-numeric prefix. - } catch (IllegalArgumentException e) { // Invalid IP address. - } - - if (address == null || prefixLength == -1) { - throw new IllegalArgumentException("Invalid link address " + addressString); - } - - return new LinkAddress(address, prefixLength, 0, 0, - LinkAddress.LIFETIME_UNKNOWN, LinkAddress.LIFETIME_UNKNOWN); - } - private QosBearerFilter(Parcel source) { localAddresses = new ArrayList<>(); source.readList(localAddresses, LinkAddress.class.getClassLoader()); diff --git a/telephony/java/android/telephony/data/QosBearerSession.java b/telephony/java/android/telephony/data/QosBearerSession.java index 30effc9273d7..ffeb08a17584 100644 --- a/telephony/java/android/telephony/data/QosBearerSession.java +++ b/telephony/java/android/telephony/data/QosBearerSession.java @@ -36,10 +36,12 @@ public final class QosBearerSession implements Parcelable{ final Qos qos; final List<QosBearerFilter> qosBearerFilterList; - public QosBearerSession(int qosBearerSessionId, @NonNull Qos qos, @NonNull List<QosBearerFilter> qosBearerFilterList) { + public QosBearerSession(int qosBearerSessionId, @NonNull Qos qos, + @NonNull List<QosBearerFilter> qosBearerFilterList) { this.qosBearerSessionId = qosBearerSessionId; this.qos = qos; - this.qosBearerFilterList = qosBearerFilterList; + this.qosBearerFilterList = new ArrayList<>(); + this.qosBearerFilterList.addAll(qosBearerFilterList); } private QosBearerSession(Parcel source) { @@ -72,22 +74,6 @@ public final class QosBearerSession implements Parcelable{ dest.writeList(qosBearerFilterList); } - public static @NonNull QosBearerSession create( - @NonNull android.hardware.radio.V1_6.QosSession qosSession) { - List<QosBearerFilter> qosBearerFilters = new ArrayList<>(); - - if (qosSession.qosFilters != null) { - for (android.hardware.radio.V1_6.QosFilter filter : qosSession.qosFilters) { - qosBearerFilters.add(QosBearerFilter.create(filter)); - } - } - - return new QosBearerSession( - qosSession.qosSessionId, - Qos.create(qosSession.qos), - qosBearerFilters); - } - @Override public int describeContents() { return 0; diff --git a/telephony/java/android/telephony/data/RouteSelectionDescriptor.java b/telephony/java/android/telephony/data/RouteSelectionDescriptor.java index c2457f21f5ef..b3b846441bb9 100644 --- a/telephony/java/android/telephony/data/RouteSelectionDescriptor.java +++ b/telephony/java/android/telephony/data/RouteSelectionDescriptor.java @@ -120,43 +120,23 @@ public final class RouteSelectionDescriptor implements Parcelable { private final List<String> mDnn; /** @hide */ - RouteSelectionDescriptor(android.hardware.radio.V1_6.RouteSelectionDescriptor rsd) { - this(rsd.precedence, rsd.sessionType.value(), rsd.sscMode.value(), rsd.sliceInfo, - rsd.dnn); - } - - /** @hide */ public RouteSelectionDescriptor(int precedence, int sessionType, int sscMode, - List<android.hardware.radio.V1_6.SliceInfo> sliceInfo, List<String> dnn) { + List<NetworkSliceInfo> sliceInfo, List<String> dnn) { mPrecedence = precedence; mSessionType = sessionType; mSscMode = sscMode; - mSliceInfo = new ArrayList<NetworkSliceInfo>(); - for (android.hardware.radio.V1_6.SliceInfo si : sliceInfo) { - mSliceInfo.add(sliceInfoBuilder(si)); - } - mDnn = new ArrayList<String>(); + mSliceInfo = new ArrayList<>(); + mSliceInfo.addAll(sliceInfo); + mDnn = new ArrayList<>(); mDnn.addAll(dnn); } - private NetworkSliceInfo sliceInfoBuilder(android.hardware.radio.V1_6.SliceInfo si) { - NetworkSliceInfo.Builder builder = new NetworkSliceInfo.Builder() - .setSliceServiceType(si.sst) - .setMappedHplmnSliceServiceType(si.mappedHplmnSst); - if (si.sliceDifferentiator != NetworkSliceInfo.SLICE_DIFFERENTIATOR_NO_SLICE) { - builder - .setSliceDifferentiator(si.sliceDifferentiator) - .setMappedHplmnSliceDifferentiator(si.mappedHplmnSD); - } - return builder.build(); - } - private RouteSelectionDescriptor(Parcel p) { mPrecedence = p.readInt(); mSessionType = p.readInt(); mSscMode = p.readInt(); mSliceInfo = p.createTypedArrayList(NetworkSliceInfo.CREATOR); - mDnn = new ArrayList<String>(); + mDnn = new ArrayList<>(); p.readStringList(mDnn); } diff --git a/telephony/java/android/telephony/data/UrspRule.java b/telephony/java/android/telephony/data/UrspRule.java index fbe199975b00..afbd429973f2 100644 --- a/telephony/java/android/telephony/data/UrspRule.java +++ b/telephony/java/android/telephony/data/UrspRule.java @@ -19,12 +19,9 @@ package android.telephony.data; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; -import android.hardware.radio.V1_6.OptionalDnn; -import android.hardware.radio.V1_6.OptionalOsAppId; import android.os.Parcel; import android.os.Parcelable; - import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -52,48 +49,14 @@ public final class UrspRule implements Parcelable { private final List<TrafficDescriptor> mTrafficDescriptors; private final List<RouteSelectionDescriptor> mRouteSelectionDescriptor; - UrspRule(android.hardware.radio.V1_6.UrspRule ur) { - this(ur.precedence, ur.trafficDescriptors, ur.routeSelectionDescriptor); - } - /** @hide */ - public UrspRule(int precedence, - List<android.hardware.radio.V1_6.TrafficDescriptor> trafficDescriptors, - List<android.hardware.radio.V1_6.RouteSelectionDescriptor> routeSelectionDescriptor) { + public UrspRule(int precedence, List<TrafficDescriptor> trafficDescriptors, + List<RouteSelectionDescriptor> routeSelectionDescriptor) { mPrecedence = precedence; - mTrafficDescriptors = new ArrayList<TrafficDescriptor>(); - for (android.hardware.radio.V1_6.TrafficDescriptor td : trafficDescriptors) { - mTrafficDescriptors.add(convertToTrafficDescriptor(td)); - } - mRouteSelectionDescriptor = new ArrayList<RouteSelectionDescriptor>(); - for (android.hardware.radio.V1_6.RouteSelectionDescriptor rsd : routeSelectionDescriptor) { - mRouteSelectionDescriptor.add(new RouteSelectionDescriptor(rsd)); - } - } - - /** Convert an ArrayList of Bytes to an exactly-sized primitive array */ - private byte[] arrayListToPrimitiveArray(ArrayList<Byte> bytes) { - byte[] ret = new byte[bytes.size()]; - for (int i = 0; i < ret.length; i++) { - ret[i] = bytes.get(i); - } - return ret; - } - - private TrafficDescriptor convertToTrafficDescriptor( - android.hardware.radio.V1_6.TrafficDescriptor td) { - String dnn = td.dnn.getDiscriminator() == OptionalDnn.hidl_discriminator.noinit - ? null : td.dnn.value(); - byte[] osAppId = td.osAppId.getDiscriminator() == OptionalOsAppId.hidl_discriminator.noinit - ? null : arrayListToPrimitiveArray(td.osAppId.value().osAppId); - TrafficDescriptor.Builder builder = new TrafficDescriptor.Builder(); - if (dnn != null) { - builder.setDataNetworkName(dnn); - } - if (osAppId != null) { - builder.setOsAppId(osAppId); - } - return builder.build(); + mTrafficDescriptors = new ArrayList<>(); + mTrafficDescriptors.addAll(trafficDescriptors); + mRouteSelectionDescriptor = new ArrayList<>(); + mRouteSelectionDescriptor.addAll(routeSelectionDescriptor); } private UrspRule(Parcel p) { diff --git a/telephony/java/com/android/internal/telephony/RILConstants.java b/telephony/java/com/android/internal/telephony/RILConstants.java index fe8e6715fe35..b73f8271da1f 100644 --- a/telephony/java/com/android/internal/telephony/RILConstants.java +++ b/telephony/java/com/android/internal/telephony/RILConstants.java @@ -566,7 +566,7 @@ public interface RILConstants { int RIL_UNSOL_RINGBACK_TONE = 1029; int RIL_UNSOL_RESEND_INCALL_MUTE = 1030; int RIL_UNSOL_CDMA_SUBSCRIPTION_SOURCE_CHANGED = 1031; - int RIL_UNSOl_CDMA_PRL_CHANGED = 1032; + int RIL_UNSOL_CDMA_PRL_CHANGED = 1032; int RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE = 1033; int RIL_UNSOL_RIL_CONNECTED = 1034; int RIL_UNSOL_VOICE_RADIO_TECH_CHANGED = 1035; |