Lint to prevent glide log usage.
This commit is contained in:
parent
8ef809a02b
commit
d055bba452
7 changed files with 75 additions and 4 deletions
|
@ -24,7 +24,7 @@ public final class Log {
|
|||
}
|
||||
|
||||
public static void e(@NonNull String tag, @NonNull String message) {
|
||||
e(tag, message, null);
|
||||
SignalGlideCodecs.getLogProvider().e(tag, message, null);
|
||||
}
|
||||
|
||||
public static void e(@NonNull String tag, @NonNull String message, @Nullable Throwable throwable) {
|
||||
|
|
|
@ -12,7 +12,7 @@ import android.graphics.Paint;
|
|||
import android.graphics.PorterDuff;
|
||||
import android.graphics.Rect;
|
||||
|
||||
import org.signal.glide.Log;
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.signal.glide.apng.io.APNGReader;
|
||||
import org.signal.glide.apng.io.APNGWriter;
|
||||
import org.signal.glide.common.decode.Frame;
|
||||
|
|
|
@ -21,7 +21,7 @@ import android.os.Message;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.vectordrawable.graphics.drawable.Animatable2Compat;
|
||||
|
||||
import org.signal.glide.Log;
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.signal.glide.common.decode.FrameSeqDecoder;
|
||||
import org.signal.glide.common.loader.Loader;
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ import android.os.Looper;
|
|||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.WorkerThread;
|
||||
|
||||
import org.signal.glide.Log;
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.signal.glide.common.executor.FrameDecoderExecutor;
|
||||
import org.signal.glide.common.io.Reader;
|
||||
import org.signal.glide.common.io.Writer;
|
||||
|
|
|
@ -60,6 +60,11 @@ public final class SignalLogDetector extends Detector implements Detector.UastSc
|
|||
context.report(LOG_NOT_SIGNAL, call, context.getLocation(call), "Using 'android.util.Log' instead of a Signal Logger", fix);
|
||||
}
|
||||
|
||||
if (evaluator.isMemberInClass(method, "org.signal.glide.Log")) {
|
||||
LintFix fix = quickFixIssueLog(call);
|
||||
context.report(LOG_NOT_SIGNAL, call, context.getLocation(call), "Using 'org.signal.glide.Log' instead of a Signal Logger", fix);
|
||||
}
|
||||
|
||||
if (evaluator.isMemberInClass(method, "org.whispersystems.libsignal.logging.Log")) {
|
||||
LintFix fix = quickFixIssueLog(call);
|
||||
context.report(LOG_NOT_APP, call, context.getLocation(call), "Using Signal server logger instead of app level Logger", fix);
|
||||
|
|
|
@ -17,6 +17,7 @@ public final class LogDetectorTest {
|
|||
|
||||
private static final TestFile serviceLogStub = java(readResourceAsString("ServiceLogStub.java"));
|
||||
private static final TestFile appLogStub = java(readResourceAsString("AppLogStub.java"));
|
||||
private static final TestFile glideLogStub = java(readResourceAsString("GlideLogStub.java"));
|
||||
|
||||
@Test
|
||||
public void androidLogUsed_LogNotSignal_2_args() {
|
||||
|
@ -153,6 +154,30 @@ public final class LogDetectorTest {
|
|||
.expectFixDiffs("");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void glideLogUsed_LogNotSignal_2_args() {
|
||||
lint()
|
||||
.files(glideLogStub,
|
||||
java("package foo;\n" +
|
||||
"import org.signal.glide.Log;\n" +
|
||||
"public class Example {\n" +
|
||||
" public void log() {\n" +
|
||||
" Log.d(\"TAG\", \"msg\");\n" +
|
||||
" }\n" +
|
||||
"}")
|
||||
)
|
||||
.issues(SignalLogDetector.LOG_NOT_SIGNAL)
|
||||
.run()
|
||||
.expect("src/foo/Example.java:5: Error: Using 'org.signal.glide.Log' instead of a Signal Logger [LogNotSignal]\n" +
|
||||
" Log.d(\"TAG\", \"msg\");\n" +
|
||||
" ~~~~~~~~~~~~~~~~~~~\n" +
|
||||
"1 errors, 0 warnings")
|
||||
.expectFixDiffs("Fix for src/foo/Example.java line 5: Replace with org.signal.core.util.logging.Log.d(\"TAG\", \"msg\"):\n" +
|
||||
"@@ -5 +5\n" +
|
||||
"- Log.d(\"TAG\", \"msg\");\n" +
|
||||
"+ org.signal.core.util.logging.Log.d(\"TAG\", \"msg\");");
|
||||
}
|
||||
|
||||
private static String readResourceAsString(String resourceName) {
|
||||
InputStream inputStream = ClassLoader.getSystemClassLoader().getResourceAsStream(resourceName);
|
||||
assertNotNull(inputStream);
|
||||
|
|
41
lintchecks/src/test/resources/GlideLogStub.java
Normal file
41
lintchecks/src/test/resources/GlideLogStub.java
Normal file
|
@ -0,0 +1,41 @@
|
|||
package org.signal.glide;
|
||||
|
||||
public class Log {
|
||||
|
||||
public static String tag(Class<?> clazz) {
|
||||
return "";
|
||||
}
|
||||
|
||||
public static void v(String tag, String msg) {
|
||||
}
|
||||
|
||||
public static void v(String tag, String msg, Throwable tr) {
|
||||
}
|
||||
|
||||
public static void d(String tag, String msg) {
|
||||
}
|
||||
|
||||
public static void d(String tag, String msg, Throwable tr) {
|
||||
}
|
||||
|
||||
public static void i(String tag, String msg) {
|
||||
}
|
||||
|
||||
public static void i(String tag, String msg, Throwable tr) {
|
||||
}
|
||||
|
||||
public static void w(String tag, String msg) {
|
||||
}
|
||||
|
||||
public static void w(String tag, String msg, Throwable tr) {
|
||||
}
|
||||
|
||||
public static void w(String tag, Throwable tr) {
|
||||
}
|
||||
|
||||
public static void e(String tag, String msg) {
|
||||
}
|
||||
|
||||
public static void e(String tag, String msg, Throwable tr) {
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue