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

Commit 82ff3d5c authored by xinhe's avatar xinhe
Browse files

set softAP on a specified band, including both 2.4 and 5 GHz band

Bug:18929692
Change-Id: I455e9b17e5091596beb0246ccfd981c5d2b932f0
parent c3068f07
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -66,6 +66,31 @@
                    style="@style/wifi_item_content"
                    android:prompt="@string/wifi_security"
                    android:entries="@array/wifi_ap_security" />

            <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    style="@style/wifi_item_label"
                    android:layout_marginTop="8dip"
                    android:text="@string/wifi_ap_band_config" />

               <RadioGroup android:id = "@+id/choose_channel"
                       android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
                       android:orientation="vertical">

                   <RadioButton android:id="@+id/ap_2G_band"
                           android:layout_width="match_parent"
                           android:layout_height="wrap_content"
                           android:text="@string/wifi_ap_choose_2G"
                           android:layout_marginTop="8dip"/>

                   <RadioButton android:id="@+id/ap_5G_band"
                           android:layout_width="match_parent"
                           android:layout_height="wrap_content"
                           android:text="@string/wifi_ap_choose_5G"
                           android:layout_marginTop="8dip"/>
               </RadioGroup>
        </LinearLayout>

        <LinearLayout android:id="@+id/fields"
+6 −0
Original line number Diff line number Diff line
@@ -1577,6 +1577,12 @@
    <string name="wifi_password">Password</string>
    <!-- Label for the check box to show password -->
    <string name="wifi_show_password">Show password</string>
    <!-- Label for the RadioGroup to choose wifi ap band -->
    <string name="wifi_ap_band_config">Config AP Band</string>
    <!-- Label for the radio button to choose wifi ap 2.4 GHz band -->
    <string name="wifi_ap_choose_2G">2.4 GHz Band</string>
    <!-- Label for the radio button to choose wifi ap 5GHz band -->
    <string name="wifi_ap_choose_5G">5 GHz Band</string>
    <!-- Label for the spinner to show ip settings [CHAR LIMIT=25] -->
    <string name="wifi_ip_settings">IP settings</string>
    <!-- Hint for unchanged fields -->
+29 −1
Original line number Diff line number Diff line
@@ -32,9 +32,13 @@ import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.RadioGroup;
import android.widget.RadioButton;

import com.android.settings.R;

import android.util.Log;

/**
 * Dialog to configure the SSID and security settings
 * for Access Point operation
@@ -53,8 +57,12 @@ public class WifiApDialog extends AlertDialog implements View.OnClickListener,
    private TextView mSsid;
    private int mSecurityTypeIndex = OPEN_INDEX;
    private EditText mPassword;
    private RadioGroup mChannel;
    private RadioButton mChannel2G;
    private RadioButton mChannel5G;

    WifiConfiguration mWifiConfig;
    private static final String TAG = "WifiApDialog";

    public WifiApDialog(Context context, DialogInterface.OnClickListener listener,
            WifiConfiguration wifiConfig) {
@@ -85,6 +93,16 @@ public class WifiApDialog extends AlertDialog implements View.OnClickListener,
         */
        config.SSID = mSsid.getText().toString();

        //obtain the band configure
        if (mChannel2G.isChecked()) {
            config.apBand = 0;
        } else if(mChannel5G.isChecked()) {
            config.apBand = 1;
        } else {
            Log.e("TAG", "AP band configure error!");
            return null;
        }

        switch (mSecurityTypeIndex) {
            case OPEN_INDEX:
                config.allowedKeyManagement.set(KeyMgmt.NONE);
@@ -118,12 +136,22 @@ public class WifiApDialog extends AlertDialog implements View.OnClickListener,
        mSsid = (TextView) mView.findViewById(R.id.ssid);
        mPassword = (EditText) mView.findViewById(R.id.password);

        mChannel = (RadioGroup) mView.findViewById(R.id.choose_channel);
        mChannel2G = (RadioButton) mView.findViewById(R.id.ap_2G_band);
        mChannel5G = (RadioButton) mView.findViewById(R.id.ap_5G_band);

        setButton(BUTTON_SUBMIT, context.getString(R.string.wifi_save), mListener);
        setButton(DialogInterface.BUTTON_NEGATIVE,
        context.getString(R.string.wifi_cancel), mListener);

        if (mWifiConfig != null) {
            mSsid.setText(mWifiConfig.SSID);
            if (mWifiConfig.apBand == 0) {
                mChannel2G.setChecked(true);
            } else {
                mChannel5G.setChecked(true);
            }

            mSecurity.setSelection(mSecurityTypeIndex);
            if (mSecurityTypeIndex == WPA2_INDEX) {
                mPassword.setText(mWifiConfig.preSharedKey);