Loading src/java/com/android/internal/telephony/DeviceStateMonitor.java +33 −3 Original line number Diff line number Diff line Loading @@ -37,8 +37,10 @@ import android.os.Message; import android.os.PowerManager; import android.os.Registrant; import android.os.RegistrantList; import android.provider.Settings; import android.telephony.AccessNetworkConstants.AccessNetworkType; import android.telephony.CarrierConfigManager; import android.telephony.NetworkRegistrationInfo; import android.telephony.SignalThresholdInfo; import android.util.LocalLog; import android.view.Display; Loading Loading @@ -81,6 +83,10 @@ public class DeviceStateMonitor extends Handler { private static final int WIFI_UNAVAILABLE = 0; private static final int WIFI_AVAILABLE = 1; private static final int NR_NSA_TRACKING_INDICATIONS_OFF = 0; private static final int NR_NSA_TRACKING_INDICATIONS_EXTENDED = 1; private static final int NR_NSA_TRACKING_INDICATIONS_ALWAYS_ON = 2; private final Phone mPhone; private final LocalLog mLocalLog = new LocalLog(100); Loading Loading @@ -329,7 +335,7 @@ public class DeviceStateMonitor extends Handler { * android.hardware.radio@1.2::IndicationFilter::FULL_NETWORK_STATE. */ private boolean shouldEnableFullNetworkStateReports() { return shouldEnableHighPowerConsumptionIndications(); return shouldEnableNrTrackingIndications(); } /** Loading @@ -337,7 +343,7 @@ public class DeviceStateMonitor extends Handler { * android.hardware.radio@1.2::IndicationFilter::DATA_CALL_DORMANCY_CHANGED. */ private boolean shouldEnableDataCallDormancyChangedReports() { return shouldEnableHighPowerConsumptionIndications(); return shouldEnableNrTrackingIndications(); } /** Loading @@ -353,7 +359,7 @@ public class DeviceStateMonitor extends Handler { * android.hardware.radio@1.2::IndicationFilter::PHYSICAL_CHANNEL_CONFIG. */ private boolean shouldEnablePhysicalChannelConfigReports() { return shouldEnableHighPowerConsumptionIndications(); return shouldEnableNrTrackingIndications(); } /** Loading @@ -378,6 +384,30 @@ public class DeviceStateMonitor extends Handler { return mIsCharging || mIsScreenOn || mIsTetheringOn; } /** * For 5G NSA devices, a policy to determine if we should enable NR tracking indications. * * @return True if the response update should be enabled. */ private boolean shouldEnableNrTrackingIndications() { int trackingMode = Settings.Global.getInt(mPhone.getContext().getContentResolver(), Settings.Global.NR_NSA_TRACKING_SCREEN_OFF_MODE, NR_NSA_TRACKING_INDICATIONS_OFF); switch (trackingMode) { case NR_NSA_TRACKING_INDICATIONS_ALWAYS_ON: return true; case NR_NSA_TRACKING_INDICATIONS_EXTENDED: if (mPhone.getServiceState().getNrState() == NetworkRegistrationInfo.NR_STATE_CONNECTED) { return true; } // fallthrough case NR_NSA_TRACKING_INDICATIONS_OFF: return shouldEnableHighPowerConsumptionIndications(); default: return shouldEnableHighPowerConsumptionIndications(); } } /** * Set if Telephony need always report signal strength. * Loading Loading
src/java/com/android/internal/telephony/DeviceStateMonitor.java +33 −3 Original line number Diff line number Diff line Loading @@ -37,8 +37,10 @@ import android.os.Message; import android.os.PowerManager; import android.os.Registrant; import android.os.RegistrantList; import android.provider.Settings; import android.telephony.AccessNetworkConstants.AccessNetworkType; import android.telephony.CarrierConfigManager; import android.telephony.NetworkRegistrationInfo; import android.telephony.SignalThresholdInfo; import android.util.LocalLog; import android.view.Display; Loading Loading @@ -81,6 +83,10 @@ public class DeviceStateMonitor extends Handler { private static final int WIFI_UNAVAILABLE = 0; private static final int WIFI_AVAILABLE = 1; private static final int NR_NSA_TRACKING_INDICATIONS_OFF = 0; private static final int NR_NSA_TRACKING_INDICATIONS_EXTENDED = 1; private static final int NR_NSA_TRACKING_INDICATIONS_ALWAYS_ON = 2; private final Phone mPhone; private final LocalLog mLocalLog = new LocalLog(100); Loading Loading @@ -329,7 +335,7 @@ public class DeviceStateMonitor extends Handler { * android.hardware.radio@1.2::IndicationFilter::FULL_NETWORK_STATE. */ private boolean shouldEnableFullNetworkStateReports() { return shouldEnableHighPowerConsumptionIndications(); return shouldEnableNrTrackingIndications(); } /** Loading @@ -337,7 +343,7 @@ public class DeviceStateMonitor extends Handler { * android.hardware.radio@1.2::IndicationFilter::DATA_CALL_DORMANCY_CHANGED. */ private boolean shouldEnableDataCallDormancyChangedReports() { return shouldEnableHighPowerConsumptionIndications(); return shouldEnableNrTrackingIndications(); } /** Loading @@ -353,7 +359,7 @@ public class DeviceStateMonitor extends Handler { * android.hardware.radio@1.2::IndicationFilter::PHYSICAL_CHANNEL_CONFIG. */ private boolean shouldEnablePhysicalChannelConfigReports() { return shouldEnableHighPowerConsumptionIndications(); return shouldEnableNrTrackingIndications(); } /** Loading @@ -378,6 +384,30 @@ public class DeviceStateMonitor extends Handler { return mIsCharging || mIsScreenOn || mIsTetheringOn; } /** * For 5G NSA devices, a policy to determine if we should enable NR tracking indications. * * @return True if the response update should be enabled. */ private boolean shouldEnableNrTrackingIndications() { int trackingMode = Settings.Global.getInt(mPhone.getContext().getContentResolver(), Settings.Global.NR_NSA_TRACKING_SCREEN_OFF_MODE, NR_NSA_TRACKING_INDICATIONS_OFF); switch (trackingMode) { case NR_NSA_TRACKING_INDICATIONS_ALWAYS_ON: return true; case NR_NSA_TRACKING_INDICATIONS_EXTENDED: if (mPhone.getServiceState().getNrState() == NetworkRegistrationInfo.NR_STATE_CONNECTED) { return true; } // fallthrough case NR_NSA_TRACKING_INDICATIONS_OFF: return shouldEnableHighPowerConsumptionIndications(); default: return shouldEnableHighPowerConsumptionIndications(); } } /** * Set if Telephony need always report signal strength. * Loading