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

Commit 6ef072e3 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Settings: Add CMCC wifi extension feature"

parents 68e95606 4f0a6d9a
Loading
Loading
Loading
Loading

res/values-zh-rCN/strings.xml

100755 → 100644
+3 −0
Original line number Diff line number Diff line
@@ -3129,6 +3129,9 @@
    <string name="notify_connect">连接CMCC告警</string>
    <string name="notify_connect_summary">连接到CMCC热点后提示</string>
    <string name="wifi_setting_connect_type_error">设置自动连接类型时出现错误。</string>
    <string name="wifi_advanced_gateway">网关</string>
    <string name="wifi_advanced_network_netmask">子网掩码</string>

    <string name="label_global_roaming_settings">国际漫游设置</string>
    <string name="set_data_time_range">显示时间区间</string>
    <string name="app_ops_permiss_name">应用联网限制</string>

res/values/strings.xml

100755 → 100644
+3 −0
Original line number Diff line number Diff line
@@ -7548,6 +7548,9 @@
    <string name="notify_connect">CMCC WLAN prompt</string>
    <string name="notify_connect_summary">Prompt me when access to CMCC WLAN</string>
    <string name="wifi_setting_connect_type_error">There was a problem setting the connect type.</string>
    <string name="wifi_advanced_gateway">Gateway</string>
    <string name="wifi_advanced_network_netmask">Netmask</string>
    <string name="app_ops_permiss_name">App network access</string>
    <!-- Roaming Data Settings -->
+10 −0
Original line number Diff line number Diff line
@@ -52,4 +52,14 @@
        android:title="@string/wifi_advanced_ip_address_title"
        android:layout="@layout/wifi_advance_layout" />

    <Preference
        android:key="current_gateway"
        android:title="@string/wifi_advanced_gateway"
        android:layout="@layout/wifi_advance_layout" />

    <Preference
        android:key="current_netmask"
        android:title="@string/wifi_advanced_network_netmask"
        android:layout="@layout/wifi_advance_layout" />

</PreferenceScreen>
+2 −4
Original line number Diff line number Diff line
@@ -51,8 +51,6 @@ public class AdvancedWifiSettings extends RestrictedSettingsFragment
    private static final String KEY_WPS_PIN = "wps_pin_entry";

    // Wifi extension requirement
    private static final String KEY_CURRENT_GATEWAY = "current_gateway";
    private static final String KEY_CURRENT_NETMASK = "current_netmask";
    private static final int WIFI_HS2_ENABLED = 1;
    private static final int WIFI_HS2_DISABLED = 0;

@@ -342,13 +340,13 @@ public class AdvancedWifiSettings extends RestrictedSettingsFragment
    }

    private boolean isAutoConnectEnabled() {
        return Settings.System.getInt(getActivity().getContentResolver(),
        return Settings.Global.getInt(getActivity().getContentResolver(),
                WIFI_AUTO_CONNECT_TYPE, AUTO_CONNECT_ENABLED) == AUTO_CONNECT_ENABLED;
    }

    private void setAutoConnectTypeEnabled(boolean enable) {
        final int defaultValue = enable ? AUTO_CONNECT_ENABLED : AUTO_CONNECT_DISABLE;
        Settings.System.putInt(getActivity().getContentResolver(),
        Settings.Global.putInt(getActivity().getContentResolver(),
                WIFI_AUTO_CONNECT_TYPE, defaultValue);
    }

+36 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.DhcpInfo;
import android.net.NetworkScoreManager;
import android.net.NetworkScorerAppManager;
import android.net.wifi.WifiConfiguration;
@@ -31,6 +32,7 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.ListPreference;
import android.support.v7.preference.Preference;
import android.text.TextUtils;
import android.text.format.Formatter;
import android.util.Log;
import android.widget.Toast;
import com.android.internal.logging.MetricsProto.MetricsEvent;
@@ -53,6 +55,10 @@ public class ConfigureWifiSettings extends SettingsPreferenceFragment
    private static final String KEY_SLEEP_POLICY = "sleep_policy";
    private static final String KEY_WIFI_ASSISTANT = "wifi_assistant";

    // Wifi extension requirement
    private static final String KEY_CURRENT_GATEWAY = "current_gateway";
    private static final String KEY_CURRENT_NETMASK = "current_netmask";

    private WifiManager mWifiManager;
    private NetworkScoreManager mNetworkScoreManager;
    private AppListSwitchPreference mWifiAssistantPreference;
@@ -226,6 +232,36 @@ public class ConfigureWifiSettings extends SettingsPreferenceFragment
        wifiIpAddressPref.setSummary(ipAddress == null ?
                context.getString(R.string.status_unavailable) : ipAddress);
        wifiIpAddressPref.setSelectable(false);

        // Wifi extension requirement
        Preference wifiGatewayPref = findPreference(KEY_CURRENT_GATEWAY);
        String gateway = null;
        Preference wifiNetmaskPref = findPreference(KEY_CURRENT_NETMASK);
        String netmask = null;
        if (getResources().getBoolean(R.bool.config_netinfo)) {
            DhcpInfo dhcpInfo = mWifiManager.getDhcpInfo();
            if (wifiInfo != null) {
                if (dhcpInfo != null) {
                    gateway = Formatter.formatIpAddress(dhcpInfo.gateway);
                    netmask = Formatter.formatIpAddress(dhcpInfo.netmask);
                }
            }
            if (wifiGatewayPref != null) {
                wifiGatewayPref.setSummary((gateway == null || dhcpInfo.gateway == 0) ?
                        getString(R.string.status_unavailable) : gateway);
            }
            if (wifiNetmaskPref != null) {
                wifiNetmaskPref.setSummary((netmask == null || dhcpInfo.netmask == 0) ?
                        getString(R.string.status_unavailable) : netmask);
            }
        } else {
            if (wifiGatewayPref != null) {
                getPreferenceScreen().removePreference(wifiGatewayPref);
            }
            if (wifiNetmaskPref != null) {
                getPreferenceScreen().removePreference(wifiNetmaskPref);
            }
        }
    }

    private void initWifiAssistantPreference(