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

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

Merge "Remove WifiDetailPreference."

parents d4fc724f 52552ab0
Loading
Loading
Loading
Loading
+23 −17
Original line number Diff line number Diff line
@@ -34,18 +34,18 @@
    <!-- General Details Category -->
    <PreferenceCategory
            android:key="general_details_category" >
        <com.android.settings.wifi.WifiDetailPreference
        <Preference
                android:key="signal_strength"
                android:title="@string/wifi_signal"
                android:selectable="false"/>

        <com.android.settings.wifi.WifiDetailPreference
        <Preference
                android:key="frequency"
                android:icon="@drawable/ic_frequency_antenna"
                android:title="@string/wifi_frequency"
                android:selectable="false"/>

        <com.android.settings.wifi.WifiDetailPreference
        <Preference
                android:key="security"
                android:icon="@drawable/ic_security_lock_24dp"
                android:title="@string/wifi_security"
@@ -69,30 +69,36 @@
    <PreferenceCategory
            android:key="ip_details_category"
            android:title="@string/wifi_setup_detail">
        <com.android.settings.wifi.WifiDetailPreference
        <Preference
                android:key="mac_address"
                android:title="@string/wifi_advanced_mac_address_title"
            android:selectable="false"/>
        <com.android.settings.wifi.WifiDetailPreference
                android:selectable="false"
                settings:enableCopying="true"/>
        <Preference
                android:key="ip_address"
                android:title="@string/wifi_ip_address"
                android:selectable="false"/>
        <com.android.settings.wifi.WifiDetailPreference
                android:selectable="false"
                settings:enableCopying="true"/>
        <Preference
                android:key="gateway"
                android:title="@string/wifi_gateway"
                android:selectable="false"/>
        <com.android.settings.wifi.WifiDetailPreference
                android:selectable="false"
                settings:enableCopying="true"/>
        <Preference
                android:key="subnet_mask"
                android:title="@string/wifi_details_subnet_mask"
                android:selectable="false"/>
        <com.android.settings.wifi.WifiDetailPreference
                android:selectable="false"
                settings:enableCopying="true"/>
        <Preference
                android:key="dns"
                android:title="@string/wifi_details_dns"
                android:selectable="false"/>
        <com.android.settings.wifi.WifiDetailPreference
                android:selectable="false"
                settings:enableCopying="true"/>
        <Preference
                android:key="link_speed"
                android:title="@string/wifi_speed"
                android:selectable="false"/>
                android:selectable="false"
                settings:enableCopying="true"/>
    </PreferenceCategory>

    <!-- IPv6 Details -->
+0 −54
Original line number Diff line number Diff line
/*
 * Copyright (C) 2009 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.text.TextUtils;
import android.util.AttributeSet;
import android.widget.TextView;

import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;

import com.android.settings.R;

/**
 * A Preference to be used with the Wifi Network Detail Fragment that allows a summary text to be
 * set inside the widget resource
 */
public class WifiDetailPreference extends Preference {
    private String mDetailText;

    public WifiDetailPreference(Context context, AttributeSet attrs) {
        super(context, attrs);
        setWidgetLayoutResource(R.layout.preference_widget_summary);
    }

    public void setDetailText(String text) {
        if (TextUtils.equals(mDetailText, text)) return;
        mDetailText = text;
        notifyChanged();
    }

    @Override
    public void onBindViewHolder(PreferenceViewHolder view) {
        super.onBindViewHolder(view);
        TextView textView = ((TextView) view.findViewById(R.id.widget_summary));
        textView.setText(mDetailText);
        textView.setPadding(0, 0, 10, 0);
    }
}
+25 −27
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@ import com.android.settings.Utils;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.widget.ActionButtonPreference;
import com.android.settings.widget.EntityHeaderController;
import com.android.settings.wifi.WifiDetailPreference;
import com.android.settings.wifi.WifiDialog;
import com.android.settings.wifi.WifiDialog.WifiDialogListener;
import com.android.settings.wifi.WifiUtils;
@@ -133,15 +132,15 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
    // UI elements - in order of appearance
    private ActionButtonPreference mButtonsPref;
    private EntityHeaderController mEntityHeaderController;
    private WifiDetailPreference mSignalStrengthPref;
    private WifiDetailPreference mLinkSpeedPref;
    private WifiDetailPreference mFrequencyPref;
    private WifiDetailPreference mSecurityPref;
    private WifiDetailPreference mMacAddressPref;
    private WifiDetailPreference mIpAddressPref;
    private WifiDetailPreference mGatewayPref;
    private WifiDetailPreference mSubnetPref;
    private WifiDetailPreference mDnsPref;
    private Preference mSignalStrengthPref;
    private Preference mLinkSpeedPref;
    private Preference mFrequencyPref;
    private Preference mSecurityPref;
    private Preference mMacAddressPref;
    private Preference mIpAddressPref;
    private Preference mGatewayPref;
    private Preference mSubnetPref;
    private Preference mDnsPref;
    private PreferenceCategory mIpv6Category;
    private Preference mIpv6AddressPref;

@@ -283,22 +282,21 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
                .setButton2Text(R.string.wifi_sign_in_button_text)
                .setButton2OnClickListener(view -> signIntoNetwork());

        mSignalStrengthPref =
                (WifiDetailPreference) screen.findPreference(KEY_SIGNAL_STRENGTH_PREF);
        mLinkSpeedPref = (WifiDetailPreference) screen.findPreference(KEY_LINK_SPEED);
        mFrequencyPref = (WifiDetailPreference) screen.findPreference(KEY_FREQUENCY_PREF);
        mSecurityPref = (WifiDetailPreference) screen.findPreference(KEY_SECURITY_PREF);
        mSignalStrengthPref = screen.findPreference(KEY_SIGNAL_STRENGTH_PREF);
        mLinkSpeedPref = screen.findPreference(KEY_LINK_SPEED);
        mFrequencyPref = screen.findPreference(KEY_FREQUENCY_PREF);
        mSecurityPref = screen.findPreference(KEY_SECURITY_PREF);

        mMacAddressPref = (WifiDetailPreference) screen.findPreference(KEY_MAC_ADDRESS_PREF);
        mIpAddressPref = (WifiDetailPreference) screen.findPreference(KEY_IP_ADDRESS_PREF);
        mGatewayPref = (WifiDetailPreference) screen.findPreference(KEY_GATEWAY_PREF);
        mSubnetPref = (WifiDetailPreference) screen.findPreference(KEY_SUBNET_MASK_PREF);
        mDnsPref = (WifiDetailPreference) screen.findPreference(KEY_DNS_PREF);
        mMacAddressPref = screen.findPreference(KEY_MAC_ADDRESS_PREF);
        mIpAddressPref = screen.findPreference(KEY_IP_ADDRESS_PREF);
        mGatewayPref = screen.findPreference(KEY_GATEWAY_PREF);
        mSubnetPref = screen.findPreference(KEY_SUBNET_MASK_PREF);
        mDnsPref = screen.findPreference(KEY_DNS_PREF);

        mIpv6Category = (PreferenceCategory) screen.findPreference(KEY_IPV6_CATEGORY);
        mIpv6AddressPref = screen.findPreference(KEY_IPV6_ADDRESSES_PREF);

        mSecurityPref.setDetailText(mAccessPoint.getSecurityString(false /* concise */));
        mSecurityPref.setSummary(mAccessPoint.getSecurityString(false /* concise */));
    }

    private void setupEntityHeader(PreferenceScreen screen) {
@@ -359,12 +357,12 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
        refreshRssiViews();

        // MAC Address Pref
        mMacAddressPref.setDetailText(mWifiInfo.getMacAddress());
        mMacAddressPref.setSummary(mWifiInfo.getMacAddress());

        // Link Speed Pref
        int linkSpeedMbps = mWifiInfo.getLinkSpeed();
        mLinkSpeedPref.setVisible(linkSpeedMbps >= 0);
        mLinkSpeedPref.setDetailText(mContext.getString(
        mLinkSpeedPref.setSummary(mContext.getString(
                R.string.link_speed, mWifiInfo.getLinkSpeed()));

        // Frequency Pref
@@ -379,7 +377,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
        } else {
            Log.e(TAG, "Unexpected frequency " + frequency);
        }
        mFrequencyPref.setDetailText(band);
        mFrequencyPref.setSummary(band);

        updateIpLayerInfo();
    }
@@ -414,12 +412,12 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
                R.color.wifi_details_icon_color, mContext.getTheme()));
        mSignalStrengthPref.setIcon(wifiIconDark);

        mSignalStrengthPref.setDetailText(mSignalStr[mRssiSignalLevel]);
        mSignalStrengthPref.setSummary(mSignalStr[mRssiSignalLevel]);
    }

    private void updatePreference(WifiDetailPreference pref, String detailText) {
    private void updatePreference(Preference pref, String detailText) {
        if (!TextUtils.isEmpty(detailText)) {
            pref.setDetailText(detailText);
            pref.setSummary(detailText);
            pref.setVisible(true);
        } else {
            pref.setVisible(false);
+24 −24
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ import android.widget.ImageView;

import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.LifecycleOwner;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;

@@ -69,7 +70,6 @@ import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
import com.android.settings.widget.ActionButtonPreference;
import com.android.settings.widget.ActionButtonPreferenceTest;
import com.android.settings.widget.EntityHeaderController;
import com.android.settings.wifi.WifiDetailPreference;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.widget.LayoutPreference;
@@ -144,27 +144,27 @@ public class WifiDetailPreferenceControllerTest {
    @Mock
    private ActionButtonPreference mockButtonsPref;
    @Mock
    private WifiDetailPreference mockSignalStrengthPref;
    private Preference mockSignalStrengthPref;
    @Mock
    private WifiDetailPreference mockLinkSpeedPref;
    private Preference mockLinkSpeedPref;
    @Mock
    private WifiDetailPreference mockFrequencyPref;
    private Preference mockFrequencyPref;
    @Mock
    private WifiDetailPreference mockSecurityPref;
    private Preference mockSecurityPref;
    @Mock
    private WifiDetailPreference mockMacAddressPref;
    private Preference mockMacAddressPref;
    @Mock
    private WifiDetailPreference mockIpAddressPref;
    private Preference mockIpAddressPref;
    @Mock
    private WifiDetailPreference mockGatewayPref;
    private Preference mockGatewayPref;
    @Mock
    private WifiDetailPreference mockSubnetPref;
    private Preference mockSubnetPref;
    @Mock
    private WifiDetailPreference mockDnsPref;
    private Preference mockDnsPref;
    @Mock
    private PreferenceCategory mockIpv6Category;
    @Mock
    private WifiDetailPreference mockIpv6AddressesPref;
    private Preference mockIpv6AddressesPref;
    @Mock
    private PackageManager mockPackageManager;

@@ -336,7 +336,7 @@ public class WifiDetailPreferenceControllerTest {
    public void securityPreference_stringShouldBeSet() {
        displayAndResume();

        verify(mockSecurityPref).setDetailText(SECURITY);
        verify(mockSecurityPref).setSummary(SECURITY);
    }

    @Test
@@ -413,7 +413,7 @@ public class WifiDetailPreferenceControllerTest {

        displayAndResume();

        verify(mockSignalStrengthPref).setDetailText(expectedStrength);
        verify(mockSignalStrengthPref).setSummary(expectedStrength);
    }

    @Test
@@ -422,7 +422,7 @@ public class WifiDetailPreferenceControllerTest {

        displayAndResume();

        verify(mockLinkSpeedPref).setDetailText(expectedLinkSpeed);
        verify(mockLinkSpeedPref).setSummary(expectedLinkSpeed);
    }

    @Test
@@ -438,7 +438,7 @@ public class WifiDetailPreferenceControllerTest {
    public void macAddressPref_shouldHaveDetailTextSet() {
        displayAndResume();

        verify(mockMacAddressPref).setDetailText(MAC_ADDRESS);
        verify(mockMacAddressPref).setSummary(MAC_ADDRESS);
    }

    @Test
@@ -447,7 +447,7 @@ public class WifiDetailPreferenceControllerTest {

        displayAndResume();

        verify(mockIpAddressPref).setDetailText(Constants.IPV4_ADDR.getAddress().getHostAddress());
        verify(mockIpAddressPref).setSummary(Constants.IPV4_ADDR.getAddress().getHostAddress());
    }

    @Test
@@ -458,8 +458,8 @@ public class WifiDetailPreferenceControllerTest {

        displayAndResume();

        verify(mockSubnetPref).setDetailText("255.255.255.128");
        verify(mockGatewayPref).setDetailText("192.0.2.127");
        verify(mockSubnetPref).setSummary("255.255.255.128");
        verify(mockGatewayPref).setSummary("192.0.2.127");
    }

    @Test
@@ -470,7 +470,7 @@ public class WifiDetailPreferenceControllerTest {

        displayAndResume();

        verify(mockDnsPref).setDetailText(
        verify(mockDnsPref).setSummary(
                "8.8.4.4\n" +
                        "8.8.8.8\n" +
                        Constants.IPV6_DNS.getHostAddress());
@@ -551,15 +551,15 @@ public class WifiDetailPreferenceControllerTest {

        lp.addRoute(Constants.IPV4_DEFAULT);
        updateLinkProperties(lp);
        inOrder.verify(mockGatewayPref).setDetailText(Constants.IPV4_GATEWAY.getHostAddress());
        inOrder.verify(mockGatewayPref).setSummary(Constants.IPV4_GATEWAY.getHostAddress());
        inOrder.verify(mockGatewayPref).setVisible(true);

        lp.addLinkAddress(Constants.IPV4_ADDR);
        lp.addRoute(Constants.IPV4_SUBNET);
        updateLinkProperties(lp);
        inOrder.verify(mockIpAddressPref).setDetailText(asString(Constants.IPV4_ADDR));
        inOrder.verify(mockIpAddressPref).setSummary(asString(Constants.IPV4_ADDR));
        inOrder.verify(mockIpAddressPref).setVisible(true);
        inOrder.verify(mockSubnetPref).setDetailText("255.255.255.128");
        inOrder.verify(mockSubnetPref).setSummary("255.255.255.128");
        inOrder.verify(mockSubnetPref).setVisible(true);

        lp.addLinkAddress(Constants.IPV6_GLOBAL1);
@@ -578,13 +578,13 @@ public class WifiDetailPreferenceControllerTest {

        lp.addDnsServer(Constants.IPV6_DNS);
        updateLinkProperties(lp);
        inOrder.verify(mockDnsPref).setDetailText(Constants.IPV6_DNS.getHostAddress());
        inOrder.verify(mockDnsPref).setSummary(Constants.IPV6_DNS.getHostAddress());
        inOrder.verify(mockDnsPref).setVisible(true);

        lp.addDnsServer(Constants.IPV4_DNS1);
        lp.addDnsServer(Constants.IPV4_DNS2);
        updateLinkProperties(lp);
        inOrder.verify(mockDnsPref).setDetailText(
        inOrder.verify(mockDnsPref).setSummary(
                Constants.IPV6_DNS.getHostAddress() + "\n" +
                        Constants.IPV4_DNS1.getHostAddress() + "\n" +
                        Constants.IPV4_DNS2.getHostAddress());