mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-28 10:18:39 +09:00
pt 1 in reviving the android build (copied from pm 28a1, wish me luck)
This commit is contained in:
parent
efa9662725
commit
d7788a6d6d
4249 changed files with 468189 additions and 0 deletions
117
mobile/android/base/java/org/mozilla/gecko/AboutPages.java
Normal file
117
mobile/android/base/java/org/mozilla/gecko/AboutPages.java
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
/* -*- 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;
|
||||
|
||||
import org.mozilla.gecko.annotation.RobocopTarget;
|
||||
import org.mozilla.gecko.home.HomeConfig;
|
||||
import org.mozilla.gecko.home.HomeConfig.PanelType;
|
||||
import org.mozilla.gecko.util.StringUtils;
|
||||
|
||||
public class AboutPages {
|
||||
// All of our special pages.
|
||||
public static final String ACCOUNTS = "about:accounts";
|
||||
public static final String ADDONS = "about:addons";
|
||||
public static final String CONFIG = "about:config";
|
||||
public static final String DOWNLOADS = "about:downloads";
|
||||
public static final String FIREFOX = "about:firefox";
|
||||
public static final String HEALTHREPORT = "about:healthreport";
|
||||
public static final String HOME = "about:home";
|
||||
public static final String LOGINS = "about:logins";
|
||||
public static final String PRIVATEBROWSING = "about:privatebrowsing";
|
||||
public static final String READER = "about:reader";
|
||||
public static final String UPDATER = "about:";
|
||||
|
||||
public static final String URL_FILTER = "about:%";
|
||||
|
||||
public static final String PANEL_PARAM = "panel";
|
||||
|
||||
public static final boolean isAboutPage(final String url) {
|
||||
return url != null && url.startsWith("about:");
|
||||
}
|
||||
|
||||
public static final boolean isTitlelessAboutPage(final String url) {
|
||||
return isAboutHome(url) ||
|
||||
PRIVATEBROWSING.equals(url);
|
||||
}
|
||||
|
||||
public static final boolean isAboutHome(final String url) {
|
||||
if (url == null || !url.startsWith(HOME)) {
|
||||
return false;
|
||||
}
|
||||
// We sometimes append a parameter to "about:home" to specify which page to
|
||||
// show when we open the home pager. Discard this parameter when checking
|
||||
// whether or not this URL is "about:home".
|
||||
return HOME.equals(url.split("\\?")[0]);
|
||||
}
|
||||
|
||||
public static final String getPanelIdFromAboutHomeUrl(String aboutHomeUrl) {
|
||||
return StringUtils.getQueryParameter(aboutHomeUrl, PANEL_PARAM);
|
||||
}
|
||||
|
||||
public static boolean isAboutReader(final String url) {
|
||||
return isAboutPage(READER, url);
|
||||
}
|
||||
|
||||
public static boolean isAboutConfig(final String url) {
|
||||
return isAboutPage(CONFIG, url);
|
||||
}
|
||||
|
||||
public static boolean isAboutAddons(final String url) {
|
||||
return isAboutPage(ADDONS, url);
|
||||
}
|
||||
|
||||
public static boolean isAboutPrivateBrowsing(final String url) {
|
||||
return isAboutPage(PRIVATEBROWSING, url);
|
||||
}
|
||||
|
||||
public static boolean isAboutPage(String page, String url) {
|
||||
return url != null && url.toLowerCase().startsWith(page);
|
||||
|
||||
}
|
||||
|
||||
public static final String[] DEFAULT_ICON_PAGES = new String[] {
|
||||
HOME,
|
||||
ACCOUNTS,
|
||||
ADDONS,
|
||||
CONFIG,
|
||||
DOWNLOADS,
|
||||
FIREFOX,
|
||||
HEALTHREPORT,
|
||||
UPDATER
|
||||
};
|
||||
|
||||
public static boolean isBuiltinIconPage(final String url) {
|
||||
if (url == null ||
|
||||
!url.startsWith("about:")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// about:home uses a separate search built-in icon.
|
||||
if (isAboutHome(url)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// TODO: it'd be quicker to not compare the "about:" part every time.
|
||||
for (int i = 0; i < DEFAULT_ICON_PAGES.length; ++i) {
|
||||
if (DEFAULT_ICON_PAGES[i].equals(url)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a URL that navigates to the specified built-in Home Panel.
|
||||
*
|
||||
* @param panelType to navigate to.
|
||||
* @return URL.
|
||||
* @throws IllegalArgumentException if the built-in panel type is not a built-in panel.
|
||||
*/
|
||||
@RobocopTarget
|
||||
public static String getURLForBuiltinPanelType(PanelType panelType) throws IllegalArgumentException {
|
||||
return HOME + "?panel=" + HomeConfig.getIdForBuiltinPanelType(panelType);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue