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

Commit 827fbf64 authored by Aishwarya Mallampati's avatar Aishwarya Mallampati
Browse files

Add is_ntn field

is_ntn field is added to below existing atoms:
- DataCallSession
- VoiceCallSession
- CellularServiceState

Bug: 330256940
Test: atest
Change-Id: I53cfdae62d132c0561f2245d7f8f8dfd171534e5
parent 9f83dbbb
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -287,6 +287,7 @@ message VoiceCallSession {
    optional bool is_iwlan_cross_sim_at_end = 38;
    optional bool is_iwlan_cross_sim_at_connected = 39;
    optional bool vonr_enabled = 40;
    optional bool is_ntn = 41;

    // Internal use only
    optional int64 setup_begin_millis = 10001;
@@ -379,6 +380,7 @@ message DataCallSession {
    repeated int32 handover_failure_rat = 21;
    optional bool is_non_dds = 22;
    optional bool is_iwlan_cross_sim = 23;
    optional bool is_ntn = 24;
}

message CellularServiceState {
@@ -397,6 +399,7 @@ message CellularServiceState {
    optional bool override_voice_service = 13;
    optional bool isDataEnabled = 14;
    optional bool is_iwlan_cross_sim = 15;
    optional bool is_ntn = 16;

    // Internal use only
    optional int64 last_used_millis = 10001;
+6 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.ServiceStateTracker;
import com.android.internal.telephony.data.DataNetwork;
import com.android.internal.telephony.nano.PersistAtomsProto.DataCallSession;
import com.android.internal.telephony.satellite.SatelliteController;
import com.android.internal.telephony.subscription.SubscriptionInfoInternal;
import com.android.internal.telephony.subscription.SubscriptionManagerService;
import com.android.telephony.Rlog;
@@ -64,10 +65,12 @@ public class DataCallSessionStats {
    public static final int SIZE_LIMIT_HANDOVER_FAILURES = 15;

    private final DefaultNetworkMonitor mDefaultNetworkMonitor;
    private final SatelliteController mSatelliteController;

    public DataCallSessionStats(Phone phone) {
        mPhone = phone;
        mDefaultNetworkMonitor = PhoneFactory.getMetricsCollector().getDefaultNetworkMonitor();
        mSatelliteController = SatelliteController.getInstance();
    }

    private boolean isSystemDefaultNetworkMobile() {
@@ -303,6 +306,7 @@ public class DataCallSessionStats {
                call.handoverFailureRat.length);
        copy.isNonDds = call.isNonDds;
        copy.isIwlanCrossSim = call.isIwlanCrossSim;
        copy.isNtn = call.isNtn;
        return copy;
    }

@@ -329,6 +333,8 @@ public class DataCallSessionStats {
        proto.handoverFailureRat = new int[0];
        proto.isNonDds = false;
        proto.isIwlanCrossSim = false;
        proto.isNtn = mSatelliteController != null
                ? mSatelliteController.isInSatelliteModeForCarrierRoaming(mPhone) : false;
        return proto;
    }

+6 −3
Original line number Diff line number Diff line
@@ -993,7 +993,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                state.foldState,
                state.overrideVoiceService,
                state.isDataEnabled,
                state.isIwlanCrossSim);
                state.isIwlanCrossSim,
                state.isNtn);
    }

    private static StatsEvent buildStatsEvent(VoiceCallRatUsage usage) {
@@ -1051,7 +1052,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                session.isIwlanCrossSimAtStart,
                session.isIwlanCrossSimAtEnd,
                session.isIwlanCrossSimAtConnected,
                session.vonrEnabled);
                session.vonrEnabled,
                session.isNtn);

    }

@@ -1128,7 +1130,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                dataCallSession.handoverFailureCauses,
                dataCallSession.handoverFailureRat,
                dataCallSession.isNonDds,
                dataCallSession.isIwlanCrossSim);
                dataCallSession.isIwlanCrossSim,
                dataCallSession.isNtn);
    }

    private static StatsEvent buildStatsEvent(ImsRegistrationStats stats) {
+2 −1
Original line number Diff line number Diff line
@@ -1766,7 +1766,8 @@ public class PersistAtomsStorage {
                    && state.foldState == key.foldState
                    && state.overrideVoiceService == key.overrideVoiceService
                    && state.isDataEnabled == key.isDataEnabled
                    && state.isIwlanCrossSim == key.isIwlanCrossSim) {
                    && state.isIwlanCrossSim == key.isIwlanCrossSim
                    && state.isNtn == key.isNtn) {
                return state;
            }
        }
+6 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import com.android.internal.telephony.data.DataNetworkController.DataNetworkCont
import com.android.internal.telephony.imsphone.ImsPhone;
import com.android.internal.telephony.nano.PersistAtomsProto.CellularDataServiceSwitch;
import com.android.internal.telephony.nano.PersistAtomsProto.CellularServiceState;
import com.android.internal.telephony.satellite.SatelliteController;
import com.android.telephony.Rlog;

import java.util.Set;
@@ -66,12 +67,14 @@ public class ServiceStateStats extends DataNetworkControllerCallback {
    private boolean mExistAnyConnectedInternetPdn;
    private int mCurrentDataRat =
            TelephonyStatsLog.DATA_RAT_STATE_CHANGED__DATA_RAT__DATA_RAT_UNSPECIFIED;
    private final SatelliteController mSatelliteController;

    public ServiceStateStats(Phone phone) {
        super(Runnable::run);
        mPhone = phone;
        mStorage = PhoneFactory.getMetricsCollector().getAtomsStorage();
        mDeviceStateHelper = PhoneFactory.getMetricsCollector().getDeviceStateHelper();
        mSatelliteController = SatelliteController.getInstance();
    }

    /** Finalizes the durations of the current service state segment. */
@@ -140,6 +143,8 @@ public class ServiceStateStats extends DataNetworkControllerCallback {
            newState.overrideVoiceService = mOverrideVoiceService.get();
            newState.isDataEnabled = mPhone.getDataSettingsManager().isDataEnabled();
            newState.isIwlanCrossSim = isCrossSimCallingRegistered(mPhone);
            newState.isNtn = mSatelliteController != null
                    ? mSatelliteController.isInSatelliteModeForCarrierRoaming(mPhone) : false;
            TimestampedServiceState prevState =
                    mLastState.getAndSet(new TimestampedServiceState(newState, now));
            addServiceStateAndSwitch(
@@ -315,6 +320,7 @@ public class ServiceStateStats extends DataNetworkControllerCallback {
        copy.overrideVoiceService = state.overrideVoiceService;
        copy.isDataEnabled = state.isDataEnabled;
        copy.isIwlanCrossSim = state.isIwlanCrossSim;
        copy.isNtn = state.isNtn;
        return copy;
    }

Loading