Skip to content

Commit 8b7dc92

Browse files
jscott1989pfmaggi
authored andcommitted
No public description
PiperOrigin-RevId: 643344987
1 parent a8ae4e3 commit 8b7dc92

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed

src/main/java/com/afwsamples/testdpc/policy/wifimanagement/WifiEapTlsCreateDialogFragment.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ public class WifiEapTlsCreateDialogFragment extends DialogFragment {
6060
private TextView mUserCertTextView;
6161
private EditText mCertPasswordEditText;
6262
private EditText mIdentityEditText;
63+
private EditText mDomainEditText;
64+
private EditText mAltSubjectMatchEditText;
6365

6466
public static WifiEapTlsCreateDialogFragment newInstance(WifiConfiguration config) {
6567
Bundle arguments = new Bundle();
@@ -105,6 +107,11 @@ public Dialog onCreateDialog(Bundle savedInstanceState) {
105107
mSsidEditText = (EditText) rootView.findViewById(R.id.ssid);
106108
mCertPasswordEditText = (EditText) rootView.findViewById(R.id.wifi_client_cert_password);
107109
mIdentityEditText = (EditText) rootView.findViewById(R.id.wifi_identity);
110+
mDomainEditText = (EditText) rootView.findViewById(R.id.wifi_domain);
111+
mAltSubjectMatchEditText = (EditText) rootView.findViewById(R.id.wifi_alt_subject_match);
112+
// These config options are not available before API 23
113+
mDomainEditText.setEnabled(SDK_INT >= VERSION_CODES.M);
114+
mAltSubjectMatchEditText.setEnabled(SDK_INT >= VERSION_CODES.M);
108115
populateUi();
109116
final AlertDialog dialog =
110117
new AlertDialog.Builder(getActivity())
@@ -165,6 +172,10 @@ private void populateUi() {
165172
// Both ca cert and client are not populated in the WifiConfiguration object.
166173
updateSelectedCert(mCaCertTextView, null, null);
167174
updateSelectedCert(mUserCertTextView, null, null);
175+
if (SDK_INT >= VERSION_CODES.M) {
176+
mDomainEditText.setText(mWifiConfiguration.enterpriseConfig.getDomainSuffixMatch());
177+
mAltSubjectMatchEditText.setText(mWifiConfiguration.enterpriseConfig.getAltSubjectMatch());
178+
}
168179
}
169180

170181
private boolean extractInputDataAndSave() {
@@ -204,11 +215,30 @@ private WifiEnterpriseConfig extractEnterpriseConfig() {
204215
WifiEnterpriseConfig config = new WifiEnterpriseConfig();
205216
config.setEapMethod(WifiEnterpriseConfig.Eap.TLS);
206217
String identity = mIdentityEditText.getText().toString();
218+
String domain = mDomainEditText.getText().toString();
219+
String altSubjectMatch = mAltSubjectMatchEditText.getText().toString();
207220

208221
if (!TextUtils.isEmpty(identity)) {
209222
config.setIdentity(identity);
210223
}
211224

225+
if (SDK_INT >= VERSION_CODES.S
226+
&& TextUtils.isEmpty(domain)
227+
&& TextUtils.isEmpty(altSubjectMatch)) {
228+
showToast(R.string.error_domain_and_alt_subject_match_both_unset);
229+
return null;
230+
}
231+
232+
if (SDK_INT >= VERSION_CODES.M) {
233+
if (!TextUtils.isEmpty(domain)) {
234+
config.setDomainSuffixMatch(domain);
235+
}
236+
237+
if (!TextUtils.isEmpty(altSubjectMatch)) {
238+
config.setAltSubjectMatch(altSubjectMatch);
239+
}
240+
}
241+
212242
if (mCaCertUri == null) {
213243
showToast(R.string.error_missing_ca_cert);
214244
return null;

src/main/res/layout/eap_tls_wifi_config_dialog.xml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,5 +123,39 @@
123123
android:layout_height="wrap_content"
124124
tools:ignore="TextFields" />
125125
</LinearLayout>
126+
127+
<LinearLayout
128+
style="@style/networking_item"
129+
android:layout_width="match_parent"
130+
android:layout_height="wrap_content">
131+
<TextView
132+
style="@style/networking_item_label"
133+
android:layout_width="wrap_content"
134+
android:layout_height="wrap_content"
135+
android:text="@string/wifi_domain"/>
136+
<EditText
137+
android:id="@+id/wifi_domain"
138+
style="@style/networking_item_edit_content"
139+
android:layout_width="match_parent"
140+
android:layout_height="wrap_content"
141+
tools:ignore="TextFields" />
142+
</LinearLayout>
143+
144+
<LinearLayout
145+
style="@style/networking_item"
146+
android:layout_width="match_parent"
147+
android:layout_height="wrap_content">
148+
<TextView
149+
style="@style/networking_item_label"
150+
android:layout_width="wrap_content"
151+
android:layout_height="wrap_content"
152+
android:text="@string/wifi_alt_subject_match"/>
153+
<EditText
154+
android:id="@+id/wifi_alt_subject_match"
155+
style="@style/networking_item_edit_content"
156+
android:layout_width="match_parent"
157+
android:layout_height="wrap_content"
158+
tools:ignore="TextFields" />
159+
</LinearLayout>
126160
</LinearLayout>
127161
</ScrollView>

src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,12 +361,15 @@
361361
<string name="create_eap_tls_wifi_configuration">Create EAP-TLS WI-FI configuration</string>
362362
<string name="wifi_identity">Identity (if any)</string>
363363
<string name="wifi_client_cert_password">Client certificate password (if any)</string>
364+
<string name="wifi_domain">Domain suffix match</string>
365+
<string name="wifi_alt_subject_match">Alt subject match</string>
364366
<string name="import_ca_certificate">Import CA certificate</string>
365367
<string name="import_user_certificate">Import user certificate</string>
366368
<string name="select_user_certificate">Select user certificate</string>
367369
<string name="selected_certificate">Selected certificate: <xliff:g example="server certificate" id="certificate_alias">%1$s</xliff:g></string>
368370
<string name="selected_keychain_certificate">Selected KeyChain alias: <xliff:g example="somealias" id="certificate_alias">%1$s</xliff:g></string>
369371
<string name="selected_certificate_none">No certificate selected</string>
372+
<string name="error_domain_and_alt_subject_match_both_unset">Either domain or alt subject match must be set</string>
370373
<string name="error_missing_ssid">Missing SSID</string>
371374
<string name="error_missing_ca_cert">Missing CA cert</string>
372375
<string name="error_missing_client_cert">Missing client cert or invalid cert password</string>

0 commit comments

Comments
 (0)