in NfcProvisioning/Application/src/main/java/com/example/android/nfcprovisioning/NfcProvisioningFragment.java [156:201]
public void onTextChanged(int id, String s) {
if (mProvisioningValues == null) {
return;
}
switch (id) {
case R.id.package_name:
//noinspection deprecation
mProvisioningValues.put(
DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, s);
break;
case R.id.class_name:
if (Build.VERSION.SDK_INT >= 23) {
if (TextUtils.isEmpty(s)) {
mProvisioningValues.remove(
DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME);
} else {
// On API 23 and above, we can use
// EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME to specify the receiver
// in the device owner app. If the provisioning values contain this key,
// EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME is not read.
String packageName = mEditPackageName.getText().toString();
ComponentName name = new ComponentName(packageName, s);
mProvisioningValues.put(
DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
name.flattenToShortString());
}
}
break;
case R.id.locale:
mProvisioningValues.put(DevicePolicyManager.EXTRA_PROVISIONING_LOCALE, s);
break;
case R.id.timezone:
mProvisioningValues.put(DevicePolicyManager.EXTRA_PROVISIONING_TIME_ZONE, s);
break;
case R.id.wifi_ssid:
mProvisioningValues.put(DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SSID, s);
break;
case R.id.wifi_security_type:
mProvisioningValues.put(
DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SECURITY_TYPE, s);
break;
case R.id.wifi_password:
mProvisioningValues.put(DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PASSWORD, s);
break;
}
}