summaryrefslogtreecommitdiffstats
path: root/mobile/android/base/java/org/mozilla/gecko/icons/IconRequestBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/base/java/org/mozilla/gecko/icons/IconRequestBuilder.java')
-rw-r--r--mobile/android/base/java/org/mozilla/gecko/icons/IconRequestBuilder.java143
1 files changed, 0 insertions, 143 deletions
diff --git a/mobile/android/base/java/org/mozilla/gecko/icons/IconRequestBuilder.java b/mobile/android/base/java/org/mozilla/gecko/icons/IconRequestBuilder.java
deleted file mode 100644
index d9fd9ec5a..000000000
--- a/mobile/android/base/java/org/mozilla/gecko/icons/IconRequestBuilder.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*-
- * 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 http://mozilla.org/MPL/2.0/. */
-
-package org.mozilla.gecko.icons;
-
-import android.content.Context;
-import android.support.annotation.CheckResult;
-
-import org.mozilla.gecko.GeckoAppShell;
-
-import ch.boye.httpclientandroidlib.util.TextUtils;
-
-/**
- * Builder for creating a request to load an icon.
- */
-public class IconRequestBuilder {
- private final IconRequest request;
-
- /* package-private */ IconRequestBuilder(Context context) {
- this(new IconRequest(context));
- }
-
- /* package-private */ IconRequestBuilder(IconRequest request) {
- this.request = request;
- }
-
- /**
- * Set the URL of the page for which the icon should be loaded.
- */
- @CheckResult
- public IconRequestBuilder pageUrl(String pageUrl) {
- request.pageUrl = pageUrl;
- return this;
- }
-
- /**
- * Set whether this request is allowed to load icons from non http(s) URLs (e.g. the omni.ja).
- *
- * For example web content referencing internal URLs should not lead to us loading icons from
- * internal data structures like the omni.ja.
- */
- @CheckResult
- public IconRequestBuilder privileged(boolean privileged) {
- request.privileged = privileged;
- return this;
- }
-
- /**
- * Add an icon descriptor describing the location and properties of an icon. All descriptors
- * will be ranked and tried in order of their rank. Executing the request will modify the list
- * of icons (filter or add additional descriptors).
- */
- @CheckResult
- public IconRequestBuilder icon(IconDescriptor descriptor) {
- request.icons.add(descriptor);
- return this;
- }
-
- /**
- * Skip the network and do not load an icon from a network connection.
- */
- @CheckResult
- public IconRequestBuilder skipNetwork() {
- request.skipNetwork = true;
- return this;
- }
-
- /**
- * Skip the disk cache and do not load an icon from disk.
- */
- @CheckResult
- public IconRequestBuilder skipDisk() {
- request.skipDisk = true;
- return this;
- }
-
- /**
- * Skip the memory cache and do not return a previously loaded icon.
- */
- @CheckResult
- public IconRequestBuilder skipMemory() {
- request.skipMemory = true;
- return this;
- }
-
- /**
- * The icon will be used as (Android) launcher icon. The loaded icon will be scaled to the
- * preferred Android launcher icon size.
- */
- public IconRequestBuilder forLauncherIcon() {
- request.targetSize = GeckoAppShell.getPreferredIconSize();
- return this;
- }
-
- /**
- * Execute the callback on the background thread. By default the callback is always executed on
- * the UI thread in order to add the loaded icon to a view easily.
- */
- @CheckResult
- public IconRequestBuilder executeCallbackOnBackgroundThread() {
- request.backgroundThread = true;
- return this;
- }
-
- /**
- * When executing the request then only prepare executing it but do not actually load an icon.
- * This mode is only used for some legacy code that uses the icon URL and therefore needs to
- * perform a lookup of the URL but doesn't want to load the icon yet.
- */
- public IconRequestBuilder prepareOnly() {
- request.prepareOnly = true;
- return this;
- }
-
- /**
- * Return the request built with this builder.
- */
- @CheckResult
- public IconRequest build() {
- if (TextUtils.isEmpty(request.pageUrl)) {
- throw new IllegalStateException("Page URL is required");
- }
-
- return request;
- }
-
- /**
- * This is a no-op method.
- *
- * All builder methods are annotated with @CheckResult to denote that the
- * methods return the builder object and that it is typically an error to not call another method
- * on it until eventually calling build().
- *
- * However in some situations code can keep a reference
- * to the builder object and call methods only when a specific event occurs. To make this explicit
- * and avoid lint errors this method can be called.
- */
- public void deferBuild() {
- // No op
- }
-}