Lint Report: 1 error and 17 warnings
Issue Types

Overview

Correctness
1warning GradleDependency: Obsolete Gradle Dependency
Compliance
1error ExpiredTargetSdkVersion: TargetSdkVersion No Longer Supported
Performance
2warning ObsoleteSdkInt: Obsolete SDK_INT Version Check
Usability:Icons
1warning IconMissingDensityFolder: Missing density folder
Accessibility
11warning ClickableViewAccessibility: Accessibility in Custom Views
Internationalization:Bidirectional Text
2warning RtlHardcoded: Using left/right instead of start/end attributes
Disabled Checks (38)

Obsolete Gradle Dependency

../../build.gradle:17: A newer version of com.android.tools.build:gradle than 4.1.1 is available: 4.2.1. (There is also a newer version of 4.1.�� available, if upgrading to 4.2.1 is difficult: 4.1.3)
 14      * of the Gradle plugin for the buildscript.
 15      */
 16     dependencies {
 17         classpath 'com.android.tools.build:gradle:4.1.1'
                                           
 18     }
 19 }
 20 
GradleDependency Correctness Warning Priority 4/10

TargetSdkVersion No Longer Supported

../../build.gradle:35: Google Play requires that apps target API level 26 or higher.

 32 
 33     defaultConfig {
 34         minSdkVersion 16
 35         targetSdkVersion 17
                                                                        
 36     }
 37 
 38     buildTypes {
ExpiredTargetSdkVersion Compliance Fatal Priority 8/10

Obsolete SDK_INT Version Check

../../src/main/res/values-v11: This folder configuration (v11) is unnecessary; minSdkVersion is 16. Merge all the resources in this folder into values.
../../src/main/res/values-v14: This folder configuration (v14) is unnecessary; minSdkVersion is 16. Merge all the resources in this folder into values.
ObsoleteSdkInt Performance Warning Priority 6/10

Missing density folder

../../src/main/res: Missing density variation folders in src\\main\\res: drawable-xxhdpi
IconMissingDensityFolder Icons Usability Warning Priority 3/10

Accessibility in Custom Views

../../src/main/java/kr/co/icontrols/wallpadsupport/WpadActivity.java:919: Custom view `RelativeLayout` has setOnTouchListener called on it but does not override performClick
  916     protected void setAllLayoutRegistration(RelativeLayout layout)
  917     {
  918         //mAllLayout = layout;
  919         layout.setOnTouchListener(new Button.OnTouchListener() {                                    
  920             @Override
  921             public boolean onTouch(View v, MotionEvent event) {
  922                 if(!mOnTouch) return false;
../../src/main/java/kr/co/icontrols/wallpadsupport/WpadActivity.java:921: onTouch should call View#performClick when a click is detected
  918         //mAllLayout = layout;
  919         layout.setOnTouchListener(new Button.OnTouchListener() {
  920             @Override
  921             public boolean onTouch(View v, MotionEvent event) {                                     
  922                 if(!mOnTouch) return false;
  923                 if(event.getAction() == MotionEvent.ACTION_UP) setFinishTimerReset();
  924                 return true;
../../src/main/java/kr/co/icontrols/wallpadsupport/WpadActivity.java:1094: Custom view `WpadImageView` has setOnTouchListener called on it but does not override performClick
 1091     protected void TouchCancel(WpadImageView nImageView)
 1092     {
 1093         final WpadImageView TargetWpadImageView = nImageView;
 1094         TargetWpadImageView.setOnTouchListener(null);                                               
 1095     }
 1096 
 1097     /**
../../src/main/java/kr/co/icontrols/wallpadsupport/WpadActivity.java:1106: Custom view `WpadImageView` has setOnTouchListener called on it but does not override performClick
 1103     {
 1104         final WpadImageView TargetWpadImageView = nImageView;
 1105 
 1106         TargetWpadImageView.setOnTouchListener(new Button.OnTouchListener()                         
 1107         {
 1108             boolean LongKeyEnable = false;
 1109             int LongKeyCount = 0;
../../src/main/java/kr/co/icontrols/wallpadsupport/WpadActivity.java:1114: onTouch should call View#performClick when a click is detected
 1111 
 1112   @SuppressLint("HandlerLeak")
 1113   @Override
 1114   public boolean onTouch(final View v, final MotionEvent event)                           
 1115   {
 1116       //Log.d(TAG, "onTouch - " + "id : " + v.getId() + " / Action : " + event.getAction());
 1117       if(!getOnTouch()) return false;
ClickableViewAccessibility Accessibility Warning Priority 6/10

Using left/right instead of start/end attributes

../../src/main/java/kr/co/icontrols/wallpadsupport/WpadTextView.java:98: Use "Gravity.END" instead of "Gravity.RIGHT" to ensure correct behavior in right-to-left locales
  95         // gravity
  96         switch(gravity)
  97         {
  98             case Gravity.RIGHT:                                                                     
  99             case Gravity.LEFT:
 100             case Gravity.CENTER:
 101                 this.setGravity(gravity | Gravity.CENTER_VERTICAL);
../../src/main/java/kr/co/icontrols/wallpadsupport/WpadTextView.java:99: Use "Gravity.START" instead of "Gravity.LEFT" to ensure correct behavior in right-to-left locales
  96         switch(gravity)
  97         {
  98             case Gravity.RIGHT:
  99             case Gravity.LEFT:                                                                      
 100             case Gravity.CENTER:
 101                 this.setGravity(gravity | Gravity.CENTER_VERTICAL);
 102                 break;
RtlHardcoded Bidirectional Text Internationalization Warning Priority 5/10

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