Merge "Update getOwnersForDomain docs and enforce non-null" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
bc54308859
@@ -32,7 +32,9 @@ import android.os.UserHandle;
|
||||
|
||||
import com.android.internal.util.CollectionUtils;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.SortedSet;
|
||||
import java.util.TreeSet;
|
||||
@@ -350,6 +352,8 @@ public final class DomainVerificationManager {
|
||||
*
|
||||
* The set will be ordered from lowest to highest priority.
|
||||
*
|
||||
* @param domain The host to query for. An invalid domain will result in an empty set.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@@ -357,11 +361,11 @@ public final class DomainVerificationManager {
|
||||
@RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION)
|
||||
public SortedSet<DomainOwner> getOwnersForDomain(@NonNull String domain) {
|
||||
try {
|
||||
Objects.requireNonNull(domain);
|
||||
final List<DomainOwner> orderedList = mDomainVerificationManager.getOwnersForDomain(
|
||||
domain, mContext.getUserId());
|
||||
SortedSet<DomainOwner> set = new TreeSet<>(
|
||||
(first, second) -> Integer.compare(orderedList.indexOf(first),
|
||||
orderedList.indexOf(second)));
|
||||
Comparator.comparingInt(orderedList::indexOf));
|
||||
set.addAll(orderedList);
|
||||
return set;
|
||||
} catch (RemoteException e) {
|
||||
|
||||
@@ -29,6 +29,7 @@ import android.content.pm.verify.domain.IDomainVerificationManager;
|
||||
import android.os.ServiceSpecificException;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
|
||||
public class DomainVerificationManagerStub extends IDomainVerificationManager.Stub {
|
||||
@@ -110,6 +111,7 @@ public class DomainVerificationManagerStub extends IDomainVerificationManager.St
|
||||
public List<DomainOwner> getOwnersForDomain(@NonNull String domain,
|
||||
@UserIdInt int userId) {
|
||||
try {
|
||||
Objects.requireNonNull(domain);
|
||||
return mService.getOwnersForDomain(domain, userId);
|
||||
} catch (Exception e) {
|
||||
throw rethrow(e);
|
||||
|
||||
@@ -742,6 +742,7 @@ public class DomainVerificationService extends SystemService
|
||||
}
|
||||
|
||||
public List<DomainOwner> getOwnersForDomain(@NonNull String domain, @UserIdInt int userId) {
|
||||
Objects.requireNonNull(domain);
|
||||
mEnforcer.assertOwnerQuerent(mConnection.getCallingUid(), mConnection.getCallingUserId(),
|
||||
userId);
|
||||
|
||||
|
||||
@@ -20,11 +20,14 @@ import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.UserIdInt;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.verify.domain.DomainOwner;
|
||||
import android.content.pm.verify.domain.DomainVerificationManager;
|
||||
|
||||
import com.android.server.pm.verify.domain.DomainVerificationService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.SortedSet;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
@@ -58,4 +61,14 @@ class DomainVerificationJavaUtil {
|
||||
throws PackageManager.NameNotFoundException {
|
||||
return manager.setDomainVerificationUserSelection(domainSetId, domains, enabled);
|
||||
}
|
||||
|
||||
static SortedSet<DomainOwner> getOwnersForDomain(@NonNull DomainVerificationManager manager,
|
||||
@Nullable String domain) {
|
||||
return manager.getOwnersForDomain(domain);
|
||||
}
|
||||
|
||||
static List<DomainOwner> getOwnersForDomain(@NonNull DomainVerificationService service,
|
||||
@Nullable String domain, @UserIdInt int userId) {
|
||||
return service.getOwnersForDomain(domain, userId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -292,8 +292,17 @@ class DomainVerificationManagerApiTest {
|
||||
val manager0 = makeManager(service, 0)
|
||||
val manager1 = makeManager(service, 1)
|
||||
|
||||
assertThat(service.getOwnersForDomain(DOMAIN_1, 0)).isEmpty()
|
||||
assertThat(manager0.getOwnersForDomain(DOMAIN_1)).isEmpty()
|
||||
listOf(DOMAIN_1, "").forEach {
|
||||
assertThat(service.getOwnersForDomain(it, 0)).isEmpty()
|
||||
assertThat(manager0.getOwnersForDomain(it)).isEmpty()
|
||||
}
|
||||
|
||||
assertFailsWith(NullPointerException::class) {
|
||||
DomainVerificationJavaUtil.getOwnersForDomain(service, null, 0)
|
||||
}
|
||||
assertFailsWith(NullPointerException::class) {
|
||||
DomainVerificationJavaUtil.getOwnersForDomain(manager0, null)
|
||||
}
|
||||
|
||||
assertThat(
|
||||
service.setStatus(
|
||||
|
||||
Reference in New Issue
Block a user