diff options
Diffstat (limited to 'mobile/android/fenix/app/lint-baseline.xml')
-rw-r--r-- | mobile/android/fenix/app/lint-baseline.xml | 1373 |
1 files changed, 1373 insertions, 0 deletions
diff --git a/mobile/android/fenix/app/lint-baseline.xml b/mobile/android/fenix/app/lint-baseline.xml new file mode 100644 index 0000000000..c9eb994da1 --- /dev/null +++ b/mobile/android/fenix/app/lint-baseline.xml @@ -0,0 +1,1373 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- 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/. --> + +<issues format="6" by="lint 7.0.0" type="baseline" client="gradle" name="AGP (7.0.0)" variant="all" version="7.0.0"> + + <issue + id="IidCompatibilityCheckFailure" + message="Check failed with exception: java.lang.NoSuchMethodException: com.android.tools.lint.detector.api.LintModelModuleProject.getGradleProjectModel()"> + <location + file="app"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `android:foreground` has no effect on API levels lower than 23 (current min is 21)" + errorLine1=" android:foreground="?android:attr/selectableItemBackground"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/account_preference.xml" + line="8" + column="5"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `android:foreground` has no effect on API levels lower than 23 (current min is 21)" + errorLine1=" android:foreground="@drawable/rounded_ripple"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/component_collection_creation.xml" + line="144" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `android:foreground` has no effect on API levels lower than 23 (current min is 21)" + errorLine1=" android:foreground="@drawable/rounded_ripple"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/onboarding_theme_picker.xml" + line="70" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `android:foreground` has no effect on API levels lower than 23 (current min is 21)" + errorLine1=" android:foreground="@drawable/rounded_ripple"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/onboarding_theme_picker.xml" + line="98" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `android:foreground` has no effect on API levels lower than 23 (current min is 21)" + errorLine1=" android:foreground="@drawable/rounded_ripple"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/onboarding_theme_picker.xml" + line="147" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `android:foreground` has no effect on API levels lower than 23 (current min is 21)" + errorLine1=" android:foreground="@drawable/rounded_ripple"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/onboarding_toolbar_position_picker.xml" + line="60" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `android:foreground` has no effect on API levels lower than 23 (current min is 21)" + errorLine1=" android:foreground="@drawable/rounded_ripple"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/onboarding_toolbar_position_picker.xml" + line="114" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `android:foreground` has no effect on API levels lower than 23 (current min is 21)" + errorLine1=" android:foreground="@drawable/rounded_ripple"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/onboarding_tracking_protection.xml" + line="50" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `android:foreground` has no effect on API levels lower than 23 (current min is 21)" + errorLine1=" android:foreground="@drawable/rounded_ripple"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/onboarding_tracking_protection.xml" + line="71" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `shortcutId` is only used in API level 25 and higher (current min is 21)" + errorLine1=" android:shortcutId="open_new_tab"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/debug/res/xml/shortcuts.xml" + line="8" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `shortcutId` is only used in API level 25 and higher (current min is 21)" + errorLine1=" android:shortcutId="open_new_tab"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/xml/shortcuts.xml" + line="8" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `shortcutShortLabel` is only used in API level 25 and higher (current min is 21)" + errorLine1=" android:shortcutShortLabel="@string/home_screen_shortcut_open_new_tab_2"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/debug/res/xml/shortcuts.xml" + line="11" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `shortcutShortLabel` is only used in API level 25 and higher (current min is 21)" + errorLine1=" android:shortcutShortLabel="@string/home_screen_shortcut_open_new_tab_2"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/xml/shortcuts.xml" + line="11" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `shortcutLongLabel` is only used in API level 25 and higher (current min is 21)" + errorLine1=" android:shortcutLongLabel="@string/home_screen_shortcut_open_new_tab_2">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/debug/res/xml/shortcuts.xml" + line="12" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `shortcutLongLabel` is only used in API level 25 and higher (current min is 21)" + errorLine1=" android:shortcutLongLabel="@string/home_screen_shortcut_open_new_tab_2">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/xml/shortcuts.xml" + line="12" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `shortcutId` is only used in API level 25 and higher (current min is 21)" + errorLine1=" android:shortcutId="open_new_private_tab"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/debug/res/xml/shortcuts.xml" + line="19" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `shortcutId` is only used in API level 25 and higher (current min is 21)" + errorLine1=" android:shortcutId="open_new_private_tab"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/xml/shortcuts.xml" + line="19" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `shortcutShortLabel` is only used in API level 25 and higher (current min is 21)" + errorLine1=" android:shortcutShortLabel="@string/home_screen_shortcut_open_new_private_tab_2"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/debug/res/xml/shortcuts.xml" + line="22" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `shortcutShortLabel` is only used in API level 25 and higher (current min is 21)" + errorLine1=" android:shortcutShortLabel="@string/home_screen_shortcut_open_new_private_tab_2"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/xml/shortcuts.xml" + line="22" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `shortcutLongLabel` is only used in API level 25 and higher (current min is 21)" + errorLine1=" android:shortcutLongLabel="@string/home_screen_shortcut_open_new_private_tab_2">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/debug/res/xml/shortcuts.xml" + line="23" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `shortcutLongLabel` is only used in API level 25 and higher (current min is 21)" + errorLine1=" android:shortcutLongLabel="@string/home_screen_shortcut_open_new_private_tab_2">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/xml/shortcuts.xml" + line="23" + column="9"/> + </issue> + + <issue + id="UnusedAttribute" + message="Attribute `android:foreground` has no effect on API levels lower than 23 (current min is 21)" + errorLine1=" android:foreground="?android:selectableItemBackground">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/tab_tray_item.xml" + line="13" + column="5"/> + </issue> + + <issue + id="InflateParams" + message="Avoid passing `null` as the view root (needed to resolve layout parameters on the inflated layout's root element)" + errorLine1=" .inflate(R.layout.delete_history_time_range_dialog, null)" + errorLine2=" ~~~~"> + <location + file="src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt" + line="379" + column="73"/> + </issue> + + <issue + id="MissingLicense" + message="The file must start with a comment containing the license" + errorLine1="package org.mozilla.fenix.ext" + errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/ext/Bitmap.kt" + line="1" + column="1"/> + </issue> + + <issue + id="VectorRaster" + message="Limit vector icons sizes to 200×200 to keep icon drawing fast; see https://developer.android.com/studio/write/vector-asset-studio#when for more" + errorLine1=" android:width="1889dp"" + errorLine2=" ~~~~~~"> + <location + file="src/main/res/drawable/ic_etp_artwork.xml" + line="7" + column="20"/> + </issue> + + <issue + id="VectorRaster" + message="Limit vector icons sizes to 200×200 to keep icon drawing fast; see https://developer.android.com/studio/write/vector-asset-studio#when for more" + errorLine1="<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt" android:width="235dp" android:height="298dp" android:viewportWidth="235" android:viewportHeight="298">" + errorLine2=" ~~~~~"> + <location + file="src/main/res/drawable/ic_onboarding_sync.xml" + line="1" + column="128"/> + </issue> + + <issue + id="VectorRaster" + message="Limit vector icons sizes to 200×200 to keep icon drawing fast; see https://developer.android.com/studio/write/vector-asset-studio#when for more" + errorLine1="<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt" android:width="223dp" android:height="345dp" android:viewportWidth="223" android:viewportHeight="345">" + errorLine2=" ~~~~~"> + <location + file="src/main/res/drawable/ic_onboarding_welcome.xml" + line="1" + column="128"/> + </issue> + + <issue + id="VisibleForTests" + message="This method should only be accessed from tests or within private scope" + errorLine1=" recentTabs = state.recentTabs.filterOutTab(action.recentTab)" + errorLine2=" ~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/components/appstate/AppStoreReducer.kt" + line="74" + column="47"/> + </issue> + + <issue + id="VisibleForTests" + message="This method should only be accessed from tests or within private scope" + errorLine1=" isInPrimaryState = { getCurrentTab()?.content?.canGoBack ?: false }," + errorLine2=" ~~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt" + line="97" + column="38"/> + </issue> + + <issue + id="VisibleForTests" + message="This method should only be accessed from tests or within private scope" + errorLine1=" isInPrimaryState = { getCurrentTab()?.content?.canGoForward ?: false }," + errorLine2=" ~~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt" + line="119" + column="38"/> + </issue> + + <issue + id="VisibleForTests" + message="This method should only be accessed from tests or within private scope" + errorLine1=" getCurrentTab()?.content?.loading == false" + errorLine2=" ~~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt" + line="142" + column="21"/> + </issue> + + <issue + id="VisibleForTests" + message="This method should only be accessed from tests or within private scope" + errorLine1=" if (getCurrentTab()?.content?.loading == true) {" + errorLine2=" ~~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt" + line="156" + column="25"/> + </issue> + + <issue + id="VisibleForTests" + message="This method should only be accessed from tests or within private scope" + errorLine1=" selected = getCurrentTab()?.let {" + errorLine2=" ~~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt" + line="184" + column="28"/> + </issue> + + <issue + id="VisibleForTests" + message="This method should only be accessed from tests or within private scope" + errorLine1=" getCurrentTab()?.let { tab ->" + errorLine2=" ~~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt" + line="274" + column="9"/> + </issue> + + <issue + id="VisibleForTests" + message="This method should only be accessed from tests or within private scope" + errorLine1=" } + searchSelectorMenu.menuItems()" + errorLine2=" ~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt" + line="725" + column="36"/> + </issue> + + <issue + id="VisibleForTests" + message="This method should only be accessed from tests or within private scope" + errorLine1=" tabsAction.updateCount(tabCount)" + errorLine2=" ~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt" + line="148" + column="20"/> + </issue> + + <issue + id="ComposableNaming" + message="Composable functions with a return type should start with a lowercase letter" + errorLine1="fun EagerFlingBehavior(" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/compose/LazyListEagerFlingBehavior.kt" + line="21" + column="5"/> + </issue> + + <issue + id="ModifierParameter" + message="Modifier parameter should be the first optional parameter" + errorLine1=" modifier: Modifier = Modifier," + errorLine2=" ~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/compose/ThumbnailCard.kt" + line="59" + column="5"/> + </issue> + + <issue + id="UseCompatLoadingForDrawables" + message="Use `AppCompatResources.getDrawable()`" + errorLine1=" display.setUrlBackground(getDrawable(R.drawable.search_url_background))" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt" + line="89" + column="46"/> + </issue> + + <issue + id="Typos" + message=""internett" is usually capitalized as "Internett"" + errorLine1=" <string name="private_browsing_placeholder_description_2">%1$s fjerner søk- og nettleserhistorikken fra private nettlesingsfaner når du lukker dem eller avslutter appen. Selv om dette ikke gjør deg anonym for nettsteder eller internett-leverandøren din, vil det gjøre det lettere" + errorLine2=" ^"> + <location + file="src/main/res/values-nb-rNO/strings.xml" + line="56" + column="231"/> + </issue> + + <issue + id="Typos" + message="Repeated word "zaman" in message: possible typo" + errorLine1=" <string name="studies_description_2">%1$s zaman zaman araştırmalar yükleyip çalıştırabilir.</string>" + errorLine2=" ^"> + <location + file="src/main/res/values-tr/strings.xml" + line="705" + column="47"/> + </issue> + + <issue + id="MozMultipleConstraintLayouts" + message="Flatten the view hierarchy by using one `ConstraintLayout`, if possible. If the alternative is several nested `ViewGroup`, it may not help performance and this may be worth suppressing." + errorLine1=" <androidx.constraintlayout.widget.ConstraintLayout" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/component_collection_creation.xml" + line="137" + column="6"/> + </issue> + + <issue + id="MozMultipleConstraintLayouts" + message="Flatten the view hierarchy by using one `ConstraintLayout`, if possible. If the alternative is several nested `ViewGroup`, it may not help performance and this may be worth suppressing." + errorLine1=" <androidx.constraintlayout.widget.ConstraintLayout" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/component_collection_creation_name_collection.xml" + line="107" + column="6"/> + </issue> + + <issue + id="MozMultipleConstraintLayouts" + message="Flatten the view hierarchy by using one `ConstraintLayout`, if possible. If the alternative is several nested `ViewGroup`, it may not help performance and this may be worth suppressing." + errorLine1=" <androidx.constraintlayout.widget.ConstraintLayout" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/component_collection_creation_select_collection.xml" + line="111" + column="6"/> + </issue> + + <issue + id="MozMultipleConstraintLayouts" + message="Flatten the view hierarchy by using one `ConstraintLayout`, if possible. If the alternative is several nested `ViewGroup`, it may not help performance and this may be worth suppressing." + errorLine1=" <androidx.constraintlayout.widget.ConstraintLayout" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/component_tracking_protection_panel.xml" + line="15" + column="6"/> + </issue> + + <issue + id="MozMultipleConstraintLayouts" + message="Flatten the view hierarchy by using one `ConstraintLayout`, if possible. If the alternative is several nested `ViewGroup`, it may not help performance and this may be worth suppressing." + errorLine1=" <androidx.constraintlayout.widget.ConstraintLayout" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/component_tracking_protection_panel.xml" + line="198" + column="6"/> + </issue> + + <issue + id="MozMultipleConstraintLayouts" + message="Flatten the view hierarchy by using one `ConstraintLayout`, if possible. If the alternative is several nested `ViewGroup`, it may not help performance and this may be worth suppressing." + errorLine1=" <androidx.constraintlayout.widget.ConstraintLayout" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_add_on_details.xml" + line="150" + column="10"/> + </issue> + + <issue + id="MozMultipleConstraintLayouts" + message="Flatten the view hierarchy by using one `ConstraintLayout`, if possible. If the alternative is several nested `ViewGroup`, it may not help performance and this may be worth suppressing." + errorLine1=" <androidx.constraintlayout.widget.ConstraintLayout" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_share.xml" + line="30" + column="6"/> + </issue> + + <issue + id="NotifyDataSetChanged" + message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort." + errorLine1=" notifyDataSetChanged()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/library/downloads/DownloadAdapter.kt" + line="43" + column="9"/> + </issue> + + <issue + id="NotifyDataSetChanged" + message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort." + errorLine1=" notifyDataSetChanged()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/collections/SaveCollectionListAdapter.kt" + line="49" + column="9"/> + </issue> + + <issue + id="NotifyDataSetChanged" + message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort." + errorLine1=" tabsTrayBinding.tabsTray.adapter?.notifyDataSetChanged()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/tabstray/TabsTrayFragment.kt" + line="421" + column="13"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.library.LibrarySiteItemView" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/component_recently_closed.xml" + line="12" + column="6"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <mozilla.components.feature.readerview.view.ReaderViewControlsBar" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_browser.xml" + line="54" + column="14"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <mozilla.components.feature.prompts.login.LoginSelectBar" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_browser.xml" + line="87" + column="10"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataItem" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_delete_browsing_data.xml" + line="32" + column="14"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataItem" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_delete_browsing_data.xml" + line="41" + column="14"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataItem" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_delete_browsing_data.xml" + line="50" + column="14"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataItem" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_delete_browsing_data.xml" + line="60" + column="14"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataItem" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_delete_browsing_data.xml" + line="70" + column="14"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataItem" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_delete_browsing_data.xml" + line="79" + column="14"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.trackingprotection.TrackingProtectionCategoryItem" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_tracking_protection_blocking.xml" + line="36" + column="10"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.trackingprotection.TrackingProtectionCategoryItem" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_tracking_protection_blocking.xml" + line="46" + column="10"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.trackingprotection.TrackingProtectionCategoryItem" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_tracking_protection_blocking.xml" + line="56" + column="10"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.trackingprotection.TrackingProtectionCategoryItem" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_tracking_protection_blocking.xml" + line="66" + column="10"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.trackingprotection.TrackingProtectionCategoryItem" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_tracking_protection_blocking.xml" + line="76" + column="10"/> + </issue> + + <issue + id="MozMultipleConstraintLayoutsAndCustomViews" + message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file." + errorLine1=" <org.mozilla.fenix.trackingprotection.SwitchWithDescription" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/quicksettings_tracking_protection.xml" + line="12" + column="6"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `@color/sync_error_background_color` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="@color/sync_error_background_color"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/account_auth_error_preference.xml" + line="13" + column="9"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?android:selectableItemBackground` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?android:selectableItemBackground"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/checkbox_left_preference.xml" + line="11" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?android:selectableItemBackground` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?android:selectableItemBackground"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/checkbox_left_preference_etp.xml" + line="12" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?android:selectableItemBackground` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?android:selectableItemBackground"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/checkbox_left_sub_preference.xml" + line="11" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/layer1` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/layer1">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/component_tracking_protection_panel.xml" + line="13" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/layer1` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/layer1"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/connection_details_website_info.xml" + line="13" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?android:selectableItemBackground` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?android:selectableItemBackground"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/custom_search_engine_radio_button.xml" + line="12" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/layer1` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/layer1"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/download_dialog_layout.xml" + line="10" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/scrimBackground` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/scrimBackground">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_bookmark_search_dialog.xml" + line="13" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?scrim` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?scrim"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_create_collection.xml" + line="11" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?scrim` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?scrim"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_create_shortcut.xml" + line="11" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/scrimBackground` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/scrimBackground">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_history_search_dialog.xml" + line="13" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?homeBackground` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?homeBackground">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_home.xml" + line="16" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?scrim` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?scrim"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_pwa_onboarding.xml" + line="11" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/scrimBackground` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/scrimBackground">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_search_dialog.xml" + line="13" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/layer1` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/layer1"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/fragment_sign_out.xml" + line="10" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/layer1` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/layer1"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/info_banner.xml" + line="11" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/selectableItemBackground` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/selectableItemBackground"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/layout_add_credit_card.xml" + line="11" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/selectableItemBackground` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/selectableItemBackground"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/layout_add_login.xml" + line="11" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/layer1` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/layer1"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/navigation_toolbar.xml" + line="14" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?android:selectableItemBackground` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?android:selectableItemBackground"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/preference_search_add_engine.xml" + line="10" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?android:selectableItemBackground` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?android:selectableItemBackground"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/search_engine_radio_button.xml" + line="11" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/layer1` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/layer1"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/stub_find_in_page.xml" + line="11" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `#FF0250BB` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="#FF0250BB">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/tracking_protection_learn_more_preference.xml" + line="10" + column="5"/> + </issue> + + <issue + id="Overdraw" + message="Possible overdraw: Root element paints background `?attr/layer2` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)" + errorLine1=" android:background="?attr/layer2">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/view_crash_reporter.xml" + line="11" + column="5"/> + </issue> + + <issue + id="UnusedResources" + message="The resource `R.string.resource_scheme` appears to be unused" + errorLine1=" <string name="resource_scheme">"resource://"</string>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/values/arrays.xml" + line="39" + column="13"/> + </issue> + + <issue + id="UnusedResources" + message="The resource `R.string.chrome_scheme` appears to be unused" + errorLine1=" <string name="chrome_scheme">"chrome://</string>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/values/arrays.xml" + line="40" + column="13"/> + </issue> + + <issue + id="UnusedResources" + message="The resource `R.string.about_scheme` appears to be unused" + errorLine1=" <string name="about_scheme">"about:"</string>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/values/arrays.xml" + line="41" + column="13"/> + </issue> + + <issue + id="UnusedResources" + message="The resource `R.array.mozac_url_schemes_blocklist` appears to be unused" + errorLine1=" <string-array name="mozac_url_schemes_blocklist" >" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/values/arrays.xml" + line="42" + column="19"/> + </issue> + + <issue + id="UnusedResources" + message="The resource `R.dimen.mozac_browser_menu_corner_radius` appears to be unused" + errorLine1=" <dimen name="mozac_browser_menu_corner_radius">8dp</dimen>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/values/dimens.xml" + line="12" + column="12"/> + </issue> + + <issue + id="UnusedResources" + message="The resource `R.dimen.mozac_browser_menu2_corner_radius` appears to be unused" + errorLine1=" <dimen name="mozac_browser_menu2_corner_radius">8dp</dimen>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/values/dimens.xml" + line="13" + column="12"/> + </issue> + + <issue + id="UnusedResources" + message="The resource `R.drawable.ic_firefox` appears to be unused" + errorLine1="<vector android:height="112.7dp" android:viewportHeight="54.28"" + errorLine2="^"> + <location + file="src/main/res/drawable/ic_firefox.xml" + line="1" + column="1"/> + </issue> + + <issue + id="UnusedResources" + message="The resource `R.mipmap.ic_launcher_private` appears to be unused" + errorLine1="<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">" + errorLine2="^"> + <location + file="src/main/res/mipmap-anydpi-v26/ic_launcher_private.xml" + line="6" + column="1"/> + </issue> + + <issue id="UnusedResources" + message="The resource R.drawable.ic_onboarding_key_features appears to be unused"> + <location file="src/main/res/drawable/ic_onboarding_key_features.xml" /> + </issue> + + <issue id="UnusedResources" + message="The resource R.drawable.ic_onboarding_key_features_icons_only appears to be unused"> + <location file="src/main/res/drawable/ic_onboarding_key_features_icons_only.xml" /> + </issue> + + <issue + id="IconXmlAndPng" + message="The following images appear both as density independent `.xml` files and as bitmap files: /Users/oracle/Projects/fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_normal.png, /Users/oracle/Projects/fenix/app/src/main/res/drawable-night/ic_logo_wordmark_normal.xml"> + <location + file="src/main/res/drawable-xxxhdpi/ic_logo_wordmark_normal.png"/> + <location + file="src/main/res/drawable-xxhdpi/ic_logo_wordmark_normal.png"/> + <location + file="src/main/res/drawable-xhdpi/ic_logo_wordmark_normal.png"/> + <location + file="src/main/res/drawable-night/ic_logo_wordmark_normal.xml"/> + <location + file="src/main/res/drawable-mdpi/ic_logo_wordmark_normal.png"/> + <location + file="src/main/res/drawable-hdpi/ic_logo_wordmark_normal.png"/> + </issue> + + <issue + id="ConvertToWebp" + message="One or more images in this project can be converted to the WebP format which typically results in smaller file sizes, even for lossless conversion"> + <location + file="src/debug/res/mipmap-xxxhdpi/ic_launcher_round.png"/> + </issue> + + <issue + id="ConvertToWebp" + message="One or more images in this project can be converted to the WebP format which typically results in smaller file sizes, even for lossless conversion"> + <location + file="src/main/res/drawable-land-xxhdpi/sunrise.jpg"/> + </issue> + + <issue + id="IconDuplicatesConfig" + message="The `amethyst.png` icon has identical contents in the following configuration folders: drawable-port-xhdpi, drawable-xhdpi"> + <location + file="src/main/res/drawable-xhdpi/amethyst.png"/> + <location + file="src/main/res/drawable-port-xhdpi/amethyst.png"/> + </issue> + + <issue + id="IconDuplicatesConfig" + message="The `amethyst.png` icon has identical contents in the following configuration folders: drawable-port-xxhdpi, drawable-xxhdpi"> + <location + file="src/main/res/drawable-xxhdpi/amethyst.png"/> + <location + file="src/main/res/drawable-port-xxhdpi/amethyst.png"/> + </issue> + + <issue + id="IconLocation" + message="Found bitmap drawable `res/drawable/ic_baidu.png` in densityless folder"> + <location + file="src/main/res/drawable/ic_baidu.png"/> + </issue> + + <issue + id="IconLocation" + message="Found bitmap drawable `res/drawable/ic_jd.png` in densityless folder"> + <location + file="src/main/res/drawable/ic_jd.png"/> + </issue> + + <issue + id="IconLocation" + message="Found bitmap drawable `res/drawable/ic_meituan.png` in densityless folder"> + <location + file="src/main/res/drawable/ic_meituan.png"/> + </issue> + + <issue + id="IconLocation" + message="Found bitmap drawable `res/drawable/ic_pdd.png` in densityless folder"> + <location + file="src/main/res/drawable/ic_pdd.png"/> + </issue> + + <issue + id="IconLocation" + message="Found bitmap drawable `res/drawable/ic_tc.png` in densityless folder"> + <location + file="src/main/res/drawable/ic_tc.png"/> + </issue> + + <issue + id="IconDensities" + message="Missing the following drawables in `drawable-mdpi`: amethyst.png, cerulean.png, fenix_search_widget.png, sunrise.jpg"> + <location + file="src/main/res/drawable-mdpi"/> + </issue> + + <issue + id="IconDensities" + message="Missing the following drawables in `drawable-xhdpi`: cerulean.png, fenix_search_widget.png, sunrise.jpg"> + <location + file="src/main/res/drawable-xhdpi"/> + </issue> + + <issue + id="IconDensities" + message="Missing the following drawables in `drawable-xxhdpi`: cerulean.png, fenix_search_widget.png, sunrise.jpg"> + <location + file="src/main/res/drawable-xxhdpi"/> + </issue> + + <issue + id="SmallSp" + message="Avoid using sizes smaller than `11sp`: `10sp`" + errorLine1=" android:textSize="10sp"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/account_share_list_item.xml" + line="39" + column="9"/> + </issue> + + <issue + id="SmallSp" + message="Avoid using sizes smaller than `11sp`: `10sp`" + errorLine1=" android:textSize="10sp"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/app_share_list_item.xml" + line="37" + column="9"/> + </issue> + + <issue + id="ClickableViewAccessibility" + message="Custom view ``AwesomeBarWrapper`` has `setOnTouchListener` called on it but does not override `performClick`" + errorLine1=" binding.awesomeBar.setOnTouchListener { _, _ ->" + errorLine2=" ^"> + <location + file="src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt" + line="244" + column="9"/> + </issue> + + <issue + id="ClickableViewAccessibility" + message="`onTouch` lambda should call `View#performClick` when a click is detected" + errorLine1=" binding.awesomeBar.setOnTouchListener { _, _ ->" + errorLine2=" ^"> + <location + file="src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt" + line="244" + column="47"/> + </issue> + + <issue + id="ClickableViewAccessibility" + message="`onTouch` lambda should call `View#performClick` when a click is detected" + errorLine1=" dialog?.window?.decorView?.setOnTouchListener { _, event ->" + errorLine2=" ^"> + <location + file="src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt" + line="259" + column="63"/> + </issue> + + <issue + id="ClickableViewAccessibility" + message="Custom view ``SearchDialogFragmentConstraintLayout`` has `setOnTouchListener` called on it but does not override `performClick`" + errorLine1=" binding.searchWrapper.setOnTouchListener { _, _ ->" + errorLine2=" ^"> + <location + file="src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt" + line="306" + column="17"/> + </issue> + + <issue + id="ClickableViewAccessibility" + message="`onTouch` lambda should call `View#performClick` when a click is detected" + errorLine1=" binding.searchWrapper.setOnTouchListener { _, _ ->" + errorLine2=" ^"> + <location + file="src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt" + line="306" + column="58"/> + </issue> + + <issue + id="ClickableViewAccessibility" + message="Custom view ``SearchDialogFragmentConstraintLayout`` has `setOnTouchListener` called on it but does not override `performClick`" + errorLine1=" binding.searchWrapper.setOnTouchListener { _, _ ->" + errorLine2=" ^"> + <location + file="src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt" + line="312" + column="17"/> + </issue> + + <issue + id="ClickableViewAccessibility" + message="`onTouch` lambda should call `View#performClick` when a click is detected" + errorLine1=" binding.searchWrapper.setOnTouchListener { _, _ ->" + errorLine2=" ^"> + <location + file="src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt" + line="312" + column="58"/> + </issue> + + <issue + id="ClickableViewAccessibility" + message="Custom view `SwipeGestureLayout` overrides `onTouchEvent` but not `performClick`" + errorLine1=" override fun onTouchEvent(event: MotionEvent?): Boolean {" + errorLine2=" ~~~~~~~~~~~~"> + <location + file="src/main/java/org/mozilla/fenix/browser/SwipeGestureLayout.kt" + line="120" + column="18"/> + </issue> + + <issue + id="ContentDescription" + message="Missing `contentDescription` attribute on image" + errorLine1=" <ImageView" + errorLine2=" ~~~~~~~~~"> + <location + file="src/main/res/layout/library_site_item.xml" + line="30" + column="10"/> + </issue> + + <issue + id="ContentDescription" + message="Missing `contentDescription` attribute on image" + errorLine1=" <ImageView" + errorLine2=" ~~~~~~~~~"> + <location + file="src/main/res/layout/sign_in_preference.xml" + line="17" + column="6"/> + </issue> + + <issue + id="RtlSymmetry" + message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry" + errorLine1=" android:paddingStart="@dimen/custom_checkbox_alignment_margin">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/checkbox_left_sub_preference.xml" + line="15" + column="5"/> + </issue> + + <issue + id="RtlHardcoded" + message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart="10dp"` to better support right-to-left layouts" + errorLine1=" android:layout_marginLeft="10dp"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="src/main/res/layout/activity_privacy_content_display.xml" + line="21" + column="21"/> + </issue> + +</issues> |