Skip to content

Commit fda1952

Browse files
author
android-build-team Robot
committed
Snap for 5478524 from 3439ce18b2619adaf8c874d7921638a1266797c5 to ub-testdpc-qt-release
Change-Id: Iafc984bdd44a4451ebe51dfa6a970a99f876d7c4
2 parents 12ee89e + 9c693a7 commit fda1952

File tree

3 files changed

+30
-7
lines changed

3 files changed

+30
-7
lines changed

app/src/main/java/com/afwsamples/testdpc/policy/networking/AlwaysOnVpnFragment.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,10 @@ protected void reloadSelectedPackage() {
120120
}
121121
}
122122

123-
@TargetApi(Build.VERSION_CODES.Q)
123+
@TargetApi(29)
124124
private void updateLockdown() {
125125
mLockdown.setChecked(mDpm.isAlwaysOnVpnLockdownEnabled(mWho));
126-
final List<String> exemptedPackages = mDpm.getAlwaysOnVpnLockdownWhitelist(mWho);
126+
final Set<String> exemptedPackages = mDpm.getAlwaysOnVpnLockdownWhitelist(mWho);
127127
mExemptedPackages.setText(
128128
exemptedPackages != null ? String.join(",", exemptedPackages) : "");
129129
}
@@ -147,15 +147,15 @@ protected void setSelectedPackage(String pkg) {
147147
}
148148
}
149149

150-
@TargetApi(Build.VERSION_CODES.Q)
150+
@TargetApi(29)
151151
private void setAlwaysOnVpnPackageQPlus(String pkg)
152152
throws PackageManager.NameNotFoundException {
153153
final boolean lockdown = mLockdown.isChecked();
154-
final List<String> packages = lockdown ?
154+
final Set<String> packages = lockdown ?
155155
Arrays.stream(mExemptedPackages.getText().toString().split(","))
156156
.map(String::trim)
157157
.filter(s -> !s.isEmpty())
158-
.collect(Collectors.toList())
158+
.collect(Collectors.toSet())
159159
: null;
160160
mDpm.setAlwaysOnVpnPackage(mWho, pkg, lockdown, packages);
161161
}

app/src/main/java/com/afwsamples/testdpc/policy/networking/PrivateDnsModeFragment.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,16 +105,20 @@ private void updateSelectedMode(int checkedId) {
105105
switch (checkedId) {
106106
case R.id.private_dns_mode_off:
107107
mSelectedMode = PRIVATE_DNS_MODE_OFF;
108+
mSetButton.setEnabled(false);
108109
break;
109110
case R.id.private_dns_mode_automatic:
110111
mSelectedMode = PRIVATE_DNS_MODE_OPPORTUNISTIC;
112+
mSetButton.setEnabled(true);
111113
break;
112114
case R.id.private_dns_mode_specific_host:
113115
mSelectedMode = PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
116+
mSetButton.setEnabled(true);
114117
break;
115118
case R.id.private_dns_mode_unknown:
116119
default:
117120
mSelectedMode = PRIVATE_DNS_MODE_UNKNOWN;
121+
mSetButton.setEnabled(false);
118122
break;
119123
}
120124
}

app/src/main/java/com/afwsamples/testdpc/policy/networking/SetPrivateDnsTask.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,27 @@ public SetPrivateDnsTask(
4747
@Override
4848
protected String doInBackground(Void... params) {
4949
try {
50-
mDpm.setGlobalPrivateDns(mComponent, mMode, mResolver);
51-
return null;
50+
final int result;
51+
switch (mMode) {
52+
case DevicePolicyManager.PRIVATE_DNS_MODE_PROVIDER_HOSTNAME:
53+
result = mDpm.setGlobalPrivateDnsModeSpecifiedHost(mComponent, mResolver);
54+
break;
55+
case DevicePolicyManager.PRIVATE_DNS_MODE_OPPORTUNISTIC:
56+
result = mDpm.setGlobalPrivateDnsModeOpportunistic(mComponent);
57+
break;
58+
default:
59+
throw new IllegalArgumentException("Invalid private dns mode: " + mMode);
60+
}
61+
switch (result) {
62+
case DevicePolicyManager.PRIVATE_DNS_SET_NO_ERROR:
63+
return null;
64+
case DevicePolicyManager.PRIVATE_DNS_SET_ERROR_FAILURE_SETTING:
65+
return "General failure to set the Private DNS mode";
66+
case DevicePolicyManager.PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING:
67+
return "Provided host doesn't serve DNS-over-TLS";
68+
default:
69+
return "Unexpected error setting private dns: " + result;
70+
}
5271
} catch (SecurityException | IllegalArgumentException e) {
5372
Log.w(TAG, "Failed to invoke, cause", e);
5473
return e.getMessage();

0 commit comments

Comments
 (0)