فهرست منبع

add library lent_repo for lint rules
add two custom rules for kt-files and resources-files
add tests for rules

MrOzOn 5 سال پیش
والد
کامیت
08552009e6

+ 8 - 2
app/build.gradle

@@ -37,13 +37,19 @@ android {
     kotlinOptions {
         jvmTarget = '1.8'
     }
-
-
+    lintOptions {
+        ignoreTestSources true
+        abortOnError true
+        xmlReport false
+        baselineFile file("$project.rootDir/config/baseline.xml")
+        checkDependencies true
+    }
 }
 
 apply from: "$project.rootDir/scripts/deps_versions.gradle"
 
 dependencies {
+    lintChecks project(':lint_repo')
     api project(':core_api')
     implementation project(':core')
     implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'

+ 1586 - 0
config/baseline.xml

@@ -0,0 +1,1586 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="5" by="lint 3.6.4" client="gradle" variant="all" version="3.6.4">
+
+    <issue
+        id="ObsoleteLintCustomCheck"
+        message="Lint found an issue registry (`androidx.appcompat.AppCompatIssueRegistry`) which requires a newer API level. That means that the custom lint checks are intended for a newer lint version; please upgrade">
+        <location
+            file="../../../../.gradle/caches/transforms-2/files-2.1/add0082a5c733e5ca1c3d7a204f48ffa/appcompat-1.2.0/jars/lint.jar"/>
+    </issue>
+
+    <issue
+        id="ObsoleteLintCustomCheck"
+        message="Lint found an issue registry (`com.mrozon.lintrepo.CustomLintRegistry`) which did not specify the Lint API version it was compiled with.&#xA;&#xA;**This means that the lint checks are likely not compatible.**&#xA;&#xA;If you are the author of this lint check, make your lint `IssueRegistry` class contain&#xA;  override val api: Int = com.android.tools.lint.detector.api.CURRENT_API&#xA;or from Java,&#xA;  @Override public int getApi() { return com.android.tools.lint.detector.api.ApiKt.CURRENT_API; }&#xA;&#xA;If you are just using lint checks from a third party library you have no control over, you can disable these lint checks (if they misbehave) like this:&#xA;&#xA;    android {&#xA;        lintOptions {&#xA;            disable &quot;RawColorInResources&quot;,&#xA;                    &quot;VerySimpleNamingVariables&quot;&#xA;        }&#xA;    }&#xA;"
+        includedVariants="debug"
+        excludedVariants="release,staging">
+        <location
+            file="build/intermediates/lint_jar/global/lint.jar"/>
+    </issue>
+
+    <issue
+        id="UnusedAttribute"
+        message="Attribute `networkSecurityConfig` is only used in API level 24 and higher (current min is 21)"
+        errorLine1="        android:networkSecurityConfig=&quot;@xml/network_security_config&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/AndroidManifest.xml"
+            line="15"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="InflateParams"
+        message="Avoid passing `null` as the view root (needed to resolve layout parameters on the inflated layout&apos;s root element)"
+        errorLine1="            val view = layoutInflater.inflate(R.layout.dialog_share, null)"
+        errorLine2="                                                                     ~~~~">
+        <location
+            file="../feature_person/src/main/java/com/mrozon/feature_person/presentation/EditPersonFragment.kt"
+            line="228"
+            column="70"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.core:core-ktx than 1.3.1 is available: 1.3.2"
+        errorLine1="    implementation &apos;androidx.core:core-ktx:1.3.1&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="40"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of junit:junit than 4.12 is available: 4.13.1"
+        errorLine1="    testImplementation &apos;junit:junit:4.12&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="41"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.test.ext:junit than 1.1.1 is available: 1.1.2"
+        errorLine1="    androidTestImplementation &apos;androidx.test.ext:junit:1.1.1&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="42"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.test.espresso:espresso-core than 3.2.0 is available: 3.3.0"
+        errorLine1="    androidTestImplementation &apos;androidx.test.espresso:espresso-core:3.2.0&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.core:core-ktx than 1.3.1 is available: 1.3.2"
+        errorLine1="    implementation &apos;androidx.core:core-ktx:1.3.1&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="53"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of junit:junit than 4.12 is available: 4.13.1"
+        errorLine1="    testImplementation &apos;junit:junit:4.12&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="54"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.test.ext:junit than 1.1.1 is available: 1.1.2"
+        errorLine1="    androidTestImplementation &apos;androidx.test.ext:junit:1.1.1&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="55"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.core:core-ktx than 1.3.1 is available: 1.3.2"
+        errorLine1="    implementation &apos;androidx.core:core-ktx:1.3.1&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="56"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.test.espresso:espresso-core than 3.2.0 is available: 3.3.0"
+        errorLine1="    androidTestImplementation &apos;androidx.test.espresso:espresso-core:3.2.0&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="56"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of junit:junit than 4.12 is available: 4.13.1"
+        errorLine1="    testImplementation &apos;junit:junit:4.12&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="57"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.core:core-ktx than 1.3.1 is available: 1.3.2"
+        errorLine1="    implementation &apos;androidx.core:core-ktx:1.3.1&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="58"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.test.ext:junit than 1.1.1 is available: 1.1.2"
+        errorLine1="    androidTestImplementation &apos;androidx.test.ext:junit:1.1.1&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="58"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.test.espresso:espresso-core than 3.2.0 is available: 3.3.0"
+        errorLine1="    androidTestImplementation &apos;androidx.test.espresso:espresso-core:3.2.0&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="59"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of junit:junit than 4.12 is available: 4.13.1"
+        errorLine1="    testImplementation &apos;junit:junit:4.12&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="59"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.test.ext:junit than 1.1.1 is available: 1.1.2"
+        errorLine1="    androidTestImplementation &apos;androidx.test.ext:junit:1.1.1&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="60"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.test.espresso:espresso-core than 3.2.0 is available: 3.3.0"
+        errorLine1="    androidTestImplementation &apos;androidx.test.espresso:espresso-core:3.2.0&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="61"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.core:core-ktx than 1.3.1 is available: 1.3.2"
+        errorLine1="    implementation &apos;androidx.core:core-ktx:1.3.1&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="70"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.core:core-ktx than 1.3.1 is available: 1.3.2"
+        errorLine1="    implementation &apos;androidx.core:core-ktx:1.3.1&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="70"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of junit:junit than 4.12 is available: 4.13.1"
+        errorLine1="    testImplementation &apos;junit:junit:4.12&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="71"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of junit:junit than 4.12 is available: 4.13.1"
+        errorLine1="    testImplementation &apos;junit:junit:4.12&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="71"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.test.ext:junit than 1.1.1 is available: 1.1.2"
+        errorLine1="    androidTestImplementation &apos;androidx.test.ext:junit:1.1.1&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="72"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.test.ext:junit than 1.1.1 is available: 1.1.2"
+        errorLine1="    androidTestImplementation &apos;androidx.test.ext:junit:1.1.1&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="72"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.test.espresso:espresso-core than 3.2.0 is available: 3.3.0"
+        errorLine1="    androidTestImplementation &apos;androidx.test.espresso:espresso-core:3.2.0&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="73"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="GradleDependency"
+        message="A newer version of androidx.test.espresso:espresso-core than 3.2.0 is available: 3.3.0"
+        errorLine1="    androidTestImplementation &apos;androidx.test.espresso:espresso-core:3.2.0&apos;"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="build.gradle"
+            line="73"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="ExtraText"
+        message="Unexpected text found in layout file: &quot;/&quot;">
+        <location
+            file="src/main/AndroidManifest.xml"
+            line="6"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="ExtraText"
+        message="Unexpected text found in layout file: &quot;/&quot;">
+        <location
+            file="src/main/AndroidManifest.xml"
+            line="6"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="VectorPath"
+        message="Very long vector path (1887 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
+        errorLine1="    &lt;path android:fillColor=&quot;#FF000000&quot; android:pathData=&quot;M507.921,445.34c-34.766,-24.516 -76.772,-41.947 -122.504,-51.296c10.094,-7.34 19.397,-16.031 27.721,-25.86l142.126,-66.532c7.149,-3.346 11.108,-11.128 9.6,-18.876c-0.558,-2.85 -14.024,-70.631 -51.66,-139.402C461.871,49.578 390.223,0 306.001,0c-84.219,0 -155.87,49.578 -207.205,143.375c-37.635,68.769 -51.102,136.551 -51.659,139.402c-1.508,7.748 2.45,15.53 9.599,18.876l142.129,66.532c8.324,9.83 17.627,18.521 27.721,25.86c-45.735,9.349 -87.738,26.78 -122.505,51.293c-55.989,39.478 -86.822,92.553 -86.822,149.448c0,9.506 7.705,17.212 17.212,17.212h543.06c9.508,0 17.212,-7.707 17.212,-17.212C594.744,537.892 563.911,484.817 507.921,445.34zM456.912,577.575v-48.378c0,-9.506 -7.704,-17.212 -17.212,-17.212c-9.506,0 -17.212,7.707 -17.212,17.212v48.378H189.511v-48.378c0,-9.506 -7.704,-17.212 -17.212,-17.212c-9.506,0 -17.212,7.707 -17.212,17.212v48.378H52.922c5.637,-38.98 30.348,-75.439 70.998,-104.101c19.173,-13.52 40.908,-24.625 64.443,-33.117c15.582,13.655 61.154,48.746 118.007,48.746c0.871,0 1.757,-0.009 2.631,-0.026c39.181,-0.749 75.213,-18.014 107.16,-51.323c26.424,8.774 50.729,20.775 71.924,35.719c40.647,28.662 65.359,65.12 70.996,104.101H456.912V577.575zM229.62,428.557c24.39,-5.276 50.068,-8.015 76.383,-8.015c24.326,0 48.104,2.345 70.831,6.866c-21.331,17.583 -44.213,26.735 -68.265,27.247C276.77,455.34 248.285,441.027 229.62,428.557zM189.514,243.933c0,-9.506 -7.707,-17.212 -17.212,-17.212c-9.508,0 -17.212,7.707 -17.212,17.212c0,25.581 4.676,49.903 13.071,71.872L83.93,276.375c5.57,-22.162 19.338,-69.469 45.065,-116.472C174.562,76.641 234.117,34.425 306.001,34.425c71.674,0 131.099,41.984 176.624,124.782c25.892,47.09 39.818,94.865 45.438,117.171l-84.222,39.427c8.395,-21.969 13.074,-46.291 13.074,-71.872c0,-9.506 -7.707,-17.212 -17.212,-17.212c-9.508,0 -17.212,7.707 -17.212,17.212c0,78.4 -52.257,142.185 -116.487,142.185C241.771,386.118 189.514,322.333 189.514,243.933z&quot;/>"
+        errorLine2="                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_female_avatar.xml"
+            line="3"
+            column="59"/>
+    </issue>
+
+    <issue
+        id="VectorPath"
+        message="Very long vector path (1008 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
+        errorLine1="    &lt;path android:fillColor=&quot;#FF000000&quot; android:pathData=&quot;M277.664,208.01h-16.123c31.146,-20.152 51.804,-55.194 51.804,-94.972C313.345,50.708 262.637,0 200.307,0S87.269,50.708 87.269,113.038c0,39.778 20.656,74.82 51.804,94.972H122.95c-41.434,0 -75.143,33.707 -75.143,75.141v104.963c0,6.904 5.597,12.5 12.5,12.5h280c6.903,0 12.5,-5.596 12.5,-12.5V283.15C352.807,241.717 319.098,208.01 277.664,208.01zM112.269,113.038c0,-48.544 39.493,-88.038 88.038,-88.038c48.544,0 88.038,39.494 88.038,88.038c0,48.543 -39.494,88.036 -88.038,88.036C151.762,201.074 112.269,161.581 112.269,113.038zM236.88,219.998l-36.573,36.574l-36.573,-36.573c11.477,3.935 23.779,6.075 36.573,6.075S225.404,223.934 236.88,219.998zM327.807,375.613h-34v-60.059c0,-6.904 -5.597,-12.5 -12.5,-12.5s-12.5,5.596 -12.5,12.5v60.059h-137v-60.059c0,-6.904 -5.597,-12.5 -12.5,-12.5s-12.5,5.596 -12.5,12.5v60.059h-34V283.15c0,-27.647 22.494,-50.141 50.143,-50.141h18.439l50.079,50.078c2.441,2.441 5.64,3.661 8.839,3.661s6.396,-1.22 8.839,-3.661l50.079,-50.078h18.439c27.648,0 50.143,22.492 50.143,50.141V375.613z&quot;/>"
+        errorLine2="                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_male_avatar.xml"
+            line="3"
+            column="59"/>
+    </issue>
+
+    <issue
+        id="VectorPath"
+        message="Very long vector path (1237 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
+        errorLine1="      android:pathData=&quot;M50,0C22.429,0 0,22.429 0,50C0,77.571 22.429,100 50,100C50.504,100 50.996,99.938 51.5,99.925L51.675,99.958C51.813,99.983 51.946,100 52.083,100C52.275,100 52.471,99.975 52.654,99.921L52.888,99.854C79.113,98.342 100,76.596 100,50C100,22.429 77.571,0 50,0ZM79.717,84.829C79.521,84.192 79.079,83.654 78.438,83.442L67.471,79.792C63.642,78.196 61.858,72.067 61.442,69.608C64.279,66.971 66.9,63.042 66.9,59.492C66.9,58.283 67.242,57.821 67.175,57.808C67.825,57.646 68.354,57.183 68.604,56.562C68.808,56.05 70.604,51.471 70.604,48.383C70.604,48.212 70.583,48.042 70.542,47.879C70.279,46.833 69.667,45.779 68.75,45.121V35.421C68.75,29.425 66.925,26.912 64.992,25.458C64.558,22.475 61.363,16.671 50,16.671C38.384,16.671 31.25,27.592 31.25,35.421V45.121C30.334,45.779 29.721,46.833 29.459,47.879C29.417,48.046 29.396,48.217 29.396,48.383C29.396,51.471 31.192,56.05 31.396,56.562C31.646,57.183 31.975,57.579 32.625,57.741C32.759,57.82 33.1,58.287 33.1,59.491C33.1,63.041 35.721,66.97 38.559,69.608C38.146,72.062 36.38,78.187 32.671,79.737L21.559,83.441C20.921,83.654 20.463,84.179 20.263,84.816C10.425,76.404 4.158,63.929 4.158,50C4.158,24.729 24.721,4.167 49.992,4.167C75.263,4.167 95.825,24.729 95.825,50C95.833,63.933 89.563,76.417 79.717,84.829Z&quot;"
+        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_userprofile.xml"
+            line="7"
+            column="25"/>
+    </issue>
+
+    <issue
+        id="UnusedResources"
+        message="The resource `R.color.color_snack_error` appears to be unused"
+        errorLine1="    &lt;color name=&quot;color_snack_error&quot;>#F44336&lt;/color>"
+        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../utils/src/main/res/values/colors.xml"
+            line="3"
+            column="12"/>
+    </issue>
+
+    <issue
+        id="UnusedResources"
+        message="The resource `R.color.color_snack_info` appears to be unused"
+        errorLine1="    &lt;color name=&quot;color_snack_info&quot;>#00c853&lt;/color>"
+        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../utils/src/main/res/values/colors.xml"
+            line="4"
+            column="12"/>
+    </issue>
+
+    <issue
+        id="UnusedResources"
+        message="The resource `R.string.Ok` appears to be unused"
+        errorLine1="    &lt;string name=&quot;Ok&quot;>@android:string/ok&lt;/string>"
+        errorLine2="            ~~~~~~~~~">
+        <location
+            file="../utils/src/main/res/values/strings.xml"
+            line="3"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="UnusedResources"
+        message="The resource `R.string.hello_blank_fragment` appears to be unused"
+        errorLine1="    &lt;string name=&quot;hello_blank_fragment&quot;>Hello blank fragment&lt;/string>"
+        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../feature_splash/src/main/res/values/strings.xml"
+            line="3"
+            column="13"/>
+        <location
+            file="../feature_auth/src/main/res/values/strings.xml"
+            line="2"
+            column="13"/>
+        <location
+            file="../feature_person/src/main/res/values/strings.xml"
+            line="2"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="UnusedResources"
+        message="The resource `R.string.male` appears to be unused"
+        errorLine1="    &lt;string name=&quot;male&quot;>Male&lt;/string>"
+        errorLine2="            ~~~~~~~~~~~">
+        <location
+            file="../feature_person/src/main/res/values/strings.xml"
+            line="6"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="UnusedResources"
+        message="The resource `R.string.female` appears to be unused"
+        errorLine1="    &lt;string name=&quot;female&quot;>Female&lt;/string>"
+        errorLine2="            ~~~~~~~~~~~~~">
+        <location
+            file="../feature_person/src/main/res/values/strings.xml"
+            line="7"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="UnusedResources"
+        message="The resource `R.string.etBorn` appears to be unused"
+        errorLine1="    &lt;string name=&quot;etBorn&quot;>Type date of born&lt;/string>"
+        errorLine2="            ~~~~~~~~~~~~~">
+        <location
+            file="../feature_person/src/main/res/values/strings.xml"
+            line="8"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="UnusedResources"
+        message="The resource `R.string.error_empty_string` appears to be unused"
+        errorLine1="    &lt;string name=&quot;error_empty_string&quot;>Empty field&lt;/string>"
+        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../feature_person/src/main/res/values/strings.xml"
+            line="15"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="UnusedResources"
+        message="The resource `R.string.error_invalid_email` appears to be unused"
+        errorLine1="    &lt;string name=&quot;error_invalid_email&quot;>Invalid format username (e-mail)&lt;/string>"
+        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../feature_person/src/main/res/values/strings.xml"
+            line="16"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="TypographyEllipsis"
+        message="Replace &quot;...&quot; with ellipsis character (…, &amp;#8230;) ?"
+        errorLine1="    &lt;string name=&quot;tvLogoStatus&quot;>Loading profile...&lt;/string>"
+        errorLine2="                                ^">
+        <location
+            file="src/main/res/values/strings.xml"
+            line="5"
+            column="33"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="    &lt;path android:fillColor=&quot;#FF000000&quot; android:pathData=&quot;M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z&quot;/>"
+        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_check_white_24dp.xml"
+            line="4"
+            column="11"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="    &lt;path android:fillColor=&quot;#E24C4B&quot; android:pathData=&quot;M227.556,227.556m-227.556,0a227.556,227.556 0,1 1,455.112 0a227.556,227.556 0,1 1,-455.112 0&quot;/>"
+        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_error.xml"
+            line="3"
+            column="11"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="    &lt;path android:fillColor=&quot;#D1403F&quot; android:pathData=&quot;M455.111,227.556c0,125.156 -102.4,227.556 -227.556,227.556c-72.533,0 -136.533,-32.711 -177.778,-85.333c38.4,31.289 88.178,49.778 142.222,49.778c125.156,0 227.556,-102.4 227.556,-227.556c0,-54.044 -18.489,-103.822 -49.778,-142.222C422.4,91.022 455.111,155.022 455.111,227.556z&quot;/>"
+        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_error.xml"
+            line="4"
+            column="11"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="    &lt;path android:fillColor=&quot;#FFFFFF&quot; android:pathData=&quot;M331.378,331.378c-8.533,8.533 -22.756,8.533 -31.289,0l-72.533,-72.533l-72.533,72.533c-8.533,8.533 -22.756,8.533 -31.289,0c-8.533,-8.533 -8.533,-22.756 0,-31.289l72.533,-72.533l-72.533,-72.533c-8.533,-8.533 -8.533,-22.756 0,-31.289c8.533,-8.533 22.756,-8.533 31.289,0l72.533,72.533l72.533,-72.533c8.533,-8.533 22.756,-8.533 31.289,0c8.533,8.533 8.533,22.756 0,31.289l-72.533,72.533l72.533,72.533C339.911,308.622 339.911,322.844 331.378,331.378z&quot;/>"
+        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_error.xml"
+            line="5"
+            column="11"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="    &lt;path android:fillColor=&quot;#FF000000&quot; android:pathData=&quot;M507.921,445.34c-34.766,-24.516 -76.772,-41.947 -122.504,-51.296c10.094,-7.34 19.397,-16.031 27.721,-25.86l142.126,-66.532c7.149,-3.346 11.108,-11.128 9.6,-18.876c-0.558,-2.85 -14.024,-70.631 -51.66,-139.402C461.871,49.578 390.223,0 306.001,0c-84.219,0 -155.87,49.578 -207.205,143.375c-37.635,68.769 -51.102,136.551 -51.659,139.402c-1.508,7.748 2.45,15.53 9.599,18.876l142.129,66.532c8.324,9.83 17.627,18.521 27.721,25.86c-45.735,9.349 -87.738,26.78 -122.505,51.293c-55.989,39.478 -86.822,92.553 -86.822,149.448c0,9.506 7.705,17.212 17.212,17.212h543.06c9.508,0 17.212,-7.707 17.212,-17.212C594.744,537.892 563.911,484.817 507.921,445.34zM456.912,577.575v-48.378c0,-9.506 -7.704,-17.212 -17.212,-17.212c-9.506,0 -17.212,7.707 -17.212,17.212v48.378H189.511v-48.378c0,-9.506 -7.704,-17.212 -17.212,-17.212c-9.506,0 -17.212,7.707 -17.212,17.212v48.378H52.922c5.637,-38.98 30.348,-75.439 70.998,-104.101c19.173,-13.52 40.908,-24.625 64.443,-33.117c15.582,13.655 61.154,48.746 118.007,48.746c0.871,0 1.757,-0.009 2.631,-0.026c39.181,-0.749 75.213,-18.014 107.16,-51.323c26.424,8.774 50.729,20.775 71.924,35.719c40.647,28.662 65.359,65.12 70.996,104.101H456.912V577.575zM229.62,428.557c24.39,-5.276 50.068,-8.015 76.383,-8.015c24.326,0 48.104,2.345 70.831,6.866c-21.331,17.583 -44.213,26.735 -68.265,27.247C276.77,455.34 248.285,441.027 229.62,428.557zM189.514,243.933c0,-9.506 -7.707,-17.212 -17.212,-17.212c-9.508,0 -17.212,7.707 -17.212,17.212c0,25.581 4.676,49.903 13.071,71.872L83.93,276.375c5.57,-22.162 19.338,-69.469 45.065,-116.472C174.562,76.641 234.117,34.425 306.001,34.425c71.674,0 131.099,41.984 176.624,124.782c25.892,47.09 39.818,94.865 45.438,117.171l-84.222,39.427c8.395,-21.969 13.074,-46.291 13.074,-71.872c0,-9.506 -7.707,-17.212 -17.212,-17.212c-9.508,0 -17.212,7.707 -17.212,17.212c0,78.4 -52.257,142.185 -116.487,142.185C241.771,386.118 189.514,322.333 189.514,243.933z&quot;/>"
+        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_female_avatar.xml"
+            line="3"
+            column="11"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#3DDC84&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="8"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="11"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="14"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="16"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="19"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="21"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="24"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="26"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="29"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="31"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="34"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="36"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="39"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="41"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="44"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="46"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="49"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="51"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="54"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="56"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="59"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="61"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="64"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="66"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="69"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="71"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="74"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="76"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="79"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="81"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="84"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="86"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="89"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="91"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="94"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="96"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="99"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="101"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="104"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="106"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="109"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="111"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="114"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="116"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="119"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="121"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="124"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="126"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="129"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="131"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="134"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="136"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="139"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="141"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="144"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="146"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="149"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="151"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="154"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="156"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="159"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="161"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="164"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#00000000&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="166"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#33FFFFFF&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_launcher_background.xml"
+            line="169"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="                    android:color=&quot;#44000000&quot;"
+        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable-v24/ic_launcher_foreground.xml"
+            line="16"
+            column="21"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="                    android:color=&quot;#00000000&quot;"
+        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable-v24/ic_launcher_foreground.xml"
+            line="19"
+            column="21"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:fillColor=&quot;#FFFFFF&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable-v24/ic_launcher_foreground.xml"
+            line="25"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:strokeColor=&quot;#00000000&quot; />"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable-v24/ic_launcher_foreground.xml"
+            line="29"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="    &lt;path android:fillColor=&quot;#FF000000&quot; android:pathData=&quot;M277.664,208.01h-16.123c31.146,-20.152 51.804,-55.194 51.804,-94.972C313.345,50.708 262.637,0 200.307,0S87.269,50.708 87.269,113.038c0,39.778 20.656,74.82 51.804,94.972H122.95c-41.434,0 -75.143,33.707 -75.143,75.141v104.963c0,6.904 5.597,12.5 12.5,12.5h280c6.903,0 12.5,-5.596 12.5,-12.5V283.15C352.807,241.717 319.098,208.01 277.664,208.01zM112.269,113.038c0,-48.544 39.493,-88.038 88.038,-88.038c48.544,0 88.038,39.494 88.038,88.038c0,48.543 -39.494,88.036 -88.038,88.036C151.762,201.074 112.269,161.581 112.269,113.038zM236.88,219.998l-36.573,36.574l-36.573,-36.573c11.477,3.935 23.779,6.075 36.573,6.075S225.404,223.934 236.88,219.998zM327.807,375.613h-34v-60.059c0,-6.904 -5.597,-12.5 -12.5,-12.5s-12.5,5.596 -12.5,12.5v60.059h-137v-60.059c0,-6.904 -5.597,-12.5 -12.5,-12.5s-12.5,5.596 -12.5,12.5v60.059h-34V283.15c0,-27.647 22.494,-50.141 50.143,-50.141h18.439l50.079,50.078c2.441,2.441 5.64,3.661 8.839,3.661s6.396,-1.22 8.839,-3.661l50.079,-50.078h18.439c27.648,0 50.143,22.492 50.143,50.141V375.613z&quot;/>"
+        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_male_avatar.xml"
+            line="3"
+            column="11"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="    &lt;path android:fillColor=&quot;#8DC640&quot; android:pathData=&quot;M405.493,412.764c-69.689,56.889 -287.289,56.889 -355.556,0c-69.689,-56.889 -62.578,-300.089 0,-364.089s292.978,-64 355.556,0S475.182,355.876 405.493,412.764z&quot;/>"
+        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_success.xml"
+            line="3"
+            column="11"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="    &lt;path android:fillAlpha=&quot;0.2&quot; android:fillColor=&quot;#FFFFFF&quot;"
+        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_success.xml"
+            line="4"
+            column="35"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="    &lt;path android:fillColor=&quot;#FFFFFF&quot; android:pathData=&quot;M195.004,354.453c-9.956,0 -19.911,-4.267 -25.6,-12.8l-79.644,-102.4c-11.378,-14.222 -8.533,-34.133 5.689,-45.511s34.133,-8.533 45.511,5.689l54.044,69.689l119.467,-155.022c11.378,-14.222 31.289,-17.067 45.511,-5.689s17.067,31.289 5.689,45.511L220.604,341.653C213.493,348.764 204.96,354.453 195.004,354.453z&quot;/>"
+        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_success.xml"
+            line="6"
+            column="11"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="      android:fillColor=&quot;#000000&quot;/>"
+        errorLine2="      ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/ic_userprofile.xml"
+            line="8"
+            column="7"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="                android:textColor=&quot;#000000&quot;"
+        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/layout/item_measure_type.xml"
+            line="50"
+            column="17"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="                android:textColor=&quot;#000000&quot;"
+        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/layout/item_person.xml"
+            line="51"
+            column="17"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:centerColor=&quot;#009688&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/side_nav_bar.xml"
+            line="5"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:endColor=&quot;#00695C&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/side_nav_bar.xml"
+            line="6"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:startColor=&quot;#4DB6AC&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/drawable/side_nav_bar.xml"
+            line="7"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:textColor=&quot;#FFFFFF&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/layout/view_nav_header.xml"
+            line="27"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="RawColorInResources"
+        message="Using row color in tags"
+        errorLine1="        android:textColor=&quot;#FFFFFF&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/layout/view_nav_header.xml"
+            line="38"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="Autofill"
+        message="Missing `autofillHints` attribute"
+        errorLine1="    &lt;EditText"
+        errorLine2="     ~~~~~~~~">
+        <location
+            file="src/main/res/layout/dialog_share.xml"
+            line="13"
+            column="6"/>
+    </issue>
+
+    <issue
+        id="Autofill"
+        message="Missing `autofillHints` attribute"
+        errorLine1="            &lt;EditText"
+        errorLine2="             ~~~~~~~~">
+        <location
+            file="src/main/res/layout/fragment_edit_person.xml"
+            line="25"
+            column="14"/>
+    </issue>
+
+    <issue
+        id="Autofill"
+        message="Missing `autofillHints` attribute"
+        errorLine1="            &lt;EditText"
+        errorLine2="             ~~~~~~~~">
+        <location
+            file="src/main/res/layout/fragment_login.xml"
+            line="28"
+            column="14"/>
+    </issue>
+
+    <issue
+        id="Autofill"
+        message="Missing `autofillHints` attribute"
+        errorLine1="            &lt;EditText"
+        errorLine2="             ~~~~~~~~">
+        <location
+            file="src/main/res/layout/fragment_login.xml"
+            line="42"
+            column="14"/>
+    </issue>
+
+    <issue
+        id="Autofill"
+        message="Missing `autofillHints` attribute"
+        errorLine1="            &lt;EditText"
+        errorLine2="             ~~~~~~~~">
+        <location
+            file="src/main/res/layout/fragment_registration.xml"
+            line="28"
+            column="14"/>
+    </issue>
+
+    <issue
+        id="Autofill"
+        message="Missing `autofillHints` attribute"
+        errorLine1="            &lt;EditText"
+        errorLine2="             ~~~~~~~~">
+        <location
+            file="src/main/res/layout/fragment_registration.xml"
+            line="43"
+            column="14"/>
+    </issue>
+
+    <issue
+        id="Autofill"
+        message="Missing `autofillHints` attribute"
+        errorLine1="            &lt;EditText"
+        errorLine2="             ~~~~~~~~">
+        <location
+            file="src/main/res/layout/fragment_registration.xml"
+            line="58"
+            column="14"/>
+    </issue>
+
+    <issue
+        id="Autofill"
+        message="Missing `autofillHints` attribute"
+        errorLine1="            &lt;EditText"
+        errorLine2="             ~~~~~~~~">
+        <location
+            file="src/main/res/layout/fragment_registration.xml"
+            line="73"
+            column="14"/>
+    </issue>
+
+    <issue
+        id="Autofill"
+        message="Missing `autofillHints` attribute"
+        errorLine1="            &lt;EditText"
+        errorLine2="             ~~~~~~~~">
+        <location
+            file="src/main/res/layout/fragment_registration.xml"
+            line="88"
+            column="14"/>
+    </issue>
+
+    <issue
+        id="ClickableViewAccessibility"
+        message="Custom view `GenderSwitch` overrides `onTouchEvent` but not `performClick`"
+        errorLine1="    override fun onTouchEvent(event: MotionEvent?): Boolean {"
+        errorLine2="                 ~~~~~~~~~~~~">
+        <location
+            file="src/main/java/com/mrozon/feature_person/customview/GenderSwitch.kt"
+            line="137"
+            column="18"/>
+    </issue>
+
+    <issue
+        id="ContentDescription"
+        message="Missing `contentDescription` attribute on image"
+        errorLine1="    &lt;ImageView"
+        errorLine2="     ~~~~~~~~~">
+        <location
+            file="src/main/res/layout/fragment_my_info_dialog.xml"
+            line="9"
+            column="6"/>
+    </issue>
+
+    <issue
+        id="ContentDescription"
+        message="Missing `contentDescription` attribute on image"
+        errorLine1="    &lt;ImageView"
+        errorLine2="     ~~~~~~~~~">
+        <location
+            file="src/main/res/layout/view_nav_header.xml"
+            line="9"
+            column="6"/>
+    </issue>
+
+    <issue
+        id="ContentDescription"
+        message="Missing `contentDescription` attribute on image"
+        errorLine1="    &lt;ImageView"
+        errorLine2="     ~~~~~~~~~">
+        <location
+            file="src/main/res/layout/view_nav_header.xml"
+            line="44"
+            column="6"/>
+    </issue>
+
+    <issue
+        id="SetTextI18n"
+        message="Do not concatenate text displayed with `setText`. Use resource string with placeholders."
+        errorLine1="                tvUserName.text = &quot;${user.firstname}  ${user.lastname}&quot;"
+        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/com/mrozon/healthdiary/presentation/main/MainActivity.kt"
+            line="126"
+            column="35"/>
+    </issue>
+
+    <issue
+        id="RtlHardcoded"
+        message="Consider replacing `android:layout_marginRight` with `android:layout_marginEnd=&quot;16dp&quot;` to better support right-to-left layouts"
+        errorLine1="                android:layout_marginRight=&quot;16dp&quot;"
+        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/res/layout/item_measure_type.xml"
+            line="46"
+            column="17"/>
+    </issue>
+
+</issues>

+ 1 - 0
lint_repo/.gitignore

@@ -0,0 +1 @@
+/build

+ 25 - 0
lint_repo/build.gradle

@@ -0,0 +1,25 @@
+plugins {
+    id 'java-library'
+    id 'kotlin'
+}
+
+java {
+    sourceCompatibility = JavaVersion.VERSION_1_8
+    targetCompatibility = JavaVersion.VERSION_1_8
+}
+
+jar {
+    manifest {
+        attributes 'Lint-Registry-v2':'com.mrozon.lintrepo.CustomLintRegistry'
+    }
+}
+
+dependencies {
+    def lintVersion = "26.6.4"
+
+    compileOnly "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
+
+    compileOnly "com.android.tools.lint:lint-api:$lintVersion"
+    compileOnly "com.android.tools.lint:lint-checks:$lintVersion"
+    testImplementation "com.android.tools.lint:lint-tests:$lintVersion"
+}

+ 13 - 0
lint_repo/src/main/java/com/mrozon/lintrepo/CustomLintRegistry.kt

@@ -0,0 +1,13 @@
+package com.mrozon.lintrepo
+
+import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.detector.api.Issue
+
+class CustomLintRegistry : IssueRegistry() {
+
+    override val issues: List<Issue>
+        get() = listOf(
+            VerySimpleNamingVariablesDetector.ISSUE_VERY_SIMPLE_NAMING_VARIABLES,
+            RawColorDetector.ISSUE_RAW_COLOR_RESOURCES
+        )
+}

+ 50 - 0
lint_repo/src/main/java/com/mrozon/lintrepo/RawColorDetector.kt

@@ -0,0 +1,50 @@
+package com.mrozon.lintrepo
+
+import com.android.tools.lint.detector.api.*
+import com.android.utils.forEach
+import com.sun.org.apache.xerces.internal.dom.AttrImpl
+import org.w3c.dom.Element
+
+class RawColorDetector: ResourceXmlDetector() {
+
+    companion object {
+
+        val ISSUE_RAW_COLOR_RESOURCES = Issue.create(
+            "RawColorInResources",
+            "Using row color in tags - too bad((",
+            "Needed using colors resource, but NOT use raw color in tags",
+            Category.USABILITY,
+            6,
+            Severity.WARNING,
+            Implementation(
+                RawColorDetector::class.java,
+                Scope.RESOURCE_FILE_SCOPE
+            )
+
+        )
+
+    }
+
+    override fun getApplicableElements(): Collection<String>? = XmlScannerConstants.ALL
+
+    override fun visitElement(context: XmlContext, element: Element) {
+        element.childNodes.forEach { node ->
+            if(node.hasAttributes()){
+                node.attributes.forEach { item ->
+                    val name = (item as AttrImpl).name
+                    if(name.contains("color", true)){
+                        item.nodeValue?.let {
+                            if(item.nodeValue[0] == '#')
+                                context.report(
+                                    ISSUE_RAW_COLOR_RESOURCES,
+                                    element, context.getLocation(item), "Using row color in tags"
+                                )
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+
+}

+ 70 - 0
lint_repo/src/main/java/com/mrozon/lintrepo/VerySimpleNamingVariablesDetector.kt

@@ -0,0 +1,70 @@
+package com.mrozon.lintrepo
+
+import com.android.tools.lint.client.api.UElementHandler
+import com.android.tools.lint.detector.api.*
+import org.jetbrains.uast.*
+import org.jetbrains.uast.kotlin.KotlinUAnnotatedLocalVariable
+import org.jetbrains.uast.visitor.AbstractUastVisitor
+import java.util.*
+
+class VerySimpleNamingVariablesDetector : Detector(), Detector.UastScanner {
+
+    companion object {
+        val ISSUE_VERY_SIMPLE_NAMING_VARIABLES = Issue.create(
+            "VerySimpleNamingVariables",
+            "One letter - too bad((",
+            "You named your variable use only ONE letter",
+            Category.USABILITY,
+            6,
+            Severity.WARNING,
+            Implementation(
+                VerySimpleNamingVariablesDetector::class.java,
+                EnumSet.of(Scope.JAVA_FILE)
+            )
+
+        )
+    }
+
+    override fun getApplicableUastTypes() = listOf(UClass::class.java)
+
+    override fun createUastHandler(context: JavaContext) = VerySimpleNamingVariablesDetectorVisitor(context)
+
+    class VerySimpleNamingVariablesDetectorVisitor (private val context: JavaContext):
+        UElementHandler() {
+
+        override fun visitClass(node: UClass) {
+//            print(node.asRecursiveLogString())
+
+            node.accept(object: AbstractUastVisitor() {
+
+                override fun visitField(node: UField): Boolean {
+                    if (node.name.length < 2) {
+                        context.report(
+                            ISSUE_VERY_SIMPLE_NAMING_VARIABLES,
+                            node, context.getLocation(node), "Incorrect named variable"
+                        )
+                    }
+                    return super.visitField(node)
+                }
+
+                override fun visitDeclarationsExpression(node: UDeclarationsExpression): Boolean {
+                    node.declarations.forEach { declaration ->
+                        if(declaration is KotlinUAnnotatedLocalVariable){
+                            declaration.name?.let {
+                                if (it.length < 2) {
+                                    context.report(
+                                        ISSUE_VERY_SIMPLE_NAMING_VARIABLES,
+                                        node, context.getLocation(node), "Incorrect named variable"
+                                    )
+                                }
+                            }
+                        }
+                    }
+                    return super.visitDeclarationsExpression(node)
+                }
+
+            })
+        }
+    }
+
+}

+ 81 - 0
lint_repo/src/test/java/com/mrozon/lintrepo/RawColorDetectorTest.kt

@@ -0,0 +1,81 @@
+package com.mrozon.lintrepo
+
+import com.android.tools.lint.checks.infrastructure.LintDetectorTest.xml
+import com.android.tools.lint.checks.infrastructure.TestLintTask
+import org.junit.Test
+
+class RawColorDetectorTest {
+
+    @Test
+    fun `incorrect xml resource`() {
+        TestLintTask.lint()
+            .allowMissingSdk()
+            .files(
+                xml(
+                    "/res/layout/custom_layout.xml",
+                    """
+                        <layout xmlns:android="http://schemas.android.com/apk/res/android"
+                            xmlns:app="http://schemas.android.com/apk/res-auto">
+                                    <EditText
+                                        android:id="@+id/etUserName"
+                                        android:layout_width="0dp"
+                                        android:layout_height="wrap_content"
+                                        android:layout_marginStart="32dp"
+                                        android:layout_marginEnd="32dp"
+                                        android:ems="10"
+                                        android:textColor="#444444"
+                                        android:gravity="center"
+                                        android:hint="@string/etUsername"
+                                        android:inputType="textEmailAddress"
+                                        app:layout_constraintEnd_toEndOf="parent"
+                                        app:layout_constraintStart_toStartOf="parent"
+                                        app:layout_constraintTop_toTopOf="@+id/guideline" />
+                        </layout>
+                    """
+                )
+            )
+            .issues(RawColorDetector.ISSUE_RAW_COLOR_RESOURCES)
+            .run()
+            .expect("""
+                res/layout/custom_layout.xml:11: Warning: Using row color in tags [RawColorInResources]
+                                                        android:textColor="#444444"
+                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                0 errors, 1 warnings
+            """.trimIndent())
+    }
+
+    @Test
+    fun `correct xml resource`() {
+        TestLintTask.lint()
+            .allowMissingSdk()
+            .files(
+                xml(
+                    "/res/layout/custom_layout.xml",
+                    """
+                        <layout xmlns:android="http://schemas.android.com/apk/res/android"
+                            xmlns:app="http://schemas.android.com/apk/res-auto">
+                                    <EditText
+                                        android:id="@+id/etUserName"
+                                        android:layout_width="0dp"
+                                        android:layout_height="wrap_content"
+                                        android:layout_marginStart="32dp"
+                                        android:layout_marginEnd="32dp"
+                                        android:ems="10"
+                                        android:textColor="@color/color_snack_error"
+                                        android:gravity="center"
+                                        android:hint="@string/etUsername"
+                                        android:inputType="textEmailAddress"
+                                        app:layout_constraintEnd_toEndOf="parent"
+                                        app:layout_constraintStart_toStartOf="parent"
+                                        app:layout_constraintTop_toTopOf="@+id/guideline" />
+                        </layout>
+                    """
+                )
+            )
+            .issues(RawColorDetector.ISSUE_RAW_COLOR_RESOURCES)
+            .run()
+            .expectClean()
+    }
+
+
+}

+ 91 - 0
lint_repo/src/test/java/com/mrozon/lintrepo/VerySimpleNamingVariablesDetectorTest.kt

@@ -0,0 +1,91 @@
+package com.mrozon.lintrepo
+
+import com.android.tools.lint.checks.infrastructure.LintDetectorTest.kotlin
+import com.android.tools.lint.checks.infrastructure.TestLintTask.lint
+import com.mrozon.lintrepo.VerySimpleNamingVariablesDetector.Companion.ISSUE_VERY_SIMPLE_NAMING_VARIABLES
+import org.junit.Test
+
+class VerySimpleNamingVariablesDetectorTest {
+
+    @Test
+    fun `incorrect naming in kt file`() {
+        lint()
+            .allowMissingSdk()
+            .files(
+                kotlin(
+                    """
+                        class TestClass() {
+                            
+                            var d2 = 1
+                            var a = 1
+
+                            fun doAction(savedInstanceState: Bundle?) {
+                                d2 += 1
+                            }
+                        }
+                    """
+                )
+            )
+            .issues(ISSUE_VERY_SIMPLE_NAMING_VARIABLES)
+            .run()
+            .expect("""
+                src/TestClass.kt:5: Warning: Incorrect named variable [VerySimpleNamingVariables]
+                                            var a = 1
+                                            ~~~~~~~~~
+                0 errors, 1 warnings
+            """.trimIndent())
+    }
+
+    @Test
+    fun `incorrect naming in inner fun`() {
+        lint()
+            .allowMissingSdk()
+            .files(
+                kotlin(
+                    """
+                        class TestClass() {
+                            
+                            var d2 = 1
+
+                            fun doAction(savedInstanceState: Bundle?) {
+                                val t = "dsjfkh"
+                                d2 += 1
+                            }
+                        }
+                    """
+                )
+            )
+            .issues(ISSUE_VERY_SIMPLE_NAMING_VARIABLES)
+            .run()
+            .expect("""
+                src/TestClass.kt:7: Warning: Incorrect named variable [VerySimpleNamingVariables]
+                                                val t = "dsjfkh"
+                                                ~~~~~~~~~~~~~~~~
+                0 errors, 1 warnings
+            """.trimIndent())
+    }
+
+    @Test
+    fun `correct naming in kt file`() {
+        lint()
+            .allowMissingSdk()
+            .files(
+                kotlin(
+                    """
+                        class TestClass() {
+                            
+                            var d2 = 1
+                            var arty = 1
+
+                            fun doAction(savedInstanceState: Bundle?) {
+                                d2 += 1
+                            }
+                        }
+                    """
+                )
+            )
+            .issues(ISSUE_VERY_SIMPLE_NAMING_VARIABLES)
+            .run()
+            .expectClean()
+    }
+}

+ 1 - 0
settings.gradle

@@ -1,3 +1,4 @@
+include ':lint_repo'
 include ':feature_measure_type'
 include ':feature_person'
 include ':feature_auth'

+ 3 - 1
utils/src/main/java/com/mrozon/utils/base/BaseFragment.kt

@@ -1,5 +1,6 @@
 package com.mrozon.utils.base
 
+import android.annotation.SuppressLint
 import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
@@ -12,7 +13,7 @@ import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_LONG
 import com.google.android.material.snackbar.Snackbar
 import timber.log.Timber
 
-abstract class BaseFragment<T : ViewDataBinding>: Fragment()//,
+abstract class BaseFragment<T : ViewDataBinding>: Fragment()
 {
 //    ViewTreeObserver.OnGlobalLayoutListener {
 
@@ -68,6 +69,7 @@ abstract class BaseFragment<T : ViewDataBinding>: Fragment()//,
             .show(requireActivity().supportFragmentManager, MyInfoDialog.TAG)
     }
 
+    @SuppressLint("WrongConstant")
     fun show(message: String) {
         val snackbar = Snackbar.make(binding?.root!!,message,LENGTH_LONG)
         snackbar.show()