673 lines
24 KiB
XML
673 lines
24 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<issues format="6" by="lint 7.2.1" type="baseline" client="gradle" dependencies="false" name="AGP (7.2.1)" variant="all" version="7.2.1">
|
|
|
|
<issue
|
|
id="ObsoleteLintCustomCheck"
|
|
message="Library lint checks out of date.

Lint found an issue registry (`androidx.annotation.experimental.lint.ExperimentalIssueRegistry`)
which was compiled against an older version of lint
than this one.

This often works just fine, but some basic verification
shows that the lint check jar references (for example)
the following API which is no longer valid in this
version of lint:
com.android.tools.lint.client.api.AnnotationLookup: org.jetbrains.uast.UAnnotation findRealAnnotation(com.intellij.psi.PsiAnnotation,com.intellij.psi.PsiClass,org.jetbrains.uast.UElement)
(Referenced from androidx/annotation/experimental/lint/ExperimentalDetector.class)

Recompile the checks against the latest version, or if
this is a check bundled with a third-party library, see
if there is a more recent version available.

Version of Lint API this lint check is using is 11.
The Lint API version currently running is 12 (7.2).">
|
|
<location
|
|
file="../../../../.gradle/caches/transforms-3/41c4bb138622423228a0087a50b102c6/transformed/jetified-annotation-experimental-1.2.0/jars/lint.jar"/>
|
|
</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 view = inflater.inflate(R.layout.jukebox_volume, null)"
|
|
errorLine2=" ~~~~">
|
|
<location
|
|
file="src/main/kotlin/org/moire/ultrasonic/service/JukeboxMediaPlayer.kt"
|
|
line="331"
|
|
column="66"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="PluralsCandidate"
|
|
message="Formatting %d followed by words ("tracks"): This should probably be a plural rather than a string"
|
|
errorLine1=" <string name="select_album.n_selected">%d tracks selected</string>"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/values/strings.xml"
|
|
line="154"
|
|
column="5"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="AllowAllHostnameVerifier"
|
|
message="Using the `AllowAllHostnameVerifier` HostnameVerifier is unsafe because it always returns true, which could cause insecure network traffic due to trusting TLS/SSL server certificates for wrong hostnames"
|
|
errorLine1=" public static final X509HostnameVerifier ALLOW_ALL_HOSTNAME_VERIFIER = new AllowAllHostnameVerifier();"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/java/org/moire/ultrasonic/service/ssl/SSLSocketFactory.java"
|
|
line="142"
|
|
column="73"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="TrustAllX509TrustManager"
|
|
message="`checkClientTrusted` is empty, which could cause insecure network traffic due to trusting arbitrary TLS/SSL certificates presented by peers">
|
|
<location
|
|
file="org/moire/ultrasonic/api/subsonic/SubsonicAPIClient$allowSelfSignedCertificates$trustManager$1.class"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="TrustAllX509TrustManager"
|
|
message="`checkServerTrusted` is empty, which could cause insecure network traffic due to trusting arbitrary TLS/SSL certificates presented by peers">
|
|
<location
|
|
file="org/moire/ultrasonic/api/subsonic/SubsonicAPIClient$allowSelfSignedCertificates$trustManager$1.class"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ExportedContentProvider"
|
|
message="Exported content providers can provide access to potentially sensitive data"
|
|
errorLine1=" <provider"
|
|
errorLine2=" ~~~~~~~~">
|
|
<location
|
|
file="src/main/AndroidManifest.xml"
|
|
line="154"
|
|
column="10"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ExportedReceiver"
|
|
message="Exported receiver does not require permission"
|
|
errorLine1=" <receiver android:name=".receiver.UltrasonicIntentReceiver""
|
|
errorLine2=" ~~~~~~~~">
|
|
<location
|
|
file="src/main/AndroidManifest.xml"
|
|
line="78"
|
|
column="10"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ExportedService"
|
|
message="Exported service does not require permission"
|
|
errorLine1=" <service android:name=".playback.PlaybackService""
|
|
errorLine2=" ~~~~~~~">
|
|
<location
|
|
file="src/main/AndroidManifest.xml"
|
|
line="68"
|
|
column="10"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ObsoleteLayoutParam"
|
|
message="Invalid layout param in a `LinearLayout`: `layout_above`"
|
|
errorLine1=" android:layout_above="@+id/bottom">"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/time_span_dialog.xml"
|
|
line="12"
|
|
column="9"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ObsoleteLayoutParam"
|
|
message="Invalid layout param in a `LinearLayout`: `layout_below`"
|
|
errorLine1=" android:layout_below="@+id/top">"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/time_span_dialog.xml"
|
|
line="28"
|
|
column="9"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ObsoleteSdkInt"
|
|
message="Unnecessary; SDK_INT is always >= 21"
|
|
errorLine1=" tools:targetApi="lollipop">"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/drawable/default_ripple.xml"
|
|
line="6"
|
|
column="5"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ObsoleteSdkInt"
|
|
message="Unnecessary; SDK_INT is always >= 21"
|
|
errorLine1=" tools:targetApi="lollipop">"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/drawable/select_ripple.xml"
|
|
line="6"
|
|
column="5"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ObsoleteSdkInt"
|
|
message="Unnecessary; SDK_INT is always >= 21"
|
|
errorLine1=" tools:targetApi="lollipop">"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/drawable/select_ripple_circle.xml"
|
|
line="6"
|
|
column="5"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Overdraw"
|
|
message="Possible overdraw: Root element paints background `@drawable/appwidget_dark_bg_trans` with a theme that also paints a background (inferred theme is `@style/NoActionBar`)"
|
|
errorLine1=" a:background="@drawable/appwidget_dark_bg_trans""
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x1.xml"
|
|
line="7"
|
|
column="5"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Overdraw"
|
|
message="Possible overdraw: Root element paints background `@drawable/appwidget_dark_bg_trans` with a theme that also paints a background (inferred theme is `@style/NoActionBar`)"
|
|
errorLine1=" a:background="@drawable/appwidget_dark_bg_trans""
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x2.xml"
|
|
line="7"
|
|
column="5"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Overdraw"
|
|
message="Possible overdraw: Root element paints background `@drawable/appwidget_dark_bg_trans` with a theme that also paints a background (inferred theme is `@style/NoActionBar`)"
|
|
errorLine1=" a:background="@drawable/appwidget_dark_bg_trans""
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x3.xml"
|
|
line="7"
|
|
column="5"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Overdraw"
|
|
message="Possible overdraw: Root element paints background `@drawable/appwidget_dark_bg_trans` with a theme that also paints a background (inferred theme is `@style/NoActionBar`)"
|
|
errorLine1=" a:background="@drawable/appwidget_dark_bg_trans" >"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x4.xml"
|
|
line="8"
|
|
column="5"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="UnusedResources"
|
|
message="The resource `R.drawable.ic_baseline_close` appears to be unused"
|
|
errorLine1="<vector xmlns:android="http://schemas.android.com/apk/res/android""
|
|
errorLine2="^">
|
|
<location
|
|
file="src/main/res/drawable/ic_baseline_close.xml"
|
|
line="1"
|
|
column="1"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="UnusedResources"
|
|
message="The resource `R.drawable.ic_menu_arrow` appears to be unused"
|
|
errorLine1="<vector xmlns:android="http://schemas.android.com/apk/res/android""
|
|
errorLine2="^">
|
|
<location
|
|
file="src/main/res/drawable/ic_menu_arrow.xml"
|
|
line="1"
|
|
column="1"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="IconDuplicates"
|
|
message="The following unrelated icon files have identical contents: list_pressed_holo_dark.9.png, list_pressed_holo_light.9.png">
|
|
<location
|
|
file="src/main/res/drawable-hdpi/list_pressed_holo_light.9.png"/>
|
|
<location
|
|
file="src/main/res/drawable-hdpi/list_pressed_holo_dark.9.png"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Autofill"
|
|
message="Missing `autofillHints` attribute"
|
|
errorLine1=" <EditText"
|
|
errorLine2=" ~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/chat.xml"
|
|
line="27"
|
|
column="10"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Autofill"
|
|
message="Missing `autofillHints` attribute"
|
|
errorLine1=" <EditText"
|
|
errorLine2=" ~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/save_playlist.xml"
|
|
line="9"
|
|
column="6"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Autofill"
|
|
message="Missing `autofillHints` attribute"
|
|
errorLine1=" <EditText"
|
|
errorLine2=" ~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/share_details.xml"
|
|
line="30"
|
|
column="10"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Autofill"
|
|
message="Missing `autofillHints` attribute"
|
|
errorLine1=" <EditText"
|
|
errorLine2=" ~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/time_span_dialog.xml"
|
|
line="30"
|
|
column="10"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Autofill"
|
|
message="Missing `autofillHints` attribute"
|
|
errorLine1=" <EditText"
|
|
errorLine2=" ~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/update_playlist.xml"
|
|
line="18"
|
|
column="4"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Autofill"
|
|
message="Missing `autofillHints` attribute"
|
|
errorLine1=" <EditText"
|
|
errorLine2=" ~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/update_playlist.xml"
|
|
line="40"
|
|
column="4"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ClickableViewAccessibility"
|
|
message="Custom view ``AutoRepeatButton`` has `setOnTouchListener` called on it but does not override `performClick`"
|
|
errorLine1=" this.setOnTouchListener(new OnTouchListener()"
|
|
errorLine2=" ^">
|
|
<location
|
|
file="src/main/java/org/moire/ultrasonic/view/AutoRepeatButton.java"
|
|
line="36"
|
|
column="3"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageView"
|
|
errorLine2=" ~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x1.xml"
|
|
line="10"
|
|
column="6"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x1.xml"
|
|
line="76"
|
|
column="14"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x1.xml"
|
|
line="85"
|
|
column="14"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x1.xml"
|
|
line="94"
|
|
column="14"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageView"
|
|
errorLine2=" ~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x2.xml"
|
|
line="10"
|
|
column="6"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x2.xml"
|
|
line="97"
|
|
column="14"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x2.xml"
|
|
line="106"
|
|
column="14"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x2.xml"
|
|
line="115"
|
|
column="14"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageView"
|
|
errorLine2=" ~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x3.xml"
|
|
line="10"
|
|
column="6"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x3.xml"
|
|
line="82"
|
|
column="14"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x3.xml"
|
|
line="91"
|
|
column="14"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x3.xml"
|
|
line="100"
|
|
column="14"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageView"
|
|
errorLine2=" ~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x4.xml"
|
|
line="10"
|
|
column="6"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x4.xml"
|
|
line="83"
|
|
column="14"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x4.xml"
|
|
line="92"
|
|
column="14"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x4.xml"
|
|
line="101"
|
|
column="14"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageButton"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/chat.xml"
|
|
line="38"
|
|
column="10"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageView"
|
|
errorLine2=" ~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/chat_item.xml"
|
|
line="7"
|
|
column="6"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ContentDescription"
|
|
message="Missing `contentDescription` attribute on image"
|
|
errorLine1=" <ImageView"
|
|
errorLine2=" ~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/chat_item_reverse.xml"
|
|
line="64"
|
|
column="6"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LabelFor"
|
|
message="Missing accessibility label: provide either a view with an `android:labelFor` that references this view or provide an `android:hint`"
|
|
errorLine1=" <EditText"
|
|
errorLine2=" ~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/save_playlist.xml"
|
|
line="9"
|
|
column="6"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LabelFor"
|
|
message="Missing accessibility label: provide either a view with an `android:labelFor` that references this view or provide an `android:hint`"
|
|
errorLine1=" <EditText"
|
|
errorLine2=" ~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/share_details.xml"
|
|
line="30"
|
|
column="10"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LabelFor"
|
|
message="Missing accessibility label: provide either a view with an `android:labelFor` that references this view or provide an `android:hint`"
|
|
errorLine1=" <EditText"
|
|
errorLine2=" ~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/time_span_dialog.xml"
|
|
line="30"
|
|
column="10"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="HardcodedText"
|
|
message="Hardcoded string "Title", should use `@string` resource"
|
|
errorLine1=" a:text="Title""
|
|
errorLine2=" ~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x1.xml"
|
|
line="46"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="HardcodedText"
|
|
message="Hardcoded string "Artist", should use `@string` resource"
|
|
errorLine1=" a:text="Artist""
|
|
errorLine2=" ~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x1.xml"
|
|
line="64"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="HardcodedText"
|
|
message="Hardcoded string "Title", should use `@string` resource"
|
|
errorLine1=" a:text="Title""
|
|
errorLine2=" ~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x2.xml"
|
|
line="48"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="HardcodedText"
|
|
message="Hardcoded string "Artist", should use `@string` resource"
|
|
errorLine1=" a:text="Artist""
|
|
errorLine2=" ~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x2.xml"
|
|
line="65"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="HardcodedText"
|
|
message="Hardcoded string "Album", should use `@string` resource"
|
|
errorLine1=" a:text="Album""
|
|
errorLine2=" ~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x2.xml"
|
|
line="82"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="HardcodedText"
|
|
message="Hardcoded string "Title", should use `@string` resource"
|
|
errorLine1=" a:text="Title""
|
|
errorLine2=" ~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x3.xml"
|
|
line="50"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="HardcodedText"
|
|
message="Hardcoded string "Artist", should use `@string` resource"
|
|
errorLine1=" a:text="Artist""
|
|
errorLine2=" ~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x3.xml"
|
|
line="66"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="HardcodedText"
|
|
message="Hardcoded string "Title", should use `@string` resource"
|
|
errorLine1=" a:text="Title""
|
|
errorLine2=" ~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x4.xml"
|
|
line="51"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="HardcodedText"
|
|
message="Hardcoded string "Artist", should use `@string` resource"
|
|
errorLine1=" a:text="Artist""
|
|
errorLine2=" ~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/appwidget4x4.xml"
|
|
line="67"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="HardcodedText"
|
|
message="Hardcoded string "0 dB", should use `@string` resource"
|
|
errorLine1=" a:text="0 dB""
|
|
errorLine2=" ~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/equalizer_bar.xml"
|
|
line="19"
|
|
column="13"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="HardcodedText"
|
|
message="Hardcoded string "http://", should use `@string` resource"
|
|
errorLine1=" a:text="http://""
|
|
errorLine2=" ~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/server_edit.xml"
|
|
line="43"
|
|
column="13"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="RelativeOverlap"
|
|
message="`@id/current_playing_duration` can overlap `@id/current_playing_position` if @string/util.no_time, @string/util.no_time grow due to localized text expansion"
|
|
errorLine1=" <TextView"
|
|
errorLine2=" ~~~~~~~~">
|
|
<location
|
|
file="src/main/res/layout/player_slider.xml"
|
|
line="29"
|
|
column="10"/>
|
|
</issue>
|
|
|
|
</issues>
|