Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed49809d authored by Sarah Chin's avatar Sarah Chin Committed by Automerger Merge Worker
Browse files

Set NetworkSliceInfo status properly from RIL response am: 0b3abe62

parents 4fd16d1e 0b3abe62
Loading
Loading
Loading
Loading
+22 −2
Original line number Diff line number Diff line
@@ -288,6 +288,7 @@ import static com.android.internal.telephony.RILConstants.RIL_UNSOL_VOICE_RADIO_

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.hardware.radio.data.SliceInfo;
import android.net.InetAddresses;
import android.net.LinkAddress;
import android.net.LinkProperties;
@@ -3723,7 +3724,8 @@ public class RILUtils {
    private static NetworkSliceInfo convertHalSliceInfo(android.hardware.radio.V1_6.SliceInfo si) {
        NetworkSliceInfo.Builder builder = new NetworkSliceInfo.Builder()
                .setSliceServiceType(si.sst)
                .setMappedHplmnSliceServiceType(si.mappedHplmnSst);
                .setMappedHplmnSliceServiceType(si.mappedHplmnSst)
                .setStatus(convertHalSliceStatus(si.status));
        if (si.sliceDifferentiator != NetworkSliceInfo.SLICE_DIFFERENTIATOR_NO_SLICE) {
            builder.setSliceDifferentiator(si.sliceDifferentiator)
                    .setMappedHplmnSliceDifferentiator(si.mappedHplmnSD);
@@ -3734,7 +3736,8 @@ public class RILUtils {
    private static NetworkSliceInfo convertHalSliceInfo(android.hardware.radio.data.SliceInfo si) {
        NetworkSliceInfo.Builder builder = new NetworkSliceInfo.Builder()
                .setSliceServiceType(si.sliceServiceType)
                .setMappedHplmnSliceServiceType(si.mappedHplmnSst);
                .setMappedHplmnSliceServiceType(si.mappedHplmnSst)
                .setStatus(convertHalSliceStatus(si.status));
        if (si.sliceDifferentiator != NetworkSliceInfo.SLICE_DIFFERENTIATOR_NO_SLICE) {
            builder.setSliceDifferentiator(si.sliceDifferentiator)
                    .setMappedHplmnSliceDifferentiator(si.mappedHplmnSd);
@@ -3742,6 +3745,23 @@ public class RILUtils {
        return builder.build();
    }

    @NetworkSliceInfo.SliceStatus private static int convertHalSliceStatus(byte status) {
        switch (status) {
            case SliceInfo.STATUS_CONFIGURED:
                return NetworkSliceInfo.SLICE_STATUS_CONFIGURED;
            case SliceInfo.STATUS_ALLOWED:
                return NetworkSliceInfo.SLICE_STATUS_ALLOWED;
            case SliceInfo.STATUS_REJECTED_NOT_AVAILABLE_IN_PLMN:
                return NetworkSliceInfo.SLICE_STATUS_REJECTED_NOT_AVAILABLE_IN_PLMN;
            case SliceInfo.STATUS_REJECTED_NOT_AVAILABLE_IN_REG_AREA:
                return NetworkSliceInfo.SLICE_STATUS_REJECTED_NOT_AVAILABLE_IN_REGISTERED_AREA;
            case SliceInfo.STATUS_DEFAULT_CONFIGURED:
                return NetworkSliceInfo.SLICE_STATUS_DEFAULT_CONFIGURED;
            default:
                return NetworkSliceInfo.SLICE_STATUS_UNKNOWN;
        }
    }

    private static TrafficDescriptor convertHalTrafficDescriptor(
            android.hardware.radio.V1_6.TrafficDescriptor td) throws IllegalArgumentException {
        String dnn = td.dnn.getDiscriminator()