Merge "[PasspointV2] Clear feature flag settings_wifi_details_saved_screen" into qt-dev
This commit is contained in:
@@ -26,7 +26,6 @@ public class FeatureFlags {
|
||||
public static final String MOBILE_NETWORK_V2 = "settings_mobile_network_v2";
|
||||
public static final String NETWORK_INTERNET_V2 = "settings_network_and_internet_v2";
|
||||
public static final String SLICE_INJECTION = "settings_slice_injection";
|
||||
public static final String WIFI_DETAILS_SAVED_SCREEN = "settings_wifi_details_saved_screen";
|
||||
public static final String WIFI_DETAILS_DATAUSAGE_HEADER =
|
||||
"settings_wifi_details_datausage_header";
|
||||
}
|
||||
|
@@ -71,7 +71,6 @@ import com.android.settings.wifi.WifiDialog;
|
||||
import com.android.settings.wifi.WifiDialog.WifiDialogListener;
|
||||
import com.android.settings.wifi.WifiUtils;
|
||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||
import com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
@@ -259,9 +258,9 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
public void onLost(Network network) {
|
||||
final boolean lostCurrentNetwork = network.equals(mNetwork);
|
||||
if (lostCurrentNetwork) {
|
||||
// If support detail page for saved network, should update as disconnect but not
|
||||
// exit. Except for ephemeral network which should not show on saved network list.
|
||||
if (SavedAccessPointsWifiSettings.usingDetailsFragment(mContext) && !mIsEphemeral) {
|
||||
// Should update as disconnect but not exit. Except for ephemeral network which
|
||||
// should not show on saved network list.
|
||||
if (!mIsEphemeral) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -351,16 +350,12 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
mLifecycle = lifecycle;
|
||||
lifecycle.addObserver(this);
|
||||
|
||||
if (SavedAccessPointsWifiSettings.usingDetailsFragment(mContext)) {
|
||||
mWifiTracker = WifiTrackerFactory.create(
|
||||
mFragment.getActivity(),
|
||||
mWifiListener,
|
||||
mLifecycle,
|
||||
true /*includeSaved*/,
|
||||
true /*includeScans*/);
|
||||
} else {
|
||||
mWifiTracker = null;
|
||||
}
|
||||
mWifiTracker = WifiTrackerFactory.create(
|
||||
mFragment.getActivity(),
|
||||
mWifiListener,
|
||||
mLifecycle,
|
||||
true /*includeSaved*/,
|
||||
true /*includeScans*/);
|
||||
mConnected = mAccessPoint.isActive();
|
||||
// When lost the network connection, WifiInfo/NetworkInfo will be clear. So causes we
|
||||
// could not check if the AccessPoint is ephemeral. Need to cache it in first.
|
||||
@@ -545,11 +540,6 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
if (mNetwork == null || mNetworkInfo == null || mWifiInfo == null) {
|
||||
// Once connected, can't get mNetworkInfo immediately, return false and wait for
|
||||
// next time to update UI.
|
||||
if (SavedAccessPointsWifiSettings.usingDetailsFragment(mContext)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
exitActivity();
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -761,8 +751,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
|
||||
private boolean canConnectNetwork() {
|
||||
// Display connect button for disconnected AP even not in the range.
|
||||
return SavedAccessPointsWifiSettings.usingDetailsFragment(mContext)
|
||||
&& !mAccessPoint.isActive();
|
||||
return !mAccessPoint.isActive();
|
||||
}
|
||||
|
||||
private void refreshIpLayerInfo() {
|
||||
|
@@ -92,7 +92,7 @@ public class SavedAccessPointsPreferenceController extends BasePreferenceControl
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
if (mHost != null) {
|
||||
mHost.showWifiDialog((AccessPointPreference) preference);
|
||||
mHost.showWifiPage((AccessPointPreference) preference);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -41,12 +41,10 @@ import com.android.settingslib.wifi.AccessPointPreference;
|
||||
/**
|
||||
* UI to manage saved networks/access points.
|
||||
*/
|
||||
public class SavedAccessPointsWifiSettings extends DashboardFragment
|
||||
implements WifiDialog.WifiDialogListener, DialogInterface.OnCancelListener {
|
||||
public class SavedAccessPointsWifiSettings extends DashboardFragment {
|
||||
|
||||
private static final String TAG = "SavedAccessPoints";
|
||||
|
||||
private WifiManager mWifiManager;
|
||||
private Bundle mAccessPointSavedState;
|
||||
private AccessPoint mSelectedAccessPoint;
|
||||
|
||||
@@ -71,8 +69,6 @@ public class SavedAccessPointsWifiSettings extends DashboardFragment
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
mWifiManager = (WifiManager) getContext()
|
||||
.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
|
||||
use(SavedAccessPointsPreferenceController.class)
|
||||
.setHost(this);
|
||||
use(SubscribedAccessPointsPreferenceController.class)
|
||||
@@ -90,7 +86,7 @@ public class SavedAccessPointsWifiSettings extends DashboardFragment
|
||||
}
|
||||
}
|
||||
|
||||
public void showWifiDialog(@Nullable AccessPointPreference accessPoint) {
|
||||
public void showWifiPage(@Nullable AccessPointPreference accessPoint) {
|
||||
removeDialog(WifiSettings.WIFI_DIALOG_ID);
|
||||
|
||||
if (accessPoint != null) {
|
||||
@@ -102,52 +98,18 @@ public class SavedAccessPointsWifiSettings extends DashboardFragment
|
||||
mAccessPointSavedState = null;
|
||||
}
|
||||
|
||||
if (usingDetailsFragment(getContext())) {
|
||||
if (mSelectedAccessPoint == null) {
|
||||
mSelectedAccessPoint = new AccessPoint(getActivity(), mAccessPointSavedState);
|
||||
}
|
||||
final Bundle savedState = new Bundle();
|
||||
mSelectedAccessPoint.saveWifiState(savedState);
|
||||
|
||||
new SubSettingLauncher(getContext())
|
||||
.setTitleText(mSelectedAccessPoint.getTitle())
|
||||
.setDestination(WifiNetworkDetailsFragment.class.getName())
|
||||
.setArguments(savedState)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
} else {
|
||||
showDialog(WifiSettings.WIFI_DIALOG_ID);
|
||||
if (mSelectedAccessPoint == null) {
|
||||
mSelectedAccessPoint = new AccessPoint(getActivity(), mAccessPointSavedState);
|
||||
}
|
||||
}
|
||||
final Bundle savedState = new Bundle();
|
||||
mSelectedAccessPoint.saveWifiState(savedState);
|
||||
|
||||
@Override
|
||||
public Dialog onCreateDialog(int dialogId) {
|
||||
switch (dialogId) {
|
||||
case WifiSettings.WIFI_DIALOG_ID:
|
||||
// Modify network
|
||||
if (mSelectedAccessPoint == null) {
|
||||
// Restore AP from save state
|
||||
mSelectedAccessPoint = new AccessPoint(getActivity(), mAccessPointSavedState);
|
||||
// Reset the saved access point data
|
||||
mAccessPointSavedState = null;
|
||||
}
|
||||
final WifiDialog dialog = WifiDialog.createModal(
|
||||
getActivity(), this, mSelectedAccessPoint, WifiConfigUiBase.MODE_VIEW);
|
||||
dialog.setOnCancelListener(this);
|
||||
|
||||
return dialog;
|
||||
}
|
||||
return super.onCreateDialog(dialogId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDialogMetricsCategory(int dialogId) {
|
||||
switch (dialogId) {
|
||||
case WifiSettings.WIFI_DIALOG_ID:
|
||||
return SettingsEnums.DIALOG_WIFI_SAVED_AP_EDIT;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
new SubSettingLauncher(getContext())
|
||||
.setTitleText(mSelectedAccessPoint.getTitle())
|
||||
.setDestination(WifiNetworkDetailsFragment.class.getName())
|
||||
.setArguments(savedState)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -162,45 +124,6 @@ public class SavedAccessPointsWifiSettings extends DashboardFragment
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onForget(WifiDialog dialog) {
|
||||
if (mSelectedAccessPoint != null) {
|
||||
if (mSelectedAccessPoint.isPasspointConfig()) {
|
||||
try {
|
||||
mWifiManager.removePasspointConfiguration(
|
||||
mSelectedAccessPoint.getPasspointFqdn());
|
||||
} catch (RuntimeException e) {
|
||||
Log.e(TAG, "Failed to remove Passpoint configuration for "
|
||||
+ mSelectedAccessPoint.getConfigName());
|
||||
}
|
||||
if (isSubscriptionsFeatureEnabled()) {
|
||||
use(SubscribedAccessPointsPreferenceController.class)
|
||||
.postRefreshSubscribedAccessPoints();
|
||||
} else {
|
||||
use(SavedAccessPointsPreferenceController.class)
|
||||
.postRefreshSavedAccessPoints();
|
||||
}
|
||||
} else {
|
||||
// both onSuccess/onFailure will call postRefreshSavedAccessPoints
|
||||
mWifiManager.forget(mSelectedAccessPoint.getConfig().networkId,
|
||||
use(SavedAccessPointsPreferenceController.class));
|
||||
}
|
||||
mSelectedAccessPoint = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel(DialogInterface dialog) {
|
||||
mSelectedAccessPoint = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if showing WifiNetworkDetailsFragment when clicking saved network item.
|
||||
*/
|
||||
public static boolean usingDetailsFragment(Context context) {
|
||||
return FeatureFlagUtils.isEnabled(context, FeatureFlags.WIFI_DETAILS_SAVED_SCREEN);
|
||||
}
|
||||
|
||||
boolean isSubscriptionsFeatureEnabled() {
|
||||
return FeatureFlagUtils.isEnabled(getContext(), FeatureFlags.MOBILE_NETWORK_V2)
|
||||
&& FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2);
|
||||
|
@@ -91,7 +91,7 @@ public class SubscribedAccessPointsPreferenceController extends BasePreferenceCo
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
if (mHost != null) {
|
||||
mHost.showWifiDialog((AccessPointPreference) preference);
|
||||
mHost.showWifiPage((AccessPointPreference) preference);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user