Adjusted the timing of getting instance of the SatelliteController.
The Instance of SatelliteController is not created at
ServiceStateStats creation time. so moved to inline function
Bug: 340684228
Test: statsd_testdrive 10090
Merged-In: Ib35cc76e44ec494e753cdff2e1b2afa4a84bb634
Change-Id: Ib35cc76e44ec494e753cdff2e1b2afa4a84bb634
diff --git a/src/java/com/android/internal/telephony/metrics/ServiceStateStats.java b/src/java/com/android/internal/telephony/metrics/ServiceStateStats.java
index ff90978..d4830ae 100644
--- a/src/java/com/android/internal/telephony/metrics/ServiceStateStats.java
+++ b/src/java/com/android/internal/telephony/metrics/ServiceStateStats.java
@@ -62,14 +62,12 @@
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. */
@@ -121,6 +119,7 @@
// Finish the duration of last service state and mark modem off
addServiceState(mLastState.getAndSet(new TimestampedServiceState(null, now)), now);
} else {
+ SatelliteController satelliteController = SatelliteController.getInstance();
CellularServiceState newState = new CellularServiceState();
newState.voiceRat = getVoiceRat(mPhone, serviceState);
newState.dataRat = getRat(serviceState, NetworkRegistrationInfo.DOMAIN_PS);
@@ -138,8 +137,8 @@
newState.overrideVoiceService = mOverrideVoiceService.get();
newState.isDataEnabled = mPhone.getDataSettingsManager().isDataEnabled();
newState.isIwlanCrossSim = isCrossSimCallingRegistered(mPhone);
- newState.isNtn = mSatelliteController != null
- ? mSatelliteController.isInSatelliteModeForCarrierRoaming(mPhone) : false;
+ newState.isNtn = satelliteController != null
+ && satelliteController.isInSatelliteModeForCarrierRoaming(mPhone);
TimestampedServiceState prevState =
mLastState.getAndSet(new TimestampedServiceState(newState, now));
addServiceStateAndSwitch(