DomainVerificationUserState


public final class DomainVerificationUserState
extends Object implements Parcelable

java.lang.Object
   ↳ android.content.pm.verify.domain.DomainVerificationUserState


Contains the user selection state for a package. This means all web HTTP(S) domains declared by a package in its manifest, whether or not they were marked for auto verification.

Applications should use getHostToStateMap() if necessary to check if/how they are verified for a domain, which is required starting from platform Build.VERSION_CODES.S in order to open Intents which declare Intent.CATEGORY_BROWSABLE or no category and also match against Intent.CATEGORY_DEFAULT IntentFilters, either through an explicit declaration of Intent.CATEGORY_DEFAULT or through the use of PackageManager.MATCH_DEFAULT_ONLY, which is usually added for the caller when using Context.startActivity(Intent) and similar.

By default, all apps are allowed to automatically open links for the above case for domains that they've successfully verified against. This is reflected by isLinkHandlingAllowed(). The user can decide to disable this, disallowing the application from opening all links. Note that the toggle affects all links and is not based on the verification state of the domains.

Assuming the toggle is enabled, the user can also select additional unverified domains to grant to the application to open, which is reflected in getHostToStateMap(). But only a single application can be approved for a domain unless the applications are both approved. If another application is approved, the user wi