Merge "[PasspointV2] Clear feature flag settings_wifi_details_saved_screen" into qt-dev

This commit is contained in:
Cosmo Hsieh
2019-04-14 05:51:02 +00:00
committed by Android (Google) Code Review
7 changed files with 30 additions and 244 deletions

View File

@@ -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";
}

View File

@@ -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() {

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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;
}