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

Commit 2c66a73c 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
Merged-In: I53cfdae62d132c0561f2245d7f8f8dfd171534e5
parent 42e7cd4b
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -281,6 +281,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;
@@ -373,6 +374,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 {
@@ -391,6 +393,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
@@ -972,7 +972,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) {
@@ -1030,7 +1031,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                session.isIwlanCrossSimAtStart,
                session.isIwlanCrossSimAtEnd,
                session.isIwlanCrossSimAtConnected,
                session.vonrEnabled);
                session.vonrEnabled,
                session.isNtn);

    }

@@ -1107,7 +1109,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
@@ -1715,7 +1715,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
@@ -44,6 +44,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;
@@ -61,12 +62,14 @@ public class ServiceStateStats extends DataNetworkControllerCallback {
    private final PersistAtomsStorage mStorage;
    private final DeviceStateHelper mDeviceStateHelper;
    private boolean mExistAnyConnectedInternetPdn;
    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. */
@@ -135,6 +138,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(
@@ -306,6 +311,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