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

Commit 982f7b09 authored by Nagendra Prasad Nagarle Basavaraju's avatar Nagendra Prasad Nagarle Basavaraju Committed by Android (Google) Code Review
Browse files

Merge "Add metrics for Satellite Transport" into main

parents fd38460d e066ca53
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -381,6 +381,7 @@ message DataCallSession {
    optional bool is_non_dds = 22;
    optional bool is_iwlan_cross_sim = 23;
    optional bool is_ntn = 24;
    optional bool is_satellite_transport = 25;
}

message CellularServiceState {
@@ -470,6 +471,12 @@ message NetworkRequestsV2 {
        PRIORITIZE_BANDWIDTH = 2;
        CBS = 3;
        ENTERPRISE = 4;
        SATELLITE_INTERNET_RESTRICTED = 5;
        SATELLITE_MMS_RESTRICTED = 6;
        SATELLITE_IMS_RESTRICTED = 7;
        SATELLITE_XCAP_RESTRICTED = 8;
        SATELLITE_EIMS_RESTRICTED = 9;
        SATELLITE_SUPL_RESTRICTED =10;
    }
    optional int32 carrier_id = 1;
    optional NetworkCapability capability = 2;
+1 −1
Original line number Diff line number Diff line
@@ -1524,7 +1524,7 @@ public class DataNetwork extends StateMachine {

            int apnTypeBitmask = mDataProfile.getApnSetting() != null
                    ? mDataProfile.getApnSetting().getApnTypeBitmask() : ApnSetting.TYPE_NONE;
            mDataCallSessionStats.onSetupDataCall(apnTypeBitmask);
            mDataCallSessionStats.onSetupDataCall(apnTypeBitmask, isSatellite());

            logl("setupData: accessNetwork="
                    + AccessNetworkType.toString(accessNetwork) + ", " + mDataProfile
+7 −3
Original line number Diff line number Diff line
@@ -79,8 +79,9 @@ public class DataCallSessionStats {
    }

    /** Creates a new ongoing atom when data call is set up. */
    public synchronized void onSetupDataCall(@ApnType int apnTypeBitMask) {
        mDataCallSession = getDefaultProto(apnTypeBitMask);
    public synchronized void onSetupDataCall(@ApnType int apnTypeBitMask,
            boolean isSatellite) {
        mDataCallSession = getDefaultProto(apnTypeBitMask, isSatellite);
        mStartTime = getTimeMillis();
        PhoneFactory.getMetricsCollector().registerOngoingDataCallStat(this);
    }
@@ -307,11 +308,13 @@ public class DataCallSessionStats {
        copy.isNonDds = call.isNonDds;
        copy.isIwlanCrossSim = call.isIwlanCrossSim;
        copy.isNtn = call.isNtn;
        copy.isSatelliteTransport = call.isSatelliteTransport;
        return copy;
    }

    /** Creates a proto for a normal {@code DataCallSession} with default values. */
    private DataCallSession getDefaultProto(@ApnType int apnTypeBitmask) {
    private DataCallSession getDefaultProto(@ApnType int apnTypeBitmask,
            boolean isSatellite) {
        DataCallSession proto = new DataCallSession();
        proto.dimension = RANDOM.nextInt();
        proto.isMultiSim = SimSlotState.isMultiSim();
@@ -335,6 +338,7 @@ public class DataCallSessionStats {
        proto.isIwlanCrossSim = false;
        proto.isNtn = mSatelliteController != null
                ? mSatelliteController.isInSatelliteModeForCarrierRoaming(mPhone) : false;
        proto.isSatelliteTransport = isSatellite;
        return proto;
    }

+2 −1
Original line number Diff line number Diff line
@@ -1131,7 +1131,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                dataCallSession.handoverFailureRat,
                dataCallSession.isNonDds,
                dataCallSession.isIwlanCrossSim,
                dataCallSession.isNtn);
                dataCallSession.isNtn,
                dataCallSession.isSatelliteTransport);
    }

    private static StatsEvent buildStatsEvent(ImsRegistrationStats stats) {
+41 −0
Original line number Diff line number Diff line
@@ -59,6 +59,47 @@ public class NetworkRequestsStats {
            networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.ENTERPRISE;
            storage.addNetworkRequestsV2(networkRequestsTemplate);
        }

        if (networkRequest.hasTransport(NetworkCapabilities.TRANSPORT_SATELLITE)
                && !networkRequest.hasCapability(
                        NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) {

            if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) {
                networkRequestsTemplate.capability =
                        NetworkRequestsV2.NetworkCapability.SATELLITE_INTERNET_RESTRICTED;
                storage.addNetworkRequestsV2(networkRequestsTemplate);
            }

            if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_MMS)) {
                networkRequestsTemplate.capability =
                        NetworkRequestsV2.NetworkCapability.SATELLITE_MMS_RESTRICTED;
                storage.addNetworkRequestsV2(networkRequestsTemplate);
            }

            if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_IMS)) {
                networkRequestsTemplate.capability =
                        NetworkRequestsV2.NetworkCapability.SATELLITE_IMS_RESTRICTED;
                storage.addNetworkRequestsV2(networkRequestsTemplate);
            }

            if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_XCAP)) {
                networkRequestsTemplate.capability =
                        NetworkRequestsV2.NetworkCapability.SATELLITE_XCAP_RESTRICTED;
                storage.addNetworkRequestsV2(networkRequestsTemplate);
            }

            if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_EIMS)) {
                networkRequestsTemplate.capability =
                        NetworkRequestsV2.NetworkCapability.SATELLITE_EIMS_RESTRICTED;
                storage.addNetworkRequestsV2(networkRequestsTemplate);
            }

            if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_SUPL)) {
                networkRequestsTemplate.capability =
                        NetworkRequestsV2.NetworkCapability.SATELLITE_SUPL_RESTRICTED;
                storage.addNetworkRequestsV2(networkRequestsTemplate);
            }
        }
    }

    /** Returns the carrier ID of the given subscription id. */
Loading