Merge "Revert "Update HAL 1.6 for 5G Slicing""
diff --git a/radio/1.6/IRadio.hal b/radio/1.6/IRadio.hal
index e770a5d..1862800 100644
--- a/radio/1.6/IRadio.hal
+++ b/radio/1.6/IRadio.hal
@@ -120,18 +120,6 @@
      * @param sliceInfo SliceInfo to be used for the data connection when a handover occurs from
      *     EPDG to 5G.  It is valid only when accessNetwork is AccessNetwork:NGRAN.  If the slice
      *     passed from EPDG is rejected, then the data failure cause must be DataCallFailCause:SLICE_REJECTED.
-     * @param trafficDescriptor TrafficDescriptor for which data connection needs to be
-     *     established. It is used for URSP traffic matching as described in TS 24.526
-     *     Section 4.2.2. It includes an optional DNN which, if present, must be used for traffic
-     *     matching -- it does not specify the end point to be used for the data call. The end
-     *     point is specified by DataProfileInfo.apn; DataProfileInfo.apn must be used as the end
-     *     point if one is not specified through URSP rules.
-     * @param matchAllRuleAllowed bool to indicate if using default match-all URSP rule for this
-     *     request is allowed. If false, this request must not use the match-all URSP rule and if
-     *     a non-match-all rule is not found (or if URSP rules are not available) it should return
-     *     failure with cause DataCallFailCause:MATCH_ALL_RULE_NOT_ALLOWED. This is needed as some
-     *     requests need to have a hard failure if the intention cannot be met, for example, a
-     *     zero-rating slice.
      *
      * Response function is IRadioResponse.setupDataCallResponse_1_6()
      *
@@ -140,8 +128,7 @@
     oneway setupDataCall_1_6(int32_t serial, AccessNetwork accessNetwork,
             DataProfileInfo dataProfileInfo, bool roamingAllowed,
             DataRequestReason reason, vec<LinkAddress> addresses, vec<string> dnses,
-            int32_t pduSessionId, OptionalSliceInfo sliceInfo,
-            OptionalTrafficDescriptor trafficDescriptor, bool matchAllRuleAllowed);
+            int32_t pduSessionId, OptionalSliceInfo sliceInfo);
 
     /**
      * Send an SMS message
diff --git a/radio/1.6/types.hal b/radio/1.6/types.hal
index a6de033..4eaf7be 100644
--- a/radio/1.6/types.hal
+++ b/radio/1.6/types.hal
@@ -365,13 +365,6 @@
      * AccessNetwork:NGRAN.
      */
     OptionalSliceInfo sliceInfo;
-
-    /**
-     * TrafficDescriptors for which this data call must be used. It only includes
-     * the TDs for which a data call has been requested so far; it is not an
-     * exhaustive list.
-     */
-    vec<TrafficDescriptor> trafficDescriptors;
 };
 
 /**
@@ -831,16 +824,6 @@
      * Data call fail due to the slice not being allowed for the data call.
      */
     SLICE_REJECTED = 0x8CC,
-
-    /**
-     * No matching rule available for the request, and match-all rule is not allowed for it.
-     */
-    MATCH_ALL_RULE_NOT_ALLOWED = 0x8CD,
-
-    /**
-     * If connection failed for all matching URSP rules
-     */
-    ALL_MATCHING_RULES_FAILED = 0x8CE,
 };
 
 struct PhysicalChannelConfig {
@@ -909,57 +892,3 @@
     BAND_53 = 53,
     BAND_96 = 96,
 };
-
-/**
- * This safe_union represents an optional DNN. DNN stands for Data Network Name
- * and represents an APN as defined in 3GPP TS 23.003.
- */
-safe_union OptionalDNN {
-    Monostate noinit;
-    string value;
-};
-
-/**
- * This safe_union represents an optional OSAppId.
- */
-safe_union OptionalOSAppId {
-    Monostate noinit;
-    OSAppId value;
-};
-
-/**
- * This safe_union represents an optional TrafficDescriptor.
- */
-safe_union OptionalTrafficDescriptor {
-    Monostate noinit;
-    TrafficDescriptor value;
-};
-
-/**
- * This struct represents a traffic descriptor. A valid struct must have at least
- * one of the optional values present. This is based on the definition of traffic
- * descriptor in TS 24.526 Section 5.2.
- */
-struct TrafficDescriptor {
-    /**
-     * DNN stands for Data Network Name and represents an APN as defined in
-     * 3GPP TS 23.003.
-     */
-    OptionalDNN dnn;
-    /**
-     * Indicates the OSId + OSAppId (used as category in Android).
-     */
-    OptionalOSAppId osAppId;
-};
-
-/**
- * This struct represents the OSId + OSAppId as defined in TS 24.526 Section 5.2
- */
-struct OSAppId {
-    /**
-     * Byte array representing OSId + OSAppId. The minimum length of the array is
-     * 18 and maximum length is 272 (16 bytes for OSId + 1 byte for OSAppId length
-     * + up to 255 bytes for OSAppId).
-     */
-    vec<uint8_t> osAppId;
-};
diff --git a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp
index 2acec46..8b87292 100644
--- a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp
+++ b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp
@@ -59,15 +59,9 @@
     ::android::hardware::radio::V1_6::OptionalSliceInfo optionalSliceInfo;
     memset(&optionalSliceInfo, 0, sizeof(optionalSliceInfo));
 
-    ::android::hardware::radio::V1_6::OptionalTrafficDescriptor optionalTrafficDescriptor;
-    memset(&optionalTrafficDescriptor, 0, sizeof(optionalTrafficDescriptor));
-
-    bool matchAllRuleAllowed = true;
-
     Return<void> res =
             radio_v1_6->setupDataCall_1_6(serial, accessNetwork, dataProfileInfo, roamingAllowed,
-                                          reason, addresses, dnses, -1, optionalSliceInfo,
-                                          optionalTrafficDescriptor, matchAllRuleAllowed);
+                                          reason, addresses, dnses, -1, optionalSliceInfo);
     ASSERT_OK(res);
 
     EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -88,81 +82,6 @@
     }
 }
 
-TEST_P(RadioHidlTest_v1_6, setupDataCall_1_6_osAppId) {
-    serial = GetRandomSerialNumber();
-
-    ::android::hardware::radio::V1_5::AccessNetwork accessNetwork =
-            ::android::hardware::radio::V1_5::AccessNetwork::EUTRAN;
-
-    android::hardware::radio::V1_5::DataProfileInfo dataProfileInfo;
-    memset(&dataProfileInfo, 0, sizeof(dataProfileInfo));
-    dataProfileInfo.profileId = DataProfileId::DEFAULT;
-    dataProfileInfo.apn = hidl_string("internet");
-    dataProfileInfo.protocol = PdpProtocolType::IP;
-    dataProfileInfo.roamingProtocol = PdpProtocolType::IP;
-    dataProfileInfo.authType = ApnAuthType::NO_PAP_NO_CHAP;
-    dataProfileInfo.user = hidl_string("username");
-    dataProfileInfo.password = hidl_string("password");
-    dataProfileInfo.type = DataProfileInfoType::THREE_GPP;
-    dataProfileInfo.maxConnsTime = 300;
-    dataProfileInfo.maxConns = 20;
-    dataProfileInfo.waitTime = 0;
-    dataProfileInfo.enabled = true;
-    dataProfileInfo.supportedApnTypesBitmap = 320;
-    dataProfileInfo.bearerBitmap = 161543;
-    dataProfileInfo.mtuV4 = 0;
-    dataProfileInfo.mtuV6 = 0;
-    dataProfileInfo.preferred = true;
-    dataProfileInfo.persistent = false;
-
-    bool roamingAllowed = false;
-
-    std::vector<::android::hardware::radio::V1_5::LinkAddress> addresses = {};
-    std::vector<hidl_string> dnses = {};
-
-    ::android::hardware::radio::V1_2::DataRequestReason reason =
-            ::android::hardware::radio::V1_2::DataRequestReason::NORMAL;
-
-    ::android::hardware::radio::V1_6::OptionalSliceInfo optionalSliceInfo;
-    memset(&optionalSliceInfo, 0, sizeof(optionalSliceInfo));
-
-    ::android::hardware::radio::V1_6::OptionalTrafficDescriptor optionalTrafficDescriptor;
-    memset(&optionalTrafficDescriptor, 0, sizeof(optionalTrafficDescriptor));
-
-    ::android::hardware::radio::V1_6::TrafficDescriptor trafficDescriptor;
-    ::android::hardware::radio::V1_6::OSAppId osAppId;
-    osAppId.osAppId = 1;
-    trafficDescriptor.osAppId.value(osAppId);
-    optionalTrafficDescriptor.value(trafficDescriptor);
-
-    bool matchAllRuleAllowed = true;
-
-    Return<void> res =
-            radio_v1_6->setupDataCall_1_6(serial, accessNetwork, dataProfileInfo, roamingAllowed,
-                                          reason, addresses, dnses, -1, optionalSliceInfo,
-                                          optionalTrafficDescriptor, matchAllRuleAllowed);
-    ASSERT_OK(res);
-
-    EXPECT_EQ(std::cv_status::no_timeout, wait());
-    EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo.type);
-    EXPECT_EQ(serial, radioRsp_v1_6->rspInfo.serial);
-    if (cardStatus.base.base.base.cardState == CardState::ABSENT) {
-        ASSERT_TRUE(CheckAnyOfErrors(
-                radioRsp_v1_6->rspInfo.error,
-                {::android::hardware::radio::V1_6::RadioError::SIM_ABSENT,
-                 ::android::hardware::radio::V1_6::RadioError::RADIO_NOT_AVAILABLE,
-                 ::android::hardware::radio::V1_6::RadioError::OP_NOT_ALLOWED_BEFORE_REG_TO_NW}));
-    } else if (cardStatus.base.base.base.cardState == CardState::PRESENT) {
-        ASSERT_TRUE(CheckAnyOfErrors(
-                radioRsp_v1_6->rspInfo.error,
-                {::android::hardware::radio::V1_6::RadioError::NONE,
-                 ::android::hardware::radio::V1_6::RadioError::RADIO_NOT_AVAILABLE,
-                 ::android::hardware::radio::V1_6::RadioError::OP_NOT_ALLOWED_BEFORE_REG_TO_NW}));
-        EXPECT_EQ(optionalTrafficDescriptor.value().osAppId.value().osAppId,
-                radioRsp_v1_6->setupDataCallResult.trafficDescriptors[0].osAppId.value().osAppId);
-    }
-}
-
 /*
  * Test IRadio_1_6.sendSms() for the response returned.
  */
diff --git a/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h b/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h
index ba2a359..334fec3 100644
--- a/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h
+++ b/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h
@@ -88,7 +88,6 @@
 
     // Data
     ::android::hardware::radio::V1_4::DataRegStateResult dataRegResp;
-    ::android::hardware::radio::V1_6::SetupDataCallResult setupDataCallResult;
 
     // SimLock status
     ::android::hardware::radio::V1_4::CarrierRestrictionsWithPriority carrierRestrictionsResp;
diff --git a/radio/1.6/vts/functional/radio_response.cpp b/radio/1.6/vts/functional/radio_response.cpp
index 1104328..100fabd 100644
--- a/radio/1.6/vts/functional/radio_response.cpp
+++ b/radio/1.6/vts/functional/radio_response.cpp
@@ -1050,9 +1050,8 @@
 
 Return<void> RadioResponse_v1_6::setupDataCallResponse_1_6(
         const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
-        const android::hardware::radio::V1_6::SetupDataCallResult& dcResponse) {
+        const android::hardware::radio::V1_6::SetupDataCallResult& /* dcResponse */) {
     rspInfo = info;
-    setupDataCallResult = dcResponse;
     parent_v1_6.notify(info.serial);
     return Void();
 }