Add cts for onDisplayInfoChanged
Bug: 152618143
Test: PhoneStateListenerTest.onDisplayInfoChanged
Change-Id: I6892dd4e47a89d4ea8563a9624bc629a15e7a06d
diff --git a/tests/tests/telephony/current/src/android/telephony/cts/PhoneStateListenerTest.java b/tests/tests/telephony/current/src/android/telephony/cts/PhoneStateListenerTest.java
index 517b97c..06e2b59 100644
--- a/tests/tests/telephony/current/src/android/telephony/cts/PhoneStateListenerTest.java
+++ b/tests/tests/telephony/current/src/android/telephony/cts/PhoneStateListenerTest.java
@@ -43,6 +43,7 @@
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.SmsManager;
+import android.telephony.TelephonyDisplayInfo;
import android.telephony.TelephonyManager;
import android.telephony.emergency.EmergencyNumber;
import android.telephony.ims.ImsReasonInfo;
@@ -89,6 +90,7 @@
private boolean mOnBarringInfoChangedCalled;
private boolean mSecurityExceptionThrown;
private boolean mOnRegistrationFailedCalled;
+ private boolean mOnTelephonyDisplayInfoChanged;
@RadioPowerState private int mRadioPowerState;
@SimActivationState private int mVoiceActivationState;
private BarringInfo mBarringInfo;
@@ -693,6 +695,37 @@
}
@Test
+ public void testOnDisplayInfoChanged() throws Exception {
+ if (mCm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE) == null) {
+ Log.d(TAG, "Skipping test that requires ConnectivityManager.TYPE_MOBILE");
+ return;
+ }
+ assertThat(mOnTelephonyDisplayInfoChanged).isFalse();
+
+ mHandler.post(() -> {
+ mListener = new PhoneStateListener() {
+ @Override
+ public void onDisplayInfoChanged(TelephonyDisplayInfo displayInfo) {
+ synchronized (mLock) {
+ mOnTelephonyDisplayInfoChanged = true;
+ mLock.notify();
+ }
+ }
+ };
+ ShellIdentityUtils.invokeMethodWithShellPermissionsNoReturn(mTelephonyManager,
+ (tm) -> tm.listen(mListener,
+ PhoneStateListener.LISTEN_DISPLAY_INFO_CHANGED));
+ });
+
+ synchronized (mLock) {
+ if (!mOnTelephonyDisplayInfoChanged) {
+ mLock.wait(WAIT_TIME);
+ }
+ }
+ assertTrue(mOnTelephonyDisplayInfoChanged);
+ }
+
+ @Test
public void testOnCallForwardingIndicatorChanged() throws Throwable {
if (mCm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE) == null) {
Log.d(TAG, "Skipping test that requires ConnectivityManager.TYPE_MOBILE");