From 927a1cac105174334a611c49e952d31529db82e4 Mon Sep 17 00:00:00 2001 From: Zoey Chen Date: Fri, 19 Mar 2021 17:00:00 +0800 Subject: [PATCH] [Settings] Revert the test for using mPhoneStateListener since the Robolectric test is broken Bug: 183066948 Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=AirplaneModeEnablerTest Change-Id: Ic5c67a9a2996f40fcb07d0840f5c677494e1dc0a --- .../android/settings/AirplaneModeEnabler.java | 28 +++++++++---------- .../settings/AirplaneModeEnablerTest.java | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/com/android/settings/AirplaneModeEnabler.java b/src/com/android/settings/AirplaneModeEnabler.java index 8b29d67bb28..735ae23e786 100644 --- a/src/com/android/settings/AirplaneModeEnabler.java +++ b/src/com/android/settings/AirplaneModeEnabler.java @@ -24,7 +24,6 @@ import android.os.UserHandle; import android.provider.Settings; import android.telephony.PhoneStateListener; import android.telephony.SubscriptionInfo; -import android.telephony.TelephonyCallback; import android.telephony.TelephonyManager; import android.util.Log; @@ -62,7 +61,7 @@ public class AirplaneModeEnabler extends GlobalSettingsChangeListener { private TelephonyManager mTelephonyManager; @VisibleForTesting - AirplaneModeTelephonyCallback mTelephonyCallback; + PhoneStateListener mPhoneStateListener; public AirplaneModeEnabler(Context context, OnAirplaneModeChangedListener listener) { super(context, Settings.Global.AIRPLANE_MODE_ON); @@ -72,18 +71,16 @@ public class AirplaneModeEnabler extends GlobalSettingsChangeListener { mOnAirplaneModeChangedListener = listener; mTelephonyManager = context.getSystemService(TelephonyManager.class); - mTelephonyCallback = new AirplaneModeTelephonyCallback(); - } - class AirplaneModeTelephonyCallback extends TelephonyCallback implements - TelephonyCallback.RadioPowerStateListener { - @Override - public void onRadioPowerStateChanged(int state) { - if (DEBUG) { - Log.d(LOG_TAG, "RadioPower: " + state); + mPhoneStateListener = new PhoneStateListener(Looper.getMainLooper()) { + @Override + public void onRadioPowerStateChanged(int state) { + if (DEBUG) { + Log.d(LOG_TAG, "RadioPower: " + state); + } + onAirplaneModeChanged(); } - onAirplaneModeChanged(); - } + }; } /** @@ -101,14 +98,16 @@ public class AirplaneModeEnabler extends GlobalSettingsChangeListener { * Start listening to the phone state change */ public void start() { - mTelephonyManager.registerTelephonyCallback(mContext.getMainExecutor(), mTelephonyCallback); + mTelephonyManager.listen(mPhoneStateListener, + PhoneStateListener.LISTEN_RADIO_POWER_STATE_CHANGED); } /** * Stop listening to the phone state change */ public void stop() { - mTelephonyManager.unregisterTelephonyCallback(mTelephonyCallback); + mTelephonyManager.listen(mPhoneStateListener, + PhoneStateListener.LISTEN_NONE); } private void setAirplaneModeOn(boolean enabling) { @@ -193,3 +192,4 @@ public class AirplaneModeEnabler extends GlobalSettingsChangeListener { return WirelessUtils.isAirplaneModeOn(mContext); } } + diff --git a/tests/robotests/src/com/android/settings/AirplaneModeEnablerTest.java b/tests/robotests/src/com/android/settings/AirplaneModeEnablerTest.java index 5ac5c6626aa..6c5b9f2323f 100644 --- a/tests/robotests/src/com/android/settings/AirplaneModeEnablerTest.java +++ b/tests/robotests/src/com/android/settings/AirplaneModeEnablerTest.java @@ -57,7 +57,7 @@ public final class AirplaneModeEnablerTest { ShadowSettings.setAirplaneMode(true); - mAirplaneModeEnabler.mTelephonyCallback.onRadioPowerStateChanged( + mAirplaneModeEnabler.mPhoneStateListener.onRadioPowerStateChanged( TelephonyManager.RADIO_POWER_OFF); verify(mAirplaneModeChangedListener, times(1)).onAirplaneModeChanged(true);