Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 48687ca

Browse files
authored
Forbid android.util.Log (#21696)
1 parent 2ab369f commit 48687ca

19 files changed

+104
-27
lines changed

shell/platform/android/BUILD.gn

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,23 @@ embedding_dependencies_jars =
251251
],
252252
"list lines")
253253

254+
action("check_imports") {
255+
script = "//flutter/tools/android_illegal_imports.py"
256+
257+
sources = android_java_sources
258+
259+
stamp_file = "$root_out_dir/check_android_imports"
260+
261+
# File does not actually get created, but GN expects us to have an output here.
262+
outputs = [ stamp_file ]
263+
264+
args = [
265+
"--stamp",
266+
rebase_path(stamp_file),
267+
"--files",
268+
] + rebase_path(android_java_sources)
269+
}
270+
254271
action("flutter_shell_java") {
255272
script = "//build/android/gyp/javac.py"
256273
depfile = "$target_gen_dir/$target_name.d"
@@ -299,7 +316,10 @@ action("flutter_shell_java") {
299316

300317
args += rebase_path(sources, root_build_dir)
301318

302-
deps = [ ":gen_android_build_config_java" ]
319+
deps = [
320+
":check_imports",
321+
":gen_android_build_config_java",
322+
]
303323
}
304324

305325
action("icudtl_object") {

shell/platform/android/io/flutter/Log.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@
1313
public class Log {
1414
private static int logLevel = android.util.Log.DEBUG;
1515

16+
public static int ASSERT = android.util.Log.ASSERT;
17+
public static int DEBUG = android.util.Log.DEBUG;
18+
public static int ERROR = android.util.Log.ERROR;
19+
public static int INFO = android.util.Log.INFO;
20+
public static int VERBOSE = android.util.Log.VERBOSE;
21+
public static int WARN = android.util.Log.WARN;
22+
1623
/**
1724
* Sets a log cutoff such that a log level of lower priority than {@code logLevel} is filtered
1825
* out.
@@ -23,6 +30,12 @@ public static void setLogLevel(int logLevel) {
2330
Log.logLevel = logLevel;
2431
}
2532

33+
public static void println(@NonNull int level, @NonNull String tag, @NonNull String message) {
34+
if (BuildConfig.DEBUG && logLevel <= level) {
35+
android.util.Log.println(level, tag, message);
36+
}
37+
}
38+
2639
public static void v(@NonNull String tag, @NonNull String message) {
2740
if (BuildConfig.DEBUG && logLevel <= android.util.Log.VERBOSE) {
2841
android.util.Log.v(tag, message);

shell/platform/android/io/flutter/app/FlutterActivityDelegate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
import android.graphics.drawable.Drawable;
2020
import android.os.Build;
2121
import android.os.Bundle;
22-
import android.util.Log;
2322
import android.util.TypedValue;
2423
import android.view.View;
2524
import android.view.ViewGroup;
2625
import android.view.Window;
2726
import android.view.WindowManager.LayoutParams;
27+
import io.flutter.Log;
2828
import io.flutter.plugin.common.PluginRegistry;
2929
import io.flutter.plugin.platform.PlatformPlugin;
3030
import io.flutter.util.Preconditions;

shell/platform/android/io/flutter/embedding/android/AndroidKeyProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44

55
package io.flutter.embedding.android;
66

7-
import android.util.Log;
87
import android.view.KeyCharacterMap;
98
import android.view.KeyEvent;
109
import android.view.View;
1110
import androidx.annotation.NonNull;
1211
import androidx.annotation.Nullable;
12+
import io.flutter.Log;
1313
import io.flutter.embedding.engine.systemchannels.KeyEventChannel;
1414
import io.flutter.plugin.editing.TextInputPlugin;
1515
import java.util.AbstractMap.SimpleImmutableEntry;

shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
import android.os.Handler;
1111
import android.os.Looper;
1212
import android.os.SystemClock;
13-
import android.util.Log;
1413
import android.view.WindowManager;
1514
import androidx.annotation.NonNull;
1615
import androidx.annotation.Nullable;
1716
import io.flutter.BuildConfig;
1817
import io.flutter.FlutterInjector;
18+
import io.flutter.Log;
1919
import io.flutter.embedding.engine.FlutterJNI;
2020
import io.flutter.util.PathUtils;
2121
import io.flutter.view.VsyncWaiter;

shell/platform/android/io/flutter/embedding/engine/loader/ResourceExtractor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
import android.content.res.AssetManager;
1212
import android.os.AsyncTask;
1313
import android.os.Build;
14-
import android.util.Log;
1514
import androidx.annotation.NonNull;
1615
import androidx.annotation.WorkerThread;
1716
import io.flutter.BuildConfig;
17+
import io.flutter.Log;
1818
import java.io.*;
1919
import java.util.ArrayList;
2020
import java.util.Collection;

shell/platform/android/io/flutter/plugin/common/BasicMessageChannel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
package io.flutter.plugin.common;
66

7-
import android.util.Log;
87
import androidx.annotation.NonNull;
98
import androidx.annotation.Nullable;
109
import androidx.annotation.UiThread;
1110
import io.flutter.BuildConfig;
11+
import io.flutter.Log;
1212
import io.flutter.plugin.common.BinaryMessenger.BinaryMessageHandler;
1313
import io.flutter.plugin.common.BinaryMessenger.BinaryReply;
1414
import java.nio.ByteBuffer;

shell/platform/android/io/flutter/plugin/common/ErrorLogResult.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
package io.flutter.plugin.common;
66

7-
import android.util.Log;
87
import androidx.annotation.Nullable;
98
import io.flutter.BuildConfig;
9+
import io.flutter.Log;
1010

1111
/**
1212
* An implementation of {@link MethodChannel.Result} that writes error results to the Android log.

shell/platform/android/io/flutter/plugin/common/EventChannel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
package io.flutter.plugin.common;
66

7-
import android.util.Log;
87
import androidx.annotation.UiThread;
98
import io.flutter.BuildConfig;
9+
import io.flutter.Log;
1010
import io.flutter.plugin.common.BinaryMessenger.BinaryMessageHandler;
1111
import io.flutter.plugin.common.BinaryMessenger.BinaryReply;
1212
import java.nio.ByteBuffer;

shell/platform/android/io/flutter/plugin/common/FlutterException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
package io.flutter.plugin.common;
66

7-
import android.util.Log;
87
import io.flutter.BuildConfig;
8+
import io.flutter.Log;
99

1010
/** Thrown to indicate that a Flutter method invocation failed on the Flutter side. */
1111
public class FlutterException extends RuntimeException {

0 commit comments

Comments
 (0)