<issue id="ScrollViewSize"
message="This LinearLayout should use `android:layout_height="wrap_content"`"
errorLine1=" android:layout_height="match_parent""
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/fragment_save_search_engine.xml"
line="17"
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: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 `shortcutId` is only used in API level 25 and higher (current min is 21)"
errorLine1=" android:shortcutId="password_manager""
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="password_manager""
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_passwords">"
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_passwords">"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/xml/shortcuts.xml"
line="11"
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="18"
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="18"
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="21"
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="21"
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="28"
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="28"
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="31"
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="31"
column="9"/>
</issue>
<issue id="AppBundleLocaleChanges"
message="Found dynamic locale changes, but did not find corresponding Play Core library calls for downloading languages and splitting by language is not disabled in the `bundle` configuration"
errorLine1=" config.setLocale(Locale("en"))"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/ext/Context.kt"
line="81"
column="9"/>
</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.crash_extension_dialog, null, false)"
errorLine2=" ~~~~">
<location
file="src/main/java/org/mozilla/fenix/addons/ExtensionsProcessDisabledForegroundController.kt"
line="80"
column="59"/>
</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=" val layout = getLayoutInflater().inflate(R.layout.delete_history_time_range_dialog, null)"
errorLine2=" ~~~~">
<location
file="src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt"
line="503"
column="101"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="139"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="141"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="143"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="145"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="147"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="149"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="151"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="153"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="155"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="157"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="159"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="161"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="163"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="165"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="167"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="169"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="171"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="173"
column="17"/>
</issue>
<issue id="IntentFilterUniqueDataAttributes"
message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion"
errorLine1=" <data android:scheme="${deepLinkScheme}""
errorLine2=" ^">
<location
file="src/main/AndroidManifest.xml"
line="175"
column="17"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.about_list_item"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/settings/about/viewholders/AboutItemViewHolder.kt"
line="34"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.account_share_list_item"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/share/viewholders/AccountDeviceViewHolder.kt"
line="61"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.app_share_list_item"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/share/viewholders/AppViewHolder.kt"
line="38"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.bookmark_list_item"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkNodeViewHolder.kt"
line="119"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.library_separator"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkSeparatorViewHolder.kt"
line="16"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.collection_tab_list_row"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/collections/CollectionCreationTabListAdapter.kt"
line="119"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.credit_card_list_item"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/settings/creditcards/view/CreditCardItemViewHolder.kt"
line="59"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.component_credit_cards"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/settings/creditcards/view/CreditCardsManagementView.kt"
line="44"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.exceptions_description"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/exceptions/viewholders/ExceptionsHeaderViewHolder.kt"
line="28"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.site_list_item"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/exceptions/viewholders/ExceptionsListItemViewHolder.kt"
line="42"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.history_list_item"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/library/history/viewholders/HistoryListItemViewHolder.kt"
line="165"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.history_metadata_group_list_item"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/library/historymetadata/view/HistoryMetadataGroupItemViewHolder.kt"
line="70"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.no_collections_message"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/NoCollectionsMessageViewHolder.kt"
line="108"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.history_list_item"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/library/recentlyclosed/RecentlyClosedItemViewHolder.kt"
line="63"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.collections_list_item"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/collections/SaveCollectionListAdapter.kt"
line="63"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.top_placeholder_item"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/home/TopPlaceholderViewHolder.kt"
line="22"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.top_site_item"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/home/topsites/TopSiteItemViewHolder.kt"
line="201"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.component_top_sites_pager"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/home/topsites/TopSitePagerViewHolder.kt"
line="80"
column="31"/>
</issue>
<issue id="NonConstantResourceId"
message="Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them in const fields"
errorLine1=" const val LAYOUT_ID = R.layout.component_top_sites"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/home/topsites/TopSiteViewHolder.kt"
line="42"
column="31"/>
</issue>
<issue id="RedundantLabel"
message="Redundant label can be removed"
errorLine1=" android:label="@string/app_name""
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="191"
column="13"/>
</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="973dp""
errorLine2=" ~~~~~">
<location
file="src/main/res/drawable/ic_notification_permission.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=" android:width="324dp""
errorLine2=" ~~~~~">
<location
file="src/main/res/drawable/ic_onboarding_customize_toolbar.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:aapt="http://schemas.android.com/aapt" xmlns:android="http://schemas.android.com/apk/res/android" android:height="320dp" android:viewportHeight="193.94" android:viewportWidth="200" android:width="329.99896dp">"
errorLine2=" ~~~~~">
<location
file="src/main/res/drawable/ic_onboarding_key_features.xml"
line="1"
column="129"/>
</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:aapt="http://schemas.android.com/aapt" xmlns:android="http://schemas.android.com/apk/res/android" android:height="320dp" android:viewportHeight="193.94" android:viewportWidth="200" android:width="329.99896dp">"
errorLine2=" ~~~~~">
<location
file="src/main/res/drawable/ic_onboarding_key_features_icons_only.xml"
line="1"
column="129"/>
</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="312dp""
errorLine2=" ~~~~~">
<location
file="src/main/res/drawable/ic_onboarding_search_widget.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="5"
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="5"
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=" android:width="263dp""
errorLine2=" ~~~~~">
<location
file="src/main/res/drawable/ic_pick_a_theme.xml"
line="6"
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=" android:width="316dp""
errorLine2=" ~~~~~">
<location
file="src/main/res/drawable-night/onboarding_ctd_default_browser.xml"
line="2"
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=" android:width="316dp""
errorLine2=" ~~~~~">
<location
file="src/main/res/drawable/onboarding_ctd_default_browser.xml"
line="2"
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=" android:width="317dp""
errorLine2=" ~~~~~">
<location
file="src/main/res/drawable/onboarding_ctd_notification.xml"
line="2"
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=" android:width="309dp""
errorLine2=" ~~~~~">
<location
file="src/main/res/drawable/onboarding_ctd_sync.xml"
line="2"
column="20"/>
</issue>
<issue id="VisibleForTests"
message="This declaration implicitly references Country, which should only be accessed from tests or within private scope"
errorLine1=" countries.values.map { it.displayName },"
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt"
line="126"
column="34"/>
</issue>
<issue id="VisibleForTests"
message="This declaration implicitly references Country, which should only be accessed from tests or within private scope"
errorLine1=" .indexOfFirst { it.countryCode == selectedCountryKey }"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt"
line="134"
column="27"/>
</issue>
<issue id="VisibleForTests"
message="This declaration implicitly references Country, which should only be accessed from tests or within private scope"
errorLine1=" countries[newCountryKey]?.let { country ->"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt"
line="148"
column="49"/>
</issue>
<issue id="VisibleForTests"
message="This declaration implicitly references Country, which should only be accessed from tests or within private scope"
errorLine1=" countries[newCountryKey]?.let { country ->"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt"
line="148"
column="49"/>
</issue>
<issue id="VisibleForTests"
message="This declaration implicitly references Country, which should only be accessed from tests or within private scope"
errorLine1=" countries[selectedCountryKey]?.let { country ->"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt"
line="156"
column="46"/>
</issue>
<issue id="VisibleForTests"
message="This class should only be accessed from tests or within private scope"
errorLine1=" private fun bindSubregionDropdown(country: Country) {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt"
line="161"
column="48"/>
</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="80"
column="47"/>
</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="266"
column="25"/>
</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="703"
column="9"/>
</issue>
<issue id="VisibleForTests"
message="This method should only be accessed from tests or within private scope"
errorLine1=" (binding.root.layoutParams as CoordinatorLayout.LayoutParams).behavior = DynamicInfoBannerBehavior("
errorLine2=" ~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/browser/infobanner/DynamicInfoBanner.kt"
line="49"
column="14"/>
</issue>
<issue id="VisibleForTests"
message="This method should only be accessed from tests or within private scope"
errorLine1=" binding.exceptionsLearnMore.isVisible = false"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/exceptions/login/LoginExceptionsView.kt"
line="21"
column="9"/>
</issue>
<issue id="VisibleForTests"
message="This method should only be accessed from tests or within private scope"
errorLine1=" binding.exceptionsEmptyMessage.text ="
errorLine2=" ~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/exceptions/login/LoginExceptionsView.kt"
line="22"
column="9"/>
</issue>
<issue id="VisibleForTests"
message="This method should only be accessed from tests or within private scope"
errorLine1=" binding.exceptionsList.apply {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/exceptions/login/LoginExceptionsView.kt"
line="27"
column="9"/>
</issue>
<issue id="VisibleForTests"
message="This method should only be accessed from tests or within private scope"
errorLine1=" it.items.size >= SEARCH_GROUP_MINIMUM_SITES"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/components/history/PagedHistoryProvider.kt"
line="133"
column="38"/>
</issue>
<issue id="VisibleForTests"
message="This method should only be accessed from tests or within private scope"
errorLine1=" binding.exceptionsList.apply {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/exceptions/trackingprotection/TrackingProtectionExceptionsView.kt"
line="21"
column="9"/>
</issue>
<issue id="VisibleForTests"
message="This method should only be accessed from tests or within private scope"
errorLine1=" with(binding.exceptionsLearnMore) {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/exceptions/trackingprotection/TrackingProtectionExceptionsView.kt"
line="25"
column="14"/>
</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="ComposableNaming"
message="Composable functions that return Unit should start with an uppercase letter"
errorLine1=" fun composeRunIfWallpaperCardColorsAreAvailable("
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/wallpapers/WallpaperState.kt"
line="72"
column="9"/>
</issue>
<issue id="ModifierParameter"
message="Optional Modifier parameter should have a default value of `Modifier`"
errorLine1=" modifier: Modifier = Modifier.fillMaxWidth(),"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/compose/button/Button.kt"
line="110"
column="5"/>
</issue>
<issue id="ModifierParameter"
message="Optional Modifier parameter should have a default value of `Modifier`"
errorLine1=" modifier: Modifier = Modifier.fillMaxWidth(),"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/compose/button/Button.kt"
line="159"
column="5"/>
</issue>
<issue id="ModifierParameter"
message="Optional Modifier parameter should have a default value of `Modifier`"
errorLine1=" modifier: Modifier = Modifier.fillMaxWidth(),"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/compose/button/Button.kt"
line="196"
column="5"/>
</issue>
<issue id="ModifierParameter"
message="Optional Modifier parameter should have a default value of `Modifier`"
errorLine1=" modifier: Modifier = Modifier.fillMaxWidth(),"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/compose/button/Button.kt"
line="233"
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/list/ListItem.kt"
line="86"
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/components/menu/compose/MenuItem.kt"
line="78"
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/components/menu/compose/MenuItem.kt"
line="176"
column="5"/>
</issue>
<issue id="ModifierParameter"
message="Optional Modifier parameter should have a default value of `Modifier`"
errorLine1=" modifier: Modifier = Modifier.fillMaxWidth(),"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/compose/TextField.kt"
line="91"
column="5"/>
</issue>
<issue id="DiscouragedApi"
message="Use of this function is discouraged because resource reflection makes it harder to perform build optimizations and compile-time verification of code. It is much more efficient to retrieve resources by identifier (e.g. `R.foo.bar`) than by name (e.g. `getIdentifier("bar", "foo", null)`)."
errorLine1=" val resId = context.resources.getIdentifier(projectIdKey, "string", context.packageName)"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/components/Push.kt"
line="38"
column="39"/>
</issue>
<issue id="NotifyUsage"
message="Using Android NOTIFY instead of base component"
errorLine1=" notificationManagerCompat.notify(TABS_CLOSED_TAG, notificationId, notification)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/components/NotificationManager.kt"
line="125"
column="9"/>
</issue>
<issue id="NotifyUsage"
message="Using Android NOTIFY instead of base component"
errorLine1=" notify(RECEIVE_TABS_TAG, notificationId, notification)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/components/NotificationManager.kt"
line="170"
column="17"/>
</issue>
<issue id="SetJavaScriptEnabled"
message="Using `setJavaScriptEnabled` can introduce XSS vulnerabilities into your application, review carefully"
errorLine1=" webView.settings.javaScriptEnabled = true"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/home/mozonline/PrivacyContentDisplayActivity.kt"
line="32"
column="9"/>
</issue>
<issue id="ExportedReceiver"
message="Exported receiver does not require permission"
errorLine1=" <receiver android:name=".onboarding.WidgetPinnedReceiver""
errorLine2=" ~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="379"
column="10"/>
</issue>
<issue id="DataExtractionRules"
message="The attribute `android:allowBackup` is deprecated from Android 12 and higher and may be removed in future versions. Consider adding the attribute `android:dataExtractionRules` specifying an `@xml` resource which configures cloud backups and device transfers on Android 12 and higher."
errorLine1=" android:allowBackup="false""
errorLine2=" ~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="55"
column="30"/>
</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="108"
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="112"
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="216"
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="160"
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=" historyAdapter.notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/library/history/HistoryView.kt"
line="140"
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="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.findinpage.view.FindInPageBar"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/fragment_browser.xml"
line="39"
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.readerview.view.ReaderViewControlsBar"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/fragment_browser.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="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.TrackingProtectionCategoryItem"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/fragment_tracking_protection_blocking.xml"
line="86"
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_protections_panel.xml"
line="18"
column="6"/>
</issue>
<issue id="AutoboxingStateCreation"
message="Prefer `mutableFloatStateOf` instead of `mutableStateOf`"
errorLine1=" var debugDrawerFabOffsetX by remember { mutableStateOf(INITIAL_FAB_OFFSET_X) }"
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/debugsettings/ui/DebugOverlay.kt"
line="82"
column="45"/>
</issue>
<issue id="AutoboxingStateCreation"
message="Prefer `mutableFloatStateOf` instead of `mutableStateOf`"
errorLine1=" var debugDrawerFabOffsetY by remember { mutableStateOf(INITIAL_FAB_OFFSET_Y) }"
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/debugsettings/ui/DebugOverlay.kt"
line="83"
column="45"/>
</issue>
<issue id="AutoboxingStateCreation"
message="Prefer `mutableLongStateOf` instead of `mutableStateOf`"
errorLine1=" var lastClickTime: Long by remember { mutableStateOf(0) }"
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/compose/ext/Modifier.kt"
line="82"
column="43"/>
</issue>
<issue id="AutoboxingStateCreation"
message="Prefer `mutableIntStateOf` instead of `mutableStateOf`"
errorLine1=" var offsetY by remember { mutableStateOf(INITIAL_OFFSET) }"
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/org/mozilla/fenix/experiments/view/ResearchSurfaceSurvey.kt"
line="66"
column="31"/>
</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""
--> --------------------
--> maximum size reached
--> --------------------
Messung V0.5
¤ Dauer der Verarbeitung: 0.27 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.