Refactor isTetheringSupported() calls

Tethering currently wants access to complex isTetheringSupported
logic that is only available in ConnectivityService. Instead of
trying to access that via ConnectivityManager, pass this capability
in to Tethering directly, in the TetheringDependencies object.

Also:
    - ConnectivityManager is only a source of static constants now,
      so "import static" all the constants that are actually used.

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net works
    - manual USB towards WiFi tethering works
Bug: 68951715

Change-Id: Ia64faaadefb4a5d84a50da98bdebd544b6fda101
This commit is contained in:
Erik Kline
2018-03-09 14:18:02 +09:00
parent dbc568ceaf
commit d8840e4fd3

View File

@@ -878,7 +878,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
private Tethering makeTethering() { private Tethering makeTethering() {
// TODO: Move other elements into @Overridden getters. // TODO: Move other elements into @Overridden getters.
final TetheringDependencies deps = new TetheringDependencies(); final TetheringDependencies deps = new TetheringDependencies() {
@Override
public boolean isTetheringSupported() {
return ConnectivityService.this.isTetheringSupported();
}
};
return new Tethering(mContext, mNetd, mStatsService, mPolicyManager, return new Tethering(mContext, mNetd, mStatsService, mPolicyManager,
IoThread.get().getLooper(), new MockableSystemProperties(), IoThread.get().getLooper(), new MockableSystemProperties(),
deps); deps);