From ad32dbfc471c86b57d0d0266944ea2cd3df99ed6 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Tue, 19 Nov 2019 06:18:51 -0800 Subject: [PATCH] Revert "Sysui/WifiTracker: Changes to support late starting wifi service" This reverts commit e01f30b6bf5a850f1f11f56e108d38a2fa7451f1. Reason for revert: Wifi services no longer plan to be a separate APK/process for mainline. Will instead become a jar loaded from Apex. Bug: 144722612 Test: Device boots up & connects to wifi networks. Change-Id: Iad48a59ff397ba61fac77a4c3c296190b7c70ee5 --- .../android/settingslib/wifi/WifiTracker.java | 4 +-- .../systemui/qs/tiles/HotspotTile.java | 1 - .../statusbar/policy/HotspotController.java | 2 -- .../policy/HotspotControllerImpl.java | 35 +++++-------------- .../policy/NetworkControllerImpl.java | 4 --- .../policy/WifiSignalController.java | 9 ++--- .../policy/HotspotControllerImplTest.java | 1 - .../utils/leaks/FakeHotspotController.java | 4 --- 8 files changed, 13 insertions(+), 47 deletions(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java index 23754c5c73f9b..23b16e811606f 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java @@ -224,9 +224,7 @@ public class WifiTracker implements LifecycleObserver, OnStart, OnStop, OnDestro mConnectivityManager = connectivityManager; // check if verbose logging developer option has been turned on or off - sVerboseLogging = Settings.Global.getInt( - mContext.getContentResolver(), - Settings.Global.WIFI_VERBOSE_LOGGING_ENABLED, 0) > 0; + sVerboseLogging = mWifiManager != null && (mWifiManager.getVerboseLoggingLevel() > 0); mFilter = filter; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java index 16a39750a9bdd..001e09406e3ae 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java @@ -73,7 +73,6 @@ public class HotspotTile extends QSTileImpl { if (listening) { refreshState(); } - mHotspotController.handleSetListening(listening); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java index 8b06a9fa05a10..830b50e354906 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java @@ -20,8 +20,6 @@ import com.android.systemui.Dumpable; import com.android.systemui.statusbar.policy.HotspotController.Callback; public interface HotspotController extends CallbackController, Dumpable { - void handleSetListening(boolean listening); - boolean isHotspotEnabled(); boolean isHotspotTransient(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java index 6331a2d6db1cc..cd6ec05d90ec8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java @@ -54,7 +54,6 @@ public class HotspotControllerImpl implements HotspotController, WifiManager.Sof private int mHotspotState; private volatile int mNumConnectedDevices; private boolean mWaitingForTerminalState; - private boolean mListening; /** * Controller used to retrieve information related to a hotspot. @@ -109,19 +108,14 @@ public class HotspotControllerImpl implements HotspotController, WifiManager.Sof if (DEBUG) Log.d(TAG, "addCallback " + callback); mCallbacks.add(callback); if (mWifiManager != null) { - if (mListening) { - if (mCallbacks.size() == 1) { - mWifiManager.registerSoftApCallback(new HandlerExecutor(mMainHandler), - this); - } else { - // mWifiManager#registerSoftApCallback triggers a call to - // onConnectedClientsChanged on the Main Handler. In order to always update - // the callback on added, we make this call when adding callbacks after the - // first. - mMainHandler.post(() -> - callback.onHotspotChanged(isHotspotEnabled(), - mNumConnectedDevices)); - } + if (mCallbacks.size() == 1) { + mWifiManager.registerSoftApCallback(new HandlerExecutor(mMainHandler), this); + } else { + // mWifiManager#registerSoftApCallback triggers a call to onNumClientsChanged + // on the Main Handler. In order to always update the callback on added, we + // make this call when adding callbacks after the first. + mMainHandler.post(() -> + callback.onHotspotChanged(isHotspotEnabled(), mNumConnectedDevices)); } } } @@ -133,23 +127,12 @@ public class HotspotControllerImpl implements HotspotController, WifiManager.Sof if (DEBUG) Log.d(TAG, "removeCallback " + callback); synchronized (mCallbacks) { mCallbacks.remove(callback); - if (mCallbacks.isEmpty() && mWifiManager != null && mListening) { + if (mCallbacks.isEmpty() && mWifiManager != null) { mWifiManager.unregisterSoftApCallback(this); } } } - @Override - public void handleSetListening(boolean listening) { - // Wait for the first |handleSetListening(true))| to register softap callbacks (for lazy - // registration of the softap callbacks). - if (mListening || !listening) return; - mListening = true; - if (mCallbacks.size() >= 1) { - mWifiManager.registerSoftApCallback(new HandlerExecutor(mMainHandler), this); - } - } - @Override public boolean isHotspotEnabled() { return mHotspotState == WifiManager.WIFI_AP_STATE_ENABLED; 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 05a4b290fb7b9..24492bf3ca5b8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java @@ -325,7 +325,6 @@ public class NetworkControllerImpl extends BroadcastReceiver filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); filter.addAction(ConnectivityManager.INET_CONDITION_ACTION); filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED); - filter.addAction(Intent.ACTION_BOOT_COMPLETED); filter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED); mBroadcastDispatcher.registerReceiver(this, filter, mReceiverHandler); mListening = true; @@ -543,9 +542,6 @@ public class NetworkControllerImpl extends BroadcastReceiver recalculateEmergency(); } break; - case Intent.ACTION_BOOT_COMPLETED: - mWifiSignalController.handleBootCompleted(); - break; case CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED: mConfig = Config.readConfig(mContext); mReceiverHandler.post(this::handleConfigurationChanged); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java index 5a4332105e579..e7d1c95db0e3b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java @@ -38,7 +38,6 @@ import java.util.Objects; public class WifiSignalController extends SignalController { private final boolean mHasMobileData; - private final WifiManager mWifiManager; private final WifiStatusTracker mWifiTracker; public WifiSignalController(Context context, boolean hasMobileData, @@ -50,11 +49,13 @@ public class WifiSignalController extends context.getSystemService(NetworkScoreManager.class); ConnectivityManager connectivityManager = context.getSystemService(ConnectivityManager.class); - mWifiManager = wifiManager; mWifiTracker = new WifiStatusTracker(mContext, wifiManager, networkScoreManager, connectivityManager, this::handleStatusUpdated); mWifiTracker.setListening(true); mHasMobileData = hasMobileData; + if (wifiManager != null) { + wifiManager.registerTrafficStateCallback(new WifiTrafficStateCallback()); + } // WiFi only has one state. mCurrentState.iconGroup = mLastState.iconGroup = new IconGroup( "Wi-Fi Icons", @@ -127,10 +128,6 @@ public class WifiSignalController extends notifyListenersIfNecessary(); } - public void handleBootCompleted() { - mWifiManager.registerTrafficStateCallback(new WifiTrafficStateCallback()); - } - /** * Handler to receive the data activity on wifi. */ diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HotspotControllerImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HotspotControllerImplTest.java index 811e6a06e6079..631c580a490d7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HotspotControllerImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HotspotControllerImplTest.java @@ -77,7 +77,6 @@ public class HotspotControllerImplTest extends SysuiTestCase { any(WifiManager.SoftApCallback.class)); mController = new HotspotControllerImpl(mContext, new Handler(mLooper.getLooper())); - mController.handleSetListening(true); } @Test diff --git a/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeHotspotController.java b/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeHotspotController.java index c9681ac558f9f..016160aea433e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeHotspotController.java +++ b/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeHotspotController.java @@ -25,10 +25,6 @@ public class FakeHotspotController extends BaseLeakChecker implements super(test, "hotspot"); } - @Override - public void handleSetListening(boolean listening) { - } - @Override public boolean isHotspotEnabled() { return false;