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

Commit 4cc6d6d3 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Log PS WWAN RAT from registration info"

parents af3c7ca0 20615ac2
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -242,6 +242,17 @@ message TelephonyServiceState {
    optional string numeric = 3;
  }

  message NetworkRegistrationInfo {
    // Network domain
    optional Domain domain = 1;

    // Network transport
    optional Transport transport = 2;

    // Radio access technology
    optional RadioAccessTechnology rat = 3;
  }

  // Roaming type
  enum RoamingType {

@@ -302,6 +313,29 @@ message TelephonyServiceState {
    NR_STATE_CONNECTED = 3;
  }

  // Domain type
  enum Domain {
    // Unknown
    DOMAIN_UNKNOWN = 0;

    // Circuit switching domain
    DOMAIN_CS = 1;

    // Packet switching domain
    DOMAIN_PS = 2;
  }

  enum Transport {
    // Unknown
    TRANSPORT_UNKNOWN = 0;

    // Transport type for Wireless Wide Area Networks (i.e. Cellular)
    TRANSPORT_WWAN = 1;

    // Transport type for Wireless Local Area Networks (i.e. Wifi)
    TRANSPORT_WLAN = 2;
  }

  // Current registered operator
  optional TelephonyOperator voice_operator = 1;

@@ -328,6 +362,9 @@ message TelephonyServiceState {

  // Current NR state
  optional NrState nr_state = 9;

  // Network registration info
  repeated NetworkRegistrationInfo networkRegistrationInfo = 10;
}

// Radio access families
+27 −0
Original line number Diff line number Diff line
@@ -44,8 +44,10 @@ import android.os.Build;
import android.os.SystemClock;
import android.os.SystemProperties;
import android.provider.Telephony.Sms.Intents;
import android.telephony.AccessNetworkConstants;
import android.telephony.CallQuality;
import android.telephony.DisconnectCause;
import android.telephony.NetworkRegistrationInfo;
import android.telephony.Rlog;
import android.telephony.ServiceState;
import android.telephony.SmsManager;
@@ -461,6 +463,11 @@ public class TelephonyMetrics {
                        + " NR Frequency Range " + event.serviceState.nrFrequencyRange
                        + " NR State " + event.serviceState.nrState
                        + ")");
                for (int i = 0; i < event.serviceState.networkRegistrationInfo.length; i++) {
                    pw.print("reg info: domain="
                            + event.serviceState.networkRegistrationInfo[i].domain
                            + ", rat=" + event.serviceState.networkRegistrationInfo[i].rat);
                }
            } else {
                pw.print(telephonyEventToString(event.type));
            }
@@ -939,6 +946,26 @@ public class TelephonyMetrics {
            ssProto.dataOperator.numeric = serviceState.getOperatorNumeric();
        }

        // Log PS WWAN only because CS WWAN would be exactly the same as voiceRat, and PS WLAN
        // would be always IWLAN in the rat field.
        // Note that we intentionally do not log reg state because it changes too frequently that
        // will grow the proto size too much.
        List<TelephonyServiceState.NetworkRegistrationInfo> nriList = new ArrayList<>();
        NetworkRegistrationInfo nri = serviceState.getNetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
        if (nri != null) {
            TelephonyServiceState.NetworkRegistrationInfo nriProto =
                    new TelephonyServiceState.NetworkRegistrationInfo();
            nriProto.domain = TelephonyServiceState.Domain.DOMAIN_PS;
            nriProto.transport = TelephonyServiceState.Transport.TRANSPORT_WWAN;
            nriProto.rat = ServiceState.networkTypeToRilRadioTechnology(
                    nri.getAccessNetworkTechnology());
            nriList.add(nriProto);
            ssProto.networkRegistrationInfo =
                    new TelephonyServiceState.NetworkRegistrationInfo[nriList.size()];
            nriList.toArray(ssProto.networkRegistrationInfo);
        }

        ssProto.voiceRat = serviceState.getRilVoiceRadioTechnology();
        ssProto.dataRat = serviceState.getRilDataRadioTechnology();
        ssProto.channelNumber = serviceState.getChannelNumber();