pachli-android/app/lint-baseline.xml

5122 lines
308 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 8.2.1" type="baseline" client="gradle" dependencies="false" name="AGP (8.2.1)" variant="all" version="8.2.1">
<issue
id="InvalidPackage"
message="Invalid package reference in org.bouncycastle:bcprov-jdk15on; not included in Android: `javax.naming.directory`. Referenced from `org.bouncycastle.jce.provider.CrlCache`.">
<location
file="$GRADLE_USER_HOME/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.70/4636a0d01f74acaf28082fb62b317f1080118371/bcprov-jdk15on-1.70.jar"/>
</issue>
<issue
id="InvalidPackage"
message="Invalid package reference in org.bouncycastle:bcprov-jdk15on; not included in Android: `javax.naming`. Referenced from `org.bouncycastle.jce.provider.X509LDAPCertStoreSpi`.">
<location
file="$GRADLE_USER_HOME/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.70/4636a0d01f74acaf28082fb62b317f1080118371/bcprov-jdk15on-1.70.jar"/>
</issue>
<issue
id="InvalidPackage"
message="Invalid package reference in org.pageseeder.diffx:pso-diffx; not included in Android: `javax.xml.stream.events`. Referenced from `org.pageseeder.diffx.load.XMLEventLoader`.">
<location
file="$GRADLE_USER_HOME/caches/modules-2/files-2.1/org.pageseeder.diffx/pso-diffx/1.1.1/b655ebc87588a857a4f3d88cf98bcefa87a6105b/pso-diffx-1.1.1.jar"/>
</issue>
<issue
id="InvalidPackage"
message="Invalid package reference in org.pageseeder.diffx:pso-diffx; not included in Android: `javax.xml.stream`. Referenced from `org.pageseeder.diffx.format.StrictXMLDiffOutput`.">
<location
file="$GRADLE_USER_HOME/caches/modules-2/files-2.1/org.pageseeder.diffx/pso-diffx/1.1.1/b655ebc87588a857a4f3d88cf98bcefa87a6105b/pso-diffx-1.1.1.jar"/>
</issue>
<issue
id="UnusedAttribute"
message="Attribute `appCategory` is only used in API level 26 and higher (current min is 23)"
errorLine1=" android:appCategory=&quot;social&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="17"
column="9"/>
</issue>
<issue
id="UnusedAttribute"
message="Attribute `localeConfig` is only used in API level 33 and higher (current min is 23)"
errorLine1=" android:localeConfig=&quot;@xml/locales_config&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="24"
column="9"/>
</issue>
<issue
id="UseAppTint"
message="Must use `app:tint` instead of `android:tint`"
errorLine1=" android:tint=&quot;?colorPrimary&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_emoji_pref.xml"
line="78"
column="9"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;bn&quot; (Bangla) the following quantity should also be defined: `one` (e.g. &quot;সসে 1টি আপেল খেল, সেটা ভাল&quot;)"
errorLine1=" &lt;plurals name=&quot;hint_describe_for_visually_impaired&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-bn-rBD/strings.xml"
line="55"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;bg&quot; (Bulgarian) the following quantity should also be defined: `one` (e.g. &quot;1 ден&quot;)"
errorLine1=" &lt;plurals name=&quot;hint_describe_for_visually_impaired&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-bg/strings.xml"
line="131"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ca&quot; (Catalan) the following quantity should also be defined: `many`"
errorLine1=" &lt;plurals name=&quot;notification_title_summary&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ca/strings.xml"
line="155"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ta&quot; (Tamil) the following quantity should also be defined: `one` (e.g. &quot;1&quot;)"
errorLine1=" &lt;plurals name=&quot;notification_title_summary&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ta/strings.xml"
line="173"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ga&quot; (Irish) the following quantities should also be defined: `few` (e.g. &quot;3 cinn, 3 huaire, 3 chat, 3 éan, 3 bhróg&quot;), `many` (e.g. &quot;7 gcinn, 7 n-uaire, 7 gcat, 7 n-éan, 7 mbróg&quot;), `one` (e.g. &quot;1 cheann, 1 uair, 1 chat, 1 éan, 1 bhróg&quot;), `two` (e.g. &quot;2 cheann, 2 uair, 2 chat, 2 éan, 2 bhróig&quot;)"
errorLine1=" &lt;plurals name=&quot;notification_title_summary&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ga/strings.xml"
line="188"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;bg&quot; (Bulgarian) the following quantity should also be defined: `one` (e.g. &quot;1 ден&quot;)"
errorLine1=" &lt;plurals name=&quot;notification_title_summary&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-bg/strings.xml"
line="190"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;sl&quot; (Slovenian) the following quantities should also be defined: `few` (e.g. &quot;3 dnevi&quot;), `one` (e.g. &quot;1 dan&quot;), `two` (e.g. &quot;2 dneva&quot;)"
errorLine1=" &lt;plurals name=&quot;notification_title_summary&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-sl/strings.xml"
line="205"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;cs&quot; (Czech) the following quantity should also be defined: `many` (e.g. &quot;10.0 dne&quot;)"
errorLine1=" &lt;plurals name=&quot;notification_title_summary&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-cs/strings.xml"
line="221"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;bn&quot; (Bangla) the following quantity should also be defined: `one` (e.g. &quot;সসে 1টি আপেল খেল, সেটা ভাল&quot;)"
errorLine1=" &lt;plurals name=&quot;notification_title_summary&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-bn-rIN/strings.xml"
line="226"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;eu&quot; (Basque) the following quantity should also be defined: `one` (e.g. &quot;1 lagun etorri da&quot;)"
errorLine1=" &lt;plurals name=&quot;hint_describe_for_visually_impaired&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-eu/strings.xml"
line="236"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;sl&quot; (Slovenian) the following quantities should also be defined: `few` (e.g. &quot;3 dnevi&quot;), `one` (e.g. &quot;1 dan&quot;), `two` (e.g. &quot;2 dneva&quot;)"
errorLine1=" &lt;plurals name=&quot;hint_describe_for_visually_impaired&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-sl/strings.xml"
line="257"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;bn&quot; (Bangla) the following quantity should also be defined: `one` (e.g. &quot;সসে 1টি আপেল খেল, সেটা ভাল&quot;)"
errorLine1=" &lt;plurals name=&quot;hint_describe_for_visually_impaired&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-bn-rIN/strings.xml"
line="285"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ca&quot; (Catalan) the following quantity should also be defined: `many`"
errorLine1=" &lt;plurals name=&quot;hint_describe_for_visually_impaired&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ca/strings.xml"
line="286"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;cs&quot; (Czech) the following quantity should also be defined: `many` (e.g. &quot;10.0 dne&quot;)"
errorLine1=" &lt;plurals name=&quot;hint_describe_for_visually_impaired&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-cs/strings.xml"
line="286"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;hi&quot; (Hindi) the following quantity should also be defined: `one` (e.g. &quot;1 घंटा&quot;)"
errorLine1=" &lt;plurals name=&quot;hint_describe_for_visually_impaired&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-hi/strings.xml"
line="302"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ru&quot; (Russian) the following quantities should also be defined: `few` (e.g. &quot;из 2 книг за 2 дня&quot;), `many` (e.g. &quot;из 5 книг за 5 дней&quot;), `one` (e.g. &quot;из 1 книги за 1 день&quot;)"
errorLine1=" &lt;plurals name=&quot;hint_describe_for_visually_impaired&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ru/strings.xml"
line="306"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ga&quot; (Irish) the following quantities should also be defined: `few` (e.g. &quot;3 cinn, 3 huaire, 3 chat, 3 éan, 3 bhróg&quot;), `many` (e.g. &quot;7 gcinn, 7 n-uaire, 7 gcat, 7 n-éan, 7 mbróg&quot;), `one` (e.g. &quot;1 cheann, 1 uair, 1 chat, 1 éan, 1 bhróg&quot;), `two` (e.g. &quot;2 cheann, 2 uair, 2 chat, 2 éan, 2 bhróig&quot;)"
errorLine1=" &lt;plurals name=&quot;hint_describe_for_visually_impaired&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ga/strings.xml"
line="314"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ca&quot; (Catalan) the following quantity should also be defined: `many`"
errorLine1=" &lt;plurals name=&quot;favs&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ca/strings.xml"
line="329"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ca&quot; (Catalan) the following quantity should also be defined: `many`"
errorLine1=" &lt;plurals name=&quot;reblogs&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ca/strings.xml"
line="333"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;cs&quot; (Czech) the following quantity should also be defined: `many` (e.g. &quot;10.0 dne&quot;)"
errorLine1=" &lt;plurals name=&quot;favs&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-cs/strings.xml"
line="333"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;cs&quot; (Czech) the following quantity should also be defined: `many` (e.g. &quot;10.0 dne&quot;)"
errorLine1=" &lt;plurals name=&quot;reblogs&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-cs/strings.xml"
line="338"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ca&quot; (Catalan) the following quantity should also be defined: `many`"
errorLine1=" &lt;plurals name=&quot;poll_info_votes&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ca/strings.xml"
line="359"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;cs&quot; (Czech) the following quantity should also be defined: `many` (e.g. &quot;10.0 dne&quot;)"
errorLine1=" &lt;plurals name=&quot;poll_info_votes&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-cs/strings.xml"
line="369"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;cs&quot; (Czech) the following quantity should also be defined: `many` (e.g. &quot;10.0 dne&quot;)"
errorLine1=" &lt;plurals name=&quot;poll_timespan_days&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-cs/strings.xml"
line="383"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;cs&quot; (Czech) the following quantity should also be defined: `many` (e.g. &quot;10.0 dne&quot;)"
errorLine1=" &lt;plurals name=&quot;poll_timespan_minutes&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-cs/strings.xml"
line="388"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;cs&quot; (Czech) the following quantity should also be defined: `many` (e.g. &quot;10.0 dne&quot;)"
errorLine1=" &lt;plurals name=&quot;poll_timespan_seconds&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-cs/strings.xml"
line="393"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;bg&quot; (Bulgarian) the following quantity should also be defined: `one` (e.g. &quot;1 ден&quot;)"
errorLine1=" &lt;plurals name=&quot;error_upload_max_media_reached&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-bg/strings.xml"
line="430"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ca&quot; (Catalan) the following quantity should also be defined: `many`"
errorLine1=" &lt;plurals name=&quot;poll_info_people&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ca/strings.xml"
line="430"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ca&quot; (Catalan) the following quantity should also be defined: `many`"
errorLine1=" &lt;plurals name=&quot;poll_timespan_seconds&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ca/strings.xml"
line="458"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ca&quot; (Catalan) the following quantity should also be defined: `many`"
errorLine1=" &lt;plurals name=&quot;poll_timespan_minutes&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ca/strings.xml"
line="462"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ca&quot; (Catalan) the following quantity should also be defined: `many`"
errorLine1=" &lt;plurals name=&quot;poll_timespan_hours&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ca/strings.xml"
line="466"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ca&quot; (Catalan) the following quantity should also be defined: `many`"
errorLine1=" &lt;plurals name=&quot;poll_timespan_days&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ca/strings.xml"
line="470"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;cs&quot; (Czech) the following quantity should also be defined: `many` (e.g. &quot;10.0 dne&quot;)"
errorLine1=" &lt;plurals name=&quot;poll_info_people&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-cs/strings.xml"
line="480"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;cs&quot; (Czech) the following quantity should also be defined: `many` (e.g. &quot;10.0 dne&quot;)"
errorLine1=" &lt;plurals name=&quot;poll_timespan_hours&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-cs/strings.xml"
line="485"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;ca&quot; (Catalan) the following quantity should also be defined: `many`"
errorLine1=" &lt;plurals name=&quot;error_upload_max_media_reached&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-ca/strings.xml"
line="487"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;cs&quot; (Czech) the following quantity should also be defined: `many` (e.g. &quot;10.0 dne&quot;)"
errorLine1=" &lt;plurals name=&quot;error_upload_max_media_reached&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-cs/strings.xml"
line="490"
column="5"/>
</issue>
<issue
id="Typos"
message="&quot;media&quot; is a common misspelling; did you mean &quot;medier&quot;?"
errorLine1=" &lt;string name=&quot;error_media_upload_permission&quot;>Trenger tillatelse til å lese media.&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="15"
column="80"/>
</issue>
<issue
id="Typos"
message="&quot;media&quot; is a common misspelling; did you mean &quot;medier&quot;?"
errorLine1=" &lt;string name=&quot;error_media_download_permission&quot;>Trenger tillatelse for å lagre media.&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="16"
column="83"/>
</issue>
<issue
id="Typos"
message="&quot;Media&quot; is a common misspelling; did you mean &quot;Medier&quot;?"
errorLine1=" &lt;string name=&quot;post_media_hidden_title&quot;>Media skjult&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="42"
column="44"/>
</issue>
<issue
id="Typos"
message="&quot;birşey&quot; is a common misspelling; did you mean &quot;bir şey&quot;?"
errorLine1=" &lt;string name=&quot;footer_empty&quot;>Burada henüz hiç birşey yok. Yenilemek için aşağıya çekin!&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-tr/strings.xml"
line="49"
column="50"/>
</issue>
<issue
id="Typos"
message="&quot;hiç birşey&quot; is a common misspelling; did you mean &quot;hiçbir şey&quot;?"
errorLine1=" &lt;string name=&quot;footer_empty&quot;>Burada henüz hiç birşey yok. Yenilemek için aşağıya çekin!&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-tr/strings.xml"
line="49"
column="46"/>
</issue>
<issue
id="Typos"
message="&quot;Media&quot; is a common misspelling; did you mean &quot;Medier&quot;?"
errorLine1=" &lt;string name=&quot;action_view_media&quot;>Media&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="85"
column="38"/>
</issue>
<issue
id="Typos"
message="&quot;media&quot; is a common misspelling; did you mean &quot;medier&quot;?"
errorLine1=" &lt;string name=&quot;action_add_media&quot;>Legg til media&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="87"
column="46"/>
</issue>
<issue
id="Typos"
message="&quot;media&quot; is a common misspelling; did you mean &quot;medier&quot;?"
errorLine1=" &lt;string name=&quot;action_hide_media&quot;>Skjul media&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="93"
column="44"/>
</issue>
<issue
id="Typos"
message="&quot;media&quot; is a common misspelling; did you mean &quot;medier&quot;?"
errorLine1=" &lt;string name=&quot;action_open_media_n&quot;>Åpne media #%d&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="116"
column="45"/>
</issue>
<issue
id="Typos"
message="&quot;media&quot; is a common misspelling; did you mean &quot;medier&quot;?"
errorLine1=" &lt;string name=&quot;download_media&quot;>Last ned media&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="121"
column="44"/>
</issue>
<issue
id="Typos"
message="&quot;media&quot; is a common misspelling; did you mean &quot;medier&quot;?"
errorLine1=" &lt;string name=&quot;downloading_media&quot;>Laster ned media&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="122"
column="49"/>
</issue>
<issue
id="Typos"
message="&quot;media&quot; is a common misspelling; did you mean &quot;medier&quot;?"
errorLine1=" &lt;string name=&quot;send_media_to&quot;>Del media til…&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="125"
column="38"/>
</issue>
<issue
id="Typos"
message="&quot;media&quot; is a common misspelling; did you mean &quot;medier&quot;?"
errorLine1=" &lt;string name=&quot;dialog_title_finishing_media_upload&quot;>Opplasting av media er ferdig&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="150"
column="70"/>
</issue>
<issue
id="Typos"
message="&quot;media&quot; is a common misspelling; did you mean &quot;medier&quot;?"
errorLine1=" &lt;string name=&quot;pref_title_show_media_preview&quot;>Last ned forhåndsvisning av media&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="183"
column="78"/>
</issue>
<issue
id="Typos"
message="&quot;media&quot; is a common misspelling; did you mean &quot;medier&quot;?"
errorLine1=" &lt;string name=&quot;pref_default_media_sensitivity&quot;>Marker alltid media som sensitivt&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="189"
column="65"/>
</issue>
<issue
id="Typos"
message="&quot;Media&quot; is a common misspelling; did you mean &quot;Medier&quot;?"
errorLine1=" &lt;string name=&quot;title_media&quot;>Media&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="229"
column="32"/>
</issue>
<issue
id="Typos"
message="&quot;Media&quot; is a common misspelling; did you mean &quot;Medier&quot;?"
errorLine1=" &lt;string name=&quot;description_post_media&quot;>Media: %s&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="317"
column="43"/>
</issue>
<issue
id="Typos"
message="&quot;media&quot; is a common misspelling; did you mean &quot;medier&quot;?"
errorLine1=" &lt;string name=&quot;pref_title_gradient_for_media&quot;>Vis fargerike gradienter for skjult media&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="450"
column="86"/>
</issue>
<issue
id="Typos"
message="Repeated word &quot;tek&quot; in message: possible typo"
errorLine1=" &lt;string name=&quot;dialog_push_notification_migration_other_accounts&quot;>Pachli\&apos;ye bildirim aboneliği izni vermek için mevcut hesabınıza yeniden giriş yaptınız. Ancak, yine de bu şekilde geçirilmemiş başka hesaplarınız var. UnifiedPush bildirimleri desteğini etkinleştirmek için bunlara geçin ve tek tek yeniden giriş yapın.&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-tr/strings.xml"
line="568"
column="294"/>
</issue>
<issue
id="Typos"
message="&quot;Media&quot; is a common misspelling; did you mean &quot;Medier&quot;?"
errorLine1=" &lt;string name=&quot;hint_media_description_missing&quot;>Media bør ha en beskrivelse.&lt;/string>"
errorLine2=" ^">
<location
file="src/main/res/values-nb-rNO/strings.xml"
line="591"
column="51"/>
</issue>
<issue
id="ImpliedQuantity"
message="The quantity `&apos;one&apos;` matches more than one specific number in this locale (0, 1), but the message did not \&#xA;include a formatting argument (such as `%d`). This is usually an internationalization error. See full issue \&#xA;explanation for more."
errorLine1=" &lt;item quantity=&quot;one&quot;>برهم‌کنشی جدید&lt;/item>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values-fa/strings.xml"
line="193"
column="9"/>
</issue>
<issue
id="ImpliedQuantity"
message="The quantity `&apos;one&apos;` matches more than one specific number in this locale (0, 1), but the message did not \&#xA;include a formatting argument (such as `%d`). This is usually an internationalization error. See full issue \&#xA;explanation for more."
errorLine1=" &lt;item quantity=&quot;one&quot;>توصیف محتوا برای کم‌بینایان (کران ۱ نویسه)&lt;/item>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values-fa/strings.xml"
line="230"
column="9"/>
</issue>
<issue
id="PluralsCandidate"
message="Formatting %d followed by words (&quot;posts&quot;): This should probably be a plural rather than a string"
errorLine1=" &lt;string name=&quot;notification_summary_report_format&quot;>%s · %d posts attached&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="107"
column="5"/>
</issue>
<issue
id="PluralsCandidate"
message="Formatting %d followed by words (&quot;and&quot;): This should probably be a plural rather than a string"
errorLine1=" &lt;string name=&quot;pref_title_http_proxy_port_message&quot;>Port should be between %d and %d&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="313"
column="5"/>
</issue>
<issue
id="PluralsCandidate"
message="Formatting %d followed by words (&quot;others&quot;): This should probably be a plural rather than a string"
errorLine1=" &lt;string name=&quot;notification_summary_large&quot;>%1$s, %2$s, %3$s and %4$d others&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="362"
column="5"/>
</issue>
<issue
id="PluralsCandidate"
message="Formatting %d followed by words (&quot;more&quot;): This should probably be a plural rather than a string"
errorLine1=" &lt;string name=&quot;conversation_more_recipients&quot;>%1$s, %2$s and %3$d more&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="512"
column="5"/>
</issue>
<issue
id="PluralsCandidate"
message="Formatting %d followed by words (&quot;people&quot;): This should probably be a plural rather than a string"
errorLine1=" &lt;string name=&quot;accessibility_talking_about_tag&quot;>%1$d people are talking about hashtag %2$s&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="698"
column="5"/>
</issue>
<issue
id="UnusedTranslation"
message="The language `ber (Berber languages)` is present in this project, but not declared in the `localeConfig` resource"
errorLine1=" android:localeConfig=&quot;@xml/locales_config&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="24"
column="31"/>
</issue>
<issue
id="UnusedTranslation"
message="The language `el (Greek)` is present in this project, but not declared in the `localeConfig` resource"
errorLine1=" android:localeConfig=&quot;@xml/locales_config&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="24"
column="31"/>
</issue>
<issue
id="UnusedTranslation"
message="The language `fi (Finnish)` is present in this project, but not declared in the `localeConfig` resource"
errorLine1=" android:localeConfig=&quot;@xml/locales_config&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="24"
column="31"/>
</issue>
<issue
id="UnusedTranslation"
message="The language `fy (Western Frisian)` is present in this project, but not declared in the `localeConfig` resource"
errorLine1=" android:localeConfig=&quot;@xml/locales_config&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="24"
column="31"/>
</issue>
<issue
id="UnusedTranslation"
message="The language `in (Indonesian)` is present in this project, but not declared in the `localeConfig` resource"
errorLine1=" android:localeConfig=&quot;@xml/locales_config&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="24"
column="31"/>
</issue>
<issue
id="UnusedTranslation"
message="The language `lv (Latvian)` is present in this project, but not declared in the `localeConfig` resource"
errorLine1=" android:localeConfig=&quot;@xml/locales_config&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="24"
column="31"/>
</issue>
<issue
id="UnusedTranslation"
message="The language `ml (Malayalam)` is present in this project, but not declared in the `localeConfig` resource"
errorLine1=" android:localeConfig=&quot;@xml/locales_config&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="24"
column="31"/>
</issue>
<issue
id="UnusedTranslation"
message="The language `si (Sinhala)` is present in this project, but not declared in the `localeConfig` resource"
errorLine1=" android:localeConfig=&quot;@xml/locales_config&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="24"
column="31"/>
</issue>
<issue
id="UnusedTranslation"
message="The language `sk (Slovak)` is present in this project, but not declared in the `localeConfig` resource"
errorLine1=" android:localeConfig=&quot;@xml/locales_config&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="24"
column="31"/>
</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=&quot;false&quot;"
errorLine2=" ~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="18"
column="30"/>
</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=" accountFieldAdapter.notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/account/AccountActivity.kt"
line="492"
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/app/pachli/components/accountlist/adapter/AccountAdapter.kt"
line="81"
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/app/pachli/adapter/AccountFieldEditAdapter.kt"
line="44"
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/app/pachli/adapter/AccountFieldEditAdapter.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=" notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/announcements/AnnouncementAdapter.kt"
line="169"
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/app/pachli/components/accountlist/adapter/MutesAdapter.kt"
line="108"
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/app/pachli/adapter/PreviewPollOptionsAdapter.kt"
line="36"
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/app/pachli/adapter/TabAdapter.kt"
refactor: Start creating core modules (#286) The existing code base is a single monolithic module. This is relatively simple to configure, but many of the tasks to compile the module and produce the final app have to run in series. This is unnecessarily slow. This change starts to split the code in to multiple modules, which are: - :core:account - AccountManager, to break a dependency cycle - :core:common - low level types or utilities used in many other modules - :core:database - database types, DAOs, and DI infrastructure - :core:network - network types, API definitions, and DI infrastructure - :core:preferences - shared preferences definitions and DI infrastructure - :core:testing - fakes and rules used across different modules Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental build times after an ABI change. That will improve further as more code is moved to modules. The rough mechanics of the changes are: - Create the modules, and move existing files in to them. This causes a lot of churn in import arguments. - Convert build.gradle files to build.gradle.kts - Separate out the data required to display a tab (`TabViewData`) from the data required to configure a tab (`TabData`) to avoid circular dependencies. - Abstract the repeated build logic shared between the modules in to a set of plugins under `build-logic/`, to simplify configuration of the application and library builds. - Be explicit that some nullable types are non-null at time of use. Nullable properties in types imported from modules generally can't be smart cast to non-null. There's a detailed discussion of why this restriction exists at https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201. The changes highlight design problems with the current code, including: - The main application code is too tightly coupled to the network types - Too many values are declared unnecessarily nullable - Dependency cycles between code that make modularisation difficult Future changes will add more modules. See #291.
2023-12-04 16:58:36 +01:00
line="54"
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/app/pachli/adapter/TabAdapter.kt"
refactor: Start creating core modules (#286) The existing code base is a single monolithic module. This is relatively simple to configure, but many of the tasks to compile the module and produce the final app have to run in series. This is unnecessarily slow. This change starts to split the code in to multiple modules, which are: - :core:account - AccountManager, to break a dependency cycle - :core:common - low level types or utilities used in many other modules - :core:database - database types, DAOs, and DI infrastructure - :core:network - network types, API definitions, and DI infrastructure - :core:preferences - shared preferences definitions and DI infrastructure - :core:testing - fakes and rules used across different modules Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental build times after an ABI change. That will improve further as more code is moved to modules. The rough mechanics of the changes are: - Create the modules, and move existing files in to them. This causes a lot of churn in import arguments. - Convert build.gradle files to build.gradle.kts - Separate out the data required to display a tab (`TabViewData`) from the data required to configure a tab (`TabData`) to avoid circular dependencies. - Abstract the repeated build logic shared between the modules in to a set of plugins under `build-logic/`, to simplify configuration of the application and library builds. - Be explicit that some nullable types are non-null at time of use. Nullable properties in types imported from modules generally can't be smart cast to non-null. There's a detailed discussion of why this restriction exists at https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201. The changes highlight design problems with the current code, including: - The main application code is too tightly coupled to the network types - Too many values are declared unnecessarily nullable - Dependency cycles between code that make modularisation difficult Future changes will add more modules. See #291.
2023-12-04 16:58:36 +01:00
line="157"
column="13"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (802 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;m12,3.1674a1.6059,1.6059 0,0 1,1.6059 1.6059c0,0.5942 -0.3212,1.1161 -0.803,1.3891v1.0198h0.803a5.6207,5.6207 0,0 1,5.6207 5.6207h0.803a0.803,0.803 0,0 1,0.803 0.803v2.4089a0.803,0.803 0,0 1,-0.803 0.803h-0.803v0.803a1.6059,1.6059 0,0 1,-1.6059 1.6059H6.3793A1.6059,1.6059 0,0 1,4.7733 17.6207V16.8178H3.9704A0.803,0.803 0,0 1,3.1674 16.0148V13.6059A0.803,0.803 0,0 1,3.9704 12.803H4.7733a5.6207,5.6207 0,0 1,5.6207 -5.6207h0.803V6.1625C10.7153,5.8894 10.3941,5.3675 10.3941,4.7733A1.6059,1.6059 0,0 1,12 3.1674M8.3867,12A2.0074,2.0074 0,0 0,6.3793 14.0074,2.0074 2.0074,0 0,0 8.3867,16.0148 2.0074,2.0074 0,0 0,10.3941 14.0074,2.0074 2.0074,0 0,0 8.3867,12m7.2267,0a2.0074,2.0074 0,0 0,-2.0074 2.0074,2.0074 2.0074,0 0,0 2.0074,2.0074 2.0074,2.0074 0,0 0,2.0074 -2.0074A2.0074,2.0074 0,0 0,15.6133 12Z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/bot_badge.xml"
line="12"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (2783 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M464.58,257.93c9,-0.87 16.14,-4.1 22.16,-9.94 0.35,-0.35 0.6,-0.8 0.9,-1.17 2.6,-3.1 4.94,-7.18 9.7,-6 8.63,2.17 9.46,19.48 8.04,27.45 -2.27,12.7 -15.7,28.74 -32.62,35.6 -12.25,4.96 -24.58,7.38 -37.55,7.56 -3.2,0.05 -5.85,1.06 -7.62,3.62 -11.13,16.1 -27.1,24.06 -45.85,27.12 -4.9,0.8 -6.02,2.84 -6.35,7.64 -1.16,16.88 4.23,31.18 14.22,44.6 7.1,9.5 12.35,20.34 19.04,30.18 10.18,14.96 17.16,31.45 23.9,48.05 2.45,6 3.75,12.48 5.46,18.75 2.57,9.45 -3.48,19.32 -14.44,25.83 -12.1,7.18 -25.26,10.55 -39.16,10.48 -5.64,-0.02 -9.43,3.12 -13.65,5.57 -3.18,1.85 -6,4.53 -8.57,7.23 -12.92,13.6 -28.9,20.17 -47.43,21.3 -8.83,0.53 -59.78,16.9 -123.24,8.78 -21.94,-2.82 -46.9,-7.1 -65.27,-15.48 -13.75,-6.3 -34.63,-21.73 -39.26,-36 -1.2,-3.7 -1.98,-3.43 -4.3,-2.18 -7.3,3.93 -15.16,4.83 -23.26,4.33 -14.96,-0.9 -26.27,-7.77 -33.72,-20.9 -5.6,-9.83 -9.05,-20.23 -8.48,-31.68 0.1,-2.2 -1.33,-2.7 -2.8,-3.43 -4.3,-2.08 -7.4,-5.33 -9.3,-9.68 -2.25,-5.15 -1.1,-8.83 3.95,-11.24 2.32,-1.1 2.5,-2.5 2.26,-4.65 -0.88,-8.4 2.67,-14.56 9.92,-18.62 6.56,-3.68 12.47,-1.43 14.5,5.84 1.18,4.23 2.5,6.9 7.75,6.54 4.86,-0.33 8.34,2.58 9.86,7.3 1.4,4.3 -1.13,10.6 -5.2,13.4 -1.88,1.28 -3.72,2.73 -5.8,3.6 -4.46,1.84 -4.5,5.17 -3.25,8.88 1.77,5.3 4.23,10.28 7.58,14.76 4.47,6 12.88,6.42 17.92,0.98 4.64,-5 5.95,-10.86 5.1,-17.6 -1.64,-13.3 -1.74,-26.68 0.23,-40 1.1,-7.43 3.4,-14.64 5.9,-21.7 7.34,-20.78 14.77,-41.55 30.63,-57.9 4.12,-4.24 8.4,-8.16 13.42,-11.32 1.3,-0.84 3.36,-1.62 0.95,-3.5 -6.4,-5.02 -7.04,-12.57 -8.6,-19.7 -0.43,-1.9 -0.85,-3.86 -0.8,-5.8 0.05,-3.8 -1,-6.2 -5.08,-7.56 -3.14,-1.04 -3.9,-4.64 -4,-7.85 -0.75,-23.95 4.8,-46.1 17.6,-66.64 10.64,-17.05 21.42,-33.95 33.88,-49.72 2.43,-3.07 5.1,-6.94 8.3,-9.25 2.47,-2.42 4.02,-5.3 3.25,-9.43 -2.45,-13.18 -4.05,-25.76 -2.9,-38.73 1.16,-12.8 12.96,-25.3 28.64,-18.68 2.1,0.88 3.03,-0.28 3.8,-1.85 5.56,-11.32 25.42,-26.14 35.6,-27.08 5.4,-0.5 11.06,3.56 12.63,10.08 1.06,4.38 2.12,6.15 7.37,4.7 5.6,-1.57 11.84,-1.57 15.74,4.57 1.37,2.14 2.5,4.48 1.77,6.92 -2.34,6.77 0.22,6.7 4.22,6.64 19.47,-0.34 36.57,11.34 52.55,22.58 4.43,3.12 7.88,7.36 11.35,11.43 9.5,11.2 18.47,22.87 29.36,32.8 8.34,7.58 17.73,13.18 29.46,13.54 1.8,0.06 3.6,0.16 5.38,0 9.7,-0.88 13.12,-7.9 8.15,-16.43 -3.77,-6.46 -9.08,-12 -11.58,-19.24 -3.07,-8.9 -4.93,-17.73 1.06,-26.2 1.36,-1.94 0.78,-3.72 0.17,-5.6 -1.98,-6.1 -0.9,-12.03 1.47,-17.67 1.57,-3.76 4.62,-6.53 9,-6.6 4.3,-0.04 8.12,1.35 10.13,5.58 1.33,2.8 2.57,5.65 3.64,8.55 1.63,4.44 5.64,6.35 9.57,3.78 2.73,-1.77 3.28,-4.88 5.76,-7 3.8,-3.24 7.8,-4.04 12.02,-1 4.23,3.04 6.86,7 6,12.5 -0.33,2.25 -0.96,4.45 -2.46,6.32 -3.24,4.02 -2.96,7.96 0.14,12.03 2.95,3.9 5.88,7.86 9,11.57C473.3,155 480.12,170 483.53,186.44c2.06,9.93 1.8,20.08 -0.46,30.13 -3.2,14.18 -8.4,27.4 -17.4,38.95 -0.37,0.48 -0.52,1.12 -1.1,2.4z&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/elephant_friend.xml"
line="7"
column="25"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1503 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M434.05,70.75c-4.33,1.58 -7.75,1.33 -10.1,-1.72 -2.36,-3.08 -2.15,-7.75 0.5,-10.18 2.44,-2.23 6.73,-3.17 6.73,-3.17s-5.97,-18.84 -7.52,-24.82c-0.6,-2.52 -0.92,-5.7 4.3,-8.72 7.68,-4.42 15.2,-7.8 24.1,-10.7 3.28,-1.06 7.05,-0.3 8.7,2.68 4.12,11.28 7,21.06 10.66,32.28 3.1,9.54 -1.33,10.92 -4.82,13 -2.74,1.63 -6.45,2.92 -9.94,0.64 -3,-1.96 -3.2,-6.7 -2.07,-9.67 1.95,-3.74 8.18,-5.2 8.18,-5.2s-2.03,-6.4 -3.1,-9.5c-4.27,-12.07 -4.44,-9.3 -16.1,-4.23 -10.4,4.52 -9.9,5.07 -6.54,15.98 0.76,2.48 2.74,7.93 3.74,11.88 2.02,7.9 -1.32,9.48 -6.73,11.45zM357.86,54.52c-0.06,-6.67 9.1,-15.55 15.24,-15.43 2.4,0.03 4.03,1.26 5.13,3.2 5.96,10.4 11.24,21.16 17.7,31.3 2.23,3.47 1.18,6.97 -1.84,10.06 -3.42,3.48 -6.68,4.82 -11,1.6 -7.96,-5.9 -25.96,-26.6 -25.24,-30.74zM506.52,73.77c0.53,2.86 -2.1,4.22 -6.44,6.7 -5.93,3.4 -14.07,6.7 -20.86,10.55 -3.48,1.98 -7.18,4.66 -10.96,0.57 -3.46,-3.75 -3.74,-11.26 -0.4,-14.8 8.26,-8.74 16.8,-17.2 26.12,-24.83 3.9,-3.2 6.88,-2.52 8.86,2.1 2.4,5.6 3.3,11.57 3.68,19.7zM485.48,119.2c-10.47,0.63 -11.15,0.1 -12.55,-10.14 -0.86,-6.2 0.57,-8.46 6.56,-9.66 9.93,-2 19.34,-5.8 29.12,-8.33 6.37,-1.65 8.36,-0.26 8.5,6.3 0.17,6.6 -2.64,12.2 -6.38,17.08 -3.2,4.18 -24.45,4.7 -25.26,4.75zM405.4,26.1c0.38,7.18 1.68,23.77 1.65,24.9 -0.1,3.47 -0.96,6.85 -4.7,7.7 -3.56,0.83 -5.83,-2.2 -7.2,-4.75 -3.84,-7.16 -6.7,-14.8 -8.8,-22.66 -0.68,-2.53 -1.16,-5.1 -1.98,-7.55 -2.1,-6.2 -1.5,-9.24 3.5,-13.36 2.86,-2.38 5.83,-4.8 9.43,-6 4.92,-1.64 7.73,0.03 8.03,5.1 0.33,5.52 0.08,11.07 0.08,16.6z&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/elephant_friend.xml"
line="11"
column="25"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (5207 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M237.55,461.68c-3.74,-4.52 -5.68,-10.24 -9.82,-14.5 -8.22,-8.45 -18.98,-11.4 -29.97,-12.43 -13.3,-1.25 -25.84,2.5 -37.3,9.43 -1.23,0.75 -4.1,1 -2.96,3.46 1.12,2.44 3.37,1.07 5.2,0.6 0.63,-0.17 1.3,-0.3 1.84,-0.64 12.76,-7.84 26.86,-6.72 39.83,-2.92 12.03,3.52 22.96,10.7 28.42,23.56 7.16,16.86 10.88,34.32 10.7,52.63 0,2.65 -0.3,4.42 -3.3,5.6 -7.93,3.1 -10.82,10.33 -7.84,18.34 0.33,0.87 0.67,1.73 1,2.6 -1.97,0.64 -2.25,-0.7 -2.8,-1.58 -3.06,-4.83 -7.6,-6.5 -13.04,-5.87 -5.22,0.6 -7.82,4.27 -9.36,8.86 -1.05,3.13 -1.84,6.34 -1.14,9.63 0.37,1.73 0.28,2.84 -1.7,3.23 -1.8,0.35 -2.7,-0.2 -3.1,-2.07 -0.83,-3.67 -3.48,-6 -6.05,-8.6 -7.77,-7.88 -17.46,-2.88 -19.98,6.12 -0.96,3.38 -2.3,3.72 -5.05,2.9 -2.5,-0.72 -5.07,-1.22 -7.54,-2.04 -11.78,-3.97 -14.72,-13.16 -14.2,-24.34 0.17,-3.45 -0.14,-6.85 -1.16,-10.15 -0.4,-1.32 -1.14,-2.53 -2.7,-2.4 -1.6,0.16 -2.1,1.5 -2,2.9 0.28,3.7 -1.95,9.37 -7.6,10.37C121,537 97.3,525.3 92.73,505.8c-1.64,-1.5 -3.04,-1.64 -4.8,-0.98 -1.07,0.4 -2.16,0.86 -3.04,1.55 -9.6,7.47 -20.4,8.52 -32.02,6.66 -6.1,-0.98 -11.44,-3.3 -15.46,-7.65 -9.14,-9.86 -13.94,-21.8 -14.97,-35.23 -0.2,-2.55 0.46,-4.92 2.46,-6.64 2.48,-2.13 4.33,-2.62 6.5,1.02 3.45,5.8 3.97,12.56 7.33,18.4 7.13,12.36 22.7,17.5 35,2.98 4.64,-5.47 4.54,-10.5 3.78,-16.98 -2.33,-20.22 -1.35,-40.16 4.53,-60.02 5.46,-18.4 13.88,-35.12 23.95,-51.2 5.25,-8.37 12.45,-15.13 20.4,-20.88 4.24,-3.1 10.25,-2.7 14.76,-5.88 1.4,-1 2.28,0.94 2.98,1.85 4.92,6.36 11.94,8.28 19.36,9.05 9.7,1 15.67,-4.7 19.8,-12.45 2.16,-4.04 3.35,-4.27 6.72,-1.1 3.13,2.94 6.97,5.32 11.15,6.9 1.4,0.54 2.73,1.28 4.2,0.65 1.43,-0.6 3.6,-0.34 4,-2.33 0.44,-2.22 -1.8,-2.45 -3.1,-3.13 -5.34,-2.84 -10.44,-6.04 -15.34,-9.6 -1.9,-1.4 -2.3,-2.74 -1.52,-4.94 3.85,-10.7 2.88,-21.9 2.96,-32.94 0,-2.66 -1.03,-5.73 -4.37,-5.4 -3.42,0.34 -2.4,3.4 -2.48,5.83 -0.34,10.57 0.2,48.52 -20.4,51.8 -5.6,0.88 -11.72,-3.87 -14.97,-7.55 -1.05,-1.2 -1.6,-2.82 -2.3,-4.3 -1.9,-3.97 -4.7,-4.7 -8.32,-2.28 -1.6,1.1 -3.16,2.3 -4.77,3.42 -6.07,4.18 -11.02,2.55 -13,-4.62 -2.12,-7.58 -2.73,-15.4 -2.9,-23.25 -0.18,-7.1 -0.37,-7.44 -7.23,-7.38 -3.63,0.02 -3.4,-2.65 -3.34,-4.76 0.3,-7.84 1.16,-15.63 3.16,-23.24 5.44,-20.78 15.25,-39.46 27.34,-57.06 9.98,-14.53 20.6,-28.52 32.6,-41.46 1.35,-1.46 2.53,-3.08 1.88,-5.25 -3.8,-12.62 -4.97,-25.52 -4.34,-38.64 0.18,-3.68 1.14,-7.06 3.14,-10.16 4.82,-7.47 11.9,-8.46 18.45,-2.54 4.23,3.82 5.38,3.75 7.42,-1.7 4.34,-11.62 13.95,-18.16 23.3,-25 1.14,-0.85 2.63,-1.3 4.03,-1.74 8.2,-2.65 11.25,-0.47 11.25,8.02 0,1.15 -0.07,2.3 -0.03,3.43 0.13,4.47 1.23,5.28 5.4,3.6 3.7,-1.5 7.53,-2.1 11.46,-2.12 2.42,0 5.3,-0.08 6.36,2.63 1,2.62 -0.22,5.13 -1.9,7.25 -1.02,1.28 -2.27,2.37 -3.23,3.67 -1.26,1.72 -1.58,3.66 -0.2,5.45 1.3,1.7 3.07,1.46 4.9,0.9 2.35,-0.7 4.7,-1.3 7.08,-1.85 5.5,-1.3 10.67,-0.84 16.25,0.93 22.57,7.14 39.55,21.56 53.67,39.85 10.63,13.77 21.63,27.04 37.92,34.54 8.35,3.85 16.9,6.37 26.37,6.2 15.5,-0.27 22.1,-14.73 14.75,-28.12 -2.35,-4.27 -5.4,-8.16 -8.04,-12.27 -3.88,-6 -10.2,-16.04 -5.6,-23.58 3.3,-5.45 5.37,-11.58 2.52,-18.9 -0.08,-1.6 -0.05,-3.35 0.46,-4.83 1.42,-4.12 5.42,-4.9 8.47,-1.8 1.54,1.56 2.3,3.5 2.8,5.62 0.98,4.25 2.27,8.28 7.44,9.2 5.6,0.97 10.84,0.58 14.68,-4.23 1.48,-1.85 3.28,-3.16 5.2,-4.4 1.44,-0.92 2.98,-1.45 4.56,-0.33 1.6,1.12 1.42,2.82 1.23,4.46 -0.2,1.65 -0.9,3.1 -1.9,4.44 -5.77,7.8 -5.23,16.43 2.02,22.87 23.06,20.5 30.33,46.86 26.25,76.12 -2.65,18.97 -11.78,35.84 -25.73,49.58 -2.2,2.18 -4.45,4.3 -6.68,6.46 -2.33,2.23 -3.93,2.15 -4.3,-1.4 -0.36,-3.5 -1.98,-6.5 -3.52,-9.58 -2.34,-4.65 -6.03,-6.72 -11.1,-6.17 -3.3,0.34 -8.26,5.75 -9.05,9.47 -3.08,14.45 -13.34,23.87 -27.43,26.86 -15.9,3.36 -30.32,1.14 -43.77,-8.18 -3.5,-2.43 -7,-4.17 -9.73,-8 -5.08,-7.13 -16.4,-6.98 -23.1,-0.75 -0.6,0.56 -1.48,1 -1.12,1.93 0.48,1.22 1.7,0.8 2.55,0.65 0.94,-0.16 1.8,-0.77 2.72,-1.1 5.43,-1.83 7.9,-1.44 13.27,2.3 -3.13,1.38 -6.1,2.42 -8.8,3.9 -15.9,8.8 -23.13,20.6 -18.48,36.6 1.56,5.37 3.22,10.8 8.85,13.87 3.24,1.77 2.84,3.92 -0.62,5.42 -3.44,1.5 -6.83,3.12 -10.25,4.65 -0.87,0.4 -2.22,0.47 -2.1,1.67 0.17,1.43 1.6,1.47 2.7,1.43 5.
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<location
file="src/main/res/drawable/elephant_friend.xml"
line="15"
column="25"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1229 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M320.74,552.86c0,-3.62 1.58,-6.17 3.95,-8.34 1.97,-1.8 4.1,-1.73 6.32,-0.54 2.6,1.4 3.5,4.16 3.66,6.55 0.17,2.4 -2.78,2.16 -4.55,2.68 -2.18,0.65 -4.42,1.1 -6.62,1.7 -2.04,0.53 -3.18,0.08 -2.76,-2.04zM211.12,555.75c0.62,-7.63 5.97,-12.05 11,-9.22 1.87,1.04 3.73,2.48 3.63,4.83 -0.1,2.32 -9,5.34 -11.57,6.4 -2,0.8 -3.7,0.78 -3.06,-2zM190.44,562.93c-1.76,-0.23 -10.18,0.22 -10.6,-2.52 -0.35,-2.33 1.4,-4.48 3.5,-6 2.27,-1.65 4.47,-1.77 6.75,-0.26 1.06,0.7 2.23,1.4 3.02,2.37 1.1,1.33 3.2,2.64 2.36,4.47 -0.8,1.78 -2.98,2.23 -5.04,1.96zM391.17,519.44c2.04,-6.24 7,-9.52 11.73,-8.35 2.15,0.53 3.55,2.03 3.88,3.9 0.42,2.34 -2.14,1.87 -3.42,2.47 -3.73,1.76 -7.83,1.28 -12.2,1.97zM302.64,557.6c-3.28,-0.47 -11.57,-0.97 -11.9,-2.4 -0.42,-1.8 1.33,-3.16 2.75,-4.2 4.6,-3.4 8.78,-2.1 10.7,3.23 1,2.82 0.55,3.43 -1.56,3.36zM420.1,510.42c-1.2,-5.6 0.16,-9.25 4.92,-11.44 1.9,-0.88 3.66,-0.63 4.82,0.74 1.2,1.43 -0.37,2.67 -1.28,3.7 -2.34,2.63 -4.96,4.94 -8.47,7zM356.97,530.9c-0.27,4.6 -2,7.9 -5.37,10.37 -0.64,0.46 -1.24,1.42 -2,0.94 -0.53,-0.33 -0.82,-1.35 -0.9,-2.1 -0.38,-4.45 3.08,-8.4 8.27,-9.2zM242.28,535.5c-0.73,3.33 -1.4,6.46 -4.55,7.58 -0.62,0.22 -0.98,-2.36 -0.68,-3.82 0.53,-2.58 1.12,-5.3 4.13,-5.85 1.8,-0.32 0.86,1.56 1.1,2.1z&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/elephant_friend.xml"
line="35"
column="25"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1455 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M369.34,395.2c-0.36,10.82 -7.26,15.35 -17.1,11.05 -1.5,-0.65 -2.08,-0.66 -3.2,0.53 -7.24,7.7 -14.98,6.93 -20.1,-2.23 -1.5,-2.67 -2.45,-3.12 -5.43,-1.97 -7.26,2.82 -11.64,-0.6 -11.53,-8.5 0.06,-4.7 1.6,-8.96 4.12,-12.87 0.8,-1.26 2,-2.45 3.64,-1.64 1.92,0.95 0.28,2.3 -0.08,3.3 -1.25,3.6 -2.2,7.2 -2.02,11 0.18,3.53 2.2,3.96 4.5,2.1 2.1,-1.7 3.7,-4.08 5.5,-6.2 0.75,-0.88 1.4,-1.87 2.8,-1.45 1.32,0.4 1.52,1.5 1.67,2.7 0.63,4.87 2.5,9.06 6.5,12.16 2.58,2 4.4,1.93 5.47,-1.45 0.74,-2.32 1.6,-4.6 2.26,-6.96 0.8,-2.9 2.17,-3.03 4,-0.92 2.32,2.68 5.2,5.96 8.57,3.67 3.46,-2.35 1.47,-6.54 0.3,-9.9 -0.9,-2.64 -2.05,-5.16 -4,-7.24 -0.8,-0.84 -1.68,-1.75 -0.73,-2.96 0.7,-0.9 1.7,-0.6 2.7,-0.43 4.32,0.73 7.47,2.7 9.14,7.06 1.4,3.65 3.27,7.1 3.04,11.17zM257.8,234.95c0,3.1 0.06,5.4 -0.03,7.67 -0.05,1.25 -0.75,2.13 -2.06,2.38 -1.4,0.27 -2.43,-0.06 -3.33,-1.34 -8.95,-12.77 -2.18,-30.7 12.84,-33.9 7.24,-1.53 18.57,3.32 22.34,9.53 1.63,2.66 0.77,5.45 -0.96,7.1 -2.03,1.94 -3.08,-1.2 -4.62,-2.1 -3.3,-1.95 -6.58,-4.33 -10.2,-5.3 -6.54,-1.75 -12.92,3.24 -13.6,9.93 -0.24,2.27 -0.28,4.56 -0.36,6.02zM335.63,182.77c-0.4,3.9 0.7,6.67 1.5,9.5 0.5,1.72 0.1,3.34 -1.5,4.28 -1.32,0.8 -2.77,0.04 -3.48,-0.96 -3.8,-5.36 -6.13,-11.28 -4.57,-17.9 1.37,-5.78 5.48,-9.1 11.26,-10.22 7.58,-1.47 16.86,5.04 17.3,12.13 0.1,1.34 0.82,3.13 -1.05,3.9 -1.44,0.58 -2.48,-0.47 -3.45,-1.34 -1.58,-1.4 -3,-3.04 -4.72,-4.25 -2.7,-1.88 -5.8,-2.27 -8.88,-1.06 -3.2,1.27 -2.16,4.37 -2.42,5.93z&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/elephant_friend.xml"
line="39"
column="25"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1421 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M334.32,456.65c0.4,3.22 -0.48,5.42 -2.9,6.2 -2.62,0.85 -4.6,-1 -5.16,-3.3 -1.23,-5.03 -2.02,-10.18 -2.83,-15.3 -0.3,-1.87 0.14,-3.75 2.42,-4.15 2.12,-0.36 3.48,1 4.1,2.76 1.63,4.77 3.06,9.6 4.38,13.8zM346.88,497.52c-0.37,3.22 -1.74,5.15 -4.26,5.35 -2.76,0.2 -4.25,-2.07 -4.25,-4.42 -0.02,-5.18 0.42,-10.37 0.83,-15.55 0.15,-1.88 1,-3.6 3.32,-3.45 2.14,0.14 3.16,1.77 3.33,3.64 0.48,5 0.73,10.04 1.03,14.42zM111.33,405.23c-1.5,2.88 -3.47,4.2 -5.9,3.47 -2.64,-0.8 -3.22,-3.44 -2.4,-5.64 1.85,-4.85 4.12,-9.54 6.35,-14.23 0.82,-1.7 2.23,-3 4.34,-2.03 1.95,0.9 2.3,2.78 1.8,4.6 -1.34,4.84 -2.9,9.64 -4.2,13.83zM125.06,433.6c-1.18,3.04 -3,4.56 -5.47,4.1 -2.74,-0.5 -3.6,-3.06 -3,-5.34 1.28,-5.02 3.02,-9.93 4.73,-14.83 0.62,-1.78 1.9,-3.23 4.1,-2.5 2.03,0.68 2.6,2.52 2.3,4.37 -0.82,4.97 -1.85,9.9 -2.67,14.22zM318.95,487.36c-0.07,3.25 -1.26,5.3 -3.74,5.72 -2.73,0.47 -4.42,-1.66 -4.64,-4 -0.5,-5.16 -0.55,-10.37 -0.6,-15.56 -0.04,-1.88 0.65,-3.68 2.97,-3.74 2.15,-0.07 3.3,1.47 3.66,3.3 0.92,4.96 1.65,9.95 2.35,14.28zM220.34,466.9c2.03,2.55 2.43,4.9 0.8,6.8 -1.8,2.1 -4.47,1.56 -6.14,-0.1 -3.7,-3.63 -7.06,-7.6 -10.44,-11.54 -1.23,-1.44 -1.85,-3.26 -0.1,-4.8 1.6,-1.42 3.47,-0.98 4.92,0.2 3.9,3.2 7.65,6.58 10.96,9.45zM218.05,505.25c0.7,3.18 0.02,5.45 -2.3,6.45 -2.54,1.1 -4.7,-0.58 -5.46,-2.8 -1.7,-4.9 -2.98,-9.95 -4.26,-14.98 -0.47,-1.83 -0.22,-3.74 2.02,-4.34 2.07,-0.57 3.56,0.65 4.33,2.36 2.07,4.6 3.94,9.27 5.65,13.3z&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/elephant_friend.xml"
line="43"
column="25"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (2831 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M415.6,303.76c-1.72,1.5 -3.38,3.05 -5.08,4.58 -3.58,3.24 -14.12,2.94 -17.7,-0.44 -2.15,-2.03 -1.74,-3.02 1.04,-3.88 3.88,-1.2 7.66,-2.73 11.47,-4.17 15.35,-5.8 24.8,-17.05 28.94,-32.6 2.37,-8.9 -1.8,-13.55 -11,-13.94 -7.06,-0.3 -14,0.78 -20.95,1.45 -9.33,0.9 -18.55,0.57 -27.53,-2.26 -7.48,-2.37 -10.93,-7.27 -11.57,-14.84 -1.13,-13.3 -4.25,-33.32 -2.67,-39.85 1.52,-6.28 7,-20.6 5.78,-30.26 -1.18,-9.38 -4.67,-14.27 -7.74,-19.85 -3.2,-5.83 -5,-12.75 -6.97,-18.9 -5.04,-15.65 -11.93,-30.6 -23.7,-42.74 -7.07,-7.28 -15.15,-13.3 -22.8,-19.87 -5.32,-4.6 -11.2,-7.82 -18,-9.3 -3.1,-0.65 -4.23,-1.47 -3.4,-5.17 2.3,-10.25 -3,-16.46 -13.4,-16.5 -1.46,-0.02 -2.94,-0.08 -4.4,0.1 -3.8,0.48 -5.26,-0.44 -4.23,-4.78 2.02,-8.56 -4.18,-16.05 -12.95,-16.12 -6.58,-0.04 -13.02,0.92 -19.02,3.7 -2.42,1.12 -3.52,1.1 -4.72,-1.66 -2.43,-5.58 -6.8,-8.86 -13.04,-9.75 -12.25,-1.75 -22.9,1.67 -32.07,9.7 -9.78,8.53 -16.37,19.45 -21.2,31.25 -4.1,10.04 -9.46,18.37 -19.75,22.88 -2.8,1.23 -5.35,3.12 -7.84,4.95 -20.45,15 -36.96,33.6 -50.95,54.7 -9.9,14.93 -18.4,30.2 -22.3,47.94 -2.72,12.42 -5.2,24.87 -7.12,37.4 -2,12.93 -1.06,25.64 3.62,37.97 2.12,5.62 5.57,8.77 11.06,8.6 4.34,-0.16 5.3,1.77 6.14,5.52 2.27,9.9 5.9,19.05 17.13,22.2 1.76,0.5 2.48,1.3 0.87,3.05 -5.94,6.5 -11.04,13.64 -16.03,20.9 -10.44,15.25 -17.88,31.82 -21.53,49.87 -1.94,9.55 -2.54,19.4 1.98,28.76 1.06,2.18 1.1,4.64 1,7.16 -0.87,19.15 7.85,33.9 21.43,46.83 -7.8,4.47 -26.34,3.1 -32.96,-2.53 -1.27,-1.08 -2.46,-2.18 -1.26,-4.12 4.77,-7.68 1.6,-14 -3.58,-19.87 -5.1,-5.77 -9.94,-5.4 -14.1,1.15 -1.15,1.8 -2.08,2.9 -4.55,2.6 -5.7,-0.7 -9.83,2.58 -12.45,7.02 -2.95,4.97 -3.6,10.74 0.2,15.65 2.4,3.1 3.04,5.15 0.5,8.66 -3.02,4.2 -2.42,10.07 0.2,12.76 3.56,3.66 9.77,4.7 14.45,2.76 7.66,-3.16 5.8,-8.13 7.66,-8.3 1.86,-0.16 3.38,3.87 11.95,7.48 17.15,7.23 35.34,7.46 52.57,-1.77 2.18,-1.17 3.87,-1 4.3,1.77 0.73,4.83 1.38,9.6 0.26,14.54 -2.64,11.65 -2.5,23.3 1.52,34.64 1.13,3.2 0.5,4.16 -2.76,4.9 -9.27,2.17 -28.52,13.96 -20.37,24.95 12.32,16.6 64.27,23.74 88.46,25.13 17.28,1 80.47,1.1 98.78,-0.78 54.86,-5.65 104.97,-17.47 110.52,-31.5 5.54,-14.06 -18.83,-24.9 -24.63,-25.7 -3.63,-0.5 -3.84,-2.1 -3.06,-4.9 0.93,-3.28 1.96,-6.56 2.6,-9.9 2.88,-14.93 3.25,-30.08 3.88,-45.2 0.08,-1.93 -0.33,-3.98 1.2,-5.56 7.33,-7.6 11.5,-16.9 14.65,-26.76 0.9,-2.82 2.78,-4.44 5.44,-5.06 8.8,-2.05 16.87,-5.88 24.88,-9.88 5.4,-2.7 10.54,-5.68 14.96,-9.98 11.36,-11.03 10.58,-23.68 5.24,-36.94 -1.17,-2.9 -1.2,-5.5 -0.62,-8.5 1.65,-8.72 4.06,-16.95 9.53,-24.26 4.17,-5.6 6.2,-11.95 4.07,-19.32 -2.68,-9.35 -10.94,-12.2 -18.26,-5.84zM245.8,512.6c-3.24,-0.14 -27.22,-0.8 -39.35,0.44 -2.15,0.22 -3.5,-0.3 -3.46,-2.75 0.1,-5.04 -0.16,-10.08 1.02,-15.05 0.55,-2.33 1.74,-3.4 4.08,-3.14 12.18,1.3 24.3,1.13 36.34,-1.43 2.5,-0.53 3.15,0.9 3.32,2.95 0.4,5.18 0.75,10.37 1.3,15.54 0.26,2.6 -0.7,3.54 -3.25,3.43z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/elephant_friend_empty.xml"
line="15"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (4815 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M279.22,471.42c-10.37,3.92 -21.02,7 -31.83,9.33 -14.18,3.05 -28.5,4.7 -42.93,1.27 -5.1,-1.22 -6.84,0.05 -7.17,5.5 -0.5,8.62 -0.68,17.25 -0.92,25.87 -0.07,2.6 -0.5,5.14 -1.2,7.66 -0.4,1.4 -0.9,2.16 -2.47,2.5 -9.43,2.06 -13.78,7.97 -13.03,17.65 0.12,1.5 0.77,2.9 -1.3,3.54 -2.36,0.73 -4.25,1.83 -5.14,-2.2 -1.5,-6.9 -6.23,-10.83 -11.5,-10.77 -5.86,0.08 -9.53,3.6 -10.55,10.03 -0.24,1.52 0.85,4.24 -2.22,3.76 -2.34,-0.36 -5.53,-0.18 -5.45,-4.13 0.06,-2.64 -0.68,-5.14 -1.8,-7.54 -1.95,-4.13 -4.66,-7.13 -9.7,-6.64 -4.93,0.47 -9.5,1.56 -10.54,7.5 -0.5,2.9 -1.83,2.98 -3.95,1.46 -5.93,-4.24 -8.36,-10.68 -10.12,-17.25 -3.76,-14.07 -2.06,-28.3 1.36,-42.02 2.3,-9.23 -2.2,-14.2 -7.85,-19.44 -1.4,-1.28 -2.67,-1.77 -4.13,-0.13 -5.28,5.96 -12.45,8.2 -19.9,8.84 -8.02,0.72 -16.07,1.53 -24.25,-0.27 -6.38,-1.4 -11.9,-4.15 -17.35,-7.4 -3.48,-2.1 -4.26,-5.15 -2.8,-8.83 1.38,-3.48 4.4,-4.22 7.3,-1.8 11.86,9.9 28.6,11.16 42.12,3.2 3.7,-2.2 3.57,-4.12 0.4,-7.03 -10.24,-9.45 -17.1,-20.83 -19.24,-35.38 3.4,1.25 5.04,4.06 7.54,5.66 14.7,9.48 30.9,15.2 48.3,14.54 13.2,-0.52 29.47,-8.72 42.15,-28.47 7.02,-10.93 11.06,-22.32 15.47,-33.98 1.04,-2.74 1.8,-5.58 2.8,-8.33 1.6,-4.3 1.66,-8.3 -2.84,-12.08 -1.7,8.8 -5.64,16.5 -8.8,24.53 -5.66,14.4 -11.54,28.77 -22.86,39.94 -1.1,1.1 -3.88,-1.6 -3.95,-3.93 3.65,-4.67 4.83,-9.88 2.3,-15.56 -1.97,-4.45 -5.16,-8.2 -10.13,-7.87 -7.44,-0.32 -11.44,10.3 -12.8,11.2 -1.86,-0.5 -2.58,-0.82 -2.46,-1.82 0.4,-3.55 2.6,-8 2.08,-11.6 -0.92,-6.28 -4.25,-10.2 -9.75,-11.28 -5.4,-1.07 -11.47,1.53 -14.34,6.26 -0.84,1.38 -1.52,2.9 -2.1,4.4 -0.53,1.48 -0.37,3.35 -3,2.56 -2.2,-0.66 -2.6,-1.76 -2.32,-3.95 0.67,-5.1 0.43,-10.17 -3.16,-14.32 -3.74,-4.32 -8.46,-5.23 -13.74,-3.3 -5.14,1.87 -9.4,8.73 -9.46,13.83 -0.03,3.12 -1.9,3.1 -3.72,3.2 -2.9,0.15 -1.8,-2 -1.6,-3.46 1.55,-12.6 6.18,-23.93 12.3,-35.16 7.56,-13.88 15.37,-27.5 24.33,-40.52 3.64,-5.3 7.7,-10 13.6,-12.97 2.14,-1.1 3.23,-1.07 4.94,0.74 9.82,10.4 29.58,8.63 38.24,-2.8 7.92,-10.48 14.4,-21.63 18.4,-34.13 3,-9.4 3,-19.24 3.22,-29 0.1,-4.7 0.27,-9.42 -0.46,-14.13 -0.26,-1.68 -0.9,-3.1 -1.6,-4.55 -0.45,-0.93 -1.17,-1.63 -2.3,-1.46 -1.43,0.23 -1.72,1.4 -1.7,2.58 0.16,8.32 -1.25,16.54 -1.64,24.8 -0.65,13.9 -6.48,26.08 -11.67,38.5 -1.6,3.86 -4.14,7.36 -6.28,11 -3.85,6.6 -13.65,11.12 -21.3,10.03 -3.9,-0.56 -6.38,-2.9 -8.54,-5.92 -5.6,-7.9 -5.98,-8 -14.55,-3.3 -3.66,2 -7.37,3.35 -11.6,3.13 -3.42,-0.2 -5.72,-1.64 -7.1,-4.96 -2.3,-5.65 -3.1,-11.6 -4.16,-17.53 -1.06,-5.9 -2.2,-6.55 -7.9,-5.17 -8.1,1.96 -11.05,0.07 -11.63,-8.2 -2.78,-39.67 3.82,-77.05 25.98,-111.02 12.12,-18.56 25.57,-35.9 43.66,-48.8 6.42,-4.56 12.15,-10.13 19.2,-13.87 4.24,-2.26 7.54,-5.7 9.85,-9.94 4.18,-7.73 8.3,-15.5 12.37,-23.28 4.6,-8.78 10.3,-16.5 19.04,-21.67 4.9,-2.9 10.07,-4.14 15.75,-4.52 9.55,-0.65 15.02,7.32 11.64,16.74 -0.55,1.54 -1.87,3.07 -0.17,4.32 1.53,1.1 2.7,-0.47 3.7,-1.48 5.87,-5.86 13.33,-8.38 21.15,-10.25 4.28,-1 8.1,-0.6 11.18,2.83 2.75,3.05 3.85,6.22 0.05,9.2 -2.7,2.1 -3.02,5.35 -4.1,8.1 -1.2,3.07 1.36,3.2 3.36,2.43 4.5,-1.76 9.2,-2.1 13.92,-2.26 3.64,-0.13 6.83,1.14 8.6,4.53 1.12,2.13 -2.03,7.8 -2.55,8.6 -2.68,4.28 -2.55,4.38 2.4,4.88 11.46,1.17 21.7,4.95 30.23,13.15 6.1,5.85 12.9,10.9 18.8,17.05 9.33,9.76 15.03,21.52 19.55,34.02 1.2,3.36 2.54,6.7 3.72,10.07 0.47,1.34 1.2,3.18 -1.25,3.23 -7.78,0.17 -10.77,6.4 -12.8,11.83 -6.8,18.36 -2.75,43.02 18.2,53.4 1.64,0.8 1.97,1.82 2.15,3.37 1.82,15.66 3.45,31.35 5.6,46.97 3.02,21.67 11.1,41.1 27.12,56.53 5.08,4.9 11.43,6.24 18.6,6.8 6.46,0.5 9.8,-2.7 13.6,-6.3 2.44,-2.3 4.12,-1.64 5.9,0.86 2.92,4.14 3.55,8.9 0.06,13.13 -6.72,8.2 -9.5,17.6 -10.53,27.86 -0.34,3.43 -1.5,6.7 -3.45,9.57 -5.98,8.87 -15.2,8.46 -19.86,-1.12 -2.25,-4.6 -5.2,-5.67 -10.27,-5.96 -19.05,-1.08 -38.06,-3.04 -54.03,-15.28 -1.02,-0.8 -2,-1.65 -3.35,-2.8 2.26,-1.4 4.25,-2.72 6.3,-3.93 6.63,-3.9 10.87,-9.54 12.57,-17.1 1.08,-4.8 -1.28,-8.54 -6.13,-9.8 -5.72,-1.48 -11.4,-0.1 -16.93,0.72 -18.5,2.75 -32.6,-4.43 -44.13,-18.2 -6.16,-7.37 -10.08,-15.85 -12.8,-25 -0.55,-1.9 -0.16,-3.45 0.5,-5.14 3.7,-9.7 -2.85,-16.26 -9.9,-20.88 -1.56,-1.02 -3.4
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<location
file="src/main/res/drawable/elephant_friend_empty.xml"
line="20"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1524 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M113.84,383.72c0.02,6.36 -0.75,6.95 -6.06,5.1 -2.14,-0.74 -4.16,-2.02 -6.35,-2.4 -4.78,-0.8 -3.77,-2.96 -1.96,-5.94 2.34,-3.86 5.7,-5.3 9.85,-4.28 4.17,1.03 4.24,4.8 4.52,7.52zM67.34,378.3c-2.27,-0.08 -0.84,-9.75 3.55,-11.8 4.3,-2 9.2,-0.32 11.33,3.1 1.98,3.2 1.1,11.72 -1.73,10.7 -2.27,-0.85 -7.85,-1.78 -13.16,-2zM393.28,396.27c0.18,-3.52 0.04,-7 3.72,-8.44 1.34,-0.52 8.55,7.1 8.54,8.64 -0.02,1.2 -8.14,7.03 -9.65,6.48 -3.38,-1.2 -1.88,-4.57 -2.62,-6.68zM137.77,397.7c-0.37,2.2 -1.43,4.63 -3.94,6.13 -0.57,0.34 -8.98,-6.25 -9,-6.88 -0.1,-2.22 5.47,-7.36 7.8,-7.23 2.6,0.14 5.22,3.88 5.14,7.98zM161.73,546.88c-2.15,-0.78 -6.73,1.67 -6.56,-3.93 0.13,-4.1 3.75,-7.33 7.26,-6.8 3.2,0.5 7.03,6.24 6.22,9.37 -0.4,1.56 -0.4,1.56 -6.92,1.36zM131.66,531.32c4.36,-0.1 8.77,6.83 6.85,10.74 -0.74,1.53 -1.95,0.9 -2.9,0.6 -2.02,-0.6 -3.97,-1.46 -5.94,-2.2 -2.3,-0.86 -5.52,-0.77 -4.6,-4.76 0.8,-3.6 3.42,-4.4 6.6,-4.38zM293.12,519.15c3.6,1.2 5.8,5.53 5.1,7.66 -0.8,2.48 -6.9,1.98 -8.64,1.9 -2.1,-0.13 -5.96,-1.66 -6.4,-3.37 -0.43,-1.6 0.95,-3.04 2.1,-4.16 1.38,-1.32 4.17,-3.24 7.84,-2.02zM320.45,517.26c2.46,0.8 5.4,1.4 5.67,4.47 0.25,3 -2.85,2.34 -4.63,3.04 -0.45,0.18 -0.92,0.35 -1.4,0.42 -1.84,0.28 -3.83,1.83 -5.5,0.35 -1.15,-1 -0.5,-2.84 0.3,-4.04 1.3,-2 2.78,-3.97 5.55,-4.24zM190.93,529.32c1.58,-0.08 2.62,0.53 2.2,2.25 -0.36,1.4 -0.93,2.77 -1.58,4.07 -1.38,2.76 -2.86,5.63 -6.32,6.02 -1.1,0.13 -0.9,-1.46 -0.83,-2.38 0.4,-4.83 3.67,-9.8 6.53,-9.96zM339.9,507.95c0.86,3.34 -0.14,4.58 -1.5,5.93 -1.1,-2.24 0.18,-3.46 1.5,-5.93z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/elephant_friend_empty.xml"
line="59"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1212 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M195.24,152.74c7.74,-11.83 18.38,-18.1 33.3,-15.86 16.5,2.5 27.95,10.5 30.4,25.3 3.8,22.83 -9.52,47.04 -37.8,49.3 -15,1.18 -27.8,-6.6 -33.2,-22.3 -5.08,-14.78 1.8,-28.04 7.3,-36.44zM233.13,336.23c-3.38,3.85 -4.73,8.13 -5.24,12.7 -0.2,1.73 -0.88,3.85 0.95,4.96 1.95,1.18 4.04,0.58 5.93,-0.66 2.84,-1.88 5.68,-3.77 8.6,-5.5 2.82,-1.66 4.3,-1.22 3.7,2.52 -1.02,6.47 0.4,12.64 2.83,18.6 2,4.88 6.94,5.66 10.4,1.6 2.55,-3 4.53,-6.36 6.14,-9.95 1.73,-3.87 4.12,-5.4 8.46,-3.1 4.98,2.6 6.83,1.5 8.35,-4.05 0.38,-1.4 0.65,-2.85 1,-4.27 0.34,-1.35 0,-3.3 1.95,-3.48 1.74,-0.15 3.12,1.1 3.77,2.64 2.08,4.84 1.66,9.83 -1.26,13.96 -2.9,4.1 -7.3,7 -12.64,5.4 -3.4,-1.03 -4.6,0.33 -6.08,2.78 -2.34,3.86 -4.54,8.03 -9.38,9.4 -9.73,2.77 -16.5,-1.07 -19.34,-10.9 -0.3,-1.1 -0.63,-2.2 -0.8,-3.33 -0.98,-6.03 -0.97,-6.04 -7.13,-4.43 -6.8,1.78 -11.85,-2.22 -11.2,-9.22 0.3,-3.02 1.43,-5.98 2.4,-8.9 0.54,-1.7 1.44,-3.3 2.33,-4.84 1.27,-2.2 3.04,-3.38 6.27,-1.93zM396.93,346.85c1.1,-8.24 4.9,-16.17 11.23,-22.87 1.35,-1.42 3.2,-2.32 5.2,-2.45 2.95,-0.2 4.2,1.35 3.64,4.25 -0.12,0.6 -0.54,1.17 -0.88,1.72 -3.8,6.24 -7.34,12.55 -6.02,20.32 0.07,0.45 -0.16,0.95 -0.25,1.43 -0.96,4.73 -3.7,7.37 -7.28,7 -3.46,-0.34 -5.76,-3.8 -5.64,-9.4z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/elephant_friend_empty.xml"
line="69"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1600 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M93.92,356.84c0.62,-4.05 2.12,-7.92 4.52,-11.26 2.05,-2.86 13.07,-8.75 11,-0.02 -0.9,3.88 -13.95,23.17 -15.52,11.28 0.87,-5.7 0.2,1.54 0,0zM293.28,451.9c-2.74,-0.2 -4.53,-0.6 -5.22,-2.56 -0.7,-1.95 0.73,-2.94 2.15,-3.84 4.1,-2.6 7.46,-6.24 11.86,-8.45 2.12,-1.06 3.98,-1.3 5.73,0.54 1.98,2.07 0.75,3.87 -0.58,5.6 -3.77,4.85 -9.4,6.57 -13.94,8.7zM157.6,506.77c-0.1,0.93 -0.1,2.24 -0.4,3.5 -0.5,2.28 -1.95,3.8 -4.36,3.85 -2.33,0.07 -3.6,-1.68 -4,-3.62 -1.13,-5.65 0,-11.33 1.05,-16.8 0.6,-3.12 3.28,-2.43 4.95,0.03 2.62,3.85 2.18,8.37 2.76,13.04zM121.98,171.47c0,4.06 -1.3,8 -1.03,12.08 0.15,2.4 -1.83,3.8 -4.16,3.9 -2.48,0.1 -3.32,-1.92 -3.55,-3.9 -0.8,-6.62 1.78,-12.7 3.4,-18.92 0.26,-0.94 1.18,-1.55 2.28,-1.5 1.32,0.1 2.18,0.96 2.38,2.1 0.4,2.05 0.47,4.16 0.68,6.24zM127.7,234.96c-0.1,1.63 -0.28,4.04 -0.38,6.46 -0.1,2.66 -1.78,3.8 -4.1,3.78 -2.47,-0.03 -4.1,-1.8 -3.97,-4.06 0.28,-4.8 0.3,-9.73 3.2,-13.94 0.83,-1.2 1.7,-2.65 3.37,-2.32 2.14,0.43 1.78,2.4 1.85,3.96 0.1,1.77 0.02,3.55 0.02,6.12zM177.7,488.12c-0.52,3.22 0.87,8.16 -4.78,7.6 -5.6,-0.57 -4,-5.25 -3.75,-8.8 0.15,-2.08 0.56,-4.17 1.07,-6.2 0.4,-1.62 1.35,-3 3.28,-3.08 1.93,-0.07 2.9,1.24 3.5,2.83 0.92,2.47 1.26,5 0.7,7.65zM272.2,445.54c-0.3,0.63 -0.48,1.5 -1,2.03 -4.33,4.35 -10.06,5.68 -15.74,6.93 -1.43,0.32 -2.77,-0.9 -3.1,-2.53 -0.34,-1.53 0.66,-2.5 1.86,-3.07 4.22,-2.06 8.47,-3.98 12.57,-6.3 2.18,-1.24 4.85,-0.65 5.4,2.94zM102.32,145.58c1.64,-5.07 4.9,-9.88 8.67,-14.37 0.64,-0.77 1.66,-1 2.65,-0.48 1,0.53 1.38,1.55 1.1,2.5 -1.63,5.42 -3.5,10.8 -6.2,15.78 -0.85,1.57 -2.84,1.46 -4.45,0.88 -1.67,-0.62 -1.83,-2.1 -1.78,-4.3z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/elephant_friend_empty.xml"
line="84"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (2885 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M321.28,457.4c-12.3,0 -37.47,-6.95 -60.17,-29.47 -12.6,-12.53 -26.3,-21.46 -43.42,-27.73 -2.63,-0.96 -9.86,-2.85 -17.5,-4.86 -11.66,-3.05 -24.87,-6.5 -31.38,-9.04 -13.04,-5.1 -28.76,-14 -43.14,-24.46 -1.02,-0.75 -1.57,-1.06 -2.3,-1.1 -1.82,-0.04 -3.68,-0.07 -5.53,-0.07 -8.96,0 -18.5,0.65 -29.18,2 -6.8,0.84 -34.75,3.5 -41.1,2.12 -11,-2.4 -22.87,-3.7 -32.52,-15.17 -7.64,-9.08 -11.12,-19.6 -10.63,-32.18 0.36,-9.35 1.7,-26.2 6.68,-34.05l0.67,-1.06c4.8,-7.63 13.73,-21.84 28.02,-21.84 0.34,0 0.68,0 1.03,0.02 1.02,0.05 2.26,0.08 3.7,0.08 7.73,0 20.05,-0.74 30.14,-2.38 16.3,-2.65 17.26,-5.95 17.26,-5.98l0.1,-1.63c0.58,-8.3 1.43,-20.6 6.28,-28.1 -0.83,-0.32 -1.8,-0.77 -2.73,-1.5 -12.48,-9.97 -15.76,-20.93 -16.84,-34.32 -0.48,-6.1 0.05,-11.78 1.64,-17.4l0.03,-0.13c0.43,-1.54 0.53,-1.67 -0.14,-2.06 -9.97,-5.8 -15.37,-16.72 -5.3,-23.35 0.6,-0.4 0.3,-1.64 0.34,-2.7 0.02,-0.6 0.05,-1.2 0.1,-1.8 0.76,-7.43 3.88,-12.48 9.54,-15.44 2.66,-1.37 5.35,-2.07 8,-2.07 6.03,0 10.87,3.63 12.96,9.7 1.16,3.37 2.34,3.94 4.54,3.94 0.4,0 0.84,-0.03 1.3,-0.08 1.13,-0.13 2.13,-0.18 3.05,-0.18 4.54,0 7.57,2.4 9.9,5.64 3.43,4.77 5.56,10.2 0.66,17.1 -4,5.7 -10.02,8.3 -17.02,10.24 -1.23,0.34 -1.5,0.47 -1.58,2.15v0.12c-0.37,7.24 0.26,17.12 5.68,22.78 1.35,1.42 1.88,2.15 2.22,2.38 0.28,-0.26 0.84,-0.9 1.7,-2.43 8.93,-15.66 22.3,-37.78 35.42,-49.08 28.43,-25.4 76.36,-37 108.83,-37 24.22,0 52.2,6.3 76.8,17.3 9.6,4.3 17.9,8.76 25.42,13.65 1.9,1.25 4.13,1.98 6.44,2.7 8.9,2.7 13.9,10.18 12.82,19.1 3.34,-0.78 7.3,-1.6 11.3,-1.6 4.18,0 7.88,0.87 11.3,2.62 3.53,1.8 7.63,4.6 8.15,10.23 0.05,0.52 0.13,0.83 0.18,1 0.04,0 0.1,0 0.15,0 0.43,0 1.05,-0.1 1.9,-0.3 12.7,-2.87 25.33,-4.34 37.5,-4.34 11.6,0 23.18,1.32 34.4,3.93 10.1,2.34 18.22,5.1 25.6,8.7 6.36,3.1 6.6,7.85 6.18,10.4 -0.48,2.88 0.4,4.22 4.32,6.5 5.64,3.3 9.18,7.57 10.23,12.33 0.98,4.45 -0.2,9.25 -3.45,13.9 -1.18,1.68 -2.66,3.52 -4.7,4.4 -0.87,0.36 -1.27,0.66 -1.45,0.8 0.1,0.24 0.34,0.76 1.07,1.65 1.67,2.07 2.87,4.47 3.8,6.54 3.88,8.5 1.5,17.12 -6.2,22.5 -0.55,0.4 -1.12,0.78 -1.7,1.15 19.83,4.68 37.5,11.4 53.88,20.43 33.24,18.4 22.08,59.78 14.97,74.18 -4.9,9.94 -14.1,17.58 -24.62,20.45 -0.02,0.2 -0.02,0.58 0.05,1.3 1.67,15.82 -3.7,29.94 -15.95,41.95 -3.16,3.1 -3.52,5.05 -1.54,8.36 2.03,3.4 2.47,7.07 1.24,10.63 -1.87,5.4 -7.05,9.1 -10.92,10.6 -3.6,1.4 -7.32,2.1 -11.08,2.1 -4.3,0 -8.7,-0.92 -13.12,-2.72 -6.73,-2.75 -9.85,-8.4 -12.6,-13.36l-0.4,-0.7c-2.64,-4.76 -5.9,-7.54 -10.58,-9 -7.04,-2.23 -10.63,-6.94 -9.85,-12.94 0.77,-6.1 6.87,-11.87 13.3,-12.58 0.25,-0.03 0.5,-0.04 0.78,-0.04 0.64,0 1.28,0.08 1.83,0.15 0.33,0.05 0.64,0.08 0.9,0.1 0,-0.05 0,-0.1 0,-0.17 0.42,-4.64 -1.65,-6.03 -3.24,-6.67 -1.93,-0.78 -3.86,-1.57 -5.8,-2.36 -7.1,-2.92 -14.45,-5.94 -21.82,-8.17 -4.15,-1.24 -9.04,-4.14 -13.1,-1.85 -27.47,15.4 -63.35,20.64 -83.45,12.53 2.3,12.2 -0.4,25.7 -4,34.87 -5.3,13.6 -20.65,28.48 -37.1,29.84 -2.2,0.2 -4.6,0.3 -7.12,0.3z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/errorphant_error.xml"
line="10"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (5305 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M69.6,356.3c-5.73,-8.7 -19.5,-8.76 -24.82,0.05 -1.18,1.95 -2.48,1.28 -3.7,1 -2.07,-0.45 -4.18,-1.1 -4.1,-3.97 0.18,-5.66 -2.76,-9.95 -6.65,-13.6 -3.22,-3 -7.08,-4.68 -11.7,-3.47 -5.06,1.34 -4.73,-3.3 -6.2,-5.74 -1.56,-2.58 0.45,-3.45 2.56,-4.43 12.08,-5.62 13.63,-18.92 3.07,-27.3 -1.8,-1.43 -0.9,-2.26 -0.8,-4 0.84,-11.47 15,-28.07 21.86,-26.92 12.13,2.03 61.1,0 61.1,-12.66 0,-18.32 4.07,-24.24 9.4,-35.55 0.95,-2.02 1.7,-3.74 -1.2,-4.5 -12.15,-3.25 -18.16,-12.13 -21.06,-23.35 -2.28,-8.87 -3.1,-17.97 0.77,-26.77 0.98,-2.22 2.08,-4.6 4.92,-4.93 3.77,-0.44 5.73,2.27 4.84,6.97 -1.96,10.3 -0.7,20.06 4.67,29.18 3.1,5.27 9.45,8.6 13.92,7.7 1.6,-0.33 2.36,-0.8 3.17,-2.33 10.38,-19.3 19,-37.94 39.08,-53.72 37.87,-29.77 70.44,-32.55 97.17,-32.55 45.35,0 87.96,17.5 95.15,25.83 -11.14,3.8 -20.23,10.02 -28.45,17.45 -5.96,5.4 -10.9,11.7 -14.47,18.9 -1.56,3.16 -3.62,5 -7.27,5.66 -11.28,2 -22.37,4.95 -33.08,8.95 -17.87,6.68 -33.15,17.48 -46.26,31.17 -13.46,14.05 -22.82,30.32 -25.44,49.9 -1,7.45 0.6,10.16 7.9,12.46 1.8,0.57 1.86,1.4 1.58,2.82 -0.95,4.82 -0.8,9.7 -0.7,14.57 0.14,9.46 8.3,14.97 17.36,11.86 5.43,-1.86 9.5,-5.5 13,-9.9 7.64,9.83 20.6,9.16 29.07,-1.14 6.94,-8.44 12.32,-17.56 14.23,-28.47 0.42,-2.38 1.03,-4.68 -1.6,-5.95 -3.07,-1.5 -3.4,1.5 -4.43,3.12 -3.75,5.8 -5.07,12.7 -8.37,18.7 -3.42,6.22 -7.25,12.06 -14.84,13.94 -3.7,0.93 -6.4,0.08 -7.66,-3.9 -0.65,-2.1 -1.1,-5.13 -3.9,-4.96 -3.18,0.2 -6.4,1.37 -8.22,4.47 -1.87,3.2 -4.5,5.57 -7.93,6.92 -4.45,1.75 -7.74,0.02 -9,-4.6 -1.46,-5.37 -0.34,-10.67 0.66,-15.94 1.2,-6.37 0.74,-7.37 -5.55,-7.6 -3.83,-0.16 -4.8,-1.94 -5.3,-5.42 -1.4,-10.06 3.9,-17.97 8.25,-26.03 6.46,-12 15.9,-21.5 26.28,-30.5 15.37,-13.35 33.9,-18.88 52.62,-24.67 5.7,-1.77 11.74,-1.94 17.27,-4.9 3.57,-1.9 5.42,-4.7 7.13,-7.58 9.46,-16.04 22.5,-27.63 40.53,-33.23 1.98,-0.6 4.2,-0.7 6.3,-0.62 9.52,0.32 13.1,6.6 8.56,14.92 -0.78,1.43 -1.86,2.73 -2.4,4.22 -0.5,1.4 -2.26,2.88 -0.67,4.44 1.55,1.54 3.14,0.08 4.48,-0.57 5.24,-2.58 10.84,-3.38 16.56,-3.83 4.2,-0.34 7.74,1.32 11,3.55 3.6,2.45 3.12,6.53 -0.94,8.3 -1.66,0.73 -4.04,1.1 -3.3,3.34 0.86,2.65 3.22,1.34 5.02,0.77 5.85,-1.86 11.02,-0.03 15.7,3.2 2.9,2 3.03,4.66 -0.3,6.57 -2.55,1.46 -5.96,2.36 -4.6,6.23 1.3,3.7 4.16,6.8 8.15,6.97 13.5,0.57 23.78,7.23 32.93,16.24 2.63,2.58 5.95,4.48 8.23,8 -2.18,1.1 -4.04,0.43 -5.88,0.13 -12.5,-2 -23.3,1.74 -32.6,9.88 -3.86,3.35 -5.5,8.1 -6.13,12.98 -0.85,6.53 4.4,13.76 11.48,14.03 11.92,0.44 23.68,2.8 35.62,2.6 4.62,-0.06 8.8,-2.13 13.5,-3.94 1.5,12.74 6.87,23.74 12.65,34.73 8.35,15.86 20.1,28.36 36.77,34.92 22.44,8.85 34.3,40.07 25.13,60.53 -3.08,6.86 -8.52,12.25 -12.52,18.57 -2.76,4.38 -4.1,8.6 -1.64,13.25 2.26,4.3 -0.05,6.2 -3.6,7.08 -13,3.2 -20.02,0.87 -27.64,-11.32 -2.52,-4.02 -5.66,-7.08 -10.42,-8.2 -2.42,-0.58 -5.72,-1.6 -5.24,-4.06 0.65,-3.37 4.3,-5.7 7.6,-4.62 5.52,1.84 7.5,-0.47 8.54,-5.14 0.2,-0.26 0.3,-0.55 0.4,-0.87 0.63,-2.7 4.9,-3.34 4.16,-6.7 -1.03,-4.7 -3.6,-8.73 -6.6,-12.4 -5.77,-7 -12.74,-12.52 -21.36,-15.84 -5.74,-2.2 -11.82,-2.4 -17.78,-3.28 -2.42,-0.35 -4.73,-0.5 -4.2,-3.87 3.85,-7.1 6.87,-14.28 5.16,-22.7 -0.87,-4.27 -3.37,-5.35 -7.07,-4.56 -3.67,0.76 -7.3,1.8 -10.87,2.96 -17.76,5.8 -35.05,2.7 -51.7,-3.8 -5.15,-2 -10.2,-6 -11,-13.4 -0.7,-6.38 -5.26,-11.4 -10.52,-15.3 -1.34,-1 -2.92,-1.7 -4.46,-0.27 -1.58,1.43 -0.7,2.9 0.04,4.4 1.42,2.86 3.93,5.13 4.96,8.7 -4.48,0.26 -8.5,-0.5 -12.52,0.23 -13.87,2.54 -26.6,15.42 -20.08,32.27 0.36,0.94 1.87,1.92 0.46,2.94 -1.14,0.82 -2,-0.07 -2.88,-0.98 -6.13,-6.43 -9.6,-11.9 -17.46,-16.82 -1.64,-1.02 -0.26,-1.8 0.6,-2.56 9.15,-8.4 10.2,-15.07 4.03,-25.73 -3.64,-6.28 -2.94,-8.92 2.85,-13.65 6.3,-5.16 13.24,-8.12 21.55,-7.82 6.38,0.23 12.33,-1.2 17.42,-5.36 5.8,-4.77 8,-16.44 3.17,-21.03 -3.6,-3.44 -7.15,-7.06 -11.5,-9.74 -9.28,-5.7 -19.2,-4.6 -29,-2.65 -13.74,2.77 -25.8,8.4 -32.57,21.72 -4.28,8.42 -4.47,16.48 1.75,24.1 0.93,1.16 2.05,2.2 1.02,3.86 -4.24,6.82 -4.57,14.5 -4.62,22.14 -0.02,3.27 -1.04,3.68 -3.64,2.3 -6.06,-3.16 -12.72,-4.06 -19.38,-4.92 -1.76,-0.22 -4.1,-0.43 -4.64,1.66 -0.58,2.35 1.94,2.72 3.5,3.17 11.46,3.24 21.72,8
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<location
file="src/main/res/drawable/errorphant_error.xml"
line="20"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (842 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M253.55,243.95c-2.75,-0.1 -4.37,-2.87 -2.58,-5.24 3.1,-4.12 6.53,-8.05 10.2,-11.68 1.88,-1.87 4.58,-1.78 6.5,0.44 1.78,2.03 0.78,3.93 -0.82,5.56 -2.83,2.9 -5.7,5.77 -8.6,8.6 -1.3,1.24 -2.8,2.23 -4.7,2.33zM257.65,136c2.96,-0.06 5,0.52 5.52,3.06 0.5,2.38 -1.25,3.76 -3.1,4.36 -5.13,1.67 -10.58,1.56 -15.9,2.1 -1.67,0.16 -3.15,-1.03 -3.36,-2.94 -0.2,-1.92 1.18,-2.98 2.68,-3.7 4.68,-2.2 9.87,-1.93 14.17,-2.87zM68.42,307c-2.6,-0.35 -5.36,-0.35 -5.72,-3.16 -0.35,-2.7 2.35,-3.17 4.3,-3.75 3.9,-1.16 7.84,-2.1 11.75,-3.14 2.14,-0.57 4,-0.27 4.74,2.05 0.7,2.15 -0.17,3.84 -2.2,4.82 -4.16,2 -8.74,2.3 -12.88,3.18zM87.55,284.7c-1.2,-0.3 -2.46,-0.55 -3.7,-0.94 -1.12,-0.35 -2.1,-0.98 -2.2,-2.3 -0.07,-1.33 0.8,-2.1 1.93,-2.48 4.6,-1.6 9.15,-3.32 13.8,-4.68 2.14,-0.62 4.45,-0.1 5.14,2.42 0.68,2.5 -0.92,3.97 -3.17,4.65 -3.87,1.17 -7.78,2.2 -11.8,3.34z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/errorphant_error.xml"
line="85"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (999 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M223.93,253.08c-2.75,-0.1 -4.38,-2.87 -2.6,-5.25 3.12,-4.12 6.54,-8.05 10.2,-11.7 1.9,-1.85 4.6,-1.77 6.53,0.45 1.77,2.03 0.77,3.94 -0.83,5.57 -2.84,2.9 -5.7,5.76 -8.6,8.58 -1.3,1.26 -2.8,2.24 -4.7,2.35zM247.83,223.7c-2.6,-0.88 -3.4,-4 -1,-5.77 4.15,-3.08 8.55,-5.9 13.1,-8.36 2.34,-1.27 4.9,-0.43 6.13,2.24 1.12,2.45 -0.38,4 -2.37,5.12 -3.55,2 -7.1,3.94 -10.7,5.83 -1.6,0.84 -3.3,1.37 -5.17,0.94zM283.5,345.85c0.48,2.7 -1.92,4.85 -4.63,3.6 -4.7,-2.18 -9.27,-4.7 -13.6,-7.52 -2.23,-1.45 -2.7,-4.1 -0.9,-6.42 1.63,-2.13 3.7,-1.55 5.64,-0.33 3.45,2.16 6.86,4.35 10.24,6.6 1.5,1 2.78,2.25 3.27,4.08zM255.92,350.23c0.9,2.58 -1.1,5.1 -3.97,4.3 -5,-1.36 -9.94,-3.1 -14.68,-5.15 -2.44,-1.06 -3.35,-3.6 -1.97,-6.2 1.26,-2.36 3.4,-2.14 5.52,-1.25 3.75,1.56 7.48,3.16 11.2,4.82 1.64,0.74 3.1,1.76 3.9,3.48zM245.3,330.43c0.83,2.6 -1.24,5.07 -4.1,4.2 -4.96,-1.5 -9.84,-3.36 -14.53,-5.54 -2.4,-1.14 -3.25,-3.7 -1.8,-6.25 1.32,-2.34 3.46,-2.06 5.55,-1.12 3.7,1.67 7.4,3.36 11.06,5.12 1.62,0.78 3.06,1.84 3.8,3.58z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/errorphant_error.xml"
line="123"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (2081 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M462.95,64.68c-1.55,-2.12 -3.22,-3.86 -3.53,-6.85 -0.82,-7.74 -5.27,-12.75 -12.78,-14.1 -3.22,-0.57 -4.96,-2 -6.78,-4.42 -8.67,-11.47 -26.16,-10.7 -31.68,2.43 -3.56,8.46 -8.7,14.96 -14.5,21.56 -5.75,6.5 -5.12,11.94 1.3,17.82 6.27,5.75 9.45,5 16.98,3.64 2.18,-0.4 4.95,1.52 7.5,1.46 4.08,-0.1 10.03,-2.13 12.2,-0.14 2.2,2.03 -1.04,4.23 -2.26,6.07 -2.8,4.23 -4,4.35 -7,8.46 -1,1.42 -3.17,3.45 -0.58,5.6 1.96,1.65 5.65,-2.36 7.05,-3.7 5,-4.82 4.7,-6.7 9.7,-11.43 5.57,-5.27 10.23,-6.67 14.48,-10.84 5.1,1.27 7.7,0.17 9.33,-3.08 2.06,-4.1 3.67,-8.22 0.57,-12.47zM411.98,45.38c2.76,-5.76 7.75,-8.18 13.83,-8.8 3.22,-0.15 5.6,1.4 7.7,3.48 2.2,2.14 3.54,4.25 -0.55,5.84 -0.6,0.24 -1.4,0.5 -1.68,1 -5.16,9.36 -12.34,2.07 -18.55,2.1 -2.46,0 -1.3,-2.44 -0.74,-3.63zM404.98,79.25c-2.64,1.52 -4.68,-0.4 -6.36,-2.16 -1.93,-2.04 -4.4,-4.06 -2.78,-7.42 0.57,-1.17 1.38,-2.25 2.18,-3.3 5,-6.56 5.16,-6.5 8.96,0.62 1.2,2.3 2.9,4.33 4.36,6.48 -1.32,3 -3.96,4.37 -6.36,5.77zM410,58.6c-0.4,-3.42 1.83,-3.96 4.83,-3.96 2.74,1.27 8,0.64 8,4.7 0,3.83 -3.1,9.65 -6.55,9.5 -4.17,-0.17 -5.73,-5.78 -6.27,-10.24zM415.82,80.76c-0.5,-0.96 1.04,-3.45 2.08,-3.75 1.42,-0.42 5.46,1.4 5.2,2.84 -0.35,1.78 -6.45,2.54 -7.28,0.92zM423.98,75.23c-0.86,-0.47 -1.5,-0.68 -1.98,-1.1 -1.54,-1.37 -0.2,-2.6 0.64,-3.3 2.8,-2.35 2.5,-7.33 6.7,-8.2 1.1,-0.23 3.15,2 2.64,3.27 -1.6,3.9 -4.77,7.8 -8,9.33zM437.94,75.2c-0.8,2.1 0.13,5.75 -4.05,5.22 -1.54,-0.2 -4.3,-0.78 -3.7,-2.82 0.9,-2.87 3.08,-5.65 6.27,-6.1 2.14,-0.3 1.38,2.15 1.47,3.7zM437.21,61.98c-2.63,-0.27 -5.33,-3.6 -5.4,-6.62 -0.07,-2.52 2.3,-5.23 5.12,-5.1 4.3,0.2 2.6,3.62 2.83,5.9 0.25,2.5 1.2,6.2 -2.54,5.82zM442.89,82.15c-1.2,-0.68 -1.45,-4.35 -0.6,-5.4 1.18,-1.47 6.07,-1.6 6.4,0.25 0.22,1.16 -4.37,5.97 -5.8,5.15zM452.61,65.75c-0.6,2.42 -1,5.7 -3.88,6.2 -2.05,0.34 -4.25,-1.58 -4.45,-3.94 -0.3,-3.65 3.03,-3.6 5.06,-4.4 1.97,-0.14 3.82,-0.04 3.27,2.16zM447.71,58.81c-4.12,1.94 -3.15,-2.85 -3.13,-4.85 0.02,-1.78 -1.6,-5.34 2.1,-4.7 3.42,0.56 7.03,3.04 7.1,6.83 0.04,3.96 -3.94,1.73 -6.08,2.73zM454.51,75.25c-0.13,-4.13 1.48,-5.82 4,-7 0.8,3.95 1.25,5.82 -4,7z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/errorphant_error.xml"
line="128"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (2380 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M340.08,43.43c6.84,-1.48 13.62,-3.16 20.66,-2.8 10.37,0.56 16.8,5.47 19.23,14.64 1.8,6.87 -1.47,11.84 -6.2,16 -2.7,2.4 -3.43,3.6 0.04,6.07 17.86,12.64 25.78,30.78 28.55,51.86 0.65,4.88 5.2,7.9 7.9,11.8 8.66,12.62 15.85,25.7 16.86,41.4 0.4,6.03 -1.05,11.48 -4.56,16.29 -1.45,1.97 -1.8,3.8 -1.27,6.06 1.55,6.5 -0.46,12.4 -3.57,17.9 -3.05,5.4 -7.76,7.14 -14.54,5.33 -3.03,-0.82 -3.9,0 -4.27,2.72 -0.84,6.16 -1.62,12.34 -2.67,18.47 -0.52,3 0.2,6.4 2.47,7.7 8.98,5.22 24.9,-2.13 35.84,-13.28 3.33,-3.38 9.7,-0.18 11.84,4.17 5.44,11.05 2.95,26.28 -5.4,35.32 -6.07,6.55 -17.98,16.66 -28.66,19.96 -2.6,0.8 1.35,6.88 2.37,9.8 3.28,9.44 5.6,19.13 8.1,28.77 0.87,3.37 0.04,5.58 -2.55,8.15 -8.35,8.3 -19,12.35 -29.48,16.6 -3.2,1.3 -3.22,2.14 -2,4.85 1.2,2.72 3.42,4.77 4.38,7.67 1.25,3.8 2.8,7.57 -0.43,10.96 -3.34,3.5 -7.64,4.6 -12.4,3.9 -3.47,-0.5 -6.3,-2.4 -9.2,-4.54 -1.5,9.4 -3.1,18.35 -4.34,27.37 -0.5,3.76 -1.5,7.32 -2.77,10.82 -0.75,2.1 -0.95,3.55 1.77,4.13 4.28,0.9 11.28,4.93 15,6.37 18.76,7.22 30.46,21.74 15.83,33.4 -13.17,10.5 -55.44,18.73 -80.1,22.87 -28.28,4.73 -94.9,-1.1 -110.73,-2.64 -23.76,-2.28 -47.1,-6.92 -70.17,-12.83 -7.97,-2.04 -15.74,-4.92 -23.56,-7.53 -7.15,-2.38 -12.6,-7.4 -17.87,-12.42 -4.15,-3.94 -3.2,-9.32 1.2,-12.9 7.2,-5.9 15.58,-8.94 24.5,-10.8 2.94,-0.63 4.5,-1.58 4.66,-5.06 0.38,-7.64 2.28,-15.1 3.9,-22.54 0.54,-2.5 0.16,-3.97 -2.02,-5.47 -12.7,-8.7 -24.6,-19.2 -29.45,-33.8 -1.9,-5.7 -0.42,-7.23 -4.76,-0.17 -4.36,7.08 -12.4,10.56 -21.1,15.42 -2,0.73 -1.63,2.34 -1.14,3.92 2.64,8.63 -0.4,15.6 -6.52,21.5 -3.2,3.1 -7.1,4.73 -11.52,2.93 -4.25,-1.72 -6,-5.4 -6,-9.7 0,-3.2 -0.9,-3.85 -4.08,-3.45 -6.15,0.77 -8.33,-3.2 -8.35,-9.54 -0.02,-3.7 1.58,-8.67 3.28,-10.26 2.34,-2.2 2,-2.9 -1.76,-5.8 -3.44,-2.66 1.53,-13.03 6.32,-14.9 5.26,-2.08 10.73,-2.6 15.73,0.56 2.3,1.44 3.8,1.1 5.8,-0.23 11.36,-7.38 17.37,-17.8 18.6,-31.25 1.08,-12.07 1.5,-24.15 2.67,-36.24 2.57,-26.28 9.53,-50 24.42,-71.86 9.14,-13.44 18.45,-26.58 30.06,-38 3.15,-3.1 6.58,-5.63 10.8,-7.15 2.5,-0.9 3.5,-2.1 0.7,-4.5 -5.93,-5.13 -6.55,-9.1 -2.78,-16.57 5.93,-11.74 13.8,-22.14 22.52,-31.94 22.3,-25.12 49.2,-44.27 78.63,-60.06 2.86,-1.54 3.8,-2.97 2.53,-6.17 -3.36,-8.43 -3.67,-16.9 -0.03,-25.45 4.4,-10.3 12.12,-15.77 23.13,-15.68 9.7,0.07 16.74,5.4 21.1,13.83 1.66,3.17 2.4,3.92 4.82,0.8 7.7,-9.94 18.35,-12.23 30.12,-11 10.46,1.1 16.24,12.3 11.35,21.7 -0.7,1.33 -1.85,2.5 -1.44,4.5z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/errorphant_offline.xml"
line="14"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1443 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M405.28,504.42c-2.15,-0.07 -4.6,-2.17 -6.58,-4.97 -7.06,-9.93 -10.6,-18.1 -16.95,-28.33 -2,-3.2 -0.6,-6.08 2.34,-7.93 4.3,-2.72 3.24,-4.92 -0.2,-7.4 -5.8,-4.15 -10.93,-9.07 -16.15,-13.93 -5.18,-4.84 -6.54,-10.5 -4.56,-16.73 2.86,-9 6.4,-17.82 9.8,-26.67 1.15,-3.04 2.94,-4.28 6.62,-2.8 10.5,4.2 21.18,7.97 31.83,11.8 4.2,1.52 5.05,3.54 2.2,7.32 -2.97,3.95 -7.53,8.24 -7.6,12.46 -0.1,4.9 7.12,5.92 10.9,8.96 4.64,3.74 6.55,7.12 4.83,13.24 -4.62,16.42 -8.58,33.02 -12.82,49.55 -0.58,2.26 -0.84,4.82 -3.68,5.42zM471.96,422.6c17.67,1.02 17.95,-0.12 14.5,17.04 -1.83,9.04 -3.97,18.03 -5.53,27.1 -0.8,4.7 -3.9,8.87 -8.54,7.78 -10.8,-2.54 -12.4,-6.2 -19.87,10.08 -1.28,2.8 -3.26,12.98 -10,12.97 -3.64,0 -4.74,-3.66 -5.3,-6.76 -1.42,-7.67 -3.84,-25 -4.05,-25.9 -2.27,-9.63 -3.25,-11.82 8.96,-14.76 3.24,-0.78 3.46,-2.55 3.32,-5.1 -0.27,-4.73 -0.4,-9.46 -0.73,-14.18 -0.3,-4.47 1.86,-6.08 6.1,-6.86 7.96,-1.47 14.5,-1.8 21.13,-1.4zM384.9,509.3c-0.2,1.8 0.3,3.7 -1.74,4.45 -1.47,0.52 -2.74,-0.13 -3.86,-1.16 -0.87,-0.8 -1.8,-1.53 -2.74,-2.26 -3.17,-2.5 -6.08,-6.43 -9.6,-7.08 -4.37,-0.8 -5.5,4.9 -8.05,7.73 -3.36,3.76 -6,1.15 -8.5,-0.84 -5.84,-4.68 -8.92,-11.6 -13.57,-17.3 -4.62,-5.66 -9.26,-11.4 -12.23,-18.28 -1.5,-3.48 -1.55,-6.08 1.2,-8.93 5.18,-5.4 11.7,-8.85 18.06,-12.46 3.04,-1.74 6.48,-0.93 8.03,3.2 0.82,2.2 2.07,4.25 3.13,6.36 1.7,3.36 2.58,8.2 5.3,9.66 2.7,1.46 5.6,-3.3 8.74,-4.76 4.2,-1.97 6.78,-0.52 8.22,3.65 4.24,12.4 5.43,25.4 7.6,38z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/errorphant_offline.xml"
line="24"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (4131 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M309.5,413.94c-3.87,0.1 -6.45,2.94 -9.34,4.83 -17.03,11.15 -35.34,18.28 -55.9,18.72 -5.75,0.12 -11.5,-0.2 -17.05,-2.1 -2.56,-0.88 -3.83,-2.15 -3.78,-5 0.13,-6.13 -1.2,-12.08 -2.72,-17.97 -0.45,-1.77 -1.34,-3.48 -2.3,-5.06 -0.6,-1.02 -1.66,-2.07 -3.1,-1.24 -1.33,0.77 -1.75,1.8 -1.3,3.52 2.83,10.93 1.48,21.9 0.12,32.87 -0.2,1.65 -1.24,2.38 -2.65,2.9 -7.22,2.65 -13.3,6.32 -13.45,15.24 -0.02,0.84 -0.34,1.5 -1.3,1.66 -1.1,0.16 -1.74,-0.42 -2.22,-1.3 -1.18,-2.2 -2.24,-4.44 -3.94,-6.33 -3.93,-4.36 -6.72,-4.9 -11.86,-2.13 -2.92,1.6 -5.4,3.62 -6.9,6.73 -0.58,1.24 -0.52,3.34 -2.9,2.95 -2.17,-0.36 -4.15,-0.6 -5.06,-3.27 -0.84,-2.44 -1.6,-4.95 -3.57,-7 -6.6,-6.84 -12.28,-7.2 -19.33,-0.9 -3.77,3.35 -4.7,3.26 -7.7,-0.93 -1.47,-2.07 -2.2,-4.4 -2.3,-6.98 -0.5,-13.3 0.3,-26.45 5.03,-39.1 0.8,-2.14 -3.3,-6.3 -8.4,-10.03 -9.7,-7.05 -19.72,-18.28 -25.2,-30.94 -1.97,-4.54 -3.15,-13.82 -5.52,-13.86 -1.5,-0.03 -3,6.1 -4.4,8.74 -5.24,9.93 -15.64,13.7 -24.34,19.95 -2.4,1.73 -4.68,0.87 -6.15,-1.87 -2.7,-5.04 -1.26,-9 3.44,-12.1 13.66,-8.98 21.7,-21.55 22.36,-38.14 0.8,-20.28 2.94,-40.34 8.24,-60 6.3,-23.35 16.82,-44.46 32.98,-62.64 4.75,-5.34 8.53,-11.54 14.2,-16.1 1.77,-1.43 3.6,-2.8 6.25,-4.88 -0.8,5.58 -1.58,10.1 -2.08,14.62 -0.84,7.7 3.3,13.64 10.76,14.8 3.47,0.55 3.67,1.72 3.45,4.85 -0.62,8.83 0.8,17.48 8.52,22.98 7.26,5.17 15.44,6.67 23.63,1.6 2.48,-1.52 2.93,0.27 3.74,1.73 6.48,11.82 15.54,21.3 26.44,29.1 0.63,0.45 1.17,1.1 1.86,1.4 2.4,1.05 4.56,-0.35 5.75,-1.8 1.13,-1.4 -0.93,-2.7 -2.18,-3.52 -11,-7.3 -18.04,-17.88 -24.32,-29.1 -2.2,-3.97 -3.03,-7.74 -0.56,-12.28 6.58,-12.12 9.08,-25.38 9.57,-39.06 0.04,-0.93 0.1,-1.88 -0.04,-2.8 -0.18,-1.3 -0.8,-2.5 -2.22,-2.63 -1.25,-0.13 -1.94,0.87 -2.28,1.97 -0.5,1.63 -1.17,3.26 -1.33,4.94 -1.3,14.1 -6.95,26.77 -13.2,39.16 -4.6,9.12 -13.63,11.57 -20.37,6.05 -3.15,-2.58 -4,-6.26 -4.68,-9.9 -0.7,-3.82 -1.34,-7.73 -1.24,-11.58 0.13,-4.95 -2.83,-6.93 -6.73,-7.34 -5.1,-0.53 -6.52,-3.4 -6.6,-7.84 -0.13,-7.76 2.36,-15.05 4.18,-22.43 1.62,-6.58 1.52,-7.28 -4.45,-10.3 -3.03,-1.53 -1.86,-4.2 -1.12,-6.13 1.78,-4.64 3.63,-9.36 6.26,-13.55 7.02,-11.2 14.6,-21.97 24.63,-30.9 16.75,-14.9 33.9,-29.3 53.54,-40.22 6.14,-3.4 12.3,-6.86 18.56,-10.1 2.4,-1.23 1.5,-3.07 1.22,-4.85 -1.08,-7.2 -3.98,-14.1 -2.87,-21.62 2.04,-13.8 10.8,-18.3 22.52,-16 7.66,1.53 11.43,9.06 14.18,16.2 0.8,2.1 0.36,5.04 3.28,5.63 3.02,0.6 4.84,-1.44 6.45,-3.72 3.27,-4.64 7.42,-8.46 12.2,-11.44 6.52,-4.06 13.5,-3.1 20.26,-0.7 3.2,1.13 4,6.4 1.52,9.78 -2.07,2.82 -3.33,5.92 -4.7,9.04 -1.56,3.62 -0.66,5.12 3.37,4.33 7.17,-1.4 14.35,-2.44 21.63,-3.2 5.6,-0.6 10.22,1.23 14.48,4.06 4.25,2.85 2.3,13.23 -2.84,16.8 -5.27,3.67 -5.47,5.68 -0.85,9.95 9.53,8.8 18.57,17.83 23.7,30.2 2.97,7.22 3.93,14.72 5.15,22.2 1.8,11.08 2.67,22.32 1.86,33.52 -0.4,5.8 -0.65,11.78 -2.6,17.4 -1.67,4.87 -0.9,9.9 -0.96,14.84 -0.22,17.26 -1.04,34.42 -3.84,51.54 -2.85,17.4 -6.84,34.4 -11.87,51.3 -5.1,17 -6.27,34.65 -4.46,52.25 0.83,8.02 2.4,16.42 9.23,22.3 0.8,0.7 1.22,1.8 1.76,2.74 1.26,2.2 3.94,4.33 1.67,7.03 -2.07,2.46 -5.18,1.78 -7.9,1.07 -1.45,-0.37 -2.75,-1.38 -4.06,-2.2 -4.9,-3.05 -10.4,-2.58 -14.56,1.34 -1.25,1.17 -2.4,2.46 -3.66,3.6 -1.43,1.3 -2.72,3.8 -4.93,2.56 -1.94,-1.1 -0.64,-3.44 -0.32,-5.2 0.43,-2.27 -0.6,-3.9 -1.94,-5.5 -2.5,-2.96 -4.73,-6.28 -7.65,-8.78 -7,-5.97 -11.13,-13.77 -14.66,-21.9 -3.86,-8.86 -10.1,-16.45 -13.13,-26.13 5.28,-0.78 10.92,-1.33 16.44,-2.48 13.84,-2.9 24.47,-9.7 28.55,-24.22 1.2,-4.32 1.2,-8.65 0.53,-12.96 -0.8,-5.2 -6.34,-8.24 -11.46,-7.1 -13.87,3.05 -27.7,5.82 -41.58,-0.6 -8.8,-4.05 -12.52,-12.2 -17.24,-19.57 -1.2,-1.86 1.15,-3.64 2.17,-5.33 5.57,-9.25 -0.1,-21.56 -10.14,-21.93 -1.08,-0.04 -2.16,0.18 -3.23,0.35 -2.1,0.32 -3.64,1.54 -3.57,3.65 0.08,2.65 2.33,1.85 3.93,1.88 6.58,0.1 8.67,2.55 7.87,9.66 -7.32,-7.13 -14.85,-4.88 -22.26,-0.57 -10.73,6.25 -18.93,14.95 -17.3,28.02 1.53,12.18 7.25,23.1 16.8,31.52 8.72,7.7 18.46,13.6 29.6,17.1 3.44,1.1 7.03,1.16 10.58,1.55 2.46,0.27 3.95,1.04 4.84,3.9 1.32,4.27 3.43,8.4 5.82,12.2 4.5,7.13 8.5,14.5 11.38,22.4 2.88,7.9 8.38,13.7 14.3,19.27 1.56,2.64
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<location
file="src/main/res/drawable/errorphant_offline.xml"
line="34"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1006 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M312.62,450.27c-2.06,-0.46 -5.12,0.7 -5.7,-1.1 -0.82,-2.5 2.33,-3.64 4.03,-5 3.94,-3.15 6.66,-2.98 8.7,0.15 2.13,3.22 1.33,5.05 -2.53,5.63 -1.53,0.23 -3.1,0.22 -4.5,0.32zM157.95,460.62c-5.3,-0.4 -9.72,-1.5 -14.06,-2.98 -2.02,-0.67 -1.86,-1.5 -0.45,-2.87 4.25,-4.1 8.5,-3.86 11.94,0.94 0.94,1.33 1.52,2.9 2.55,4.92zM174.74,463.44c1.64,-3.02 2.93,-4.8 5.17,-5.88 4.1,-1.94 7.56,-0.25 8.52,4.18 0.42,1.9 -0.87,1.67 -1.87,1.68 -3.67,0.06 -7.34,0.02 -11.8,0.02zM336.16,448.93c1.17,-5.2 4.6,-7.28 9.25,-7.9 0.8,-0.1 1.53,0.08 2.07,0.75 0.48,0.62 0.23,1.2 -0.2,1.63 -3.03,2.96 -5.6,6.8 -11.1,5.53zM391.76,359.1c-3.24,1.28 -6.07,1.93 -8.98,0.53 -0.94,-0.45 -2.2,-0.8 -1.97,-2.2 0.18,-1.06 1.22,-1.28 2.12,-1.5 3.43,-0.87 6.42,-0.48 8.84,3.18zM406.75,352.33c0,-5.14 1.85,-7.8 5.74,-8.94 0.8,-0.24 1.93,-0.62 2.46,0.5 0.4,0.8 -0.26,1.53 -0.8,2.02 -2.18,1.95 -4.42,3.83 -7.4,6.4zM209.56,454.67c-0.23,2.68 -3.84,6.76 -5.77,6.53 -1,-0.12 -1.2,-0.7 -1.16,-1.6 0.1,-1.9 4.42,-6.72 5.9,-6.55 1.04,0.12 1.15,0.78 1.02,1.62z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/errorphant_offline.xml"
line="64"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1039 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M392.36,474.27c-1.67,-3.3 -3.37,-5.32 2.46,-9.24 4.87,-3.28 3.88,-4.96 0.05,-8.64 -6.18,-5.92 -13.7,-11.35 -19.86,-16.35 -4.12,-3.36 -5.04,-8.04 -3.25,-12.74 1.84,-4.86 3.3,-9.92 4.43,-15 0.88,-3.92 1.57,-9.7 13.2,-4.5 16.55,7.4 13.85,9.62 8.22,20.8 -3.05,6.05 -2.17,9.5 4.6,11.84 9.85,4.25 12.58,6.6 11.1,14.06 -2.53,12.68 -7.05,41.66 -9.94,41.67 -2.45,0 -7.93,-15.82 -11,-21.9zM443.2,491.03c-2.34,-0.08 -2.85,-19.2 -3.6,-25.64 -0.4,-3.54 3.07,-6.3 5.6,-6.9 10.02,-2.28 10.67,-0.48 8.92,-10.75 -0.12,-0.7 -0.34,-1.38 -0.45,-2.08 -1.47,-9.52 -1,-11.12 8.5,-12.67 16.6,-2.7 17.4,-0.98 14.57,15.65 -0.7,4.2 -1.68,8.4 -2.1,12.63 -0.45,4.57 -2.8,6.07 -7.07,5.62 -12.44,-1.3 -14.94,2.13 -18.24,11.3 -0.83,2.32 -4.22,12.9 -6.12,12.83zM380.22,506.38c-2.67,1.2 -10.35,-9.17 -13.22,-10.96 -1.65,-1.02 -5.03,-2.06 -10.26,7.06 -1.2,2.94 -2.98,1.02 -4.18,-0.6 -6.08,-8.14 -12.07,-16.36 -18.26,-24.42 -2.83,-3.67 -5.9,-6.33 2.7,-11.64 9.4,-5.8 9.5,-5.05 16.23,9.2 3.83,8.1 6.77,9.04 12.77,3.96 2.78,-2.24 4.18,-1.42 5.24,1.4 2.14,5.7 11.4,24.9 8.98,26z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/errorphant_offline.xml"
line="74"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1618 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M210.54,346.53c-1.04,-10.87 -1.55,-21.76 -1,-32.67 0.3,-6.02 0.06,-12.27 3.43,-17.66 0.7,-1.14 0.3,-4.48 3.4,-2.9 2.4,1.2 3.74,3.16 2.36,5.73 -3.3,6.14 -2.77,12.68 -2.3,19.18 0.75,10.23 1.36,20.45 1.57,30.7 0.13,6.7 -1.3,13.33 -2.94,19.6 -1.1,4.25 -6.76,6.1 -11.14,7.7 -14.25,5.15 -28.7,4.03 -43.18,1.05 -4.4,-0.9 -8.8,-1.9 -13.13,-3.14 -12.8,-3.64 -21.36,-14.9 -22.23,-29.2 -1.33,-21.93 3.8,-42.26 15.37,-60.96 2.07,-3.34 4.55,-6.32 7.7,-8.7 1.12,-0.88 2.48,-1.9 3.7,-0.52 1.15,1.3 0.18,2.68 -0.76,3.74 -11.3,12.77 -15.1,28.64 -18.66,44.64 -2.04,9.1 -0.17,17.94 1.43,26.8 0.28,1.57 1,2.22 2.96,1.74 10.44,-2.54 18.43,3.77 19.02,14.98 0.1,2.15 -0.02,3.95 2.7,4.6 2.68,0.6 3.1,-1.24 3.93,-2.92 4.6,-9.3 13.3,-10.46 20.12,-2.64 1.32,1.5 2.54,3.24 3.26,5.08 1.04,2.65 2.88,2.18 4.92,2 2.46,-0.2 1.8,-1.85 1.96,-3.36 0.86,-7.92 7.08,-13.4 14.82,-12.84 2.32,0.17 2.73,-0.7 2.72,-2.53 0,-2.5 0,-4.98 0,-7.47zM308.06,332.2c-0.12,6.25 -2.05,10.53 -6.22,13.6 -1.52,1.1 -3.7,2.1 -5.26,1.3 -4.14,-2.1 -6.18,-0.1 -8.64,2.88 -3.26,3.96 -7.98,4.98 -12.76,3.6 -4.4,-1.26 -5.85,-5.44 -6.63,-9.4 -0.6,-3 -1.15,-3.68 -4.4,-2.7 -9.76,2.93 -14.16,-1.63 -12,-11.66 1,-4.58 2.56,-8.65 6.57,-11.36 1.13,-0.77 2.5,-1.76 3.74,-0.3 1,1.17 0.15,2.4 -0.62,3.36 -2.62,3.28 -3.73,7.05 -4.08,11.2 -0.23,2.62 0.6,3.44 3.14,2.85 2,-0.47 3.8,-1.23 5.64,-2.13 5.07,-2.5 7.27,-1.12 7.55,4.4 0.08,1.86 0.33,3.73 0.8,5.5 1.24,4.95 4.83,5.96 8.48,2.23 1.82,-1.86 3.06,-4.3 4.58,-6.44 1.9,-2.7 4,-3.1 6.62,-0.78 3.23,2.9 4.34,2.52 6.06,-1.47 0.78,-1.8 0.67,-3.66 0.7,-5.5 0,-2.2 0.3,-4.33 2.96,-4.42 2.47,-0.08 3.38,1.84 3.66,4.04 0.1,0.77 0.13,1.54 0.1,1.2z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/errorphant_offline.xml"
line="79"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (2458 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M189.06,292.78c1.26,-4.3 3.43,-8.9 6.02,-13.28 0.6,-1 1.7,-1.37 2.85,-0.8 1.37,0.66 2.28,1.83 1.88,3.35 -1.2,4.63 -2.33,9.3 -4.73,13.5 -0.8,1.4 -2.04,2.48 -3.84,1.68 -1.57,-0.7 -2.17,-2.1 -2.17,-4.45zM198.63,185.98c-0.63,4.92 -2.85,9.2 -4.9,13.5 -0.66,1.33 -2.2,1.65 -3.68,1 -1.26,-0.58 -1.86,-1.58 -1.68,-3 0.62,-4.82 2.53,-9.23 4.37,-13.64 0.58,-1.4 1.85,-2.1 3.42,-1.76 2.12,0.5 2.25,2.3 2.47,3.9zM182.57,137.72c-2.2,-0.14 -3.55,-1.7 -2.52,-4 2.05,-4.5 4.26,-9 8.27,-12.18 1.23,-0.97 2.72,-1.88 4.22,-0.62 1.46,1.23 1.03,2.8 0.14,4.2 -2.14,3.43 -4.27,6.86 -6.46,10.25 -0.75,1.17 -1.6,2.33 -3.65,2.35zM129.1,250.15c1.57,-3.46 2.86,-7.78 5.6,-11.37 0.87,-1.13 2.3,-1.77 3.74,-1 1.53,0.85 2.22,2.4 1.6,3.97 -1.57,4.02 -3.28,8 -5.15,11.87 -0.62,1.28 -2.08,2 -3.6,1.42 -1.85,-0.7 -2.23,-2.38 -2.2,-4.9zM104.77,259.68c1.02,-4.7 3.63,-8.9 6.3,-13.1 0.7,-1.1 2.08,-1.3 3.35,-0.68 1.3,0.64 1.7,1.9 1.44,3.15 -1,5.1 -3.78,9.45 -6.2,13.92 -0.62,1.14 -2.1,1.3 -3.34,0.63 -1.46,-0.77 -1.5,-2.22 -1.55,-3.92zM196.4,405.28c0.33,-2.06 -0.65,-5.15 2.86,-5.25 3,-0.1 3.44,2.43 3.8,4.9 0.45,3.2 1.3,6.35 1.77,9.56 0.22,1.56 -0.16,3.2 -2.06,3.7 -1.83,0.46 -2.9,-0.64 -3.7,-2.1 -1.82,-3.35 -2.6,-6.95 -2.66,-10.82zM179.67,166.87c0.44,-5.7 2.9,-9.64 5.6,-13.45 0.94,-1.34 2.5,-1.94 4.1,-1.02 1.45,0.83 1.62,2.32 1.07,3.68 -1.54,3.88 -3.14,7.75 -4.92,11.52 -0.7,1.5 -2.18,2.23 -3.92,1.72 -1.65,-0.48 -1.94,-1.82 -1.93,-2.45zM189.68,317.63c-0.5,3.56 -0.88,7.1 -1.57,10.57 -0.33,1.66 -1.24,3.36 -3.44,3.03 -1.94,-0.3 -2.9,-1.72 -3.07,-3.58 -0.45,-4.6 1.1,-8.85 2.43,-13.12 0.48,-1.52 1.94,-1.97 3.45,-1.5 2.4,0.72 1.8,2.93 2.2,4.6zM130.33,224.68c-2.6,-0.24 -3.46,-1.8 -2.67,-3.9 1.44,-3.83 3.92,-7.07 6.97,-9.77 1.3,-1.13 3.18,-1.62 4.7,-0.2 1.46,1.4 1.22,3.15 0.2,4.7 -1.55,2.33 -3.16,4.63 -4.87,6.84 -1.1,1.4 -2.68,2.08 -4.33,2.34zM169.37,397.9c0,-1.08 -0.06,-2.17 0.02,-3.25 0.07,-1.35 0.73,-2.4 2.1,-2.73 1.48,-0.36 2.36,0.6 2.94,1.74 1.9,3.8 2.58,7.94 2.93,12.12 0.12,1.52 -0.92,2.72 -2.54,2.78 -1.8,0.08 -3.44,-0.6 -4.08,-2.46 -0.92,-2.64 -1.56,-5.36 -1.38,-8.2zM117.86,285.05c-0.43,3.52 -2.02,6.88 -3.73,10.17 -0.63,1.2 -1.73,2.28 -3.42,1.68 -1.5,-0.54 -2.22,-1.76 -2.12,-3.26 0.3,-4.27 2.1,-8.04 4.38,-11.56 0.74,-1.13 2.13,-1.3 3.38,-0.83 1.64,0.63 1.5,2.15 1.52,3.8zM175.57,295.8c-1.7,4.22 -3.23,8.28 -5,12.25 -0.47,1.1 -1.8,1.05 -2.93,0.7 -1.17,-0.34 -2.04,-1.23 -1.84,-2.38 0.78,-4.43 1.38,-8.97 4.38,-12.62 0.95,-1.15 2.26,-1.74 3.74,-0.86 1.15,0.68 1.8,1.7 1.65,2.9z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/errorphant_offline.xml"
line="109"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1064 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M288.17,570.5c-12.3,0 -24.53,-1.8 -35.3,-6.22 -2.82,-1.16 -8.25,-3.4 -13.7,-7.3 -9.7,-1.62 -19.28,-4.92 -27.95,-9.94 -17.26,-10 -34.4,-25.67 -48.2,-38.26 -3.87,-3.54 -7.52,-7.78 -10.6,-10.45 -11.05,-9.57 -41.26,-24.33 -63.54,-24.33 -0.05,0 -0.1,0 -0.13,0 -21.1,0 -49.48,10.67 -61.18,26.37 -1.56,2.08 -5.9,5.54 -11.53,3.2 -6.9,-2.9 -7.12,-8.33 -5.3,-12.35C18.97,472.94 62.47,456 88.7,456c0.06,0 0.1,0 0.16,0 25.63,0 60.5,15.28 75.8,28.55 3.27,2.82 7.02,6.52 11,10.15 13.1,11.98 29.42,27.04 44.93,36 0.98,0.6 2,1.2 3,1.7 -2.25,-19.02 8.88,-44.9 38.96,-54.04 12.8,-3.88 25.97,2.37 34.4,16.27 9.1,14.93 14,33.56 0.5,47.4 -3.85,3.93 -8.5,7.16 -13.73,9.66 16.06,0.66 33,-2.57 45.4,-6.66 5.04,-1.65 14.67,-5.88 18.98,-7.65 5.9,-2.44 9.57,-3.24 14.94,-4.05 5.32,-0.8 7.05,12.32 5.2,15.9 -0.56,1.08 -8.24,3.48 -11.37,4.67 -1.68,0.64 -16.2,7.03 -21.88,8.9 -13.27,4.37 -30.1,7.67 -46.83,7.67zM246.81,539.1c14.85,1.46 29.3,-1.97 37.26,-10.14 6.54,-6.7 2.2,-16.86 -3.07,-25.54 -1.46,-2.37 -6.66,-9.04 -13,-7.12 -21.37,6.48 -27.76,24.98 -25.65,34.94 0.6,2.9 2.06,5.48 4.46,7.85z&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/errorphant_offline.xml"
line="133"
column="27"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (1757 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" android:pathData=&quot;M8.9987,3.9987C6.7925,3.9987 5,5.7913 5,7.9975C5,10.21 6.7925,12.0025 8.9987,12.0025C11.2113,12.0025 12.9975,10.21 12.9975,7.9975C12.9975,5.7913 11.2113,3.9987 8.9987,3.9987ZM8.9987,13.9987C6.3288,13.9987 1.0013,15.3325 1.0013,17.9975L1.0013,20L12.08,20C12.0262,19.6675 12.0025,19.3362 12.0025,18.9988C12.0025,17.485 12.495,16.0113 13.4087,14.8C11.88,14.2775 10.1813,13.9987 8.9987,13.9987ZM17.9887,13.9987C17.8712,13.9987 17.7588,14.0912 17.7388,14.2087L17.5487,15.5275C17.2512,15.6588 16.9575,15.82 16.6988,16.02L15.4587,15.5175C15.3512,15.4787 15.22,15.5225 15.1512,15.63L14.15,17.3587C14.0913,17.4713 14.1112,17.5975 14.2087,17.6812L15.2688,18.5113C15.2487,18.6712 15.2388,18.8275 15.2388,18.9988C15.2388,19.17 15.2487,19.3312 15.2688,19.4925L14.2087,20.3225C14.1212,20.4 14.0913,20.5325 14.15,20.64L15.1512,22.3687C15.21,22.48 15.3413,22.52 15.4587,22.48L16.6988,21.9825C16.9575,22.1825 17.2412,22.3488 17.5487,22.4713L17.7388,23.7888C17.7588,23.9113 17.8612,23.9988 17.9887,23.9988L19.99,23.9988C20.1123,23.9988 20.22,23.9113 20.2393,23.7888L20.4297,22.4713C20.7275,22.3387 21.0205,22.1825 21.27,21.9825L22.52,22.48C22.6312,22.52 22.7588,22.48 22.8325,22.3687L23.8288,20.64C23.8913,20.5325 23.8575,20.4 23.77,20.3225L22.7002,19.4925C22.72,19.3312 22.7393,19.17 22.7393,18.9988C22.7393,18.8275 22.7295,18.6712 22.7002,18.5113L23.76,17.6812C23.8475,17.5975 23.8812,17.4713 23.8188,17.3587L22.8225,15.63C22.7588,15.5225 22.6312,15.4787 22.51,15.5175L21.27,16.02C21.0107,15.82 20.7275,15.65 20.42,15.5275L20.2295,14.2087C20.22,14.0912 20.1123,13.9987 19.99,13.9987M18.9888,17.5C19.8188,17.5 20.4888,18.1687 20.4888,18.9988C20.4888,19.8288 19.8188,20.4975 18.9888,20.4975C18.1588,20.4975 17.49,19.8288 17.49,18.9988C17.49,18.1687 18.1588,17.5 18.9888,17.5Z&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/ic_account_settings.xml"
line="10"
column="27"/>
</issue>
<issue
id="Overdraw"
message="Possible overdraw: Root element paints background `@color/black` with a theme that also paints a background (inferred theme is `@style/AppTheme`)"
errorLine1=" android:background=&quot;@color/black&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/activity_view_media.xml"
line="6"
column="5"/>
</issue>
<issue
id="Overdraw"
message="Possible overdraw: Root element paints background `?android:attr/colorBackground` with a theme that also paints a background (inferred theme is `@style/AppTheme`)"
errorLine1=" android:background=&quot;?android:attr/colorBackground&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/fragment_timeline_notifications.xml"
line="23"
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/AppTheme`)"
errorLine1=" android:background=&quot;?attr/selectableItemBackground&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_account.xml"
line="8"
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/AppTheme`)"
errorLine1=" android:background=&quot;?attr/selectableItemBackground&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_draft.xml"
line="8"
column="5"/>
</issue>
<issue
id="Overdraw"
message="Possible overdraw: Root element paints background `?attr/selectableItemBackgroundBorderless` with a theme that also paints a background (inferred theme is `@style/AppTheme`)"
errorLine1=" android:background=&quot;?attr/selectableItemBackgroundBorderless&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_emoji_button.xml"
line="4"
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/AppTheme`)"
errorLine1=" android:background=&quot;?attr/selectableItemBackground&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_emoji_pref.xml"
line="7"
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/AppTheme`)"
errorLine1=" android:background=&quot;?attr/selectableItemBackground&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_hashtag.xml"
line="16"
column="5"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.menu.activity_scheduled_status` appears to be unused"
errorLine1="&lt;menu xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2="^">
<location
file="src/main/res/menu/activity_scheduled_status.xml"
line="19"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.color.md_theme_light_shadow` appears to be unused"
errorLine1=" &lt;color name=&quot;md_theme_light_shadow&quot;>#000000&lt;/color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/colors.xml"
line="31"
column="12"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.color.md_theme_light_surfaceTint` appears to be unused"
errorLine1=" &lt;color name=&quot;md_theme_light_surfaceTint&quot;>#006686&lt;/color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/colors.xml"
line="32"
column="12"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.color.md_theme_light_outlineVariant` appears to be unused"
errorLine1=" &lt;color name=&quot;md_theme_light_outlineVariant&quot;>#C0C7CD&lt;/color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/colors.xml"
line="33"
column="12"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.color.md_theme_light_scrim` appears to be unused"
errorLine1=" &lt;color name=&quot;md_theme_light_scrim&quot;>#000000&lt;/color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/colors.xml"
line="34"
column="12"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.color.md_theme_dark_shadow` appears to be unused"
errorLine1=" &lt;color name=&quot;md_theme_dark_shadow&quot;>#000000&lt;/color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/colors.xml"
line="61"
column="12"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.color.md_theme_dark_surfaceTint` appears to be unused"
errorLine1=" &lt;color name=&quot;md_theme_dark_surfaceTint&quot;>#6FD2FF&lt;/color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/colors.xml"
line="62"
column="12"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.color.md_theme_dark_outlineVariant` appears to be unused"
errorLine1=" &lt;color name=&quot;md_theme_dark_outlineVariant&quot;>#40484C&lt;/color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/colors.xml"
line="63"
column="12"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.color.md_theme_dark_scrim` appears to be unused"
errorLine1=" &lt;color name=&quot;md_theme_dark_scrim&quot;>#000000&lt;/color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/colors.xml"
line="64"
column="12"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.color.icon_background` appears to be unused"
errorLine1=" &lt;color name=&quot;icon_background&quot;>#09497b&lt;/color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/colors.xml"
line="105"
column="12"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.color.icon_highlight` appears to be unused"
errorLine1=" &lt;color name=&quot;icon_highlight&quot;>#39acff&lt;/color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/colors.xml"
line="106"
column="12"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.dimen.status_detail_media_preview_height` appears to be unused"
errorLine1=" &lt;dimen name=&quot;status_detail_media_preview_height&quot;>130dp&lt;/dimen>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/dimens.xml"
line="8"
column="12"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.array.app_theme_values` appears to be unused"
errorLine1=" &lt;string-array name=&quot;app_theme_values&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/donottranslate.xml"
line="53"
column="19"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.array.filter_action_values` appears to be unused"
errorLine1=" &lt;string-array name=&quot;filter_action_values&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/donottranslate.xml"
line="294"
column="19"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.array.filter_context_values` appears to be unused"
errorLine1=" &lt;string-array name=&quot;filter_context_values&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/donottranslate.xml"
line="299"
column="19"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.drawable.elephant_friend` appears to be unused"
errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2="^">
<location
file="src/main/res/drawable/elephant_friend.xml"
line="1"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.menu.fragment_search` appears to be unused"
errorLine1="&lt;menu xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2="^">
<location
file="src/main/res/menu/fragment_search.xml"
line="19"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.drawable.ic_blobmoji` appears to be unused"
errorLine1="&lt;vector android:height=&quot;34dp&quot; android:viewportHeight=&quot;128&quot;"
errorLine2="^">
<location
file="src/main/res/drawable/ic_blobmoji.xml"
line="1"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.drawable.ic_emoji_34dp` appears to be unused"
errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2="^">
<location
file="src/main/res/drawable/ic_emoji_34dp.xml"
line="1"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.drawable.ic_notifications_off_24dp` appears to be unused"
errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2="^">
<location
file="src/main/res/drawable/ic_notifications_off_24dp.xml"
line="1"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.drawable.ic_notoemoji` appears to be unused"
errorLine1="&lt;vector android:height=&quot;34dp&quot;"
errorLine2="^">
<location
file="src/main/res/drawable/ic_notoemoji.xml"
line="1"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.drawable.ic_twemoji` appears to be unused"
errorLine1="&lt;vector android:height=&quot;34dp&quot; android:viewportHeight=&quot;36&quot;"
errorLine2="^">
<location
file="src/main/res/drawable/ic_twemoji.xml"
line="1"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.layout.item_emoji_pref` appears to be unused"
errorLine1="&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2="^">
<location
file="src/main/res/layout/item_emoji_pref.xml"
line="2"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.color.launcher_shadow_gradient` appears to be unused"
errorLine1="&lt;gradient xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2="^">
<location
file="src/main/res/color-v24/launcher_shadow_gradient.xml"
line="2"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.layout.material_drawer_header` appears to be unused"
errorLine1="&lt;merge xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2="^">
<location
file="src/main/res/layout/material_drawer_header.xml"
line="2"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.drawable.materialdrawer_shape_large` appears to be unused"
errorLine1="&lt;shape xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2="^">
<location
file="src/main/res/drawable/materialdrawer_shape_large.xml"
line="1"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.drawable.materialdrawer_shape_small` appears to be unused"
errorLine1="&lt;shape xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2="^">
<location
file="src/main/res/drawable/materialdrawer_shape_small.xml"
line="1"
column="1"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.error_no_web_browser_found` appears to be unused"
errorLine1=" &lt;string name=&quot;error_no_web_browser_found&quot;>Couldn\&apos;t find a web browser to use.&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="25"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.error_media_upload_type` appears to be unused"
errorLine1=" &lt;string name=&quot;error_media_upload_type&quot;>That type of file cannot be uploaded.&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="35"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.error_following_hashtags_unsupported` appears to be unused"
errorLine1=" &lt;string name=&quot;error_following_hashtags_unsupported&quot;>This instance does not support following hashtags.&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="45"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.post_sensitive_media_directions` appears to be unused"
errorLine1=" &lt;string name=&quot;post_sensitive_media_directions&quot;>Click to view&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="90"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.footer_empty` appears to be unused"
errorLine1=" &lt;string name=&quot;footer_empty&quot;>Nothing here. Pull down to refresh!&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="97"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.report_comment_hint` appears to be unused"
errorLine1=" &lt;string name=&quot;report_comment_hint&quot;>Additional comments?&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="109"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.action_unbookmark` appears to be unused"
errorLine1=" &lt;string name=&quot;action_unbookmark&quot;>Remove bookmark&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="117"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.action_view_domain_mutes` appears to be unused"
errorLine1=" &lt;string name=&quot;action_view_domain_mutes&quot;>Hidden domains&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="157"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.confirmation_reported` appears to be unused"
errorLine1=" &lt;string name=&quot;confirmation_reported&quot;>Sent!&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="217"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.dialog_title_finishing_media_upload` appears to be unused"
errorLine1=" &lt;string name=&quot;dialog_title_finishing_media_upload&quot;>Finishing Media Upload&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="250"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.dialog_message_uploading_media` appears to be unused"
errorLine1=" &lt;string name=&quot;dialog_message_uploading_media&quot;>Uploading…&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="251"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.pref_title_notification_filter_mentions` appears to be unused"
errorLine1=" &lt;string name=&quot;pref_title_notification_filter_mentions&quot;>mentioned&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="274"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.pref_title_post_filter` appears to be unused"
errorLine1=" &lt;string name=&quot;pref_title_post_filter&quot;>Timeline filtering&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="303"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.about_pachli_version` appears to be unused"
errorLine1=" &lt;string name=&quot;about_pachli_version&quot;>Pachli %s&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="373"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.filter_dialog_remove_button` appears to be unused"
errorLine1=" &lt;string name=&quot;filter_dialog_remove_button&quot;>Remove&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="425"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.download_fonts` appears to be unused"
errorLine1=" &lt;string name=&quot;download_fonts&quot;>You\&apos;ll need to download these emoji sets first&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="472"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.restart_required` appears to be unused"
errorLine1=" &lt;string name=&quot;restart_required&quot;>App restart required&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="476"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.restart_emoji` appears to be unused"
errorLine1=" &lt;string name=&quot;restart_emoji&quot;>You\&apos;ll need to restart Pachli in order to apply these changes&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="477"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.later` appears to be unused"
errorLine1=" &lt;string name=&quot;later&quot;>Later&lt;/string>"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="478"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.restart` appears to be unused"
errorLine1=" &lt;string name=&quot;restart&quot;>Restart&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="479"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.caption_systememoji` appears to be unused"
errorLine1=" &lt;string name=&quot;caption_systememoji&quot;>Your device\&apos;s default emoji set&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="480"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.caption_blobmoji` appears to be unused"
errorLine1=" &lt;string name=&quot;caption_blobmoji&quot;>The Blob emojis known from Android 4.47.1&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="481"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.caption_twemoji` appears to be unused"
errorLine1=" &lt;string name=&quot;caption_twemoji&quot;>Mastodon\&apos;s standard emoji set&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="482"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.caption_notoemoji` appears to be unused"
errorLine1=" &lt;string name=&quot;caption_notoemoji&quot;>Google\&apos;s current emoji set&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="483"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.download_failed` appears to be unused"
errorLine1=" &lt;string name=&quot;download_failed&quot;>Download failed&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="484"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.description_login` appears to be unused"
errorLine1=" &lt;string name=&quot;description_login&quot;>Works in most cases. No data is leaked to other apps.&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="550"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.description_browser_login` appears to be unused"
errorLine1=" &lt;string name=&quot;description_browser_login&quot;>May support additional authentication methods, but requires a supported browser.&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="551"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.filter_apply` appears to be unused"
errorLine1=" &lt;string name=&quot;filter_apply&quot;>Apply&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="564"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.compose_shortcut_long_label` appears to be unused"
errorLine1=" &lt;string name=&quot;compose_shortcut_long_label&quot;>Compose post&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="565"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.compose_shortcut_short_label` appears to be unused"
errorLine1=" &lt;string name=&quot;compose_shortcut_short_label&quot;>Compose&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="566"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.compose_preview_image_description` appears to be unused"
errorLine1=" &lt;string name=&quot;compose_preview_image_description&quot;>Actions for image %s&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="568"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.failed_report` appears to be unused"
errorLine1=" &lt;string name=&quot;failed_report&quot;>Failed to report&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="608"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.wellbeing_mode_notice` appears to be unused"
errorLine1=" &lt;string name=&quot;wellbeing_mode_notice&quot;>Some information that might affect your mental wellbeing will be hidden. This includes:\n\n"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="651"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.review_notifications` appears to be unused"
errorLine1=" &lt;string name=&quot;review_notifications&quot;>Review Notifications&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="657"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.action_unfollow_hashtag_format` appears to be unused"
errorLine1=" &lt;string name=&quot;action_unfollow_hashtag_format&quot;>Unfollow #%s?&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="689"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.hint_filter_title` appears to be unused"
errorLine1=" &lt;string name=&quot;hint_filter_title&quot;>My filter&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="717"
column="13"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.style.AppButton_TextButton_Icon` appears to be unused"
errorLine1=" &lt;style name=&quot;AppButton.TextButton.Icon&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/styles.xml"
line="129"
column="12"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.style.BezelImageView` appears to be unused"
errorLine1=" &lt;style name=&quot;BezelImageView&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/styles.xml"
line="173"
column="12"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setClickableTextWithoutUnderlines` of class `AboutActivityKt` requires synthetic accessor"
errorLine1=" binding.aboutLicenseInfoTextView.setClickableTextWithoutUnderlines(R.string.about_pachli_license)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/AboutActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="75"
column="9"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setClickableTextWithoutUnderlines` of class `AboutActivityKt` requires synthetic accessor"
errorLine1=" binding.aboutWebsiteInfoTextView.setClickableTextWithoutUnderlines(R.string.about_project_site)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/AboutActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="76"
column="9"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setClickableTextWithoutUnderlines` of class `AboutActivityKt` requires synthetic accessor"
errorLine1=" binding.aboutBugsFeaturesInfoTextView.setClickableTextWithoutUnderlines(R.string.about_bug_feature_request_site)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/AboutActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="77"
column="9"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `AccountActivity` requires synthetic accessor"
errorLine1=" binding.accountFloatingActionButton.show()"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/components/account/AccountActivity.kt"
line="380"
column="29"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `AccountActivity` requires synthetic accessor"
errorLine1=" binding.accountFloatingActionButton.hide()"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/components/account/AccountActivity.kt"
line="383"
column="29"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `AccountActivity` requires synthetic accessor"
errorLine1=" binding.accountAvatarImageView.scaleX = scaledAvatarSize"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/components/account/AccountActivity.kt"
line="389"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `AccountActivity` requires synthetic accessor"
errorLine1=" binding.accountAvatarImageView.scaleY = scaledAvatarSize"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/components/account/AccountActivity.kt"
line="390"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `AccountActivity` requires synthetic accessor"
errorLine1=" binding.accountAvatarImageView.visible(scaledAvatarSize > 0)"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/components/account/AccountActivity.kt"
line="392"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `AccountActivity` requires synthetic accessor"
errorLine1=" binding.swipeRefreshLayout.isEnabled = verticalOffset == 0"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/components/account/AccountActivity.kt"
line="402"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `fetchAccounts` of class `AccountListFragment` requires synthetic accessor"
errorLine1=" fetchAccounts(bottomId)"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/accountlist/AccountListFragment.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="145"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `showErrorSnackbar` of class `AccountPreferencesFragment` requires synthetic accessor"
errorLine1=" showErrorSnackbar(visibility, sensitive)"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/preference/AccountPreferencesFragment.kt"
line="326"
column="29"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `showErrorSnackbar` of class `AccountPreferencesFragment` requires synthetic accessor"
errorLine1=" showErrorSnackbar(visibility, sensitive)"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/preference/AccountPreferencesFragment.kt"
line="332"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getViewModel` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" viewModel.search(query.orEmpty())"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="118"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getViewModel` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" viewModel.search(&quot;&quot;)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="125"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `onRemoveFromList` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" onRemoveFromList(getItem(holder.bindingAdapterPosition).id)"
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="186"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getAnimateEmojis` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" holder.binding.displayNameTextView.text = account.name.emojify(account.emojis, holder.binding.displayNameTextView, animateEmojis)"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="196"
column="128"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getAnimateEmojis` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" holder.binding.displayNameTextView.text = account.name.emojify(account.emojis, holder.binding.displayNameTextView, animateEmojis)"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="196"
column="128"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getAnimateAvatar` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" loadAvatar(account.avatar, holder.binding.avatar, radius, animateAvatar)"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="198"
column="71"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getRadius` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" loadAvatar(account.avatar, holder.binding.avatar, radius, animateAvatar)"
errorLine2=" ~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="198"
column="63"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `onRemoveFromList` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" onRemoveFromList(account.id)"
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="225"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `onAddToList` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" onAddToList(account)"
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="227"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getAnimateEmojis` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" holder.binding.displayNameTextView.text = account.name.emojify(account.emojis, holder.binding.displayNameTextView, animateEmojis)"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="237"
column="128"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getAnimateEmojis` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" holder.binding.displayNameTextView.text = account.name.emojify(account.emojis, holder.binding.displayNameTextView, animateEmojis)"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="237"
column="128"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getAnimateAvatar` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" loadAvatar(account.avatar, holder.binding.avatar, radius, animateAvatar)"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="239"
column="71"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getRadius` of class `AccountsInListFragment` requires synthetic accessor"
errorLine1=" loadAvatar(account.avatar, holder.binding.avatar, radius, animateAvatar)"
errorLine2=" ~~~~~~">
<location
file="src/main/java/app/pachli/AccountsInListFragment.kt"
line="239"
column="63"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `textStyle` of class `Companion` requires synthetic accessor"
errorLine1=" textStyle(sharedPreferencesRepository.getString(PrefKeys.STATUS_TEXT_SIZE, &quot;medium&quot;)!!)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/BaseActivity.kt"
line="103"
column="13"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `handleCloseButton` of class `ComposeActivity` requires synthetic accessor"
errorLine1=" handleCloseButton()"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/compose/ComposeActivity.kt"
line="559"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getViewModel` of class `ComposeActivity` requires synthetic accessor"
errorLine1=" viewModel.postLanguage = (parent.adapter.getItem(position) as Locale).modernLanguageCode"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/compose/ComposeActivity.kt"
line="568"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getViewModel` of class `ComposeActivity` requires synthetic accessor"
errorLine1=" viewModel.postLanguage = (parent.adapter.getItem(position) as Locale).modernLanguageCode"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/compose/ComposeActivity.kt"
line="568"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `formatUsername` of class `Companion` requires synthetic accessor"
errorLine1=" is AutocompleteResult.AccountResult -> formatUsername(resultValue)"
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/compose/ComposeAutoCompleteAdapter.kt"
line="61"
column="60"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `formatHashtag` of class `Companion` requires synthetic accessor"
errorLine1=" is AutocompleteResult.HashtagResult -> formatHashtag(resultValue)"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/compose/ComposeAutoCompleteAdapter.kt"
line="62"
column="60"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `formatEmoji` of class `Companion` requires synthetic accessor"
errorLine1=" is AutocompleteResult.EmojiResult -> formatEmoji(resultValue)"
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/compose/ComposeAutoCompleteAdapter.kt"
line="63"
column="58"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `formatHashtag` of class `Companion` requires synthetic accessor"
errorLine1=" binding.root.text = formatHashtag(result)"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/compose/ComposeAutoCompleteAdapter.kt"
line="123"
column="37"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `formatHashtag` of class `Companion` requires synthetic accessor"
errorLine1=" binding.root.text = formatHashtag(result)"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/compose/ComposeAutoCompleteAdapter.kt"
line="123"
column="37"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `ConversationsFragment` requires synthetic accessor"
errorLine1=" binding.recyclerView.post {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/components/conversation/ConversationsFragment.kt"
line="152"
column="29"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `ConversationsFragment` requires synthetic accessor"
errorLine1=" binding.recyclerView.scrollBy("
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/components/conversation/ConversationsFragment.kt"
line="154"
column="37"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getViewModel` of class `EditFilterActivity` requires synthetic accessor"
errorLine1=" viewModel.setDuration("
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/filters/EditFilterActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="119"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getViewModel` of class `EditFilterActivity` requires synthetic accessor"
errorLine1=" viewModel.setDuration("
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/filters/EditFilterActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="119"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getViewModel` of class `EditFilterActivity` requires synthetic accessor"
errorLine1=" viewModel.setDuration(0)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/filters/EditFilterActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="129"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getViewModel` of class `EditFilterActivity` requires synthetic accessor"
errorLine1=" viewModel.setDuration(0)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/filters/EditFilterActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="129"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `FollowedTagsActivity` requires synthetic accessor"
errorLine1=" binding.fab.visible(dy == 0)"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/components/followedtags/FollowedTagsActivity.kt"
line="90"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `follow` of class `FollowedTagsActivity` requires synthetic accessor"
errorLine1=" (requireActivity() as FollowedTagsActivity).follow("
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/followedtags/FollowedTagsActivity.kt"
line="194"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `fetchInstances` of class `InstanceListFragment` requires synthetic accessor"
errorLine1=" fetchInstances(bottomId)"
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/instancemute/fragment/InstanceListFragment.kt"
line="58"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getContext` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" context.getString(R.string.action_open_media_n, i + 1),"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="75"
column="29"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getLinks` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" if (getLinks(status).any()) info.addAction(linksAction)"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="81"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getHashtags` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" if (getHashtags(status).any()) info.addAction(hashtagsAction)"
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="86"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `interrupt` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" interrupt()"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="105"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `interrupt` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" interrupt()"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="115"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `interrupt` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" interrupt()"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="121"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `interrupt` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" interrupt()"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="125"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `interrupt` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" interrupt()"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="129"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `interrupt` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" interrupt()"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="133"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `forceFocus` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" forceFocus(host)"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="144"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `interrupt` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" interrupt()"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="148"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `interrupt` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" interrupt()"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="154"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `interrupt` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" interrupt()"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="158"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `interrupt` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" interrupt()"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="162"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getLinks` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" val links = getLinks(status).toList()"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="175"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `forceFocus` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" .let { forceFocus(it.listView) }"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="187"
column="24"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `forceFocus` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" .let { forceFocus(it.listView) }"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="206"
column="24"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getHashtags` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" val tags = getHashtags(status).map { it.subSequence(1, it.length) }.toList()"
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="211"
column="24"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `forceFocus` of class `ListStatusAccessibilityDelegate` requires synthetic accessor"
errorLine1=" .let { forceFocus(it.listView) }"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ListStatusAccessibilityDelegate.kt"
line="224"
column="24"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `onListSelected` of class `ListsActivity` requires synthetic accessor"
errorLine1=" onListSelected(list.id, list.title)"
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/ListsActivity.kt"
line="267"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `onMore` of class `ListsActivity` requires synthetic accessor"
errorLine1=" onMore(getItem(bindingAdapterPosition), v)"
errorLine2=" ~~~~~~">
<location
file="src/main/java/app/pachli/ListsActivity.kt"
line="269"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getViewModel` of class `ListsForAccountFragment` requires synthetic accessor"
errorLine1=" viewModel.addAccountToList(item.list.id)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/account/list/ListsForAccountFragment.kt"
line="174"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getViewModel` of class `ListsForAccountFragment` requires synthetic accessor"
errorLine1=" viewModel.removeAccountFromList(item.list.id)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/account/list/ListsForAccountFragment.kt"
line="180"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `canonicalizeDomain` of class `Companion` requires synthetic accessor"
errorLine1=" val domain = canonicalizeDomain(binding.domainEditText.text.toString())"
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/login/LoginActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="161"
column="22"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `LoginWebViewActivity` requires synthetic accessor"
errorLine1=" binding.loginProgress.hide()"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/components/login/LoginWebViewActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="144"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `LoginWebViewActivity` requires synthetic accessor"
errorLine1=" binding.loginProgress.hide()"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/components/login/LoginWebViewActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="144"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `sendResult` of class `LoginWebViewActivity` requires synthetic accessor"
errorLine1=" sendResult(LoginResult.Err(getString(R.string.error_could_not_load_login_page)))"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/login/LoginWebViewActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="153"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `sendResult` of class `LoginWebViewActivity` requires synthetic accessor"
errorLine1=" sendResult(LoginResult.Err(getString(R.string.error_could_not_load_login_page)))"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/login/LoginWebViewActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="153"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `sendResult` of class `LoginWebViewActivity` requires synthetic accessor"
errorLine1=" sendResult(LoginResult.Err(error))"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/login/LoginWebViewActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="174"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `sendResult` of class `LoginWebViewActivity` requires synthetic accessor"
errorLine1=" sendResult(LoginResult.Err(error))"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/login/LoginWebViewActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="174"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `sendResult` of class `LoginWebViewActivity` requires synthetic accessor"
errorLine1=" sendResult(LoginResult.Ok(code))"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/login/LoginWebViewActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="177"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `sendResult` of class `LoginWebViewActivity` requires synthetic accessor"
errorLine1=" sendResult(LoginResult.Ok(code))"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/login/LoginWebViewActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="177"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `forwardToComposeActivity` of class `MainActivity` requires synthetic accessor"
errorLine1=" forwardToComposeActivity(intent)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="252"
column="37"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `changeAccount` of class `MainActivity` requires synthetic accessor"
errorLine1=" changeAccount(requestedId, intent)"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="256"
column="37"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `MainActivity` requires synthetic accessor"
errorLine1=" binding.mainDrawerLayout.isOpen -> {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="360"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `MainActivity` requires synthetic accessor"
errorLine1=" binding.mainDrawerLayout.close()"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="361"
column="29"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `MainActivity` requires synthetic accessor"
errorLine1=" binding.viewPager.currentItem != 0 -> {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="363"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `MainActivity` requires synthetic accessor"
errorLine1=" binding.viewPager.currentItem = 0"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="364"
column="29"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `primaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" primaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="646"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="649"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `primaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" primaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="654"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="658"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `primaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" primaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="663"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="666"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `primaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" primaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="671"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="674"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `primaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" primaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="679"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="682"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `primaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" primaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="686"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="689"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `primaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" primaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="694"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="697"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `primaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" primaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="701"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="705"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `secondaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" secondaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="714"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="717"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `secondaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" secondaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="722"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="725"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `secondaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" secondaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="730"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="733"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `secondaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" secondaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="738"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = ::logout"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="741"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `primaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" primaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="748"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="751"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `primaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" primaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="760"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="763"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `secondaryDrawerItem` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" secondaryDrawerItem {"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="776"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `setOnClick` of class `MainActivityKt` requires synthetic accessor"
errorLine1=" onClick = {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="780"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `MainActivity` requires synthetic accessor"
errorLine1=" binding.mainToolbar.title = tab.contentDescription"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="905"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `refreshComposeButtonState` of class `MainActivity` requires synthetic accessor"
errorLine1=" refreshComposeButtonState(tabAdapter, tab.position)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="907"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `refreshComposeButtonState` of class `MainActivity` requires synthetic accessor"
errorLine1=" refreshComposeButtonState(tabAdapter, tab.position)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/MainActivity.kt"
line="918"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `onMediaClick` of class `MediaPreviewAdapter` requires synthetic accessor"
errorLine1=" onMediaClick(bindingAdapterPosition, progressImageView)"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/compose/MediaPreviewAdapter.kt"
line="139"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureToAspect` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" totalHeight += getChildAt(0).measureToAspect(width, aspect)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="52"
column="32"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureToAspect` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" totalHeight += getChildAt(0).measureToAspect(width, aspect1.coerceAtLeast(1.8))"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="61"
column="36"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureToAspect` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" totalHeight += getChildAt(1).measureToAspect(width, aspect2.coerceAtLeast(1.8))"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="63"
column="36"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `rowHeight` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" val height = rowHeight(halfWidth, aspect1, aspect2)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="67"
column="34"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureExactly` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" getChildAt(0).measureExactly(halfWidth, height)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="69"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureExactly` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" getChildAt(1).measureExactly(halfWidth, height)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="70"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureToAspect` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" totalHeight += getChildAt(0).measureToAspect(width, aspect1.coerceAtLeast(1.8))"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="82"
column="36"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `rowHeight` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" val bottomHeight = rowHeight(halfWidth, aspect2, aspect3)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="84"
column="40"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureExactly` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" getChildAt(1).measureExactly(halfWidth, bottomHeight)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="86"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureExactly` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" getChildAt(2).measureExactly(halfWidth, bottomHeight)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="87"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureToAspect` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" val colHeight = getChildAt(0).measureToAspect(halfWidth, aspect1)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="93"
column="37"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureExactly` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" getChildAt(1).measureExactly(halfWidth, halfHeight)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="96"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureExactly` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" getChildAt(2).measureExactly(halfWidth, halfHeight)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="97"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `rowHeight` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" val topHeight = rowHeight(halfWidth, aspect1, aspect2)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="105"
column="33"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureExactly` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" getChildAt(0).measureExactly(halfWidth, topHeight)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="107"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureExactly` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" getChildAt(1).measureExactly(halfWidth, topHeight)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="108"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `rowHeight` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" val bottomHeight = rowHeight(halfWidth, aspect3, aspect4)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="110"
column="36"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureExactly` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" getChildAt(2).measureExactly(halfWidth, bottomHeight)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="112"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `measureExactly` of class `MediaPreviewLayoutKt` requires synthetic accessor"
errorLine1=" getChildAt(3).measureExactly(halfWidth, bottomHeight)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/view/MediaPreviewLayout.kt"
line="113"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getViewModel` of class `NotificationsFragment` requires synthetic accessor"
errorLine1=" actionButton?.visible(viewModel.uiState.value.showFabWhileScrolling || dy == 0)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/notifications/NotificationsFragment.kt"
refactor: Start creating core modules (#286) The existing code base is a single monolithic module. This is relatively simple to configure, but many of the tasks to compile the module and produce the final app have to run in series. This is unnecessarily slow. This change starts to split the code in to multiple modules, which are: - :core:account - AccountManager, to break a dependency cycle - :core:common - low level types or utilities used in many other modules - :core:database - database types, DAOs, and DI infrastructure - :core:network - network types, API definitions, and DI infrastructure - :core:preferences - shared preferences definitions and DI infrastructure - :core:testing - fakes and rules used across different modules Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental build times after an ABI change. That will improve further as more code is moved to modules. The rough mechanics of the changes are: - Create the modules, and move existing files in to them. This causes a lot of churn in import arguments. - Convert build.gradle files to build.gradle.kts - Separate out the data required to display a tab (`TabViewData`) from the data required to configure a tab (`TabData`) to avoid circular dependencies. - Abstract the repeated build logic shared between the modules in to a set of plugins under `build-logic/`, to simplify configuration of the application and library builds. - Be explicit that some nullable types are non-null at time of use. Nullable properties in types imported from modules generally can't be smart cast to non-null. There's a detailed discussion of why this restriction exists at https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201. The changes highlight design problems with the current code, including: - The main application code is too tightly coupled to the network types - Too many values are declared unnecessarily nullable - Dependency cycles between code that make modularisation difficult Future changes will add more modules. See #291.
2023-12-04 16:58:36 +01:00
line="169"
column="43"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `accountIsInMentions` of class `Companion` requires synthetic accessor"
errorLine1=" val mutable = statusIsByCurrentUser || accountIsInMentions(activeAccount, status.mentions)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/fragment/SFragment.kt"
line="240"
column="48"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getContentWarningDescription` of class `Companion` requires synthetic accessor"
errorLine1=" getContentWarningDescription(context, status),"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/adapter/StatusBaseViewHolder.kt"
refactor: Start creating core modules (#286) The existing code base is a single monolithic module. This is relatively simple to configure, but many of the tasks to compile the module and produce the final app have to run in series. This is unnecessarily slow. This change starts to split the code in to multiple modules, which are: - :core:account - AccountManager, to break a dependency cycle - :core:common - low level types or utilities used in many other modules - :core:database - database types, DAOs, and DI infrastructure - :core:network - network types, API definitions, and DI infrastructure - :core:preferences - shared preferences definitions and DI infrastructure - :core:testing - fakes and rules used across different modules Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental build times after an ABI change. That will improve further as more code is moved to modules. The rough mechanics of the changes are: - Create the modules, and move existing files in to them. This causes a lot of churn in import arguments. - Convert build.gradle files to build.gradle.kts - Separate out the data required to display a tab (`TabViewData`) from the data required to configure a tab (`TabData`) to avoid circular dependencies. - Abstract the repeated build logic shared between the modules in to a set of plugins under `build-logic/`, to simplify configuration of the application and library builds. - Be explicit that some nullable types are non-null at time of use. Nullable properties in types imported from modules generally can't be smart cast to non-null. There's a detailed discussion of why this restriction exists at https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201. The changes highlight design problems with the current code, including: - The main application code is too tightly coupled to the network types - Too many values are declared unnecessarily nullable - Dependency cycles between code that make modularisation difficult Future changes will add more modules. See #291.
2023-12-04 16:58:36 +01:00
line="812"
column="13"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getReblogDescription` of class `Companion` requires synthetic accessor"
errorLine1=" getReblogDescription(context, status),"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/adapter/StatusBaseViewHolder.kt"
refactor: Start creating core modules (#286) The existing code base is a single monolithic module. This is relatively simple to configure, but many of the tasks to compile the module and produce the final app have to run in series. This is unnecessarily slow. This change starts to split the code in to multiple modules, which are: - :core:account - AccountManager, to break a dependency cycle - :core:common - low level types or utilities used in many other modules - :core:database - database types, DAOs, and DI infrastructure - :core:network - network types, API definitions, and DI infrastructure - :core:preferences - shared preferences definitions and DI infrastructure - :core:testing - fakes and rules used across different modules Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental build times after an ABI change. That will improve further as more code is moved to modules. The rough mechanics of the changes are: - Create the modules, and move existing files in to them. This causes a lot of churn in import arguments. - Convert build.gradle files to build.gradle.kts - Separate out the data required to display a tab (`TabViewData`) from the data required to configure a tab (`TabData`) to avoid circular dependencies. - Abstract the repeated build logic shared between the modules in to a set of plugins under `build-logic/`, to simplify configuration of the application and library builds. - Be explicit that some nullable types are non-null at time of use. Nullable properties in types imported from modules generally can't be smart cast to non-null. There's a detailed discussion of why this restriction exists at https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201. The changes highlight design problems with the current code, including: - The main application code is too tightly coupled to the network types - Too many values are declared unnecessarily nullable - Dependency cycles between code that make modularisation difficult Future changes will add more modules. See #291.
2023-12-04 16:58:36 +01:00
line="816"
column="13"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getMediaDescription` of class `Companion` requires synthetic accessor"
errorLine1=" getMediaDescription(context, status),"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/adapter/StatusBaseViewHolder.kt"
refactor: Start creating core modules (#286) The existing code base is a single monolithic module. This is relatively simple to configure, but many of the tasks to compile the module and produce the final app have to run in series. This is unnecessarily slow. This change starts to split the code in to multiple modules, which are: - :core:account - AccountManager, to break a dependency cycle - :core:common - low level types or utilities used in many other modules - :core:database - database types, DAOs, and DI infrastructure - :core:network - network types, API definitions, and DI infrastructure - :core:preferences - shared preferences definitions and DI infrastructure - :core:testing - fakes and rules used across different modules Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental build times after an ABI change. That will improve further as more code is moved to modules. The rough mechanics of the changes are: - Create the modules, and move existing files in to them. This causes a lot of churn in import arguments. - Convert build.gradle files to build.gradle.kts - Separate out the data required to display a tab (`TabViewData`) from the data required to configure a tab (`TabData`) to avoid circular dependencies. - Abstract the repeated build logic shared between the modules in to a set of plugins under `build-logic/`, to simplify configuration of the application and library builds. - Be explicit that some nullable types are non-null at time of use. Nullable properties in types imported from modules generally can't be smart cast to non-null. There's a detailed discussion of why this restriction exists at https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201. The changes highlight design problems with the current code, including: - The main application code is too tightly coupled to the network types - Too many values are declared unnecessarily nullable - Dependency cycles between code that make modularisation difficult Future changes will add more modules. See #291.
2023-12-04 16:58:36 +01:00
line="821"
column="13"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `viewdata` of class `StatusViewHolder` requires synthetic accessor"
errorLine1=" viewdata()?.let { viewdata ->"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/app/pachli/components/report/adapter/StatusViewHolder.kt"
line="60"
column="13"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `viewdata` of class `StatusViewHolder` requires synthetic accessor"
errorLine1=" viewdata()?.id?.let { id ->"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/app/pachli/components/report/adapter/StatusViewHolder.kt"
line="66"
column="13"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `toggleFab` of class `TabPreferenceActivity` requires synthetic accessor"
errorLine1=" toggleFab(false)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/TabPreferenceActivity.kt"
refactor: Start creating core modules (#286) The existing code base is a single monolithic module. This is relatively simple to configure, but many of the tasks to compile the module and produce the final app have to run in series. This is unnecessarily slow. This change starts to split the code in to multiple modules, which are: - :core:account - AccountManager, to break a dependency cycle - :core:common - low level types or utilities used in many other modules - :core:database - database types, DAOs, and DI infrastructure - :core:network - network types, API definitions, and DI infrastructure - :core:preferences - shared preferences definitions and DI infrastructure - :core:testing - fakes and rules used across different modules Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental build times after an ABI change. That will improve further as more code is moved to modules. The rough mechanics of the changes are: - Create the modules, and move existing files in to them. This causes a lot of churn in import arguments. - Convert build.gradle files to build.gradle.kts - Separate out the data required to display a tab (`TabViewData`) from the data required to configure a tab (`TabData`) to avoid circular dependencies. - Abstract the repeated build logic shared between the modules in to a set of plugins under `build-logic/`, to simplify configuration of the application and library builds. - Be explicit that some nullable types are non-null at time of use. Nullable properties in types imported from modules generally can't be smart cast to non-null. There's a detailed discussion of why this restriction exists at https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201. The changes highlight design problems with the current code, including: - The main application code is too tightly coupled to the network types - Too many values are declared unnecessarily nullable - Dependency cycles between code that make modularisation difficult Future changes will add more modules. See #291.
2023-12-04 16:58:36 +01:00
line="96"
column="13"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `saveTabs` of class `TabPreferenceActivity` requires synthetic accessor"
errorLine1=" saveTabs()"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/app/pachli/TabPreferenceActivity.kt"
refactor: Start creating core modules (#286) The existing code base is a single monolithic module. This is relatively simple to configure, but many of the tasks to compile the module and produce the final app have to run in series. This is unnecessarily slow. This change starts to split the code in to multiple modules, which are: - :core:account - AccountManager, to break a dependency cycle - :core:common - low level types or utilities used in many other modules - :core:database - database types, DAOs, and DI infrastructure - :core:network - network types, API definitions, and DI infrastructure - :core:preferences - shared preferences definitions and DI infrastructure - :core:testing - fakes and rules used across different modules Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental build times after an ABI change. That will improve further as more code is moved to modules. The rough mechanics of the changes are: - Create the modules, and move existing files in to them. This causes a lot of churn in import arguments. - Convert build.gradle files to build.gradle.kts - Separate out the data required to display a tab (`TabViewData`) from the data required to configure a tab (`TabData`) to avoid circular dependencies. - Abstract the repeated build logic shared between the modules in to a set of plugins under `build-logic/`, to simplify configuration of the application and library builds. - Be explicit that some nullable types are non-null at time of use. Nullable properties in types imported from modules generally can't be smart cast to non-null. There's a detailed discussion of why this restriction exists at https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201. The changes highlight design problems with the current code, including: - The main application code is too tightly coupled to the network types - Too many values are declared unnecessarily nullable - Dependency cycles between code that make modularisation difficult Future changes will add more modules. See #291.
2023-12-04 16:58:36 +01:00
line="145"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getSelectedItemElevation` of class `TabPreferenceActivity` requires synthetic accessor"
errorLine1=" viewHolder?.itemView?.elevation = selectedItemElevation"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/TabPreferenceActivity.kt"
refactor: Start creating core modules (#286) The existing code base is a single monolithic module. This is relatively simple to configure, but many of the tasks to compile the module and produce the final app have to run in series. This is unnecessarily slow. This change starts to split the code in to multiple modules, which are: - :core:account - AccountManager, to break a dependency cycle - :core:common - low level types or utilities used in many other modules - :core:database - database types, DAOs, and DI infrastructure - :core:network - network types, API definitions, and DI infrastructure - :core:preferences - shared preferences definitions and DI infrastructure - :core:testing - fakes and rules used across different modules Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental build times after an ABI change. That will improve further as more code is moved to modules. The rough mechanics of the changes are: - Create the modules, and move existing files in to them. This causes a lot of churn in import arguments. - Convert build.gradle files to build.gradle.kts - Separate out the data required to display a tab (`TabViewData`) from the data required to configure a tab (`TabData`) to avoid circular dependencies. - Abstract the repeated build logic shared between the modules in to a set of plugins under `build-logic/`, to simplify configuration of the application and library builds. - Be explicit that some nullable types are non-null at time of use. Nullable properties in types imported from modules generally can't be smart cast to non-null. There's a detailed discussion of why this restriction exists at https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201. The changes highlight design problems with the current code, including: - The main application code is too tightly coupled to the network types - Too many values are declared unnecessarily nullable - Dependency cycles between code that make modularisation difficult Future changes will add more modules. See #291.
2023-12-04 16:58:36 +01:00
line="155"
column="59"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getSelectedItemElevation` of class `TabPreferenceActivity` requires synthetic accessor"
errorLine1=" viewHolder?.itemView?.elevation = selectedItemElevation"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/TabPreferenceActivity.kt"
refactor: Start creating core modules (#286) The existing code base is a single monolithic module. This is relatively simple to configure, but many of the tasks to compile the module and produce the final app have to run in series. This is unnecessarily slow. This change starts to split the code in to multiple modules, which are: - :core:account - AccountManager, to break a dependency cycle - :core:common - low level types or utilities used in many other modules - :core:database - database types, DAOs, and DI infrastructure - :core:network - network types, API definitions, and DI infrastructure - :core:preferences - shared preferences definitions and DI infrastructure - :core:testing - fakes and rules used across different modules Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental build times after an ABI change. That will improve further as more code is moved to modules. The rough mechanics of the changes are: - Create the modules, and move existing files in to them. This causes a lot of churn in import arguments. - Convert build.gradle files to build.gradle.kts - Separate out the data required to display a tab (`TabViewData`) from the data required to configure a tab (`TabData`) to avoid circular dependencies. - Abstract the repeated build logic shared between the modules in to a set of plugins under `build-logic/`, to simplify configuration of the application and library builds. - Be explicit that some nullable types are non-null at time of use. Nullable properties in types imported from modules generally can't be smart cast to non-null. There's a detailed discussion of why this restriction exists at https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201. The changes highlight design problems with the current code, including: - The main application code is too tightly coupled to the network types - Too many values are declared unnecessarily nullable - Dependency cycles between code that make modularisation difficult Future changes will add more modules. See #291.
2023-12-04 16:58:36 +01:00
line="155"
column="59"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getViewModel` of class `TimelineFragment` requires synthetic accessor"
errorLine1=" actionButton?.visible(viewModel.uiState.value.showFabWhileScrolling || dy == 0)"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/app/pachli/components/timeline/TimelineFragment.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="195"
column="47"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `ViewImageFragment` requires synthetic accessor"
errorLine1=" binding.captionSheet.visible(isDescriptionVisible)"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/fragment/ViewImageFragment.kt"
line="218"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `ViewImageFragment` requires synthetic accessor"
errorLine1=" if (!isCacheRequest) binding.progressBar.hide()"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/fragment/ViewImageFragment.kt"
line="306"
column="34"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `ViewImageFragment` requires synthetic accessor"
errorLine1=" binding.progressBar.hide() // Always hide the progress bar on success"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/fragment/ViewImageFragment.kt"
line="319"
column="13"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `ViewImageFragment` requires synthetic accessor"
errorLine1=" binding.photoView.post {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/fragment/ViewImageFragment.kt"
line="326"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `ViewMediaActivity` requires synthetic accessor"
errorLine1=" binding.toolbar.title = getPageTitle(position)"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/ViewMediaActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="127"
column="21"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getPageTitle` of class `ViewMediaActivity` requires synthetic accessor"
errorLine1=" binding.toolbar.title = getPageTitle(position)"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/ViewMediaActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="127"
column="45"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getPageTitle` of class `ViewMediaActivity` requires synthetic accessor"
errorLine1=" binding.toolbar.title = getPageTitle(position)"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/ViewMediaActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="127"
column="45"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `ViewMediaActivity` requires synthetic accessor"
errorLine1=" adapter.onTransitionEnd(binding.viewPager.currentItem)"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/ViewMediaActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="157"
column="45"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `ViewMediaActivity` requires synthetic accessor"
errorLine1=" binding.toolbar.visibility = visibility"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/ViewMediaActivity.kt"
refactor: Break navigation dependency cycles with :core:navigation (#305) The previous code generally started an activity by having the activity provide a method in a companion object that returns the relevant intent, possibly taking additional parameters that will be included in the intent as extras. E.g., if A wants to start B, B provides the method that returns the intent that starts B. This introduces a dependency between A and B. This is worse if B also wants to start A. For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency. Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant. Break this dependency by adding a `:core:navigation` module with an `app.pachli.core.navigation` package that contains `Intent` subclasses that should be used instead. The `quadrant` plugin is used to generate constants that can be used to launch activities by name instead of by class, breaking the dependency chain. The plugin uses the `Activity` names from the manifest, so when an activity is moved in the future the constant will automatically update to reflect the new package name. If the activity's intent requires specific extras those are passed via the constructor, with companion object methods to extract them from the intent. Using the intent classes from this package is enforced by a lint `IntentDetector` which will warn if any intents are created using a class literal. See #291
2023-12-07 18:36:00 +01:00
line="202"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `getBinding` of class `ViewVideoFragment` requires synthetic accessor"
errorLine1=" val contentFrame = binding.videoView.findViewById&lt;AspectRatioFrameLayout>(androidx.media3.ui.R.id.exo_content_frame)"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/app/pachli/fragment/ViewVideoFragment.kt"
line="153"
column="32"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `hideToolbarAfterDelay` of class `ViewVideoFragment` requires synthetic accessor"
errorLine1=" hideToolbarAfterDelay()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/fragment/ViewVideoFragment.kt"
line="233"
column="21"/>
</issue>
<issue
id="TypographyDashes"
message="Replace &quot;--&quot; with an &quot;em dash&quot; character (—, &amp;#8212;) ?"
errorLine1=" &lt;string name=&quot;poll_info_format&quot;>&quot; &amp;lt;!-- 15 votes • 1 hour left --&amp;gt; %1$s • %2$s&quot;&lt;!-- 15 votes • 1 hour left -->"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values-bg/strings.xml"
line="53"
column="37"/>
</issue>
<issue
id="TypographyDashes"
message="Replace &quot;-&quot; with an &quot;en dash&quot; character (, &amp;#8211;) ?"
errorLine1=" &lt;string name=&quot;caption_blobmoji&quot;>Os emojis Blob coñecidos de Android 4.4-7.1&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values-gl/strings.xml"
line="225"
column="37"/>
</issue>
<issue
id="TypographyDashes"
message="Replace &quot;-&quot; with an &quot;en dash&quot; character (, &amp;#8211;) ?"
errorLine1=" &lt;string name=&quot;caption_blobmoji&quot;>Blob emotikoni so znani od Android 4.4-7.1&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values-sl/strings.xml"
line="284"
column="37"/>
</issue>
<issue
id="TypographyDashes"
message="Replace &quot;-&quot; with an &quot;en dash&quot; character (, &amp;#8211;) ?"
errorLine1=" &lt;string name=&quot;caption_blobmoji&quot;>Android 4.4-7.1で知られる、Blob絵文字です&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values-ja/strings.xml"
line="285"
column="37"/>
</issue>
<issue
id="TypographyDashes"
message="Replace &quot;-&quot; with an &quot;en dash&quot; character (, &amp;#8211;) ?"
errorLine1=" &lt;string name=&quot;caption_blobmoji&quot;>Na emojis Blob atá ar eolas ó Android 4.4-7.1&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values-ga/strings.xml"
line="339"
column="37"/>
</issue>
<issue
id="TypographyEllipsis"
message="Replace &quot;...&quot; with ellipsis character (…, &amp;#8230;) ?"
errorLine1=" &lt;string name=&quot;hint_search&quot;>검색...&lt;/string>"
errorLine2=" ~~~~~">
<location
file="src/main/res/values-ko/strings.xml"
line="140"
column="32"/>
</issue>
<issue
id="TypographyEllipsis"
message="Replace &quot;...&quot; with ellipsis character (…, &amp;#8230;) ?"
errorLine1=" &lt;string name=&quot;login_connection&quot;>연결 중...&lt;/string>"
errorLine2=" ~~~~~~~">
<location
file="src/main/res/values-ko/strings.xml"
line="146"
column="37"/>
</issue>
<issue
id="TypographyEllipsis"
message="Replace &quot;...&quot; with ellipsis character (…, &amp;#8230;) ?"
errorLine1=" &lt;string name=&quot;dialog_message_uploading_media&quot;>업로드 중...&lt;/string>"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/values-ko/strings.xml"
line="155"
column="51"/>
</issue>
<issue
id="TypographyEllipsis"
message="Replace &quot;...&quot; with ellipsis character (…, &amp;#8230;) ?"
errorLine1=" &lt;string name=&quot;compose_preview_image_description&quot;>이미지 %s를...&lt;/string>"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/res/values-ko/strings.xml"
line="365"
column="54"/>
</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-xxhdpi/ic_notify.png"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_account.xml"
line="117"
column="22"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_account.xml"
line="129"
column="22"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_account.xml"
line="243"
column="22"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_account.xml"
line="279"
column="26"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_account.xml"
line="306"
column="26"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_account.xml"
line="321"
column="26"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_account.xml"
line="348"
column="26"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_account.xml"
line="379"
column="26"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_account.xml"
line="409"
column="26"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_compose.xml"
line="364"
column="10"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_login_webview.xml"
line="37"
column="10"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/card_license.xml"
line="15"
column="10"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/card_license.xml"
line="22"
column="10"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/card_license.xml"
line="28"
column="10"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView android:id=&quot;@+id/warning&quot;"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/dialog_mute_account.xml"
line="12"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout-land/fragment_report_done.xml"
line="35"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/fragment_report_done.xml"
line="35"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/fragment_view_video.xml"
line="11"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_account.xml"
line="37"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_account.xml"
line="53"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_account_field.xml"
line="10"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_add_or_remove_from_list.xml"
line="12"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_autocomplete_account.xml"
line="33"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_autocomplete_account.xml"
line="50"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_autocomplete_emoji.xml"
line="19"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1="&lt;TextView xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_autocomplete_hashtag.xml"
line="2"
column="2"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_blocked_user.xml"
line="30"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_blocked_user.xml"
line="46"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_conversation.xml"
line="14"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_conversation.xml"
line="81"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_conversation.xml"
line="99"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_conversation.xml"
line="111"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_draft.xml"
line="31"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_draft.xml"
line="45"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_emoji_pref.xml"
line="26"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_emoji_pref.xml"
line="41"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_follow.xml"
line="12"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_follow.xml"
line="41"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_follow.xml"
line="57"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_follow_request.xml"
line="11"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_follow_request.xml"
line="49"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_follow_request.xml"
line="65"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_followed_hashtag.xml"
line="14"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_list.xml"
line="14"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_load_state_footer_view.xml"
line="30"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_muted_domain.xml"
line="27"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_muted_user.xml"
line="31"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_muted_user.xml"
line="48"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_network_state.xml"
line="8"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_poll.xml"
line="8"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_removable.xml"
line="9"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_removable.xml"
line="23"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_report_notification.xml"
line="12"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_report_notification.xml"
line="50"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_report_notification.xml"
line="65"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_report_status.xml"
line="52"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_report_status.xml"
line="241"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_report_status.xml"
line="261"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_report_status.xml"
line="281"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_report_status.xml"
line="301"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_report_status.xml"
line="321"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_report_status.xml"
line="340"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_scheduled_status.xml"
line="8"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status.xml"
line="13"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status.xml"
line="58"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status.xml"
line="77"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status.xml"
line="90"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status.xml"
line="247"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status.xml"
line="275"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status.xml"
line="303"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status_detailed.xml"
line="38"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status_detailed.xml"
line="61"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status_detailed.xml"
line="194"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status_detailed.xml"
line="223"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status_detailed.xml"
line="237"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status_edit.xml"
line="13"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status_edit.xml"
line="55"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status_notification.xml"
line="12"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status_notification.xml"
line="50"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status_notification.xml"
line="71"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_status_notification.xml"
line="85"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_tab_preference.xml"
line="26"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1="&lt;TextView xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_tab_preference_small.xml"
line="2"
column="2"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout-land/item_trending_cell.xml"
line="41"
column="10"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_trending_cell.xml"
line="41"
column="10"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout-land/item_trending_cell.xml"
line="56"
column="10"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_trending_cell.xml"
line="56"
column="10"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout-land/item_trending_cell.xml"
line="87"
column="10"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_trending_cell.xml"
line="88"
column="10"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1="&lt;TextView xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/item_trending_date.xml"
line="2"
column="2"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1="&lt;TextView xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/simple_list_item_1.xml"
line="19"
column="2"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/view_compose_schedule.xml"
line="16"
column="6"/>
</issue>
<issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/view_poll_preview.xml"
line="30"
column="6"/>
</issue>
<issue
id="BackButton"
message="Back buttons are not standard on Android; see design guide&apos;s navigation section"
errorLine1=" &lt;Button"
errorLine2=" ~~~~~~">
<location
file="src/main/res/layout/fragment_report_note.xml"
line="108"
column="6"/>
</issue>
<issue
id="TextFields"
message="This text field does not specify an `inputType`"
errorLine1=" &lt;EditText"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/dialog_filter.xml"
line="9"
column="6"/>
</issue>
<issue
id="NegativeMargin"
message="Margin values should not be negative"
errorLine1=" android:layout_marginTop=&quot;-4dp&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_report_notification.xml"
line="54"
column="9"/>
</issue>
<issue
id="NegativeMargin"
message="Margin values should not be negative"
errorLine1=" android:layout_marginStart=&quot;-14dp&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_status.xml"
line="237"
column="9"/>
</issue>
<issue
id="Autofill"
message="Missing `autofillHints` attribute"
errorLine1=" &lt;EditText"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/dialog_filter.xml"
line="9"
column="6"/>
</issue>
<issue
id="ReportShortcutUsage"
message="Calling this method indicates use of dynamic shortcuts, but there are no calls to methods that track shortcut usage, such as `pushDynamicShortcut` or `reportShortcutUsed`. Calling these methods is recommended, as they track shortcut usage and allow launchers to adjust which shortcuts appear based on activation history. Please see https://developer.android.com/develop/ui/views/launch/shortcuts/managing-shortcuts#track-usage"
errorLine1=" ShortcutManagerCompat.addDynamicShortcuts(context, listOf(shortcutInfo))"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/app/pachli/util/ShareShortcutHelper.kt"
line="85"
column="9"/>
</issue>
<issue
id="ClickableViewAccessibility"
message="Custom view ``ImageView`` has `setOnTouchListener` called on it but does not override `performClick`"
errorLine1=" binding.imageView.setOnTouchListener { _, event ->"
errorLine2=" ^">
<location
file="src/main/java/app/pachli/adapter/TabAdapter.kt"
refactor: Start creating core modules (#286) The existing code base is a single monolithic module. This is relatively simple to configure, but many of the tasks to compile the module and produce the final app have to run in series. This is unnecessarily slow. This change starts to split the code in to multiple modules, which are: - :core:account - AccountManager, to break a dependency cycle - :core:common - low level types or utilities used in many other modules - :core:database - database types, DAOs, and DI infrastructure - :core:network - network types, API definitions, and DI infrastructure - :core:preferences - shared preferences definitions and DI infrastructure - :core:testing - fakes and rules used across different modules Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental build times after an ABI change. That will improve further as more code is moved to modules. The rough mechanics of the changes are: - Create the modules, and move existing files in to them. This causes a lot of churn in import arguments. - Convert build.gradle files to build.gradle.kts - Separate out the data required to display a tab (`TabViewData`) from the data required to configure a tab (`TabData`) to avoid circular dependencies. - Abstract the repeated build logic shared between the modules in to a set of plugins under `build-logic/`, to simplify configuration of the application and library builds. - Be explicit that some nullable types are non-null at time of use. Nullable properties in types imported from modules generally can't be smart cast to non-null. There's a detailed discussion of why this restriction exists at https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201. The changes highlight design problems with the current code, including: - The main application code is too tightly coupled to the network types - Too many values are declared unnecessarily nullable - Dependency cycles between code that make modularisation difficult Future changes will add more modules. See #291.
2023-12-04 16:58:36 +01:00
line="91"
column="13"/>
</issue>
<issue
id="ClickableViewAccessibility"
message="`onTouch` lambda should call `View#performClick` when a click is detected"
errorLine1=" binding.imageView.setOnTouchListener { _, event ->"
errorLine2=" ^">
<location
file="src/main/java/app/pachli/adapter/TabAdapter.kt"
refactor: Start creating core modules (#286) The existing code base is a single monolithic module. This is relatively simple to configure, but many of the tasks to compile the module and produce the final app have to run in series. This is unnecessarily slow. This change starts to split the code in to multiple modules, which are: - :core:account - AccountManager, to break a dependency cycle - :core:common - low level types or utilities used in many other modules - :core:database - database types, DAOs, and DI infrastructure - :core:network - network types, API definitions, and DI infrastructure - :core:preferences - shared preferences definitions and DI infrastructure - :core:testing - fakes and rules used across different modules Benchmarking with gradle-profiler shows a ~ 17% reduction in incremental build times after an ABI change. That will improve further as more code is moved to modules. The rough mechanics of the changes are: - Create the modules, and move existing files in to them. This causes a lot of churn in import arguments. - Convert build.gradle files to build.gradle.kts - Separate out the data required to display a tab (`TabViewData`) from the data required to configure a tab (`TabData`) to avoid circular dependencies. - Abstract the repeated build logic shared between the modules in to a set of plugins under `build-logic/`, to simplify configuration of the application and library builds. - Be explicit that some nullable types are non-null at time of use. Nullable properties in types imported from modules generally can't be smart cast to non-null. There's a detailed discussion of why this restriction exists at https://discuss.kotlinlang.org/t/what-is-the-reason-behind-smart-cast-being-impossible-to-perform-when-referenced-class-is-in-another-module/2201. The changes highlight design problems with the current code, including: - The main application code is too tightly coupled to the network types - Too many values are declared unnecessarily nullable - Dependency cycles between code that make modularisation difficult Future changes will add more modules. See #291.
2023-12-04 16:58:36 +01:00
line="91"
column="50"/>
</issue>
<issue
id="ContentDescription"
message="Missing `contentDescription` attribute on image"
errorLine1=" &lt;ImageView"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/res/layout/item_tab_preference.xml"
line="14"
column="6"/>
</issue>
<issue
id="KeyboardInaccessibleWidget"
message="&apos;clickable&apos; attribute found, please also add &apos;focusable&apos;"
errorLine1=" android:clickable=&quot;true&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/material_drawer_header.xml"
line="8"
column="5"/>
</issue>
<issue
id="HardcodedText"
message="Hardcoded string &quot;Filter: MyFilter&quot;, should use `@string` resource"
errorLine1=" android:text=&quot;Filter: MyFilter&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_status_filtered.xml"
line="18"
column="9"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
errorLine1=" android:paddingStart=&quot;8dp&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/activity_edit_profile.xml"
line="118"
column="21"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
errorLine1=" android:paddingStart=&quot;40dp&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/activity_edit_profile.xml"
line="129"
column="21"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
errorLine1=" android:paddingEnd=&quot;@dimen/status_display_name_padding_end&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_conversation.xml"
line="89"
column="9"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
errorLine1=" android:paddingStart=&quot;28dp&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_follow.xml"
line="22"
column="9"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
errorLine1=" android:paddingStart=&quot;28dp&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_report_notification.xml"
line="23"
column="9"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
errorLine1=" android:paddingEnd=&quot;@dimen/status_display_name_padding_end&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_status.xml"
line="67"
column="9"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
errorLine1=" android:paddingStart=&quot;28dp&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_status_notification.xml"
line="22"
column="9"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
errorLine1=" android:paddingStart=&quot;4dp&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/view_compose_schedule.xml"
line="21"
column="9"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
errorLine1=" android:paddingStart=&quot;4dp&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/view_compose_schedule.xml"
line="38"
column="9"/>
</issue>
</issues>