Remove usage of PhoneStateListener hidden API
Use PhoneStateListener(Executor) insteaof PhoneStateListener(Looper)
Bug: 111498835
Test: Manual with a carrier SIM card
atest com.android.systemui.statusbar.policy
Change-Id: I297849c190715be6ba8a31d7120abc5ca76a97ab
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
index 5da7267..bae51b6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -48,6 +48,7 @@
import java.io.PrintWriter;
import java.util.BitSet;
+import java.util.concurrent.Executor;
import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -103,7 +104,7 @@
mPhone = phone;
mDefaults = defaults;
mSubscriptionInfo = info;
- mPhoneStateListener = new MobilePhoneStateListener(receiverLooper);
+ mPhoneStateListener = new MobilePhoneStateListener((new Handler(receiverLooper))::post);
mNetworkNameSeparator = getStringIfExists(R.string.status_bar_network_name_separator);
mNetworkNameDefault = getStringIfExists(
com.android.internal.R.string.lockscreen_carrier_default);
@@ -665,8 +666,8 @@
}
class MobilePhoneStateListener extends PhoneStateListener {
- public MobilePhoneStateListener(Looper looper) {
- super(looper);
+ public MobilePhoneStateListener(Executor executor) {
+ super(executor);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
index 60784c9..1526b19 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
@@ -276,7 +276,7 @@
// exclusively for status bar icons.
mConnectivityManager.registerDefaultNetworkCallback(callback, mReceiverHandler);
// Register the listener on our bg looper
- mPhoneStateListener = new PhoneStateListener(bgLooper) {
+ mPhoneStateListener = new PhoneStateListener(mReceiverHandler::post) {
@Override
public void onActiveDataSubscriptionIdChanged(int subId) {
mActiveMobileDataSubscription = subId;