Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 76d81231 authored by Winson's avatar Winson
Browse files

Update getOwnersForDomain docs and enforce non-null

Forgot the docs update part of the feedback. Also enforces the param
non-nullablility.

Bug: 184891031

Test: atest DomainVerificationManagerApiTest

Change-Id: I4c90f69bc38c9760a76555ee8c8ad121cac997b6
parent 21910659
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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) {
+2 −0
Original line number Diff line number Diff line
@@ -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);
+1 −0
Original line number Diff line number Diff line
@@ -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);

+13 −0
Original line number Diff line number Diff line
@@ -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);
    }
}
+11 −2
Original line number Diff line number Diff line
@@ -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(