Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 96b53495 authored by Cosmo Hsieh's avatar Cosmo Hsieh Committed by Android (Google) Code Review
Browse files

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

parents ead402c3 6938ad16
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -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";
}
+10 −21
Original line number Diff line number Diff line
@@ -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;
        }
        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() {
+1 −1
Original line number Diff line number Diff line
@@ -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;
    }
+13 −90
Original line number Diff line number Diff line
@@ -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,7 +98,6 @@ public class SavedAccessPointsWifiSettings extends DashboardFragment
            mAccessPointSavedState = null;
        }

        if (usingDetailsFragment(getContext())) {
        if (mSelectedAccessPoint == null) {
            mSelectedAccessPoint = new AccessPoint(getActivity(), mAccessPointSavedState);
        }
@@ -115,39 +110,6 @@ public class SavedAccessPointsWifiSettings extends DashboardFragment
                .setArguments(savedState)
                .setSourceMetricsCategory(getMetricsCategory())
                .launch();
        } else {
            showDialog(WifiSettings.WIFI_DIALOG_ID);
        }
    }

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

    @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);
+1 −1
Original line number Diff line number Diff line
@@ -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;
    }
Loading