Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Android Components > Browser > Domains

This component provides APIs for managing localized and customizable domain lists (see Domains and CustomDomains). It also contains auto-complete functionality for these lists (see DomainAutoCompleteProvider) which can be used in conjuction with our UI autocomplete component.


Setting up the dependency

Use Gradle to download the library from (Setup repository):

implementation "org.mozilla.components:browser-domains:{latest-version}"


The Domains object is used to load the built-in localized domain lists which are shipped as part of this component. These lists are grouped by country and can be found in our repository.

// Load the domain lists for all countries in the default locale (fallback is US)
val domains = Domains.load(context)


The CustomDomains object can be used to manage a custom domain list which will be stored in SharedPreferences.

// Load the custom domain list
val domains = CustomDomains.load(context)

// Save custom domains, listOf("", ""))

// Remove custom domains
CustomDomains.remove(context, listOf(""))


The class provides auto-complete functionality for both Domains and CustomDomains.

// Initialize the provider
val provider = DomainAutocompleteProvider()
  useShippedDomains = true,
  useCustomDomains = true,
  loadDomainsFromDisk = true

Note that when loadDomainsFromDisk is set to true there is no need to manually call load on either Domains or CustomDomains.

// Autocomplete domain lists
val result = provider.autocomplete("moz")

The result will contain the autocompleted text (result.text), the URL (result.url), and the source of the match (result.source), which is either DEFAULT_LIST if a result was found in the shipped domain list or CUSTOM_LIST otherwise. The custom domain list takes precendece over the built-in shipped domain list and the API will only return the first match.


This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at
You can’t perform that action at this time.