From 99f90f5cb7637ece0358003d3d3355036e6d68f7 Mon Sep 17 00:00:00 2001 From: Sohani Rao Date: Fri, 17 Mar 2017 11:27:46 -0700 Subject: Unit tests for SupplicantStateTracker Create unit test(s) for SupplicantStateTracker. Need to modify constructor of the class for testability. Change-Id: I5fb6a049ee09cb07e7d866abd9ed3b2b737f7a6e Bug: 36485448 Test: Unit tests, Sanity (Power on, wifi On, connect to AP) --- service/java/com/android/server/wifi/FrameworkFacade.java | 12 +++++++++++- .../java/com/android/server/wifi/SupplicantStateTracker.java | 8 +++++--- 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'service') diff --git a/service/java/com/android/server/wifi/FrameworkFacade.java b/service/java/com/android/server/wifi/FrameworkFacade.java index c1b5e8d1e..42f0161e9 100644 --- a/service/java/com/android/server/wifi/FrameworkFacade.java +++ b/service/java/com/android/server/wifi/FrameworkFacade.java @@ -24,6 +24,7 @@ import android.database.ContentObserver; import android.net.TrafficStats; import android.net.Uri; import android.net.ip.IpManager; +import android.os.BatteryStats; import android.os.Handler; import android.os.IBinder; import android.os.RemoteException; @@ -31,6 +32,7 @@ import android.os.ServiceManager; import android.provider.Settings; import android.telephony.CarrierConfigManager; +import com.android.internal.app.IBatteryStats; import com.android.server.wifi.util.WifiAsyncChannel; /** @@ -78,13 +80,21 @@ public class FrameworkFacade { return ServiceManager.getService(serviceName); } + /** + * Returns the battery stats interface + * @return IBatteryStats BatteryStats service interface + */ + public IBatteryStats getBatteryService() { + return IBatteryStats.Stub.asInterface(getService(BatteryStats.SERVICE_NAME)); + } + public PendingIntent getBroadcast(Context context, int requestCode, Intent intent, int flags) { return PendingIntent.getBroadcast(context, requestCode, intent, flags); } public SupplicantStateTracker makeSupplicantStateTracker(Context context, WifiConfigManager configManager, Handler handler) { - return new SupplicantStateTracker(context, configManager, handler); + return new SupplicantStateTracker(context, configManager, this, handler); } public boolean getConfigWiFiDisableInECBM(Context context) { diff --git a/service/java/com/android/server/wifi/SupplicantStateTracker.java b/service/java/com/android/server/wifi/SupplicantStateTracker.java index ea5d9ebd5..9ba64b9bc 100644 --- a/service/java/com/android/server/wifi/SupplicantStateTracker.java +++ b/service/java/com/android/server/wifi/SupplicantStateTracker.java @@ -26,7 +26,6 @@ import android.os.Handler; import android.os.Message; import android.os.Parcelable; import android.os.RemoteException; -import android.os.ServiceManager; import android.os.UserHandle; import android.util.Log; import android.util.Slog; @@ -49,6 +48,7 @@ public class SupplicantStateTracker extends StateMachine { private static final String TAG = "SupplicantStateTracker"; private static boolean DBG = false; private final WifiConfigManager mWifiConfigManager; + private FrameworkFacade mFacade; private final IBatteryStats mBatteryStats; /* Indicates authentication failure in supplicant broadcast. * TODO: enhance auth failure reporting to include notification @@ -88,12 +88,14 @@ public class SupplicantStateTracker extends StateMachine { return getCurrentState().getName(); } - public SupplicantStateTracker(Context c, WifiConfigManager wcs, Handler t) { + public SupplicantStateTracker(Context c, WifiConfigManager wcs, + FrameworkFacade facade, Handler t) { super(TAG, t.getLooper()); mContext = c; mWifiConfigManager = wcs; - mBatteryStats = (IBatteryStats)ServiceManager.getService(BatteryStats.SERVICE_NAME); + mFacade = facade; + mBatteryStats = mFacade.getBatteryService(); // CHECKSTYLE:OFF IndentationCheck addState(mDefaultState); addState(mUninitializedState, mDefaultState); -- cgit v1.2.3