Remove references to NetworkBadging.

Removes all references to the deprecated NetworkBadging class. Replaces
Badging enums with AccessPoint.Speed. Uses SettingsLib Utils class to
get the WifiIcons.

Note: This change depends on ag/2676505.

Bug: 62355275
Test: make -j40 RunSettingsRoboTests
Change-Id: If3301ce30e22a7b2cc4d534b0a89e6d7ddfef45b
This commit is contained in:
Eric Schwarzenbach
2017-08-07 13:19:50 -07:00
parent 51a13df33a
commit 27a1b76fdc
4 changed files with 45 additions and 61 deletions

View File

@@ -30,7 +30,6 @@ import android.net.ConnectivityManager.NetworkCallback;
import android.net.LinkAddress;
import android.net.LinkProperties;
import android.net.Network;
import android.net.NetworkBadging;
import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
import android.net.NetworkRequest;
@@ -46,8 +45,6 @@ import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import com.android.internal.annotations.VisibleForTesting;
@@ -142,6 +139,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
private PreferenceCategory mIpv6Category;
private Preference mIpv6AddressPref;
private final IconInjector mIconInjector;
private final IntentFilter mFilter;
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
@@ -198,7 +196,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
}
};
public WifiDetailPreferenceController(
public static WifiDetailPreferenceController newInstance(
AccessPoint accessPoint,
ConnectivityManagerWrapper connectivityManagerWrapper,
Context context,
@@ -207,6 +205,22 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
Lifecycle lifecycle,
WifiManager wifiManager,
MetricsFeatureProvider metricsFeatureProvider) {
return new WifiDetailPreferenceController(
accessPoint, connectivityManagerWrapper, context, fragment, handler, lifecycle,
wifiManager, metricsFeatureProvider, new IconInjector(context));
}
@VisibleForTesting
/* package */ WifiDetailPreferenceController(
AccessPoint accessPoint,
ConnectivityManagerWrapper connectivityManagerWrapper,
Context context,
Fragment fragment,
Handler handler,
Lifecycle lifecycle,
WifiManager wifiManager,
MetricsFeatureProvider metricsFeatureProvider,
IconInjector injector) {
super(context);
mAccessPoint = accessPoint;
@@ -218,11 +232,11 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
mWifiConfig = accessPoint.getConfig();
mWifiManager = wifiManager;
mMetricsFeatureProvider = metricsFeatureProvider;
mIconInjector = injector;
mFilter = new IntentFilter();
mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
mFilter.addAction(WifiManager.RSSI_CHANGED_ACTION);
lifecycle.addObserver(this);
}
@@ -369,8 +383,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
private void refreshRssiViews() {
int iconSignalLevel = WifiManager.calculateSignalLevel(
mRssi, WifiManager.RSSI_LEVELS);
Drawable wifiIcon = NetworkBadging.getWifiIcon(
iconSignalLevel, NetworkBadging.BADGING_NONE, mContext.getTheme()).mutate();
Drawable wifiIcon = mIconInjector.getIcon(iconSignalLevel);
wifiIcon.setTint(Utils.getColorAccent(mContext));
mEntityHeaderController.setIcon(wifiIcon).done(mFragment.getActivity(), true /* rebind */);
@@ -501,4 +514,20 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
mFragment.getActivity(), MetricsProto.MetricsEvent.ACTION_WIFI_SIGNIN);
mConnectivityManagerWrapper.startCaptivePortalApp(mNetwork);
}
/**
* Wrapper for testing compatibility.
*/
@VisibleForTesting
static class IconInjector {
private final Context mContext;
public IconInjector(Context context) {
mContext = context;
}
public Drawable getIcon(int level) {
return mContext.getDrawable(Utils.getWifiIconResource(level)).mutate();
}
}
}

View File

@@ -25,6 +25,7 @@ import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.vpn2.ConnectivityManagerWrapperImpl;
import com.android.settings.wifi.WifiDetailPreference;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.wifi.AccessPoint;
import java.util.ArrayList;
@@ -72,7 +73,7 @@ public class WifiNetworkDetailsFragment extends DashboardFragment {
@Override
protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
mWifiDetailPreferenceController = new WifiDetailPreferenceController(
mWifiDetailPreferenceController = WifiDetailPreferenceController.newInstance(
mAccessPoint,
new ConnectivityManagerWrapperImpl(cm),
context,