Loading src/java/com/android/internal/telephony/satellite/SatelliteController.java +29 −30 Original line number Diff line number Diff line Loading @@ -385,6 +385,8 @@ public class SatelliteController extends Handler { private AtomicBoolean mDisableWifiOnSatelliteEnabled = new AtomicBoolean(false); protected AtomicBoolean mIsSatelliteSupported = null; private AtomicBoolean mNeedsSatellitePointing = new AtomicBoolean(false); private AtomicBoolean mIsDemoModeEnabled = new AtomicBoolean(false); private AtomicBoolean mIsEmergency = new AtomicBoolean(false); private final Object mSatelliteEnabledRequestLock = new Object(); /* This variable is used to store the first enable request that framework has received in the Loading Loading @@ -477,9 +479,6 @@ public class SatelliteController extends Handler { private final ConcurrentHashMap<IBinder, ISelectedNbIotSatelliteSubscriptionCallback> mSelectedNbIotSatelliteSubscriptionChangedListeners = new ConcurrentHashMap<>(); private boolean mIsDemoModeEnabled = false; private boolean mIsEmergency = false; private final Object mIsSatelliteEnabledLock = new Object(); @GuardedBy("mIsSatelliteEnabledLock") private Boolean mIsSatelliteEnabled = null; Loading Loading @@ -1584,7 +1583,7 @@ public class SatelliteController extends Handler { .setSatelliteTechnology(getSupportedNtnRadioTechnology()) .setInitializationProcessingTime( getElapsedRealtime() - mSessionProcessingTimeStamp) .setIsDemoMode(mIsDemoModeEnabled) .setIsDemoMode(mIsDemoModeEnabled.get()) .setCarrierId(getSatelliteCarrierId()) .setIsEmergency(argument.isEmergency); mSessionProcessingTimeStamp = 0; Loading @@ -1606,7 +1605,7 @@ public class SatelliteController extends Handler { mSessionStartTimeStamp = 0; mSessionProcessingTimeStamp = 0; mControllerMetricsStats.onSatelliteDisabled(); handlePersistentLoggingOnSessionEnd(mIsEmergency); handlePersistentLoggingOnSessionEnd(mIsEmergency.get()); synchronized (mSatelliteEnabledRequestLock) { mWaitingForDisableSatelliteModemResponse = false; } Loading Loading @@ -2764,7 +2763,7 @@ public class SatelliteController extends Handler { if (isSatelliteEnabled != null && isSatelliteEnabled == enableSatellite) { evaluateToUpdateSatelliteEnabledAttributes(result, SatelliteManager.SATELLITE_RESULT_SUCCESS, request, mIsDemoModeEnabled, mIsEmergency); mIsDemoModeEnabled.get(), mIsEmergency.get()); return; } Loading Loading @@ -3108,7 +3107,7 @@ public class SatelliteController extends Handler { } final Bundle bundle = new Bundle(); bundle.putBoolean(SatelliteManager.KEY_DEMO_MODE_ENABLED, mIsDemoModeEnabled); bundle.putBoolean(SatelliteManager.KEY_DEMO_MODE_ENABLED, mIsDemoModeEnabled.get()); result.send(SATELLITE_RESULT_SUCCESS, bundle); } Loading @@ -3118,7 +3117,7 @@ public class SatelliteController extends Handler { * @return {@code true} if the satellite demo mode is enabled and {@code false} otherwise. */ public boolean isDemoModeEnabled() { return mIsDemoModeEnabled; return mIsDemoModeEnabled.get(); } /** Loading Loading @@ -3650,9 +3649,8 @@ public class SatelliteController extends Handler { * TODO for NTN-based satellites: Check if satellite is acquired. */ if (mNeedsSatellitePointing.get()) { mPointingAppController.startPointingUI(needFullScreenPointingUI, mIsDemoModeEnabled, mIsEmergency); mPointingAppController.startPointingUI(needFullScreenPointingUI, mIsDemoModeEnabled.get(), mIsEmergency.get()); } mDatagramController.sendSatelliteDatagram(getSelectedSatelliteSubId(), datagramType, Loading Loading @@ -4760,7 +4758,7 @@ public class SatelliteController extends Handler { * {@code false} otherwise. */ public boolean getRequestIsEmergency() { return mIsEmergency; return mIsEmergency.get(); } /** Loading Loading @@ -5331,7 +5329,7 @@ public class SatelliteController extends Handler { } if (mSatelliteSessionController != null) { mSatelliteSessionController.onSatelliteEnabledStateChanged(enabled); mSatelliteSessionController.setDemoMode(mIsDemoModeEnabled); mSatelliteSessionController.setDemoMode(mIsDemoModeEnabled.get()); } else { ploge(caller + ": mSatelliteSessionController is not initialized yet"); } Loading Loading @@ -5832,9 +5830,9 @@ public class SatelliteController extends Handler { if (mSatelliteEnabledRequest.enableSatellite && !mSatelliteEnabledRequest.isEmergency) { plogd("Starting pointingUI needFullscreenPointingUI=" + true + "mIsDemoModeEnabled=" + mIsDemoModeEnabled + ", isEmergency=" + "mIsDemoModeEnabled=" + mIsDemoModeEnabled.get() + ", isEmergency=" + mSatelliteEnabledRequest.isEmergency); mPointingAppController.startPointingUI(true, mIsDemoModeEnabled, false); mPointingAppController.startPointingUI(true, mIsDemoModeEnabled.get(), false); } mSatelliteEnabledRequest = null; mWaitingForRadioDisabled = false; Loading Loading @@ -5879,7 +5877,7 @@ public class SatelliteController extends Handler { @SatelliteManager.SatelliteResult int resultCode) { plogd("moveSatelliteToOffStateAndCleanUpResources"); setDemoModeEnabled(false); handlePersistentLoggingOnSessionEnd(mIsEmergency); handlePersistentLoggingOnSessionEnd(mIsEmergency.get()); setEmergencyMode(false); synchronized (mIsSatelliteEnabledLock) { mIsSatelliteEnabled = false; Loading @@ -5903,17 +5901,18 @@ public class SatelliteController extends Handler { } private void setDemoModeEnabled(boolean enabled) { mIsDemoModeEnabled = enabled; mDatagramController.setDemoMode(mIsDemoModeEnabled); plogd("setDemoModeEnabled: mIsDemoModeEnabled=" + mIsDemoModeEnabled); mIsDemoModeEnabled.set(enabled); mDatagramController.setDemoMode(enabled); plogd("setDemoModeEnabled: mIsDemoModeEnabled=" + enabled); } private void setEmergencyMode(boolean isEmergency) { plogd("setEmergencyMode: mIsEmergency=" + mIsEmergency + ", isEmergency=" + isEmergency); if (mIsEmergency != isEmergency) { mIsEmergency = isEmergency; plogd("setEmergencyMode: mIsEmergency=" + mIsEmergency.get() + ", isEmergency=" + isEmergency); if (mIsEmergency.get() != isEmergency) { mIsEmergency.set(isEmergency); if (mSatelliteSessionController != null) { mSatelliteSessionController.onEmergencyModeChanged(mIsEmergency); mSatelliteSessionController.onEmergencyModeChanged(isEmergency); } else { plogw("setEmergencyMode: mSatelliteSessionController is null"); } Loading Loading @@ -6767,7 +6766,7 @@ public class SatelliteController extends Handler { result.accept(error); mSessionMetricsStats.setInitializationResult(error) .setSatelliteTechnology(getSupportedNtnRadioTechnology()) .setIsDemoMode(mIsDemoModeEnabled) .setIsDemoMode(mIsDemoModeEnabled.get()) .setCarrierId(getSatelliteCarrierId()) .setIsNtnOnlyCarrier(isNtnOnlyCarrier()) .reportSessionMetrics(); Loading Loading @@ -6928,7 +6927,7 @@ public class SatelliteController extends Handler { private void logCarrierRoamingSatelliteSessionStats(@NonNull Phone phone, boolean lastNotifiedNtnMode, boolean currNtnMode) { if (mIsDemoModeEnabled) { if (mIsDemoModeEnabled.get()) { plogd("logCarrierRoamingSatelliteSessionStats: return, demo mode is enabled"); return; } Loading Loading @@ -7373,7 +7372,7 @@ public class SatelliteController extends Handler { .setSatelliteTechnology(getSupportedNtnRadioTechnology()) .setInitializationProcessingTime( getElapsedRealtime() - mSessionProcessingTimeStamp) .setIsDemoMode(mIsDemoModeEnabled) .setIsDemoMode(mIsDemoModeEnabled.get()) .setCarrierId(getSatelliteCarrierId()) .reportSessionMetrics(); } else { Loading Loading @@ -8912,11 +8911,11 @@ public class SatelliteController extends Handler { /** Start PointingUI if it is required. */ public void startPointingUI() { plogd("startPointingUI: mNeedsSatellitePointing=" + mNeedsSatellitePointing.get() + ", mIsDemoModeEnabled=" + mIsDemoModeEnabled + ", mIsEmergency=" + mIsEmergency); + ", mIsDemoModeEnabled=" + mIsDemoModeEnabled.get() + ", mIsEmergency=" + mIsEmergency.get()); if (mNeedsSatellitePointing.get()) { mPointingAppController.startPointingUI(false /*needFullScreenPointingUI*/, mIsDemoModeEnabled, mIsEmergency); mIsDemoModeEnabled.get(), mIsEmergency.get()); } } Loading Loading @@ -9072,7 +9071,7 @@ public class SatelliteController extends Handler { mTerrestrialNetworkAvailableChangedListeners.remove(listener.asBinder()); }); if (isAvailable && !mIsEmergency) { if (isAvailable && !mIsEmergency.get()) { requestSatelliteEnabled( false /* enableSatellite */, false /* enableDemoMode */, false /* isEmergency */, Loading Loading
src/java/com/android/internal/telephony/satellite/SatelliteController.java +29 −30 Original line number Diff line number Diff line Loading @@ -385,6 +385,8 @@ public class SatelliteController extends Handler { private AtomicBoolean mDisableWifiOnSatelliteEnabled = new AtomicBoolean(false); protected AtomicBoolean mIsSatelliteSupported = null; private AtomicBoolean mNeedsSatellitePointing = new AtomicBoolean(false); private AtomicBoolean mIsDemoModeEnabled = new AtomicBoolean(false); private AtomicBoolean mIsEmergency = new AtomicBoolean(false); private final Object mSatelliteEnabledRequestLock = new Object(); /* This variable is used to store the first enable request that framework has received in the Loading Loading @@ -477,9 +479,6 @@ public class SatelliteController extends Handler { private final ConcurrentHashMap<IBinder, ISelectedNbIotSatelliteSubscriptionCallback> mSelectedNbIotSatelliteSubscriptionChangedListeners = new ConcurrentHashMap<>(); private boolean mIsDemoModeEnabled = false; private boolean mIsEmergency = false; private final Object mIsSatelliteEnabledLock = new Object(); @GuardedBy("mIsSatelliteEnabledLock") private Boolean mIsSatelliteEnabled = null; Loading Loading @@ -1584,7 +1583,7 @@ public class SatelliteController extends Handler { .setSatelliteTechnology(getSupportedNtnRadioTechnology()) .setInitializationProcessingTime( getElapsedRealtime() - mSessionProcessingTimeStamp) .setIsDemoMode(mIsDemoModeEnabled) .setIsDemoMode(mIsDemoModeEnabled.get()) .setCarrierId(getSatelliteCarrierId()) .setIsEmergency(argument.isEmergency); mSessionProcessingTimeStamp = 0; Loading @@ -1606,7 +1605,7 @@ public class SatelliteController extends Handler { mSessionStartTimeStamp = 0; mSessionProcessingTimeStamp = 0; mControllerMetricsStats.onSatelliteDisabled(); handlePersistentLoggingOnSessionEnd(mIsEmergency); handlePersistentLoggingOnSessionEnd(mIsEmergency.get()); synchronized (mSatelliteEnabledRequestLock) { mWaitingForDisableSatelliteModemResponse = false; } Loading Loading @@ -2764,7 +2763,7 @@ public class SatelliteController extends Handler { if (isSatelliteEnabled != null && isSatelliteEnabled == enableSatellite) { evaluateToUpdateSatelliteEnabledAttributes(result, SatelliteManager.SATELLITE_RESULT_SUCCESS, request, mIsDemoModeEnabled, mIsEmergency); mIsDemoModeEnabled.get(), mIsEmergency.get()); return; } Loading Loading @@ -3108,7 +3107,7 @@ public class SatelliteController extends Handler { } final Bundle bundle = new Bundle(); bundle.putBoolean(SatelliteManager.KEY_DEMO_MODE_ENABLED, mIsDemoModeEnabled); bundle.putBoolean(SatelliteManager.KEY_DEMO_MODE_ENABLED, mIsDemoModeEnabled.get()); result.send(SATELLITE_RESULT_SUCCESS, bundle); } Loading @@ -3118,7 +3117,7 @@ public class SatelliteController extends Handler { * @return {@code true} if the satellite demo mode is enabled and {@code false} otherwise. */ public boolean isDemoModeEnabled() { return mIsDemoModeEnabled; return mIsDemoModeEnabled.get(); } /** Loading Loading @@ -3650,9 +3649,8 @@ public class SatelliteController extends Handler { * TODO for NTN-based satellites: Check if satellite is acquired. */ if (mNeedsSatellitePointing.get()) { mPointingAppController.startPointingUI(needFullScreenPointingUI, mIsDemoModeEnabled, mIsEmergency); mPointingAppController.startPointingUI(needFullScreenPointingUI, mIsDemoModeEnabled.get(), mIsEmergency.get()); } mDatagramController.sendSatelliteDatagram(getSelectedSatelliteSubId(), datagramType, Loading Loading @@ -4760,7 +4758,7 @@ public class SatelliteController extends Handler { * {@code false} otherwise. */ public boolean getRequestIsEmergency() { return mIsEmergency; return mIsEmergency.get(); } /** Loading Loading @@ -5331,7 +5329,7 @@ public class SatelliteController extends Handler { } if (mSatelliteSessionController != null) { mSatelliteSessionController.onSatelliteEnabledStateChanged(enabled); mSatelliteSessionController.setDemoMode(mIsDemoModeEnabled); mSatelliteSessionController.setDemoMode(mIsDemoModeEnabled.get()); } else { ploge(caller + ": mSatelliteSessionController is not initialized yet"); } Loading Loading @@ -5832,9 +5830,9 @@ public class SatelliteController extends Handler { if (mSatelliteEnabledRequest.enableSatellite && !mSatelliteEnabledRequest.isEmergency) { plogd("Starting pointingUI needFullscreenPointingUI=" + true + "mIsDemoModeEnabled=" + mIsDemoModeEnabled + ", isEmergency=" + "mIsDemoModeEnabled=" + mIsDemoModeEnabled.get() + ", isEmergency=" + mSatelliteEnabledRequest.isEmergency); mPointingAppController.startPointingUI(true, mIsDemoModeEnabled, false); mPointingAppController.startPointingUI(true, mIsDemoModeEnabled.get(), false); } mSatelliteEnabledRequest = null; mWaitingForRadioDisabled = false; Loading Loading @@ -5879,7 +5877,7 @@ public class SatelliteController extends Handler { @SatelliteManager.SatelliteResult int resultCode) { plogd("moveSatelliteToOffStateAndCleanUpResources"); setDemoModeEnabled(false); handlePersistentLoggingOnSessionEnd(mIsEmergency); handlePersistentLoggingOnSessionEnd(mIsEmergency.get()); setEmergencyMode(false); synchronized (mIsSatelliteEnabledLock) { mIsSatelliteEnabled = false; Loading @@ -5903,17 +5901,18 @@ public class SatelliteController extends Handler { } private void setDemoModeEnabled(boolean enabled) { mIsDemoModeEnabled = enabled; mDatagramController.setDemoMode(mIsDemoModeEnabled); plogd("setDemoModeEnabled: mIsDemoModeEnabled=" + mIsDemoModeEnabled); mIsDemoModeEnabled.set(enabled); mDatagramController.setDemoMode(enabled); plogd("setDemoModeEnabled: mIsDemoModeEnabled=" + enabled); } private void setEmergencyMode(boolean isEmergency) { plogd("setEmergencyMode: mIsEmergency=" + mIsEmergency + ", isEmergency=" + isEmergency); if (mIsEmergency != isEmergency) { mIsEmergency = isEmergency; plogd("setEmergencyMode: mIsEmergency=" + mIsEmergency.get() + ", isEmergency=" + isEmergency); if (mIsEmergency.get() != isEmergency) { mIsEmergency.set(isEmergency); if (mSatelliteSessionController != null) { mSatelliteSessionController.onEmergencyModeChanged(mIsEmergency); mSatelliteSessionController.onEmergencyModeChanged(isEmergency); } else { plogw("setEmergencyMode: mSatelliteSessionController is null"); } Loading Loading @@ -6767,7 +6766,7 @@ public class SatelliteController extends Handler { result.accept(error); mSessionMetricsStats.setInitializationResult(error) .setSatelliteTechnology(getSupportedNtnRadioTechnology()) .setIsDemoMode(mIsDemoModeEnabled) .setIsDemoMode(mIsDemoModeEnabled.get()) .setCarrierId(getSatelliteCarrierId()) .setIsNtnOnlyCarrier(isNtnOnlyCarrier()) .reportSessionMetrics(); Loading Loading @@ -6928,7 +6927,7 @@ public class SatelliteController extends Handler { private void logCarrierRoamingSatelliteSessionStats(@NonNull Phone phone, boolean lastNotifiedNtnMode, boolean currNtnMode) { if (mIsDemoModeEnabled) { if (mIsDemoModeEnabled.get()) { plogd("logCarrierRoamingSatelliteSessionStats: return, demo mode is enabled"); return; } Loading Loading @@ -7373,7 +7372,7 @@ public class SatelliteController extends Handler { .setSatelliteTechnology(getSupportedNtnRadioTechnology()) .setInitializationProcessingTime( getElapsedRealtime() - mSessionProcessingTimeStamp) .setIsDemoMode(mIsDemoModeEnabled) .setIsDemoMode(mIsDemoModeEnabled.get()) .setCarrierId(getSatelliteCarrierId()) .reportSessionMetrics(); } else { Loading Loading @@ -8912,11 +8911,11 @@ public class SatelliteController extends Handler { /** Start PointingUI if it is required. */ public void startPointingUI() { plogd("startPointingUI: mNeedsSatellitePointing=" + mNeedsSatellitePointing.get() + ", mIsDemoModeEnabled=" + mIsDemoModeEnabled + ", mIsEmergency=" + mIsEmergency); + ", mIsDemoModeEnabled=" + mIsDemoModeEnabled.get() + ", mIsEmergency=" + mIsEmergency.get()); if (mNeedsSatellitePointing.get()) { mPointingAppController.startPointingUI(false /*needFullScreenPointingUI*/, mIsDemoModeEnabled, mIsEmergency); mIsDemoModeEnabled.get(), mIsEmergency.get()); } } Loading Loading @@ -9072,7 +9071,7 @@ public class SatelliteController extends Handler { mTerrestrialNetworkAvailableChangedListeners.remove(listener.asBinder()); }); if (isAvailable && !mIsEmergency) { if (isAvailable && !mIsEmergency.get()) { requestSatelliteEnabled( false /* enableSatellite */, false /* enableDemoMode */, false /* isEmergency */, Loading