1463 lines
62 KiB
XML
1463 lines
62 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<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 `lineHeight` is only used in API level 28 and higher (current min is 21)"
|
||
errorLine1=" android:lineHeight="18sp""
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/custom_search_engine.xml"
|
||
line="59"
|
||
column="9"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="UnusedAttribute"
|
||
message="Attribute `lineHeight` is only used in API level 28 and higher (current min is 21)"
|
||
errorLine1=" android:lineHeight="24sp""
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/fragment_onboarding_home_dialog.xml"
|
||
line="39"
|
||
column="13"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="UnusedAttribute"
|
||
message="Attribute `lineHeight` is only used in API level 28 and higher (current min is 21)"
|
||
errorLine1=" android:lineHeight="24sp""
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/fragment_onboarding_home_dialog.xml"
|
||
line="53"
|
||
column="13"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="UnusedAttribute"
|
||
message="Attribute `lineHeight` is only used in API level 28 and higher (current min is 21)"
|
||
errorLine1=" android:lineHeight="20sp""
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/fragment_onboarding_home_dialog.xml"
|
||
line="80"
|
||
column="13"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="UnusedAttribute"
|
||
message="Attribute `lineHeight` is only used in API level 28 and higher (current min is 21)"
|
||
errorLine1=" android:lineHeight="20sp""
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/fragment_onboarding_home_dialog.xml"
|
||
line="103"
|
||
column="13"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="UnusedAttribute"
|
||
message="Attribute `lineHeight` is only used in API level 28 and higher (current min is 21)"
|
||
errorLine1=" android:lineHeight="20sp""
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/fragment_onboarding_home_dialog.xml"
|
||
line="129"
|
||
column="13"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="UnusedAttribute"
|
||
message="Attribute `lineHeight` is only used in API level 28 and higher (current min is 21)"
|
||
errorLine1=" android:lineHeight="20sp""
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/fragment_onboarding_home_dialog.xml"
|
||
line="152"
|
||
column="13"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="UnusedAttribute"
|
||
message="Attribute `lineHeight` is only used in API level 28 and higher (current min is 21)"
|
||
errorLine1=" android:lineHeight="20sp""
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/fragment_onboarding_home_dialog.xml"
|
||
line="178"
|
||
column="13"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="UnusedAttribute"
|
||
message="Attribute `lineHeight` is only used in API level 28 and higher (current min is 21)"
|
||
errorLine1=" android:lineHeight="20sp""
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/fragment_onboarding_home_dialog.xml"
|
||
line="201"
|
||
column="13"/>
|
||
</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/net/waterfox/android/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 net.waterfox.android.ext"
|
||
errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/java/net/waterfox/android/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/net/waterfox/android/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/net/waterfox/android/browser/BrowserFragment.kt"
|
||
line="91"
|
||
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/net/waterfox/android/browser/BrowserFragment.kt"
|
||
line="113"
|
||
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/net/waterfox/android/browser/BrowserFragment.kt"
|
||
line="136"
|
||
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/net/waterfox/android/browser/BrowserFragment.kt"
|
||
line="150"
|
||
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/net/waterfox/android/browser/BrowserFragment.kt"
|
||
line="178"
|
||
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/net/waterfox/android/browser/BrowserFragment.kt"
|
||
line="264"
|
||
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/net/waterfox/android/search/SearchDialogFragment.kt"
|
||
line="714"
|
||
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/net/waterfox/android/components/toolbar/ToolbarIntegration.kt"
|
||
line="138"
|
||
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/net/waterfox/android/compose/LazyListEagerFlingBehavior.kt"
|
||
line="21"
|
||
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/net/waterfox/android/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="71"
|
||
column="231"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="Typos"
|
||
message="Repeated word "zaman" in message: possible typo"
|
||
errorLine1=" <string name="studies_description">Waterfox zaman zaman araştırmalar yükleyip çalıştırabilir.</string>"
|
||
errorLine2=" ^">
|
||
<location
|
||
file="src/main/res/values-tr/strings.xml"
|
||
line="749"
|
||
column="48"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="IntentFilterExportedReceiver"
|
||
message="When using intent filters, please specify `android:exported` as well"
|
||
errorLine1=" <activity-alias"
|
||
errorLine2=" ~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/AndroidManifest.xml"
|
||
line="48"
|
||
column="10"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="IntentFilterExportedReceiver"
|
||
message="When using intent filters, please specify `android:exported` as well"
|
||
errorLine1=" <activity-alias"
|
||
errorLine2=" ~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/AndroidManifest.xml"
|
||
line="72"
|
||
column="10"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="IntentFilterExportedReceiver"
|
||
message="When using intent filters, please specify `android:exported` as well"
|
||
errorLine1=" <activity"
|
||
errorLine2=" ~~~~~~~~">
|
||
<location
|
||
file="src/main/AndroidManifest.xml"
|
||
line="80"
|
||
column="10"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="IntentFilterExportedReceiver"
|
||
message="When using intent filters, please specify `android:exported` as well"
|
||
errorLine1=" <service"
|
||
errorLine2=" ~~~~~~~">
|
||
<location
|
||
file="src/main/AndroidManifest.xml"
|
||
line="273"
|
||
column="10"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="IntentFilterExportedReceiver"
|
||
message="When using intent filters, please specify `android:exported` as well"
|
||
errorLine1=" <receiver"
|
||
errorLine2=" ~~~~~~~~">
|
||
<location
|
||
file="src/main/AndroidManifest.xml"
|
||
line="299"
|
||
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/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="199"
|
||
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/net/waterfox/android/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/net/waterfox/android/collections/SaveCollectionListAdapter.kt"
|
||
line="50"
|
||
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/net/waterfox/android/tabstray/TabsTrayFragment.kt"
|
||
line="384"
|
||
column="13"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="MozMultipleConstraintLayoutsAndCustomViews"
|
||
message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file."
|
||
errorLine1=" <net.waterfox.android.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="73"
|
||
column="10"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="MozMultipleConstraintLayoutsAndCustomViews"
|
||
message="Custom views extending `ConstraintLayout` are less efficient because they cannot share other `ConstraintLayout` defined in file."
|
||
errorLine1=" <net.waterfox.android.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=" <net.waterfox.android.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=" <net.waterfox.android.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=" <net.waterfox.android.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=" <net.waterfox.android.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=" <net.waterfox.android.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=" <net.waterfox.android.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=" <net.waterfox.android.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=" <net.waterfox.android.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=" <net.waterfox.android.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=" <net.waterfox.android.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=" <net.waterfox.android.trackingprotection.SwitchWithDescription"
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/quicksettings_tracking_protection.xml"
|
||
line="12"
|
||
column="6"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="UseCompoundDrawables"
|
||
message="This tag and its children can be replaced by one `<TextView/>` and a compound drawable"
|
||
errorLine1="<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android""
|
||
errorLine2=" ~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/view_synced_tabs_title.xml"
|
||
line="5"
|
||
column="2"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="LogConditional"
|
||
message="The log call Log.i(...) should be conditional: surround with `if (Log.isLoggable(...))` or `if (BuildConfig.DEBUG) { ... }`"
|
||
errorLine1=" Log.i("Crash Reporter", "Report submitted: $didSubmitReport")"
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/java/net/waterfox/android/crashes/CrashReporterController.kt"
|
||
line="81"
|
||
column="9"/>
|
||
</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 `@color/white_color` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)"
|
||
errorLine1=" android:background="@color/white_color">"
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/activity_migration.xml"
|
||
line="9"
|
||
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.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 `?foundation` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)"
|
||
errorLine1=" android:background="?foundation">"
|
||
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 `?foundation` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)"
|
||
errorLine1=" android:background="?foundation""
|
||
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 `?foundation` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)"
|
||
errorLine1=" android:background="?foundation""
|
||
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 `?above` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)"
|
||
errorLine1=" android:background="?above">"
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/fragment_crash_reporter.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 `?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 `?foundation` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)"
|
||
errorLine1=" android:background="?foundation""
|
||
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 `@color/photonLightGrey30` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)"
|
||
errorLine1=" android:background="@color/photonLightGrey30">"
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/inactive_tabs_auto_close.xml"
|
||
line="11"
|
||
column="5"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="Overdraw"
|
||
message="Possible overdraw: Root element paints background `?foundation` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)"
|
||
errorLine1=" android:background="?foundation""
|
||
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 `?foundation` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)"
|
||
errorLine1=" android:background="?foundation""
|
||
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 `?foundation` with a theme that also paints a background (inferred theme is `@style/NormalTheme`)"
|
||
errorLine1=" android:background="?foundation""
|
||
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="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="36"
|
||
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="37"
|
||
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="38"
|
||
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="39"
|
||
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.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="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/rotbolt/AndroidStudioProjects/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="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, waterfox_search_widget.png, sunrise.jpg">
|
||
<location
|
||
file="src/main/res/drawable-mdpi"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="IconDensities"
|
||
message="Missing the following drawables in `drawable-xhdpi`: amethyst.png, cerulean.png, waterfox_search_widget.png, sunrise.jpg">
|
||
<location
|
||
file="src/main/res/drawable-xhdpi"/>
|
||
</issue>
|
||
|
||
<issue
|
||
id="IconDensities"
|
||
message="Missing the following drawables in `drawable-xxhdpi`: amethyst.png, cerulean.png, waterfox_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/net/waterfox/android/search/SearchDialogFragment.kt"
|
||
line="213"
|
||
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/net/waterfox/android/search/SearchDialogFragment.kt"
|
||
line="213"
|
||
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/net/waterfox/android/search/SearchDialogFragment.kt"
|
||
line="227"
|
||
column="59"/>
|
||
</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/net/waterfox/android/search/SearchDialogFragment.kt"
|
||
line="253"
|
||
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/net/waterfox/android/search/SearchDialogFragment.kt"
|
||
line="253"
|
||
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/net/waterfox/android/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="29"
|
||
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="RtlSymmetry"
|
||
message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
|
||
errorLine1=" android:paddingStart="16dp">"
|
||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
|
||
<location
|
||
file="src/main/res/layout/inactive_header_item.xml"
|
||
line="28"
|
||
column="9"/>
|
||
</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>
|