Replace ConnectivityManager hidden symbols on Settings

Connectivity is becoming a mainline module in S, so
ConnectivityManager hidden symbols can not be used for outside
components. Besides, most Tethering relevant methods or variables
on CM are migrated to TetheringManager. So replace all these
methods or variables from ConnectivityManager to TetheringManager
on Settings.

Bug: 180693313
Test: make RunSettingsRoboTests ROBOTEST_FILTER=<Modified Test>
Change-Id: Iba4b121a4ddf3f04252aa0355e0e6494a593682a
Merged-In: Iba4b121a4ddf3f04252aa0355e0e6494a593682a
This commit is contained in:
paulhu
2021-02-20 11:21:53 +08:00
parent 78b260f5fe
commit c11ac84929
27 changed files with 139 additions and 135 deletions

View File

@@ -70,7 +70,7 @@ public final class BluetoothTetherPreferenceController extends TetherBasePrefere
@Override
public boolean shouldShow() {
final String[] bluetoothRegexs = mCm.getTetherableBluetoothRegexs();
final String[] bluetoothRegexs = mTm.getTetherableBluetoothRegexs();
return bluetoothRegexs != null && bluetoothRegexs.length != 0;
}

View File

@@ -65,7 +65,7 @@ public final class EthernetTetherPreferenceController extends TetherBasePreferen
@Override
public boolean shouldEnable() {
String[] available = mCm.getTetherableIfaces();
String[] available = mTm.getTetherableIfaces();
for (String s : available) {
if (s.matches(mEthernetRegex)) {
return true;

View File

@@ -17,7 +17,7 @@
package com.android.settings.network;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.TetheringManager;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
@@ -33,7 +33,7 @@ public abstract class TetherBasePreferenceController extends TogglePreferenceCon
TetherEnabler.OnTetherStateUpdateListener {
private static final String TAG = "TetherBasePreferenceController";
final ConnectivityManager mCm;
final TetheringManager mTm;
private final DataSaverBackend mDataSaverBackend;
private TetherEnabler mTetherEnabler;
@@ -43,7 +43,7 @@ public abstract class TetherBasePreferenceController extends TogglePreferenceCon
TetherBasePreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey);
mCm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
mTm = context.getSystemService(TetheringManager.class);
mDataSaverBackend = new DataSaverBackend(context);
mDataSaverEnabled = mDataSaverBackend.isDataSaverEnabled();
}

View File

@@ -147,7 +147,7 @@ public class TetherEnabler implements SwitchWidgetController.OnSwitchChangeListe
mSwitchWidgetController.setListener(this);
mSwitchWidgetController.startListening();
final IntentFilter filter = new IntentFilter(
ConnectivityManager.ACTION_TETHER_STATE_CHANGED);
TetheringManager.ACTION_TETHER_STATE_CHANGED);
filter.addAction(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
mContext.registerReceiver(mTetherChangeReceiver, filter);
@@ -222,7 +222,7 @@ public class TetherEnabler implements SwitchWidgetController.OnSwitchChangeListe
int getTetheringState(@Nullable String[] tethered) {
int tetherState = TETHERING_OFF;
if (tethered == null) {
tethered = mConnectivityManager.getTetheredIfaces();
tethered = mTetheringManager.getTetheredIfaces();
}
if (mWifiManager.isWifiApEnabled()) {
@@ -239,7 +239,7 @@ public class TetherEnabler implements SwitchWidgetController.OnSwitchChangeListe
}
}
String[] usbRegexs = mConnectivityManager.getTetherableUsbRegexs();
String[] usbRegexs = mTetheringManager.getTetherableUsbRegexs();
for (String s : tethered) {
for (String regex : usbRegexs) {
if (s.matches(regex)) {

View File

@@ -28,6 +28,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.database.ContentObserver;
import android.net.ConnectivityManager;
import android.net.TetheringManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
@@ -62,6 +63,7 @@ public class TetherPreferenceController extends AbstractPreferenceController imp
private final AtomicReference<BluetoothPan> mBluetoothPan;
private final ConnectivityManager mConnectivityManager;
private final BluetoothAdapter mBluetoothAdapter;
private final TetheringManager mTetheringManager;
@VisibleForTesting
final BluetoothProfile.ServiceListener mBtProfileServiceListener =
new android.bluetooth.BluetoothProfile.ServiceListener() {
@@ -86,6 +88,7 @@ public class TetherPreferenceController extends AbstractPreferenceController imp
mBluetoothPan = new AtomicReference<>();
mConnectivityManager = null;
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
mTetheringManager = null;
}
public TetherPreferenceController(Context context, Lifecycle lifecycle) {
@@ -95,6 +98,7 @@ public class TetherPreferenceController extends AbstractPreferenceController imp
mConnectivityManager =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
mTetheringManager = context.getSystemService(TetheringManager.class);
if (lifecycle != null) {
lifecycle.addObserver(this);
}
@@ -144,7 +148,7 @@ public class TetherPreferenceController extends AbstractPreferenceController imp
mTetherReceiver = new TetherBroadcastReceiver();
}
mContext.registerReceiver(
mTetherReceiver, new IntentFilter(ConnectivityManager.ACTION_TETHER_STATE_CHANGED));
mTetherReceiver, new IntentFilter(TetheringManager.ACTION_TETHER_STATE_CHANGED));
mContext.getContentResolver()
.registerContentObserver(mAirplaneModeObserver.uri, false, mAirplaneModeObserver);
}
@@ -178,9 +182,9 @@ public class TetherPreferenceController extends AbstractPreferenceController imp
// Preference is not ready yet.
return;
}
String[] allTethered = mConnectivityManager.getTetheredIfaces();
String[] wifiTetherRegex = mConnectivityManager.getTetherableWifiRegexs();
String[] bluetoothRegex = mConnectivityManager.getTetherableBluetoothRegexs();
String[] allTethered = mTetheringManager.getTetheredIfaces();
String[] wifiTetherRegex = mTetheringManager.getTetherableWifiRegexs();
String[] bluetoothRegex = mTetheringManager.getTetherableBluetoothRegexs();
boolean hotSpotOn = false;
boolean tetherOn = false;
@@ -211,7 +215,7 @@ public class TetherPreferenceController extends AbstractPreferenceController imp
&& bluetoothRegex != null && bluetoothRegex.length > 0
&& mBluetoothAdapter != null
&& mBluetoothAdapter.getState() == BluetoothAdapter.STATE_ON) {
// Check bluetooth state. It's not included in mConnectivityManager.getTetheredIfaces.
// Check bluetooth state. It's not included in mTetheringManager.getTetheredIfaces.
final BluetoothPan pan = mBluetoothPan.get();
tetherOn = pan != null && pan.isTetheringOn();
}

View File

@@ -68,7 +68,7 @@ public final class UsbTetherPreferenceController extends TetherBasePreferenceCon
@Override
public boolean shouldShow() {
String[] usbRegexs = mCm.getTetherableUsbRegexs();
String[] usbRegexs = mTm.getTetherableUsbRegexs();
return usbRegexs != null && usbRegexs.length != 0 && !Utils.isMonkeyRunning();
}

View File

@@ -68,7 +68,7 @@ public final class WifiTetherDisablePreferenceController extends TetherBasePrefe
@Override
public boolean shouldShow() {
final String[] wifiRegexs = mCm.getTetherableWifiRegexs();
final String[] wifiRegexs = mTm.getTetherableWifiRegexs();
return wifiRegexs != null && wifiRegexs.length != 0 && !Utils.isMonkeyRunning()
&& getTetheringStateOfOtherInterfaces() != TetherEnabler.TETHERING_OFF;
}