Test SatelliteModemdStateCallback
Bug: 351703546
Test: Manually using TestSatelliteApp
Flag: com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn
Change-Id: I3266af59ba05e8d8cddd7131c0656968284633ec
diff --git a/testapps/TestSatelliteApp/res/layout/activity_TestSatelliteWrapper.xml b/testapps/TestSatelliteApp/res/layout/activity_TestSatelliteWrapper.xml
index a6259c8..39a4bd6 100644
--- a/testapps/TestSatelliteApp/res/layout/activity_TestSatelliteWrapper.xml
+++ b/testapps/TestSatelliteApp/res/layout/activity_TestSatelliteWrapper.xml
@@ -155,6 +155,18 @@
android:layout_height="wrap_content"
android:paddingRight="4dp"
android:text="@string/unregisterForCommunicationAllowedStateChanged"/>
+ <Button
+ android:id="@+id/registerForModemStateChanged"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingRight="4dp"
+ android:text="@string/registerForModemStateChanged"/>
+ <Button
+ android:id="@+id/unregisterForModemStateChanged"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingRight="4dp"
+ android:text="@string/unregisterForModemStateChanged"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/testapps/TestSatelliteApp/res/values/donottranslate_strings.xml b/testapps/TestSatelliteApp/res/values/donottranslate_strings.xml
index 86f458e..c51d574 100644
--- a/testapps/TestSatelliteApp/res/values/donottranslate_strings.xml
+++ b/testapps/TestSatelliteApp/res/values/donottranslate_strings.xml
@@ -102,4 +102,7 @@
<string name="registerForCarrierRoamingNtnModeChanged">registerForCarrierRoamingNtnModeChanged</string>
<string name="unregisterForCarrierRoamingNtnModeChanged">unregisterForCarrierRoamingNtnModeChanged</string>
+
+ <string name="registerForModemStateChanged">registerForModemStateChanged</string>
+ <string name="unregisterForModemStateChanged">unregisterForModemStateChanged</string>
</resources>
diff --git a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java
index bc42f1d..109ebbf 100644
--- a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java
+++ b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java
@@ -29,6 +29,7 @@
import android.telephony.satellite.wrapper.SatelliteCapabilitiesCallbackWrapper;
import android.telephony.satellite.wrapper.SatelliteCommunicationAllowedStateCallbackWrapper;
import android.telephony.satellite.wrapper.SatelliteManagerWrapper;
+import android.telephony.satellite.wrapper.SatelliteModemStateCallbackWrapper;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
@@ -55,6 +56,7 @@
private final ExecutorService mExecutor = Executors.newSingleThreadExecutor();
private SatelliteManagerWrapper mSatelliteManagerWrapper;
private NtnSignalStrengthCallback mNtnSignalStrengthCallback = null;
+ private SatelliteModemStateCallback mModemStateCallback = null;
private CarrierRoamingNtnModeListener mCarrierRoamingNtnModeListener = null;
private SatelliteCommunicationAllowedStateCallback mSatelliteCommunicationAllowedStateCallback;
private SatelliteCapabilitiesCallbackWrapper mSatelliteCapabilitiesCallback;
@@ -111,6 +113,10 @@
.setOnClickListener(this::registerForCommunicationAllowedStateChanged);
findViewById(R.id.unregisterForCommunicationAllowedStateChanged)
.setOnClickListener(this::unregisterForCommunicationAllowedStateChanged);
+ findViewById(R.id.registerForModemStateChanged)
+ .setOnClickListener(this::registerForModemStateChanged);
+ findViewById(R.id.unregisterForModemStateChanged)
+ .setOnClickListener(this::unregisterForModemStateChanged);
findViewById(R.id.Back).setOnClickListener(new OnClickListener() {
@Override
@@ -353,6 +359,38 @@
}
}
+ private void registerForModemStateChanged(View view) {
+ addLogMessage("registerForModemStateChanged");
+ logd("registerForSatelliteModemStateChanged()");
+ if (mModemStateCallback == null) {
+ logd("create new ModemStateCallback instance.");
+ mModemStateCallback = new SatelliteModemStateCallback();
+ }
+
+ try {
+ mSatelliteManagerWrapper.registerForModemStateChanged(mExecutor, mModemStateCallback);
+ } catch (Exception ex) {
+ String errorMessage = "registerForModemStateChanged: " + ex.getMessage();
+ logd(errorMessage);
+ addLogMessage(errorMessage);
+ mModemStateCallback = null;
+ }
+ }
+
+ private void unregisterForModemStateChanged(View view) {
+ addLogMessage("unregisterForModemStateChanged");
+ logd("unregisterForModemStateChanged()");
+ if (mModemStateCallback != null) {
+ mSatelliteManagerWrapper.unregisterForModemStateChanged(mModemStateCallback);
+ mModemStateCallback = null;
+ addLogMessage("mModemStateCallback was unregistered");
+ } else {
+ addLogMessage("mModemStateCallback is null, ignored.");
+ }
+ }
+
+
+
public class NtnSignalStrengthCallback implements NtnSignalStrengthCallbackWrapper {
@Override
public void onNtnSignalStrengthChanged(
@@ -393,6 +431,22 @@
}
}
+ private class SatelliteModemStateCallback implements SatelliteModemStateCallbackWrapper {
+ @Override
+ public void onSatelliteModemStateChanged(int state) {
+ String message = "Received onSatelliteModemStateChanged state: " + state;
+ logd(message);
+ addLogMessage(message);
+ }
+
+ @Override
+ public void onEmergencyModeChanged(boolean isEmergency) {
+ String message = "Received onEmergencyModeChanged isEmergency: " + isEmergency;
+ logd(message);
+ addLogMessage(message);
+ }
+ }
+
private void isNonTerrestrialNetwork(View view) {
boolean isNonTerrestrialNetwork = mSatelliteManagerWrapper.isNonTerrestrialNetwork(mSubId);
addLogMessage("isNonTerrestrialNetwork=" + isNonTerrestrialNetwork);