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

Commit b1c62641 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Update Internet Settings layout" into main

parents 20797bf7 c0fc9255
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2309,6 +2309,8 @@
    <!-- Used in the Wi-Fi settings screen to control turning on/off Wi-Fi entirely [CHAR LIMIT=30]-->
    <string name="wifi_settings_primary_switch_title">Use Wi\u2011Fi</string>
    <!-- Category name of Wi-fi networks [CHAR LIMIT=60] -->
    <string name="wifi_networks_category">Networks</string>
    <!-- Title of the Wi-fi settings screen -->
    <string name="wifi_settings_category">Wi\u2011Fi settings</string>
    <!-- Used by Account creation for turning on Wi-Fi  [CHAR LIMIT=60] -->
+10 −17
Original line number Diff line number Diff line
@@ -54,30 +54,23 @@

    <PreferenceCategory
        android:key="provider_model_mobile_network"
        android:title="@string/summary_placeholder"
        android:layout="@layout/preference_category_no_label"
        android:title="@string/mobile_data_settings_title"
        settings:isPreferenceVisible="@bool/config_show_sim_info"
        settings:controller="com.android.settings.network.NetworkMobileProviderController"/>

    <PreferenceCategory
        android:key="wifi_category"
        android:title="@string/wifi_settings">
        <com.android.settingslib.RestrictedSwitchPreference
            android:key="main_toggle_wifi"
        android:title="@string/wifi"
            android:title="@string/wifi_settings_primary_switch_title"
            settings:keywords="@string/keywords_wifi"
        settings:restrictedSwitchSummary="@string/not_allowed_by_ent"
        settings:allowDividerAbove="true"/>

    <PreferenceCategory
        android:key="connected_access_point"
        android:layout="@layout/preference_category_no_label"/>

    <PreferenceCategory
        android:key="first_access_points"
        android:layout="@layout/preference_category_no_label"/>
            settings:restrictedSwitchSummary="@string/not_allowed_by_ent"/>
    </PreferenceCategory>

    <PreferenceCategory
        android:key="access_points"
        android:layout="@layout/preference_category_no_label">

        android:title="@string/wifi_networks_category">
        <com.android.settings.wifi.AddWifiNetworkPreference
            android:key="add_wifi_network"
            android:title="@string/wifi_add_network"
+0 −4
Original line number Diff line number Diff line
@@ -74,15 +74,11 @@ public class InternetResetHelper implements LifecycleObserver {
    public InternetResetHelper(Context context, Lifecycle lifecycle,
            NetworkMobileProviderController mobileNetworkController,
            Preference wifiTogglePreferences,
            PreferenceCategory connectedWifiEntryPreferenceCategory,
            PreferenceCategory firstWifiEntryPreferenceCategory,
            PreferenceCategory wifiEntryPreferenceCategory,
            Preference resettingPreference) {
        mContext = context;
        mMobileNetworkController = mobileNetworkController;
        mWifiTogglePreferences = wifiTogglePreferences;
        mWifiNetworkPreferences.add(connectedWifiEntryPreferenceCategory);
        mWifiNetworkPreferences.add(firstWifiEntryPreferenceCategory);
        mWifiNetworkPreferences.add(wifiEntryPreferenceCategory);
        mResettingPreference = resettingPreference;

+9 −37
Original line number Diff line number Diff line
@@ -81,6 +81,7 @@ import com.android.settings.wifi.AddWifiNetworkPreference;
import com.android.settings.wifi.ConfigureWifiEntryFragment;
import com.android.settings.wifi.ConnectedWifiEntryPreference;
import com.android.settings.wifi.LongPressWifiEntryPreference;
import com.android.settings.wifi.WifiCategory;
import com.android.settings.wifi.WifiConfigUiBase2;
import com.android.settings.wifi.WifiDialog2;
import com.android.settings.wifi.WifiPickerTrackerHelper;
@@ -232,10 +233,7 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment

    private WifiDialog2 mDialog;

    @VisibleForTesting
    PreferenceCategory mConnectedWifiEntryPreferenceCategory;
    @VisibleForTesting
    PreferenceCategory mFirstWifiEntryPreferenceCategory;
    private WifiCategory mWifiCategory;
    @VisibleForTesting
    PreferenceCategory mWifiEntryPreferenceCategory;
    @VisibleForTesting
@@ -388,8 +386,7 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment
    private void addPreferences() {
        mAirplaneModeMsgPreference = findPreference(PREF_KEY_AIRPLANE_MODE_MSG);
        updateAirplaneModeMsgPreference(mAirplaneModeEnabler.isAirplaneModeOn() /* visible */);
        mConnectedWifiEntryPreferenceCategory = findPreference(PREF_KEY_CONNECTED_ACCESS_POINTS);
        mFirstWifiEntryPreferenceCategory = findPreference(PREF_KEY_FIRST_ACCESS_POINTS);
        mWifiCategory = new WifiCategory(this);
        mWifiEntryPreferenceCategory = findPreference(PREF_KEY_ACCESS_POINTS);
        mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_NETWORK_SETTINGS);
        mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS);
@@ -479,8 +476,6 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment
        mInternetResetHelper = new InternetResetHelper(getContext(), getLifecycle(),
                mNetworkMobileProviderController,
                findPreference(WifiSwitchPreferenceController.KEY),
                mConnectedWifiEntryPreferenceCategory,
                mFirstWifiEntryPreferenceCategory,
                mWifiEntryPreferenceCategory,
                mResetInternetPreference);
        mInternetResetHelper.checkRecovering();
@@ -917,19 +912,19 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment
                break;

            case WifiManager.WIFI_STATE_ENABLING:
                removeConnectedWifiEntryPreference();
                mWifiCategory.removeWifiEntryPreferences();
                removeWifiEntryPreference();
                setProgressBarVisible(true);
                break;

            case WifiManager.WIFI_STATE_DISABLING:
                removeConnectedWifiEntryPreference();
                mWifiCategory.removeWifiEntryPreferences();
                removeWifiEntryPreference();
                break;

            case WifiManager.WIFI_STATE_DISABLED:
                setWifiScanMessage(/* isWifiEnabled */ false);
                removeConnectedWifiEntryPreference();
                mWifiCategory.removeWifiEntryPreferences();
                removeWifiEntryPreference();
                setAdditionalSettingsSummaries();
                setProgressBarVisible(false);
@@ -1031,13 +1026,12 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment
        mWifiEntryPreferenceCategory.setVisible(true);

        final WifiEntry connectedEntry = mWifiPickerTracker.getConnectedWifiEntry();
        PreferenceCategory connectedWifiPreferenceCategory = getConnectedWifiPreferenceCategory();
        connectedWifiPreferenceCategory.setVisible(connectedEntry != null);
        PreferenceCategory connectedWifiPreferenceCategory = mWifiCategory.getPreferenceCategory();
        if (connectedEntry != null) {
            final LongPressWifiEntryPreference connectedPref =
                    connectedWifiPreferenceCategory.findPreference(connectedEntry.getKey());
            if (connectedPref == null || connectedPref.getWifiEntry() != connectedEntry) {
                connectedWifiPreferenceCategory.removeAll();
                mWifiCategory.removeWifiEntryPreferences();
                final ConnectedWifiEntryPreference pref =
                        createConnectedWifiEntryPreference(connectedEntry);
                pref.setKey(connectedEntry.getKey());
@@ -1061,7 +1055,7 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment
                }
            }
        } else {
            connectedWifiPreferenceCategory.removeAll();
            mWifiCategory.removeWifiEntryPreferences();
        }

        int index = 0;
@@ -1136,19 +1130,6 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment
        }
    }

    @VisibleForTesting
    PreferenceCategory getConnectedWifiPreferenceCategory() {
        if (mInternetUpdater.getInternetType() == InternetUpdater.INTERNET_WIFI) {
            mFirstWifiEntryPreferenceCategory.setVisible(false);
            mFirstWifiEntryPreferenceCategory.removeAll();
            return mConnectedWifiEntryPreferenceCategory;
        }

        mConnectedWifiEntryPreferenceCategory.setVisible(false);
        mConnectedWifiEntryPreferenceCategory.removeAll();
        return mFirstWifiEntryPreferenceCategory;
    }

    @VisibleForTesting
    ConnectedWifiEntryPreference createConnectedWifiEntryPreference(WifiEntry wifiEntry) {
        if (mInternetUpdater.getInternetType() == InternetUpdater.INTERNET_WIFI) {
@@ -1205,15 +1186,6 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment
                .launch();
    }

    /** Removes all preferences and hide the {@link #mConnectedWifiEntryPreferenceCategory} and
     *  {@link #mFirstWifiEntryPreferenceCategory}. */
    private void removeConnectedWifiEntryPreference() {
        mConnectedWifiEntryPreferenceCategory.removeAll();
        mConnectedWifiEntryPreferenceCategory.setVisible(false);
        mFirstWifiEntryPreferenceCategory.setVisible(false);
        mFirstWifiEntryPreferenceCategory.removeAll();
    }

    private void removeWifiEntryPreference() {
        mWifiEntryPreferenceCategory.removeAll();
        mWifiEntryPreferenceCategory.setVisible(false);
+45 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2025 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.util.Log
import androidx.preference.PreferenceCategory
import com.android.settings.dashboard.RestrictedDashboardFragment

class WifiCategory(
    private val fragment: RestrictedDashboardFragment,
) {

    val preferenceCategory: PreferenceCategory?
        get() = fragment.findPreference(KEY)

    fun removeWifiEntryPreferences() {
        val category = preferenceCategory ?: run {
            Log.w(TAG, "Can't find PreferenceCategory to remove WifiEntryPreference!")
            return
        }
        for (i in category.preferenceCount - 1 downTo 0) {
            val preference = category.getPreference(i)
            if (preference is WifiEntryPreference) category.removePreference(preference)
        }
    }

    companion object {
        const val TAG = "WifiCategory"
        const val KEY = "wifi_category"
    }
}
 No newline at end of file
Loading