Lint Report: 334 warnings
Issue Types

Overview

Correctness
4warning UnusedAttribute: Attribute unused on older versions
5warning VectorRaster: Vector Image Generation
177warning GradleDependency: Obsolete Gradle Dependency
31warning UsingMaterialAndMaterial3Libraries: material and material3 are separate, incompatible design system libraries
Security
2warning TrustAllX509TrustManager: Insecure TLS/SSL trust manager
Performance
4warning VectorPath: Long vector paths
4warning AutoboxingStateCreation: State<T> will autobox values assigned to this state. Use a specialized state type instead.
110warning UnusedResources: Unused resources
Productivity
1warning UseKtx: Use KTX extension function
Included Additional Checks (82)
Disabled Checks (41)

Attribute unused on older versions

../../src/main/AndroidManifest.xml:78: Attribute usesCleartextTraffic is only used in API level 23 and higher (current min is 21)
  75         android:icon="@drawable/ic_launcher_icon"
  76         android:roundIcon="@drawable/ic_launcher_icon"
  77         android:label="@string/app_name"
  78         android:usesCleartextTraffic="true"                                                         
  79         android:theme="@style/Theme.App.Starting"
  80         android:supportsRtl="true"
  81         tools:ignore="GoogleAppIndexingWarning"
../../src/main/AndroidManifest.xml:84: Attribute localeConfig is only used in API level 33 and higher (current min is 21)
  81         tools:ignore="GoogleAppIndexingWarning"
  82         android:fullBackupContent="@xml/backup_rules"
  83         android:dataExtractionRules="@xml/data_extraction_rules"
  84         android:localeConfig="@xml/locales_config"                                                  
  85         >
  86 
  87         <!--
../../src/main/res/drawable/splash_background.xml:9: Attribute width is only used in API level 23 and higher (current min is 21)
  6     <item android:gravity="center" android:drawable="@drawable/ic_launcher_icon" />
  7 
  8      <item
  9         android:width="200dp"                                                                       
 10         android:height="80dp"
 11         android:drawable="@drawable/splash_brand_img"
 12         android:gravity="center|bottom" />
../../src/main/res/drawable/splash_background.xml:10: Attribute height is only used in API level 23 and higher (current min is 21)
  7 
  8      <item
  9         android:width="200dp"
 10         android:height="80dp"                                                                       
 11         android:drawable="@drawable/splash_brand_img"
 12         android:gravity="center|bottom" />
UnusedAttribute Correctness Warning Priority 6/10

Vector Image Generation

../../src/main/res/drawable/illustration_connect.xml:2: Limit vector icons sizes to 200×200 to keep icon drawing fast; see https://developer.android.com/studio/write/vector-asset-studio#when for more
    1 <vector xmlns:android="http://schemas.android.com/apk/res/android"
    2     android:width="1000dp"                                                                          
    3     android:height="1000dp"
    4     android:viewportWidth="1000"
    5     android:viewportHeight="1000">
../../src/main/res/drawable/illustration_offline_sharing.xml:2: Limit vector icons sizes to 200×200 to keep icon drawing fast; see https://developer.android.com/studio/write/vector-asset-studio#when for more
  1 <vector android:height="500dp" android:viewportHeight="1000"
  2     android:viewportWidth="1000" android:width="500dp" xmlns:android="http://schemas.android.com/apk/res/android">
  3     <group>
  4         <clip-path android:pathData="M8.83,542.06c0,-155.18 140.09,-386.37 416.31,-357.3C743,218.23 1023.29,328.32 979.35,535.24 950.2,672.5 744.15,806.84 512.87,824.39 285.43,841.64 8.83,697.25 8.83,542.06Z"/>
  5         <path android:fillColor="#eaf6f2" android:pathData="M8.83,542.06c0,-155.18 140.09,-386.37 416.31,-357.3C743,218.23 1023.29,328.32 979.35,535.24 950.2,672.5 744.15,806.84 512.87,824.39 285.43,841.64 8.83,697.25 8.83,542.06Z"/>
../../src/main/res/drawable/illustration_offline_usage.xml:2: Limit vector icons sizes to 200×200 to keep icon drawing fast; see https://developer.android.com/studio/write/vector-asset-studio#when for more
   1 <vector android:height="480dp" android:viewportHeight="1000"
   2     android:viewportWidth="1000" android:width="480dp" xmlns:android="http://schemas.android.com/apk/res/android">
   3     <group>
   4         <clip-path android:pathData="M512,15.32q-5.39,0.26 -10.75,0.61C344.67,26 191.95,105 143.81,263.89 67.9,514.42 36,749.39 192,887.16c151,133.38 293.42,126.41 378.82,6.84 41.75,-51.24 178.41,-87.3 242.94,-119.57s163.22,-163.22 55,-324.55c-22.77,-34.16 -19,-153.73 -9.49,-220.16 7.64,-53.52 -36.7,-108.61 -74.7,-140.21C708.89,26.53 607.79,10.67 512,15.32Z"/>
   5         <path android:fillColor="#ceedbe" android:pathData="M580.84,247.73s-59.4,6.16 -57.16,13.45 54.45,38.57 57.48,60.47Z"/>
../../src/main/res/drawable/illustration_organized.xml:2: Limit vector icons sizes to 200×200 to keep icon drawing fast; see https://developer.android.com/studio/write/vector-asset-studio#when for more
   1 <vector xmlns:android="http://schemas.android.com/apk/res/android"
   2     android:width="1000dp"                                                                          
   3     android:height="1000dp"
   4     android:viewportWidth="1000"
   5     android:viewportHeight="1000">
../../src/main/res/drawable/splash_inset.xml:10: Limit vector icons sizes to 200×200 to keep icon drawing fast; see https://developer.android.com/studio/write/vector-asset-studio#when for more
  7 -->
  8 <inset xmlns:android="http://schemas.android.com/apk/res/android"
  9     android:drawable="@drawable/ic_launcher_icon"
 10     android:width="288dp"                                                                           
 11     android:height="288dp"
 12     android:insetLeft="56dp"
 13     android:insetRight="56dp"
VectorRaster Correctness Warning Priority 5/10

Obsolete Gradle Dependency

../../../gradle/libs.versions.toml:5: A newer version of androidx.activity:activity than 1.8.2 is available: 1.10.1
   2 
   3 version-moko-resources = "0.23.0"
   4 jetbrains-compose = "1.6.1"
   5 androidx-activity = "1.8.2"                                                                         
   6 version-androidx-appcompat = "1.6.1"
   7 androidx-core = "1.12.0"
   8 kotlin = "1.9.23"
../../../gradle/libs.versions.toml:5: A newer version of androidx.activity:activity than 1.8.2 is available: 1.10.1
   2 
   3 version-moko-resources = "0.23.0"
   4 jetbrains-compose = "1.6.1"
   5 androidx-activity = "1.8.2"                                                                         
   6 version-androidx-appcompat = "1.6.1"
   7 androidx-core = "1.12.0"
   8 kotlin = "1.9.23"
../../../gradle/libs.versions.toml:5: A newer version of androidx.activity:activity than 1.8.2 is available: 1.10.1
   2 
   3 version-moko-resources = "0.23.0"
   4 jetbrains-compose = "1.6.1"
   5 androidx-activity = "1.8.2"                                                                         
   6 version-androidx-appcompat = "1.6.1"
   7 androidx-core = "1.12.0"
   8 kotlin = "1.9.23"
../../../gradle/libs.versions.toml:5: A newer version of androidx.activity:activity-compose than 1.8.2 is available: 1.10.1
   2 
   3 version-moko-resources = "0.23.0"
   4 jetbrains-compose = "1.6.1"
   5 androidx-activity = "1.8.2"                                                                         
   6 version-androidx-appcompat = "1.6.1"
   7 androidx-core = "1.12.0"
   8 kotlin = "1.9.23"
../../../gradle/libs.versions.toml:5: A newer version of androidx.activity:activity-compose than 1.8.2 is available: 1.10.1
   2 
   3 version-moko-resources = "0.23.0"
   4 jetbrains-compose = "1.6.1"
   5 androidx-activity = "1.8.2"                                                                         
   6 version-androidx-appcompat = "1.6.1"
   7 androidx-core = "1.12.0"
   8 kotlin = "1.9.23"
GradleDependency Correctness Warning Priority 4/10

material and material3 are separate, incompatible design system libraries

../../src/main/java/com/ustadmobile/port/android/view/HolidayCalendarListFragment.kt:8: Using a material import while also using the material3 library
  5 import androidx.compose.foundation.lazy.LazyColumn
  6 import androidx.compose.foundation.lazy.items
  7 import androidx.compose.material.ExperimentalMaterialApi
  8 import androidx.compose.material.ListItem                                                           
  9 import androidx.compose.material.Text
 10 import androidx.compose.runtime.Composable
 11 import androidx.compose.ui.Modifier
../../src/main/java/com/ustadmobile/port/android/view/HolidayCalendarListFragment.kt:9: Using a material import while also using the material3 library
  6 import androidx.compose.foundation.lazy.items
  7 import androidx.compose.material.ExperimentalMaterialApi
  8 import androidx.compose.material.ListItem
  9 import androidx.compose.material.Text                                                               
 10 import androidx.compose.runtime.Composable
 11 import androidx.compose.ui.Modifier
 12 import androidx.compose.ui.res.stringResource
../../src/main/java/com/ustadmobile/port/android/view/HtmlEditFragment.kt:6: Using a material import while also using the material3 library
   3 import androidx.compose.foundation.layout.Column
   4 import androidx.compose.foundation.layout.fillMaxSize
   5 import androidx.compose.foundation.layout.fillMaxWidth
   6 import androidx.compose.material.MaterialTheme                                                      
   7 import androidx.compose.material.Text
   8 import androidx.compose.runtime.Composable
   9 import androidx.compose.runtime.collectAsState
../../src/main/java/com/ustadmobile/port/android/view/HtmlEditFragment.kt:7: Using a material import while also using the material3 library
   4 import androidx.compose.foundation.layout.fillMaxSize
   5 import androidx.compose.foundation.layout.fillMaxWidth
   6 import androidx.compose.material.MaterialTheme
   7 import androidx.compose.material.Text                                                               
   8 import androidx.compose.runtime.Composable
   9 import androidx.compose.runtime.collectAsState
  10 import androidx.compose.runtime.getValue
../../src/main/java/com/ustadmobile/port/android/view/LeavingReasonEditFragment.kt:6: Using a material import while also using the material3 library
  3 import androidx.compose.foundation.layout.Column
  4 import androidx.compose.foundation.rememberScrollState
  5 import androidx.compose.foundation.verticalScroll
  6 import androidx.compose.material.OutlinedTextField                                                  
  7 import androidx.compose.material.Text
  8 import androidx.compose.runtime.Composable
  9 import androidx.compose.runtime.collectAsState
Vendor: Jetpack Compose
Identifier: androidx.compose.material3
Feedback: https://issuetracker.google.com/issues/new?component=612128
UsingMaterialAndMaterial3Libraries Correctness Warning Priority 3/10

Insecure TLS/SSL trust manager

../../../../../../.gradle/caches/modules-2/files-2.1/com.athaydes.rawhttp/rawhttp-core/2.6.0/8bbc07fc8faa95d25f8d4d686336b37f674a84b1/rawhttp-core-2.6.0.jar: checkClientTrusted is empty, which could cause insecure network traffic due to trusting arbitrary TLS/SSL certificates presented by peers
../../../../../../.gradle/caches/modules-2/files-2.1/com.athaydes.rawhttp/rawhttp-core/2.6.0/8bbc07fc8faa95d25f8d4d686336b37f674a84b1/rawhttp-core-2.6.0.jar: checkServerTrusted is empty, which could cause insecure network traffic due to trusting arbitrary TLS/SSL certificates presented by peers
TrustAllX509TrustManager Security Warning Priority 6/10

Long vector paths

../../src/main/res/drawable/illustration_connect.xml:625: Very long vector path (830 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector.
  622       android:pathData="M94.47,431.8s-8.94,-2 -9.43,6.95 5.46,21.84 3.47,26.81 -10.42,4 -13.4,0 -13.4,-13.4 -29.78,-8.44 -3,15.39 7.45,14.4 23.83,0 22.34,8.94c-1.49,5.46 -8.94,3.47 -12.91,3.47s-19.86,5 -17.87,13.9 18.86,3 22.83,1.49 18.37,-1.49 20.85,0.5c0,0 -21.35,6.45 -15.89,15.39s16.88,-3 19.86,-2.48 6.95,3.47 6.45,10.92 13.9,10.92 19.86,7.94 15.39,-6.95 21.35,5 20.85,19.86 20.85,19.86l10.92,-0.5s-11.91,-22.83 -20.35,-35.25 -10.92,-7.94 -6.95,-23.33 9.43,-26.81 4,-27.8 -12.41,6.45 -15.39,16.38 -7.94,13.4 -10.42,7.45S120.78,475 124.75,469s8.44,-14.89 2.48,-16.88 -13.4,2.48 -16.38,13.9 -11.42,6.95 -10.42,-5.46S100.92,432.79 94.47,431.8Z"
  623       android:fillColor="#649d56"/>
  624   <path
  625       android:pathData="M172.58,683.18c-3.75,-3 -7.47,-5.95 -11.09,-9 -0.17,-0.84 -0.34,-1.69 -0.51,-2.57C156,646.23 133.18,605.07 127.24,606s-11.43,-5.95 -15.39,-13.41 -11.94,2 -17.38,5.48l-0.21,0.13c-5.31,3.21 -8.73,-1.18 -8.73,-5.61s-1,-9.4 -5.95,-10.92 -10.92,7 -12.4,11.43 -6.45,5.95 -9.45,1.48 0.51,-13.88 0,-18.85 -5.95,-5.44 -14.38,2 -11.94,7 -16.41,3.5 5.95,-18.39 11.43,-19.86 6.45,-4 3,-5.95S29.94,556.9 29.43,551c0,-14.42 19.86,-4 19.86,-4s-9.91,-17.84 -1.48,-24.29 5.95,1.48 7.93,10.42c1.05,4.68 5.48,8 9.49,10.08A40.74,40.74 0,0 0,72.12 546c-0.25,-7.13 2.24,-15.86 6.49,-15.23s3.29,10.54 5.61,15.44 8.52,6.24 10.16,4.93 0.67,-7.89 3,-13.79 6.58,-1.64 9.19,1.65 4.6,10.16 5.57,14.76 9.19,0.34 15.44,-2.28 5.27,5.23 4.3,8.52 -2.32,9.53 1.35,10.33c8.94,1 12.91,7.93 14.38,16.87s-3.46,12.91 2.49,23.32C154.91,618.94 167.81,665.59 172.58,683.18Z"
  626       android:fillColor="#649d56"/>
  627   <path
  628       android:pathData="M286.88,690.74s-8.77,-29.91 -4.64,-49.51 21.15,-61.38 4.64,-97.48c0,0 20.63,26.3 20.11,64.47S303.38,682 310.08,698s-1.55,46.42 -4.13,53.12Z"
../../src/main/res/drawable/illustration_offline_sharing.xml:7: Very long vector path (829 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector.
  4   <clip-path android:pathData="M8.83,542.06c0,-155.18 140.09,-386.37 416.31,-357.3C743,218.23 1023.29,328.32 979.35,535.24 950.2,672.5 744.15,806.84 512.87,824.39 285.43,841.64 8.83,697.25 8.83,542.06Z"/>
  5   <path android:fillColor="#eaf6f2" android:pathData="M8.83,542.06c0,-155.18 140.09,-386.37 416.31,-357.3C743,218.23 1023.29,328.32 979.35,535.24 950.2,672.5 744.15,806.84 512.87,824.39 285.43,841.64 8.83,697.25 8.83,542.06Z"/>
  6   <path android:fillColor="#ff4ef9" android:pathData="M342.09,622.71c-2.33,4.12 -4.19,7.41 -5.22,9 -4.32,6.74 -18.27,37.4 -25.48,37.57S286.58,655 286.58,655s16.94,90 18.37,116.56 0.73,33.38 0.73,33.38 -140.87,-27.67 -146.16,-55.64c0,0 17.14,-68.56 32.69,-87.1 4.45,-8.87 -7,-29.63 -14.45,-43s-25.18,-43.71 -24.81,-53c0,0 86,-38.9 97.82,-38.53s19.27,5.95 20,10c0.3,1.69 5.75,15.71 12.36,32.35 3.45,8.74 7.24,18.17 10.76,27 5.75,14.32 10.83,26.87 12.82,31.79 0,0 6.88,-9.47 14.88,-20.56Z"/>
  7   <path android:fillColor="#291e15" android:pathData="M300.53,403.41a65.65,65.65 0,0 1,-20.93 22.29s-10.93,39.93 -12.16,61.68l-0.47,-0.3a18.16,18.16 0,0 1,-4.19 -3.82c-0.37,-0.47 -0.73,-1 -1.1,-1.46a18.55,18.55 0,0 1,-1.46 -2.56l-0.1,0.4a31.36,31.36 0,0 0,-0.7 7,49 49,0 0,0 0.8,8.57c1.79,10.2 4.45,21.26 4.45,21.26 6.21,10.23 9.73,26.61 9.73,26.61 -26.14,-19.5 -51.89,8.87 -57.2,16.87S205.7,575 201.28,578.14s-12.42,11.53 -12.42,11.53c-7.11,0.9 -20.86,-3.09 -36.37,-12s-10.63,-37.7 -4.42,-65.64C152.52,492 165,479 171.68,473.3a56.63,56.63 0,0 0,1.06 17.07s1.86,-12.76 3.19,-20.4a0.1,0.1 0,0 1,0.07 0c0,-0.27 0.07,-0.56 0.1,-0.83 0.1,-0.93 0.2,-1.86 0.33,-2.79 1.93,-13 7.08,-25.81 11.63,-37.9 3.92,-10.46 8.4,-21.23 13.05,-31.59 3.49,-7.71 6.64,-15 13.32,-20.5 11.89,-9.73 29,-12.86 44,-10.76a53,53 0,0 1,8.47 1.93c23.52,7.54 33,34.75 33,34.75C300.1,402.65 300.33,403 300.53,403.41Z"/>
  8   <path android:fillColor="#231f20" android:pathData="M175.94,470c-1.33,7.64 -3.19,20.4 -3.19,20.4a56.63,56.63 0,0 1,-1.06 -17.07A52.28,52.28 0,0 1,175.94 470Z"/>
  9   <path android:fillColor="#7a7a7a" android:pathData="M402.62,481.26l2.32,4.59a3.23,3.23 0,0 1,-0.21 2.9L367.19,554l-26.3,-0.37a4.71,4.71 0,0 1,-3.52 -2.19l-3.1,-5Z"/>
 10   <path android:fillColor="#a6a6a6" android:pathData="M374.53,481.92l-40,62.87a1.69,1.69 0,0 0,1.3 2.6l24.1,1.84a4.45,4.45 0,0 0,4.16 -2.16l38.58,-65A0.75,0.75 0,0 0,402 481l-26.06,0.19A1.67,1.67 0,0 0,374.53 481.92Z"/>
../../src/main/res/drawable/illustration_offline_usage.xml:74: Very long vector path (1266 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector.
  71   <path android:fillColor="#437842" android:pathData="M254.94,403.66a15.74,15.74 0,0 0,-5.59 -5.42,12.94 12.94,0 0,0 -7.19,-1c-4.72,0.6 -9.59,3.45 -11.48,8 -2.34,5.58 -1,11 -0.58,16.67 -0.45,-6.79 1.77,-16.94 9.11,-20.21 9.15,-4.07 16.62,7.53 20,15.54C259.23,413.74 256.85,406.49 254.94,403.66Z"/>
  72   <path android:fillColor="#8a6c4c" android:pathData="M459.52,245.85a44.46,44.46 0,0 1,-4.45 12c-0.69,1.24 -7.47,8.46 -7.47,8.9 0,0 4.92,28.58 -17.72,34.53s-29.9,-7.91 -29.9,-7.91v9.55l4.92,3.61s11.93,29.66 1.35,30.18c-9.18,0.46 -16.81,-6.89 -24.36,-17.72s-18.38,-21 -28.26,-20.38c0,0 14.8,-12.47 15.79,-24.28a18.3,18.3 0,0 0,0.51 -3.43c0.22,-3.35 0.11,-9.22 -1.82,-17.94 -2.44,-11 -1.39,-23.48 1.93,-34.2 6.64,-21.22 32,-33.83 53.52,-30.22a48.13,48.13 0,0 1,30.59 19.65A36.89,36.89 0,0 1,459.85 220C462.15,228.24 461.6,236.92 459.52,245.85Z"/>
  73   <path android:fillColor="#2a2421" android:pathData="M459.85,220c-4.52,1.79 -17.14,4.92 -37.22,-4.85 0,0 -3.2,10.95 -5.36,15.27 -0.85,1.69 -14.81,6.35 -16.71,8 0.61,-0.54 -8,-5 -8.88,-5.09A8,8 0,0 0,384.4 236a18,18 0,0 0,-4.68 15.09c0.14,0.79 3,11.43 2.51,11.75 0,0 -7.69,5 -12.29,8.09 0.22,-3.35 0.11,-9.22 -1.82,-17.94 -2.44,-11 -1.39,-23.48 1.93,-34.2 6.64,-21.22 32,-33.83 53.52,-30.22a48.13,48.13 0,0 1,30.59 19.65A36.89,36.89 0,0 1,459.85 220Z"/>
  74   <path android:fillColor="#a8c9ff" android:pathData="M451.28,440.54a342.66,342.66 0,0 1,2.22 35.15,4.77 4.77,0 0,0 -0.51,0.15c-1.53,0.33 -6.31,1.46 -12,2.81 -6.64,1.57 -13,4.08 -17,5.43 -0.15,0 -0.29,0.11 -0.44,0.15a8,8 0,0 1,-3.32 0.22c-4.41,-0.26 -10.54,-2.33 -14.07,-2.84 -2.62,-0.36 -8.68,-1.17 -14.95,-2 -1.35,-0.18 -2.73,-0.36 -4.08,-0.51 -3.28,-0.44 -6.38,-0.84 -8.9,-1.13 -4.19,-0.51 -11.52,-3.32 -17.72,-5.94 -1.24,-0.51 -2.44,-1.06 -3.54,-1.53 -2.66,-1.17 -4.85,-2.19 -6.13,-2.81 -0.77,-0.33 -1.2,-0.55 -1.2,-0.55 2,-8 -7.44,-49.15 -9.92,-59.65 -0.36,-1.57 -0.58,-2.44 -0.58,-2.44 -2.92,0 -7.33,-2.33 -8.93,-3.28a4.83,4.83 0,0 1,-0.62 -0.33s-6.23,-36.79 -6.89,-60.45 33.51,-43.71 33.51,-43.71c9.22,1.64 20.71,9.55 24.65,18.74s18.74,21 23.66,20.05c14.44,-1.28 -3.72,-31.76 -4.56,-33.14 0.95,0.44 16.26,7.88 23.26,9.48 7.26,1.64 7.91,5.91 7.91,5.91l22.31,35.8a22.21,22.21 0,0 1,-2.66 6.89,35.09 35.09,0 0,1 -7.55,8.75c-1.17,1 -2.3,1.82 -3.28,2.55l-1,0.69c-0.44,0.29 -0.8,0.55 -1.17,0.77q-0.82,0.55 -1.42,0.88a2.31,2.31 0,0 0,-0.44 0.26,5.21 5.21,0 0,0 -0.51,0.26 30.31,30.31 0,0 1,0.66 10.17c0.36,0.58 0.69,1.17 1.06,1.75s0.69,1.2 1,1.82 0.62,1.28 0.95,1.93 0.51,1 0.73,1.53q1.15,2.52 2.19,5.25c0.26,0.69 0.51,1.39 0.73,2.08s0.51,1.42 0.73,2.15a154,154 0,0 1,4.7 18.59C449.57,427.23 450.55,434.09 451.28,440.54Z"/>
  75   <path android:fillColor="#414042" android:pathData="M450.37,487.94a5.22,5.22 0,0 1,-1.86 1.82c-5.87,3.72 -22.42,6.13 -26.21,6.45a149.8,149.8 0,0 1,-24.43 -0.26c-10,-0.95 -8.75,-1.82 -16.77,-3.28s-12,-3.39 -17.14,-4.85 -13.71,-10.1 -13.71,-10.1l0,-0.62 0.62,-9.41c4.48,2.15 20.38,9.44 27.38,10.28 8.2,1 23.33,3 27.93,3.61s13.45,3.94 17.39,2.63 10.54,-3.94 17.43,-5.58c5.65,-1.35 10.43,-2.48 12,-2.81 0.29,1.2 0.22,2.7 0.4,4.08C453.76,483 452.67,483.2 450.37,487.94Z"/>
  76   <path android:fillColor="#233263" android:pathData="M440.49,668.7C436,712.67 439,783.95 439,783.95a70.87,70.87 0,0 1,-14.73 6.31c-3.43,-10.39 -6.85,-32.3 -4.41,-81.27 4.27,-86.44 9.11,-113.31 9.11,-128.34s-0.55,-24.17 -5.36,-39.23c0,0 -0.29,2.15 -0.84,5.72 -0.07,0.58 -0.18,1.2 -0.26,1.9a0.71,0.71 0,0 0,0 0.29c-2.52,16.88 -8.39,55.6 -11,63.8 -1.24,3.94 -4.41,15.46 -7.77,30a1.43,1.43 0,0 1,-0.11 0.51c-2.63,11.48 -5.36,24.83 -7.4,37.84 0,-2 -0.07,-3.17 -0.07,-3.17s-4,34 -5.54,54.29 6.67,79.77 6.67,79.77a61.44,61.44 0,0 1,-7.07 3.57,42.2 42.2,0 0,1 -17.5,3.86c-1.64,-21.29 -7.8,-101.94 -8.71,-124.25 -1.09,-25.78 11.27,-99.9 10.72,-157.36 -0.36,-39.49 -18,-49.84 -28.95,-52.43a53.14,53.14 0,0 1,4.52 -8.68l0,0.62s1.86,1.86 4.38,4c0.8,0.73 1.71,1.49 2.66,2.22a22.81,22.81 0,0 0,6.67 3.9c5.1,1.46 9.11,3.39 17.14,4.85 1.39,0.26 2.52,0.47 3.46,0.73 1.53,0.33 2.63,0.66 3.68,0.95a48.85,48.85 0,0 0,9.63 1.6,152.9 152.9,0 0,0 21.47,0.44c1.17,0 2.15,-0.11 3,-0.18l1.17,-0.11c2.11,-0.26 5.72,-0.77 9.63,-1.53 5.51,-1.06 11.59,-2.62 14.95,-4.56a2,2 0,0 0,0.47 -0.26C456.57,525.86 444.76,626.41 440.49,668.7Z"/>
  77   <path android:fillColor="#00000000"
../../src/main/res/drawable/illustration_offline_usage.xml:76: Very long vector path (1049 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector.
  73   <path android:fillColor="#2a2421" android:pathData="M459.85,220c-4.52,1.79 -17.14,4.92 -37.22,-4.85 0,0 -3.2,10.95 -5.36,15.27 -0.85,1.69 -14.81,6.35 -16.71,8 0.61,-0.54 -8,-5 -8.88,-5.09A8,8 0,0 0,384.4 236a18,18 0,0 0,-4.68 15.09c0.14,0.79 3,11.43 2.51,11.75 0,0 -7.69,5 -12.29,8.09 0.22,-3.35 0.11,-9.22 -1.82,-17.94 -2.44,-11 -1.39,-23.48 1.93,-34.2 6.64,-21.22 32,-33.83 53.52,-30.22a48.13,48.13 0,0 1,30.59 19.65A36.89,36.89 0,0 1,459.85 220Z"/>
  74   <path android:fillColor="#a8c9ff" android:pathData="M451.28,440.54a342.66,342.66 0,0 1,2.22 35.15,4.77 4.77,0 0,0 -0.51,0.15c-1.53,0.33 -6.31,1.46 -12,2.81 -6.64,1.57 -13,4.08 -17,5.43 -0.15,0 -0.29,0.11 -0.44,0.15a8,8 0,0 1,-3.32 0.22c-4.41,-0.26 -10.54,-2.33 -14.07,-2.84 -2.62,-0.36 -8.68,-1.17 -14.95,-2 -1.35,-0.18 -2.73,-0.36 -4.08,-0.51 -3.28,-0.44 -6.38,-0.84 -8.9,-1.13 -4.19,-0.51 -11.52,-3.32 -17.72,-5.94 -1.24,-0.51 -2.44,-1.06 -3.54,-1.53 -2.66,-1.17 -4.85,-2.19 -6.13,-2.81 -0.77,-0.33 -1.2,-0.55 -1.2,-0.55 2,-8 -7.44,-49.15 -9.92,-59.65 -0.36,-1.57 -0.58,-2.44 -0.58,-2.44 -2.92,0 -7.33,-2.33 -8.93,-3.28a4.83,4.83 0,0 1,-0.62 -0.33s-6.23,-36.79 -6.89,-60.45 33.51,-43.71 33.51,-43.71c9.22,1.64 20.71,9.55 24.65,18.74s18.74,21 23.66,20.05c14.44,-1.28 -3.72,-31.76 -4.56,-33.14 0.95,0.44 16.26,7.88 23.26,9.48 7.26,1.64 7.91,5.91 7.91,5.91l22.31,35.8a22.21,22.21 0,0 1,-2.66 6.89,35.09 35.09,0 0,1 -7.55,8.75c-1.17,1 -2.3,1.82 -3.28,2.55l-1,0.69c-0.44,0.29 -0.8,0.55 -1.17,0.77q-0.82,0.55 -1.42,0.88a2.31,2.31 0,0 0,-0.44 0.26,5.21 5.21,0 0,0 -0.51,0.26 30.31,30.31 0,0 1,0.66 10.17c0.36,0.58 0.69,1.17 1.06,1.75s0.69,1.2 1,1.82 0.62,1.28 0.95,1.93 0.51,1 0.73,1.53q1.15,2.52 2.19,5.25c0.26,0.69 0.51,1.39 0.73,2.08s0.51,1.42 0.73,2.15a154,154 0,0 1,4.7 18.59C449.57,427.23 450.55,434.09 451.28,440.54Z"/>
  75   <path android:fillColor="#414042" android:pathData="M450.37,487.94a5.22,5.22 0,0 1,-1.86 1.82c-5.87,3.72 -22.42,6.13 -26.21,6.45a149.8,149.8 0,0 1,-24.43 -0.26c-10,-0.95 -8.75,-1.82 -16.77,-3.28s-12,-3.39 -17.14,-4.85 -13.71,-10.1 -13.71,-10.1l0,-0.62 0.62,-9.41c4.48,2.15 20.38,9.44 27.38,10.28 8.2,1 23.33,3 27.93,3.61s13.45,3.94 17.39,2.63 10.54,-3.94 17.43,-5.58c5.65,-1.35 10.43,-2.48 12,-2.81 0.29,1.2 0.22,2.7 0.4,4.08C453.76,483 452.67,483.2 450.37,487.94Z"/>
  76   <path android:fillColor="#233263" android:pathData="M440.49,668.7C436,712.67 439,783.95 439,783.95a70.87,70.87 0,0 1,-14.73 6.31c-3.43,-10.39 -6.85,-32.3 -4.41,-81.27 4.27,-86.44 9.11,-113.31 9.11,-128.34s-0.55,-24.17 -5.36,-39.23c0,0 -0.29,2.15 -0.84,5.72 -0.07,0.58 -0.18,1.2 -0.26,1.9a0.71,0.71 0,0 0,0 0.29c-2.52,16.88 -8.39,55.6 -11,63.8 -1.24,3.94 -4.41,15.46 -7.77,30a1.43,1.43 0,0 1,-0.11 0.51c-2.63,11.48 -5.36,24.83 -7.4,37.84 0,-2 -0.07,-3.17 -0.07,-3.17s-4,34 -5.54,54.29 6.67,79.77 6.67,79.77a61.44,61.44 0,0 1,-7.07 3.57,42.2 42.2,0 0,1 -17.5,3.86c-1.64,-21.29 -7.8,-101.94 -8.71,-124.25 -1.09,-25.78 11.27,-99.9 10.72,-157.36 -0.36,-39.49 -18,-49.84 -28.95,-52.43a53.14,53.14 0,0 1,4.52 -8.68l0,0.62s1.86,1.86 4.38,4c0.8,0.73 1.71,1.49 2.66,2.22a22.81,22.81 0,0 0,6.67 3.9c5.1,1.46 9.11,3.39 17.14,4.85 1.39,0.26 2.52,0.47 3.46,0.73 1.53,0.33 2.63,0.66 3.68,0.95a48.85,48.85 0,0 0,9.63 1.6,152.9 152.9,0 0,0 21.47,0.44c1.17,0 2.15,-0.11 3,-0.18l1.17,-0.11c2.11,-0.26 5.72,-0.77 9.63,-1.53 5.51,-1.06 11.59,-2.62 14.95,-4.56a2,2 0,0 0,0.47 -0.26C456.57,525.86 444.76,626.41 440.49,668.7Z"/>
  77   <path android:fillColor="#00000000"
  78       android:pathData="M396.52,675.37s-0.58,-4.08 7.11,-31.72"
  79       android:strokeColor="#192345" android:strokeWidth="1.82"/>
VectorPath Performance Warning Priority 5/10

State<T> will autobox values assigned to this state. Use a specialized state type instead.

../../src/main/java/com/ustadmobile/port/android/view/composable/UstadDateField.kt:193: Prefer mutableLongStateOf instead of mutableStateOf
 190 @Composable
 191 fun UstadDateFieldPreview(){
 192     var date by remember {
 193         mutableStateOf(systemTimeInMillis())                                                        
 194     }
 195     UstadDateField(
 196         value = date,
../../src/main/java/com/ustadmobile/port/android/view/composable/UstadEditField.kt:165: Prefer mutableIntStateOf instead of mutableStateOf
 162 @Preview
 163 @Composable
 164 fun UstadTextEditFieldSuffixPreview() {
 165     var maxScore: Int by remember { mutableStateOf(42) }                                            
 166 
 167     UstadTextEditField(
 168         value = "42",
../../src/main/java/com/ustadmobile/port/android/view/composable/UstadNumberTextField.kt:63: Prefer mutableFloatStateOf instead of mutableStateOf
 60 fun UstadNumberTextEditFieldPreview() {
 61 
 62     var aNumber by remember {
 63         mutableStateOf(0.toFloat())                                                                 
 64     }
 65 
 66     Column {
../../src/main/java/com/ustadmobile/port/android/view/composable/UstadTimeField.kt:170: Prefer mutableIntStateOf instead of mutableStateOf
 167 fun UstadTimeFieldPreview(){
 168 
 169     var time: Int by remember {
 170         mutableStateOf(10 * MS_PER_HOUR)                                                            
 171     }
 172 
 173     UstadTimeField(
Vendor: Jetpack Compose
Identifier: androidx.compose.runtime
Feedback: https://issuetracker.google.com/issues/new?component=612128
AutoboxingStateCreation Performance Information Priority 3/10

Unused resources

../../src/main/res/anim/anim_slide_in_right.xml:2: The resource R.anim.anim_slide_in_right appears to be unused
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <set xmlns:android="http://schemas.android.com/apk/res/android"                                     
 3     android:shareInterpolator="false" >
 4     <translate android:duration="700" android:fromXDelta="100%" android:toXDelta="0%" />
 5     <alpha android:duration="700" android:fromAlpha="0.0" android:toAlpha="1.0" />
../../src/main/res/anim/anim_slide_out_left.xml:2: The resource R.anim.anim_slide_out_left appears to be unused
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <set xmlns:android="http://schemas.android.com/apk/res/android">                                    
 3 
 4     <translate android:fromXDelta="0%" android:toXDelta="-100%"
 5         android:fromYDelta="0%" android:toYDelta="0%"
../../src/main/res/anim/anim_slide_out_right.xml:2: The resource R.anim.anim_slide_out_right appears to be unused
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <set xmlns:android="http://schemas.android.com/apk/res/android"                                     
 3     android:shareInterpolator="false" >
 4     <translate android:duration="300" android:fromXDelta="0%" android:toXDelta="100%"/>
 5     <alpha android:duration="300" android:fromAlpha="1.0" android:toAlpha="0.0" />
../../src/main/res/values/bools.xml:3: The resource R.bool.orientation_portrait appears to be unused
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <resources>
 3     <bool name="orientation_portrait">false</bool>                                                  
 4     <bool name="menu_preview_visible">true</bool>
 5     <bool name="menu_directionality_visible">true</bool>
 6     <bool name="menu_pages_visible">true</bool>
../../src/main/res/values/bools.xml:4: The resource R.bool.menu_preview_visible appears to be unused
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <resources>
 3     <bool name="orientation_portrait">false</bool>
 4     <bool name="menu_preview_visible">true</bool>                                                   
 5     <bool name="menu_directionality_visible">true</bool>
 6     <bool name="menu_pages_visible">true</bool>
 7     <bool name="isTablet">true</bool>
UnusedResources Performance Warning Priority 3/10

Use KTX extension function

../../src/main/java/com/ustadmobile/port/android/util/ext/IntentExt.kt:15: Use the KTX extension function String.toUri instead?
 12 fun Intent.getUstadDeepLink(): String? {
 13     val url = data?.toString() ?: getStringExtra(UstadViewModel.ARG_OPEN_LINK)
 14     return try {
 15         url?.also { Uri.parse(it) }                                                                 
 16     }catch (e: Exception) {
 17         Log.w("UstadApp", "WARN: Invalid link could not be parsed: $url")
 18         null
UseKtx Productivity Warning Priority 6/10

Included Additional Checks

This card lists all the extra checks run by lint, provided from libraries, build configuration and extra flags. This is included to help you verify whether a particular check is included in analysis when configuring builds. (Note that the list does not include the hundreds of built-in checks into lint, only additional ones.)

Disabled Checks

One or more issues were not run by lint, either because the check is not enabled by default, or because it was disabled with a command line flag or via one or more lint.xml configuration files in the project directories.

Suppressing Warnings and Errors

Lint errors can be suppressed in a variety of ways:

1. With a @SuppressLint annotation in the Java code
2. With a tools:ignore attribute in the XML file
3. With a //noinspection comment in the source code
4. With ignore flags specified in the build.gradle file, as explained below
5. With a lint.xml configuration file in the project
6. With a lint.xml configuration file passed to lint via the --config flag
7. With the --ignore flag passed to lint.

To suppress a lint warning with an annotation, add a @SuppressLint("id") annotation on the class, method or variable declaration closest to the warning instance you want to disable. The id can be one or more issue id's, such as "UnusedResources" or {"UnusedResources","UnusedIds"}, or it can be "all" to suppress all lint warnings in the given scope.

To suppress a lint warning with a comment, add a //noinspection id comment on the line before the statement with the error.

To suppress a lint warning in an XML file, add a tools:ignore="id" attribute on the element containing the error, or one of its surrounding elements. You also need to define the namespace for the tools prefix on the root element in your document, next to the xmlns:android declaration:
xmlns:tools="http://schemas.android.com/tools"

To suppress a lint warning in a build.gradle file, add a section like this:
android {
    lintOptions {
        disable 'TypographyFractions','TypographyQuotes'
    }
}

Here we specify a comma separated list of issue id's after the disable command. You can also use warning or error instead of disable to change the severity of issues.

To suppress lint warnings with a configuration XML file, create a file named lint.xml and place it at the root directory of the module in which it applies.

The format of the lint.xml file is something like the following:
<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- Ignore everything in the test source set -->
    <issue id="all">
        <ignore path="\*/test/\*" />
    </issue>

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />

    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar)\.java" />
    </issue>

    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>

    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" />
</lint>

To suppress lint checks from the command line, pass the --ignore flag with a comma separated list of ids to be suppressed, such as:
$ lint --ignore UnusedResources,UselessLeaf /my/project/path

For more information, see https://developer.android.com/studio/write/lint.html#config