Google contribution item #12 - subitem #1
[VZW-Skylo] Check previous state when request to disable TN scan is completed
Add some conditions for coexistence with P2P
Bug: 376269243
Flag: EXEMPT bugfix
Change-Id: I12e2337c03782e155e69c245b57c15f047020791
Signed-off-by: jaeshin <js074.lee@samsung.corp-partner.google.com>
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteSessionController.java b/src/java/com/android/internal/telephony/satellite/SatelliteSessionController.java
index 1b6f9f1..dc9bc30 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteSessionController.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteSessionController.java
@@ -188,6 +188,8 @@
@Nullable private DeviceStateMonitor mDeviceStateMonitor;
@NonNull private SessionMetricsStats mSessionMetricsStats;
@NonNull private FeatureFlags mFeatureFlags;
+ @SatelliteManager.SatelliteModemState private int mModemStateFromController =
+ SATELLITE_MODEM_STATE_UNKNOWN;
@NonNull private AlarmManager mAlarmManager;
private final AlarmManager.OnAlarmListener mAlarmListener = new AlarmManager.OnAlarmListener() {
@Override
@@ -382,6 +384,10 @@
*/
@VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
public void onSatelliteModemStateChanged(@SatelliteManager.SatelliteModemState int state) {
+ if (mFeatureFlags.carrierRoamingNbIotNtn()) {
+ plogd("onSatelliteModemStateChanged from SatelliteController : " + state);
+ mModemStateFromController = state;
+ }
sendMessage(EVENT_SATELLITE_MODEM_STATE_CHANGED, state);
}
@@ -998,7 +1004,15 @@
int error = SatelliteServiceUtils.getSatelliteError(
result, "DisableCellularModemWhileSatelliteModeIsOnDone");
if (error == SatelliteManager.SATELLITE_RESULT_SUCCESS) {
- transitionTo(mNotConnectedState);
+ if (mFeatureFlags.carrierRoamingNbIotNtn()
+ && mModemStateFromController == SATELLITE_MODEM_STATE_CONNECTED) {
+ ploge("mPreviousState : " + mPreviousState
+ + " mModemStateFromController : "
+ + mModemStateFromController + " I->C");
+ transitionTo(mConnectedState);
+ } else {
+ transitionTo(mNotConnectedState);
+ }
}
mIsDisableCellularModemInProgress = false;
} else {
@@ -1659,6 +1673,13 @@
}
mIsScreenOn = screenOn;
+ if (mSatelliteController.getRequestIsEmergency()) {
+ if (DBG) logd("handleEventScreenStateChanged: Emergency mode");
+ // This is for coexistence
+ // emergency mode can be set after registerForScreenStateChanged() called for P2P-sms
+ return;
+ }
+
if (!screenOn) {
// Screen off, start timer
int timeoutMillis = getScreenOffInactivityTimeoutDurationSec() * 1000;
@@ -1813,6 +1834,15 @@
}
private void handleEventScreenOffInactivityTimerTimedOut() {
+ if (mSatelliteController.getRequestIsEmergency()) {
+ loge("handleEventScreenOffInactivityTimerTimedOut: Emergency mode");
+ /* This is for coexistence
+ * mIsEmergency can be set after
+ * EVENT_SCREEN_OFF_INACTIVITY_TIMER_TIMED_OUT timer started
+ */
+ return;
+ }
+
plogd("handleEventScreenOffInactivityTimerTimedOut: request disable satellite");
mSatelliteController.requestSatelliteEnabled(