set softAP on a specified band, including both 2.4 and 5 GHz band
Bug:18929692 Change-Id: I455e9b17e5091596beb0246ccfd981c5d2b932f0
This commit is contained in:
@@ -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"
|
||||
|
@@ -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 -->
|
||||
|
@@ -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,15 +136,25 @@ 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);
|
||||
mPassword.setText(mWifiConfig.preSharedKey);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user