Merge "Request again when the latest signal strength report request and report state of modem are diferent" into 24D1-dev am: 3316b43f04
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/27514096
Change-Id: Ib44a05a846fe710c25a2824e1c9ac70e7f55ce61
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteController.java b/src/java/com/android/internal/telephony/satellite/SatelliteController.java
index 7723bbd..aaad18b 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteController.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteController.java
@@ -275,6 +275,8 @@
new AtomicBoolean(false);
private final AtomicBoolean mIsModemEnabledReportingNtnSignalStrength =
new AtomicBoolean(false);
+ private final AtomicBoolean mLatestRequestedStateForNtnSignalStrengthReport =
+ new AtomicBoolean(false);
private final AtomicBoolean mRegisteredForSatelliteSupportedStateChanged =
new AtomicBoolean(false);
/**
@@ -1015,6 +1017,7 @@
}
}
// Request Ntn signal strength report when satellite enabled or disabled done.
+ mLatestRequestedStateForNtnSignalStrengthReport.set(argument.enableSatellite);
updateNtnSignalStrengthReporting(argument.enableSatellite);
} else {
synchronized (mSatelliteEnabledRequestLock) {
@@ -1375,6 +1378,13 @@
+ shouldReport);
if (errorCode == SATELLITE_RESULT_SUCCESS) {
mIsModemEnabledReportingNtnSignalStrength.set(shouldReport);
+ if (mLatestRequestedStateForNtnSignalStrengthReport.get()
+ != mIsModemEnabledReportingNtnSignalStrength.get()) {
+ logd("mLatestRequestedStateForNtnSignalStrengthReport does not match with "
+ + "mIsModemEnabledReportingNtnSignalStrength");
+ updateNtnSignalStrengthReporting(
+ mLatestRequestedStateForNtnSignalStrengthReport.get());
+ }
} else {
loge(((boolean) request.argument ? "startSendingNtnSignalStrength"
: "stopSendingNtnSignalStrength") + "returns " + errorCode);
@@ -4473,6 +4483,7 @@
return;
}
+ mLatestRequestedStateForNtnSignalStrengthReport.set(shouldReport);
if (mIsModemEnabledReportingNtnSignalStrength.get() == shouldReport) {
logd("handleCmdUpdateNtnSignalStrengthReporting: ignore request. "
+ "mIsModemEnabledReportingNtnSignalStrength="