Name Description Size
AppConstants.java 854
Assert.kt A collection of assertion functions. We create our own assertion class because `assert` in Java is known to have problems: it is disabled by default and must be enabled as part of the compile stage, making it easy to forget. 681
CoroutineScope.kt A [CoroutineScope] that is scoped to an Activity's lifecycle and launches jobs on the main thread. Get a new, initialized instance with [getAndInit]. 3060
DeviceInfo.kt Helpers that help identify a device. 1047
Direction.kt 290
Either.kt A container type that represents a value of either one type or another. We could pull in a library to provide this functionality but it seems like overkill. impl via https://discuss.kotlinlang.org/t/implementing-kotlin-either/8730 1704
Features.kt Simple feature flags. 536
FileUtils.kt 1729
FormattedDomain.java Methods for formatting a domain URI. 5713
HtmlLoader.java Load a given (html or css) resource file into a String. The input can contain tokens that will be replaced with localised strings. @param substitutionTable A table of substitions, e.g. %shortMessage% -> "Error loading page..." Can be null, in which case no substitutions will be made. @return The file content, with all substitutions having being made. 1907
IntentUtils.java Find and open the appropriate app for a given Uri. If appropriate, let the user select between multiple supported apps. Returns a boolean indicating whether the URL was handled. A fallback URL will be opened in the supplied WebView if appropriate (in which case the URL was handled, and true will also be returned). If not handled, we should fall back to webviews error handling (which ends up calling our error handling code as needed). Note: this method "leaks" the target Uri to Android before asking the user whether they want to use an external app to open the uri. Ultimately the OS can spy on anything we're doing in the app, so this isn't an actual "bug". 7337
LiveDataEvent.kt An object assigned a LiveData instance to send a stateless event. See [org.mozilla.focus.settings.UserClearDataEvent] for example usage. This implementation is inspired by: https://medium.com/google-developers/livedata-with-snackbar-navigation-and-other-events-the-singleliveevent-case-ac2622673150 584
publicsuffix
RemoteKey.kt Keys the user can press on the remote. 937
SupportUtils.java 1778
ToastManager.kt Handles the creation and display of toasts. This ensures that all toasts are styled in a similar manner, and provides convenience methods for frequently displayed toasts. 1718
UrlUtils.java Is the given string a URL or should we perform a search? TODO: This is a super simple and probably stupid implementation. 5627
ViewUtils.java Flag of imeOptions: used to request that the IME does not update any personalized data such as typing history and personalized language model based on what the user typed on this text editing object. 3519