Introduce a WifiTrackerLibProvider.
This make the WifiTrackerLib can be customized. Bug: 149540986 Test: manual test wifi picker, and atest com.android.settings Change-Id: I1418ae39c895ce2ff87f18005a226a4835f9e083
This commit is contained in:
@@ -41,6 +41,7 @@ import com.android.settings.search.SearchFeatureProvider;
|
||||
import com.android.settings.security.SecurityFeatureProvider;
|
||||
import com.android.settings.slices.SlicesFeatureProvider;
|
||||
import com.android.settings.users.UserFeatureProvider;
|
||||
import com.android.settings.wifi.WifiTrackerLibProvider;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
|
||||
/**
|
||||
@@ -143,6 +144,11 @@ public abstract class FeatureFactory {
|
||||
|
||||
public abstract FaceFeatureProvider getFaceFeatureProvider();
|
||||
|
||||
/**
|
||||
* Gets implementation for the WifiTrackerLib.
|
||||
*/
|
||||
public abstract WifiTrackerLibProvider getWifiTrackerLibProvider();
|
||||
|
||||
public static final class FactoryNotFoundException extends RuntimeException {
|
||||
public FactoryNotFoundException(Throwable throwable) {
|
||||
super("Unable to create factory. Did you misconfigure Proguard?", throwable);
|
||||
|
@@ -62,6 +62,8 @@ import com.android.settings.slices.SlicesFeatureProvider;
|
||||
import com.android.settings.slices.SlicesFeatureProviderImpl;
|
||||
import com.android.settings.users.UserFeatureProvider;
|
||||
import com.android.settings.users.UserFeatureProviderImpl;
|
||||
import com.android.settings.wifi.WifiTrackerLibProvider;
|
||||
import com.android.settings.wifi.WifiTrackerLibProviderImpl;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
|
||||
/**
|
||||
@@ -90,6 +92,7 @@ public class FeatureFactoryImpl extends FeatureFactory {
|
||||
private BluetoothFeatureProvider mBluetoothFeatureProvider;
|
||||
private AwareFeatureProvider mAwareFeatureProvider;
|
||||
private FaceFeatureProvider mFaceFeatureProvider;
|
||||
private WifiTrackerLibProvider mWifiTrackerLibProvider;
|
||||
|
||||
@Override
|
||||
public SupportFeatureProvider getSupportFeatureProvider(Context context) {
|
||||
@@ -278,4 +281,12 @@ public class FeatureFactoryImpl extends FeatureFactory {
|
||||
}
|
||||
return mFaceFeatureProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WifiTrackerLibProvider getWifiTrackerLibProvider() {
|
||||
if (mWifiTrackerLibProvider == null) {
|
||||
mWifiTrackerLibProvider = new WifiTrackerLibProviderImpl();
|
||||
}
|
||||
return mWifiTrackerLibProvider;
|
||||
}
|
||||
}
|
||||
|
@@ -21,9 +21,6 @@ import android.app.Activity;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkScoreManager;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerThread;
|
||||
@@ -40,6 +37,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
|
||||
import com.android.wifitrackerlib.NetworkDetailsTracker;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
@@ -222,17 +220,17 @@ public class ConfigureWifiEntryFragment extends InstrumentedFragment implements
|
||||
}
|
||||
};
|
||||
|
||||
mNetworkDetailsTracker = NetworkDetailsTracker.createNetworkDetailsTracker(
|
||||
getSettingsLifecycle(),
|
||||
context,
|
||||
context.getSystemService(WifiManager.class),
|
||||
context.getSystemService(ConnectivityManager.class),
|
||||
context.getSystemService(NetworkScoreManager.class),
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
getArguments().getString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY));
|
||||
mNetworkDetailsTracker = FeatureFactory.getFactory(context)
|
||||
.getWifiTrackerLibProvider()
|
||||
.createNetworkDetailsTracker(
|
||||
getSettingsLifecycle(),
|
||||
context,
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
getArguments().getString(
|
||||
WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY));
|
||||
}
|
||||
}
|
||||
|
@@ -24,11 +24,8 @@ import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkScoreManager;
|
||||
import android.net.wifi.ScanResult;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.net.wifi.WifiManager.NetworkRequestMatchCallback;
|
||||
import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
|
||||
import android.os.Bundle;
|
||||
@@ -54,6 +51,7 @@ import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.preference.internal.PreferenceImageView;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
import com.android.wifitrackerlib.WifiPickerTracker;
|
||||
@@ -113,16 +111,15 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme
|
||||
}
|
||||
};
|
||||
final Context context = getContext();
|
||||
mWifiPickerTracker = new WifiPickerTracker(getSettingsLifecycle(), context,
|
||||
context.getSystemService(WifiManager.class),
|
||||
context.getSystemService(ConnectivityManager.class),
|
||||
context.getSystemService(NetworkScoreManager.class),
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
this);
|
||||
mWifiPickerTracker = FeatureFactory.getFactory(context)
|
||||
.getWifiTrackerLibProvider()
|
||||
.createWifiPickerTracker(getSettingsLifecycle(), context,
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -17,9 +17,6 @@
|
||||
package com.android.settings.wifi;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkScoreManager;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerThread;
|
||||
@@ -36,6 +33,7 @@ import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
@@ -115,16 +113,15 @@ public class WifiConnectionPreferenceController extends AbstractPreferenceContro
|
||||
return SystemClock.elapsedRealtime();
|
||||
}
|
||||
};
|
||||
mWifiPickerTracker = new WifiPickerTracker(lifecycle, context,
|
||||
context.getSystemService(WifiManager.class),
|
||||
context.getSystemService(ConnectivityManager.class),
|
||||
context.getSystemService(NetworkScoreManager.class),
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
this);
|
||||
mWifiPickerTracker = FeatureFactory.getFactory(context)
|
||||
.getWifiTrackerLibProvider()
|
||||
.createWifiPickerTracker(lifecycle, context,
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -18,9 +18,7 @@ package com.android.settings.wifi;
|
||||
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.NetworkScoreManager;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.net.wifi.WifiManager.ActionListener;
|
||||
@@ -38,6 +36,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SetupWizardUtils;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||
import com.android.settingslib.core.lifecycle.ObservableActivity;
|
||||
import com.android.settingslib.wifi.AccessPoint;
|
||||
@@ -124,18 +123,17 @@ public class WifiDialogActivity extends ObservableActivity implements WifiDialog
|
||||
return SystemClock.elapsedRealtime();
|
||||
}
|
||||
};
|
||||
mNetworkDetailsTracker = NetworkDetailsTracker.createNetworkDetailsTracker(
|
||||
getLifecycle(),
|
||||
this,
|
||||
getSystemService(WifiManager.class),
|
||||
getSystemService(ConnectivityManager.class),
|
||||
getSystemService(NetworkScoreManager.class),
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
mIntent.getStringExtra(KEY_CHOSEN_WIFIENTRY_KEY));
|
||||
mNetworkDetailsTracker = FeatureFactory.getFactory(this)
|
||||
.getWifiTrackerLibProvider()
|
||||
.createNetworkDetailsTracker(
|
||||
getLifecycle(),
|
||||
this,
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
mIntent.getStringExtra(KEY_CHOSEN_WIFIENTRY_KEY));
|
||||
} else {
|
||||
final Bundle accessPointState = mIntent.getBundleExtra(KEY_ACCESS_POINT_STATE);
|
||||
if (accessPointState != null) {
|
||||
|
@@ -17,9 +17,6 @@
|
||||
package com.android.settings.wifi;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkScoreManager;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerThread;
|
||||
import android.os.Looper;
|
||||
@@ -34,6 +31,7 @@ import androidx.lifecycle.LifecycleObserver;
|
||||
import androidx.lifecycle.OnLifecycleEvent;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.wifitrackerlib.MergedCarrierEntry;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
import com.android.wifitrackerlib.WifiPickerTracker;
|
||||
@@ -72,16 +70,16 @@ public class WifiPickerTrackerHelper implements LifecycleObserver {
|
||||
Process.THREAD_PRIORITY_BACKGROUND);
|
||||
mWorkerThread.start();
|
||||
|
||||
mWifiPickerTracker = new WifiPickerTracker(lifecycle, context,
|
||||
context.getSystemService(WifiManager.class),
|
||||
context.getSystemService(ConnectivityManager.class),
|
||||
context.getSystemService(NetworkScoreManager.class),
|
||||
mWifiPickerTracker = FeatureFactory.getFactory(context)
|
||||
.getWifiTrackerLibProvider()
|
||||
.createWifiPickerTracker(lifecycle, context,
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
ELAPSED_REALTIME_CLOCK,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
listener);
|
||||
|
||||
}
|
||||
|
||||
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
|
||||
|
@@ -27,8 +27,6 @@ import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkScoreManager;
|
||||
import android.net.NetworkTemplate;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiManager;
|
||||
@@ -66,6 +64,7 @@ import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.datausage.DataUsagePreference;
|
||||
import com.android.settings.datausage.DataUsageUtils;
|
||||
import com.android.settings.location.ScanningSettings;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.widget.SwitchBarController;
|
||||
import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
|
||||
@@ -283,16 +282,15 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
return SystemClock.elapsedRealtime();
|
||||
}
|
||||
};
|
||||
mWifiPickerTracker = new WifiPickerTracker(getSettingsLifecycle(), context,
|
||||
context.getSystemService(WifiManager.class),
|
||||
context.getSystemService(ConnectivityManager.class),
|
||||
context.getSystemService(NetworkScoreManager.class),
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
this);
|
||||
mWifiPickerTracker = FeatureFactory.getFactory(context)
|
||||
.getWifiTrackerLibProvider()
|
||||
.createWifiPickerTracker(getSettingsLifecycle(), context,
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
this);
|
||||
|
||||
final Activity activity = getActivity();
|
||||
|
||||
|
48
src/com/android/settings/wifi/WifiTrackerLibProvider.java
Normal file
48
src/com/android/settings/wifi/WifiTrackerLibProvider.java
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Copyright (C) 2020 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.wifi;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
|
||||
import com.android.wifitrackerlib.NetworkDetailsTracker;
|
||||
import com.android.wifitrackerlib.WifiPickerTracker;
|
||||
|
||||
import java.time.Clock;
|
||||
|
||||
/**
|
||||
* Provides the objects instances from the AOSP WifiTrackerLib.
|
||||
*/
|
||||
public interface WifiTrackerLibProvider {
|
||||
|
||||
/** Create a new instance of WifiPickerTracker */
|
||||
WifiPickerTracker createWifiPickerTracker(
|
||||
Lifecycle lifecycle, Context context,
|
||||
Handler mainHandler, Handler workerHandler, Clock clock,
|
||||
long maxScanAgeMillis, long scanIntervalMillis,
|
||||
WifiPickerTracker.WifiPickerTrackerCallback listener);
|
||||
|
||||
/** Create a new instance of NetworkDetailsTracker */
|
||||
NetworkDetailsTracker createNetworkDetailsTracker(
|
||||
Lifecycle lifecycle, Context context,
|
||||
Handler mainHandler, Handler workerHandler, Clock clock,
|
||||
long maxScanAgeMillis, long scanIntervalMillis,
|
||||
String key);
|
||||
|
||||
}
|
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* Copyright (C) 2020 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.wifi;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkScoreManager;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Handler;
|
||||
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
|
||||
import com.android.wifitrackerlib.NetworkDetailsTracker;
|
||||
import com.android.wifitrackerlib.WifiPickerTracker;
|
||||
|
||||
import java.time.Clock;
|
||||
|
||||
/**
|
||||
* Implementation of AOSP WifiTrackerLibProvider.
|
||||
*/
|
||||
public class WifiTrackerLibProviderImpl implements WifiTrackerLibProvider {
|
||||
|
||||
/**
|
||||
* Create an instance of WifiPickerTracker.
|
||||
*/
|
||||
@Override
|
||||
public WifiPickerTracker createWifiPickerTracker(
|
||||
Lifecycle lifecycle, Context context,
|
||||
Handler mainHandler, Handler workerHandler, Clock clock,
|
||||
long maxScanAgeMillis, long scanIntervalMillis,
|
||||
WifiPickerTracker.WifiPickerTrackerCallback listener) {
|
||||
return new WifiPickerTracker(
|
||||
lifecycle, context,
|
||||
context.getSystemService(WifiManager.class),
|
||||
context.getSystemService(ConnectivityManager.class),
|
||||
context.getSystemService(NetworkScoreManager.class),
|
||||
mainHandler, workerHandler, clock,
|
||||
maxScanAgeMillis, scanIntervalMillis,
|
||||
listener);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of NetworkDetailsTracker.
|
||||
*/
|
||||
@Override
|
||||
public NetworkDetailsTracker createNetworkDetailsTracker(
|
||||
Lifecycle lifecycle, Context context,
|
||||
Handler mainHandler, Handler workerHandler, Clock clock,
|
||||
long maxScanAgeMillis, long scanIntervalMillis,
|
||||
String key) {
|
||||
return NetworkDetailsTracker.createNetworkDetailsTracker(
|
||||
lifecycle, context,
|
||||
context.getSystemService(WifiManager.class),
|
||||
context.getSystemService(ConnectivityManager.class),
|
||||
context.getSystemService(NetworkScoreManager.class),
|
||||
mainHandler, workerHandler, clock,
|
||||
maxScanAgeMillis, scanIntervalMillis,
|
||||
key);
|
||||
}
|
||||
}
|
@@ -24,8 +24,6 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkScoreManager;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiConfiguration.KeyMgmt;
|
||||
import android.net.wifi.WifiManager;
|
||||
@@ -60,6 +58,7 @@ import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
import com.android.wifitrackerlib.WifiPickerTracker;
|
||||
|
||||
@@ -191,16 +190,15 @@ public class AddAppNetworksFragment extends InstrumentedFragment implements
|
||||
return SystemClock.elapsedRealtime();
|
||||
}
|
||||
};
|
||||
mWifiPickerTracker = new WifiPickerTracker(getSettingsLifecycle(), mActivity,
|
||||
mActivity.getSystemService(WifiManager.class),
|
||||
mActivity.getSystemService(ConnectivityManager.class),
|
||||
mActivity.getSystemService(NetworkScoreManager.class),
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
this);
|
||||
mWifiPickerTracker = FeatureFactory.getFactory(mActivity.getApplicationContext())
|
||||
.getWifiTrackerLibProvider()
|
||||
.createWifiPickerTracker(getSettingsLifecycle(), mActivity,
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
this);
|
||||
return inflater.inflate(R.layout.wifi_add_app_networks, container, false);
|
||||
}
|
||||
|
||||
|
@@ -22,7 +22,6 @@ import android.app.admin.DevicePolicyManager;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkScoreManager;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerThread;
|
||||
@@ -42,6 +41,7 @@ import androidx.preference.PreferenceScreen;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.wifi.WifiConfigUiBase2;
|
||||
import com.android.settings.wifi.WifiDialog2;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
@@ -239,18 +239,17 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
||||
}
|
||||
};
|
||||
|
||||
mNetworkDetailsTracker = NetworkDetailsTracker.createNetworkDetailsTracker(
|
||||
getSettingsLifecycle(),
|
||||
context,
|
||||
context.getSystemService(WifiManager.class),
|
||||
context.getSystemService(ConnectivityManager.class),
|
||||
context.getSystemService(NetworkScoreManager.class),
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
getArguments().getString(KEY_CHOSEN_WIFIENTRY_KEY));
|
||||
mNetworkDetailsTracker = FeatureFactory.getFactory(context)
|
||||
.getWifiTrackerLibProvider()
|
||||
.createNetworkDetailsTracker(
|
||||
getSettingsLifecycle(),
|
||||
context,
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
getArguments().getString(KEY_CHOSEN_WIFIENTRY_KEY));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -25,8 +25,6 @@ import android.content.Intent;
|
||||
import android.graphics.Matrix;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.SurfaceTexture;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkScoreManager;
|
||||
import android.net.wifi.EasyConnectStatusCallback;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiManager;
|
||||
@@ -57,6 +55,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
import androidx.lifecycle.ViewModelProviders;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.wifi.qrcode.QrCamera;
|
||||
import com.android.settings.wifi.qrcode.QrDecorateView;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
@@ -363,16 +362,15 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
||||
}
|
||||
};
|
||||
final Context context = getContext();
|
||||
mWifiPickerTracker = new WifiPickerTracker(getSettingsLifecycle(), context,
|
||||
context.getSystemService(WifiManager.class),
|
||||
context.getSystemService(ConnectivityManager.class),
|
||||
context.getSystemService(NetworkScoreManager.class),
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
null /* listener */);
|
||||
mWifiPickerTracker = FeatureFactory.getFactory(context)
|
||||
.getWifiTrackerLibProvider()
|
||||
.createWifiPickerTracker(getSettingsLifecycle(), context,
|
||||
new Handler(Looper.getMainLooper()),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
null /* listener */);
|
||||
|
||||
// setTitle for TalkBack
|
||||
if (mIsConfiguratorMode) {
|
||||
|
@@ -19,8 +19,6 @@ package com.android.settings.wifi.slice;
|
||||
import static com.android.settings.wifi.slice.WifiSlice.DEFAULT_EXPANDED_ROW_COUNT;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkScoreManager;
|
||||
import android.net.Uri;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.HandlerThread;
|
||||
@@ -34,6 +32,7 @@ import androidx.lifecycle.Lifecycle;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.LifecycleRegistry;
|
||||
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.slices.SliceBackgroundWorker;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
import com.android.wifitrackerlib.MergedCarrierEntry;
|
||||
@@ -79,16 +78,15 @@ public class WifiScanWorker extends SliceBackgroundWorker<WifiSliceItem> impleme
|
||||
return SystemClock.elapsedRealtime();
|
||||
}
|
||||
};
|
||||
mWifiPickerTracker = new WifiPickerTracker(getLifecycle(), context,
|
||||
context.getSystemService(WifiManager.class),
|
||||
context.getSystemService(ConnectivityManager.class),
|
||||
context.getSystemService(NetworkScoreManager.class),
|
||||
ThreadUtils.getUiThreadHandler(),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
this);
|
||||
mWifiPickerTracker = FeatureFactory.getFactory(context)
|
||||
.getWifiTrackerLibProvider()
|
||||
.createWifiPickerTracker(getLifecycle(), context,
|
||||
ThreadUtils.getUiThreadHandler(),
|
||||
mWorkerThread.getThreadHandler(),
|
||||
elapsedRealtimeClock,
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
this);
|
||||
|
||||
mLifecycleRegistry.markState(Lifecycle.State.INITIALIZED);
|
||||
mLifecycleRegistry.markState(Lifecycle.State.CREATED);
|
||||
|
@@ -43,6 +43,7 @@ import com.android.settings.search.SearchFeatureProvider;
|
||||
import com.android.settings.security.SecurityFeatureProvider;
|
||||
import com.android.settings.slices.SlicesFeatureProvider;
|
||||
import com.android.settings.users.UserFeatureProvider;
|
||||
import com.android.settings.wifi.WifiTrackerLibProvider;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
|
||||
import org.mockito.Answers;
|
||||
@@ -77,6 +78,8 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
public SearchFeatureProvider searchFeatureProvider;
|
||||
public ContextualCardFeatureProvider mContextualCardFeatureProvider;
|
||||
|
||||
public WifiTrackerLibProvider wifiTrackerLibProvider;
|
||||
|
||||
/**
|
||||
* Call this in {@code @Before} method of the test class to use fake factory.
|
||||
*/
|
||||
@@ -120,6 +123,7 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
mBluetoothFeatureProvider = mock(BluetoothFeatureProvider.class);
|
||||
mAwareFeatureProvider = mock(AwareFeatureProvider.class);
|
||||
mFaceFeatureProvider = mock(FaceFeatureProvider.class);
|
||||
wifiTrackerLibProvider = mock(WifiTrackerLibProvider.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -231,4 +235,9 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
public FaceFeatureProvider getFaceFeatureProvider() {
|
||||
return mFaceFeatureProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WifiTrackerLibProvider getWifiTrackerLibProvider() {
|
||||
return wifiTrackerLibProvider;
|
||||
}
|
||||
}
|
||||
|
@@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.anyLong;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
@@ -41,6 +42,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
import com.android.wifitrackerlib.WifiPickerTracker;
|
||||
|
||||
@@ -82,6 +84,8 @@ public class AddAppNetworksFragmentTest {
|
||||
@Mock
|
||||
private WifiEntry mWifiEntry;
|
||||
|
||||
private FakeFeatureFactory mFakeFeatureFactory;
|
||||
|
||||
@Mock
|
||||
private WifiPickerTracker mWifiPickerTracker;
|
||||
|
||||
@@ -106,6 +110,8 @@ public class AddAppNetworksFragmentTest {
|
||||
mSavedWpaConfigurationEntry = generateRegularWifiConfiguration(FAKE_NEW_SAVED_WPA_SSID,
|
||||
WifiConfiguration.KeyMgmt.WPA_PSK, "\"1234567890\"");
|
||||
|
||||
mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
|
||||
mAddAppNetworksFragment.mWifiPickerTracker = mWifiPickerTracker;
|
||||
setUpOneScannedNetworkWithScanedLevel4();
|
||||
}
|
||||
@@ -485,6 +491,9 @@ public class AddAppNetworksFragmentTest {
|
||||
}
|
||||
|
||||
private void setupFragment() {
|
||||
when(mFakeFeatureFactory.wifiTrackerLibProvider.createWifiPickerTracker(
|
||||
any(), any(), any(), any(), any(), anyLong(), anyLong(), any()))
|
||||
.thenReturn(mWifiPickerTracker);
|
||||
FragmentController.setupFragment(mAddAppNetworksFragment);
|
||||
}
|
||||
|
||||
|
@@ -41,6 +41,7 @@ import com.android.settings.search.SearchFeatureProvider;
|
||||
import com.android.settings.security.SecurityFeatureProvider;
|
||||
import com.android.settings.slices.SlicesFeatureProvider;
|
||||
import com.android.settings.users.UserFeatureProvider;
|
||||
import com.android.settings.wifi.WifiTrackerLibProvider;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
|
||||
/**
|
||||
@@ -72,6 +73,8 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
public SearchFeatureProvider searchFeatureProvider;
|
||||
public ContextualCardFeatureProvider mContextualCardFeatureProvider;
|
||||
|
||||
public WifiTrackerLibProvider wifiTrackerLibProvider;
|
||||
|
||||
/**
|
||||
* Call this in {@code @Before} method of the test class to use fake factory.
|
||||
*/
|
||||
@@ -106,6 +109,7 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
mBluetoothFeatureProvider = mock(BluetoothFeatureProvider.class);
|
||||
mAwareFeatureProvider = mock(AwareFeatureProvider.class);
|
||||
mFaceFeatureProvider = mock(FaceFeatureProvider.class);
|
||||
wifiTrackerLibProvider = mock(WifiTrackerLibProvider.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -217,4 +221,9 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
public FaceFeatureProvider getFaceFeatureProvider() {
|
||||
return mFaceFeatureProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WifiTrackerLibProvider getWifiTrackerLibProvider() {
|
||||
return wifiTrackerLibProvider;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user