/home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/build.gradle.kts:13: Warning: Not targeting the latest versions of Android; compatibility modes apply. Consider testing and updating this version. Consult the android.os.Build.VERSION_CODES javadoc for details. [OldTargetApi] targetSdk = 35 ~~~~~~~~~~~~~~ Explanation for issues of type "OldTargetApi": When your application runs on a version of Android that is more recent than your targetSdkVersion specifies that it has been tested with, various compatibility modes kick in. This ensures that your application continues to work, but it may look out of place. For example, if the targetSdkVersion is less than 14, your app may get an option button in the UI. To fix this issue, set the targetSdkVersion to the highest available value. Then test your app to make sure everything works correctly. You may want to consult the compatibility notes to see what changes apply to each version you are adding support for: https://developer.android.com/reference/android/os/Build.VERSION_CODES.html as well as follow this guide: https://developer.android.com/distribute/best-practices/develop/target-sdk. html https://developer.android.com/distribute/best-practices/develop/target-sdk.html /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/build.gradle.kts:49: Warning: A newer version of androidx.core:core-ktx than 1.13.1 is available: 1.19.0 [GradleDependency] implementation("androidx.core:core-ktx:1.13.1") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/build.gradle.kts:50: Warning: A newer version of androidx.appcompat:appcompat than 1.7.0 is available: 1.8.0 [GradleDependency] implementation("androidx.appcompat:appcompat:1.7.0") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/build.gradle.kts:51: Warning: A newer version of com.google.android.material:material than 1.12.0 is available: 1.14.0 [GradleDependency] implementation("com.google.android.material:material:1.12.0") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/build.gradle.kts:52: Warning: A newer version of androidx.constraintlayout:constraintlayout than 2.1.4 is available: 2.2.2 [GradleDependency] implementation("androidx.constraintlayout:constraintlayout:2.1.4") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/build.gradle.kts:53: Warning: A newer version of androidx.lifecycle:lifecycle-runtime-ktx than 2.8.7 is available: 2.11.0 [GradleDependency] implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.7") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Explanation for issues of type "GradleDependency": This detector looks for usages of libraries where the version you are using is not the current stable release. Using older versions is fine, and there are cases where you deliberately want to stick with an older version. However, you may simply not be aware that a more recent version is available, and that is what this lint check helps find. /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/src/main/java/de/duffy/screencast/CastService.kt:255: Warning: Unnecessary; SDK_INT is always >= 24 [ObsoleteSdkInt] if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/src/main/java/de/duffy/screencast/NetworkUtil.kt:20: Warning: Unnecessary; SDK_INT is never < 24 [ObsoleteSdkInt] if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return null ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/src/main/java/de/duffy/screencast/NetworkUtil.kt:47: Warning: Unnecessary; SDK_INT is always >= 24 [ObsoleteSdkInt] if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/src/main/java/de/duffy/screencast/ScreenEncoder.kt:72: Warning: Unnecessary; SDK_INT is always >= 24 [ObsoleteSdkInt] if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Explanation for issues of type "ObsoleteSdkInt": This check flags version checks that are not necessary, because the minSdkVersion (or surrounding known API level) is already at least as high as the version checked for. Similarly, it also looks for resources in -vNN folders, such as values-v14 where the version qualifier is less than or equal to the minSdkVersion, where the contents should be merged into the best folder. /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/src/main/res/values/strings.xml:26: Warning: The resource R.string.connect_browser appears to be unused [UnusedResources] Über Browser-Adresse ~~~~~~~~~~~~~~~~~~~~~~ Explanation for issues of type "UnusedResources": Unused resources make applications larger and slow down builds. The unused resource check can ignore tests. If you want to include resources that are only referenced from tests, consider packaging them in a test source set instead. You can include test sources in the unused resource check by setting the system property lint.unused-resources.include-tests =true, and to exclude them (usually for performance reasons), use lint.unused-resources.exclude-tests =true. , /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/src/main/java/de/duffy/screencast/DeviceActivity.kt:179: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n] button.text = "$title\n$subtitle" ~~~~~~~~~~~~~~~~~~~ Explanation for issues of type "SetTextI18n": When calling TextView#setText * Never call Number#toString() to format numbers; it will not handle fraction separators and locale-specific digits properly. Consider using String#format with proper format specifications (%d or %f) instead. * Do not pass a string literal (e.g. "Hello") to display text. Hardcoded text can not be properly translated to other languages. Consider using Android resource strings instead. * Do not build messages by concatenating text chunks. Such messages can not be properly translated. https://developer.android.com/guide/topics/resources/localization.html /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/src/main/res/layout/activity_main.xml:175: Warning: Hardcoded string "Sparsam", should use @string resource [HardcodedText] android:text="Sparsam" /> ~~~~~~~~~~~~~~~~~~~~~~ /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/src/main/res/layout/activity_main.xml:183: Warning: Hardcoded string "Ausgewogen", should use @string resource [HardcodedText] android:text="Ausgewogen" /> ~~~~~~~~~~~~~~~~~~~~~~~~~ /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/src/main/res/layout/activity_main.xml:190: Warning: Hardcoded string "Scharf", should use @string resource [HardcodedText] android:text="Scharf" /> ~~~~~~~~~~~~~~~~~~~~~ /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/src/main/res/layout/activity_main.xml:214: Warning: Hardcoded string "30 fps", should use @string resource [HardcodedText] android:text="30 fps" /> ~~~~~~~~~~~~~~~~~~~~~ /home/duffy/Dokumente/programmierung/android-smartscreen-cast/app/src/main/res/layout/activity_main.xml:221: Warning: Hardcoded string "60 fps", should use @string resource [HardcodedText] android:text="60 fps" /> ~~~~~~~~~~~~~~~~~~~~~ Explanation for issues of type "HardcodedText": Hardcoding text attributes directly in layout files is bad for several reasons: * When creating configuration variations (for example for landscape or portrait) you have to repeat the actual text (and keep it up to date when making changes) * The application cannot be translated to other languages by just adding new translations for existing string resources. There are quickfixes to automatically extract this hardcoded string into a resource lookup. 0 errors, 17 warnings