Make CatchAndPrintStackTrace in errorprone an error
and suppress existing violations.
Test: ./gradlew runErrorProne
Bug: 171758893
Change-Id: Iebf56f50801f66b7e0cba69e8a0437b6deb262a2
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/DropDownListView.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/DropDownListView.java
index ade4ed8..b06ba21 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/DropDownListView.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/DropDownListView.java
@@ -114,6 +114,7 @@
*
* @param context this view's context
*/
+ @SuppressWarnings("CatchAndPrintStackTrace")
DropDownListView(@NonNull Context context, boolean hijackFocus) {
super(context, null, R.attr.dropDownListViewStyle);
mHijackFocus = hijackFocus;
@@ -598,6 +599,7 @@
}
}
+ @SuppressWarnings("CatchAndPrintStackTrace")
private void positionSelectorCompat(int position, View sel) {
final Rect selectorRect = mSelectorRect;
selectorRect.set(sel.getLeft(), sel.getTop(), sel.getRight(), sel.getBottom());
diff --git a/buildSrc/src/main/kotlin/androidx/build/ErrorProneConfiguration.kt b/buildSrc/src/main/kotlin/androidx/build/ErrorProneConfiguration.kt
index bbee877..afb2421 100644
--- a/buildSrc/src/main/kotlin/androidx/build/ErrorProneConfiguration.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/ErrorProneConfiguration.kt
@@ -92,7 +92,6 @@
"-Xep:RestrictTo:OFF",
// Disable the following checks.
- "-Xep:CatchAndPrintStackTrace:OFF",
"-Xep:UnescapedEntity:OFF",
"-Xep:MissingSummary:OFF",
"-Xep:StaticAssignmentInConstructor:OFF",
@@ -161,6 +160,7 @@
"-Xep:BadImport:ERROR",
"-Xep:MissingCasesInEnumSwitch:ERROR",
"-Xep:ObjectToString:ERROR",
+ "-Xep:CatchAndPrintStackTrace:ERROR",
"-Xep:MixedMutabilityReturnType:ERROR",
// Nullaway
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/activity/Camera2TestActivity.java b/camera/camera-testing/src/main/java/androidx/camera/testing/activity/Camera2TestActivity.java
index 9d40e6f..6377d1cb 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/activity/Camera2TestActivity.java
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/activity/Camera2TestActivity.java
@@ -189,6 +189,7 @@
}
@RequiresPermission(Manifest.permission.CAMERA)
+ @SuppressWarnings("CatchAndPrintStackTrace")
void openCamera() {
if (TextUtils.isEmpty(mCameraId)) {
Logger.d(TAG, "Cannot open the camera");
@@ -233,7 +234,8 @@
/**
* Creates a new {@link CameraCaptureSession} for camera preview.
*/
- @SuppressWarnings("deprecation") /* createCaptureSession */
+ /* createCaptureSession */
+ @SuppressWarnings({"deprecation", "CatchAndPrintStackTrace"})
void createCameraPreviewSession() {
Preconditions.checkNotNull(mCameraDevice);
try {
@@ -257,6 +259,7 @@
new CameraCaptureSession.StateCallback() {
@Override
+ @SuppressWarnings("CatchAndPrintStackTrace")
public void onConfigured(
@NonNull CameraCaptureSession cameraCaptureSession) {
// The camera is already closed
@@ -305,6 +308,7 @@
/**
* Stops the background thread and its {@link Handler}.
*/
+ @SuppressWarnings("CatchAndPrintStackTrace")
private void stopBackgroundThread() {
if (mBackgroundThread != null) {
mBackgroundThread.quitSafely();
diff --git a/car/app/app-samples/showcase/src/main/java/androidx/car/app/samples/showcase/textandicons/ContentProviderIconsDemoScreen.java b/car/app/app-samples/showcase/src/main/java/androidx/car/app/samples/showcase/textandicons/ContentProviderIconsDemoScreen.java
index c262319..21214d7 100644
--- a/car/app/app-samples/showcase/src/main/java/androidx/car/app/samples/showcase/textandicons/ContentProviderIconsDemoScreen.java
+++ b/car/app/app-samples/showcase/src/main/java/androidx/car/app/samples/showcase/textandicons/ContentProviderIconsDemoScreen.java
@@ -76,6 +76,7 @@
}
@Nullable
+ @SuppressWarnings("CatchAndPrintStackTrace")
private Uri customIconUri(int resId) {
Uri uri = null;
try {
diff --git a/core/core-animation/src/main/java/androidx/core/animation/PathKeyframes.java b/core/core-animation/src/main/java/androidx/core/animation/PathKeyframes.java
index e1fe40a..fe6cb0e 100644
--- a/core/core-animation/src/main/java/androidx/core/animation/PathKeyframes.java
+++ b/core/core-animation/src/main/java/androidx/core/animation/PathKeyframes.java
@@ -220,7 +220,7 @@
@NonNull
@Override
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({"unchecked", "CatchAndPrintStackTrace"})
public Keyframes<T> clone() {
Keyframes<T> clone = null;
try {
diff --git a/core/core-animation/src/main/java/androidx/core/animation/PropertyValuesHolder.java b/core/core-animation/src/main/java/androidx/core/animation/PropertyValuesHolder.java
index 28ecb23..27e973a 100644
--- a/core/core-animation/src/main/java/androidx/core/animation/PropertyValuesHolder.java
+++ b/core/core-animation/src/main/java/androidx/core/animation/PropertyValuesHolder.java
@@ -1404,6 +1404,7 @@
}
@Override
+ @SuppressWarnings("CatchAndPrintStackTrace")
void setupSetter(Class<?> targetClass) {
synchronized (sSetterPropertyMap) {
// Have to lock property map prior to reading it, to guard against
@@ -1503,6 +1504,7 @@
}
@Override
+ @SuppressWarnings("CatchAndPrintStackTrace")
void setupSetter(Class<?> targetClass) {
synchronized (sSetterPropertyMap) {
// Have to lock property map prior to reading it, to guard against
diff --git a/core/core/src/main/java/androidx/core/os/ProcessCompat.java b/core/core/src/main/java/androidx/core/os/ProcessCompat.java
index 9c8ad10..272d429 100644
--- a/core/core/src/main/java/androidx/core/os/ProcessCompat.java
+++ b/core/core/src/main/java/androidx/core/os/ProcessCompat.java
@@ -87,7 +87,7 @@
// This class is non-instantiable.
}
- @SuppressWarnings("JavaReflectionMemberAccess")
+ @SuppressWarnings({"JavaReflectionMemberAccess", "CatchAndPrintStackTrace"})
@SuppressLint("DiscouragedPrivateApi")
static boolean isApplicationUid(int uid) {
// In JELLY_BEAN_MR2, the equivalent isApp(int) hidden method moved to public class
@@ -126,6 +126,7 @@
}
@SuppressLint("PrivateApi")
+ @SuppressWarnings("CatchAndPrintStackTrace")
static boolean isApplicationUid(int uid) {
// In JELLY_BEAN_MR1, the equivalent isApp(int) hidden method was available on hidden
// class android.os.UserId.
diff --git a/samples/Support4Demos/src/main/java/com/example/android/supportv4/app/SharingSupport.java b/samples/Support4Demos/src/main/java/com/example/android/supportv4/app/SharingSupport.java
index 5a0fb01..6e4e26e 100644
--- a/samples/Support4Demos/src/main/java/com/example/android/supportv4/app/SharingSupport.java
+++ b/samples/Support4Demos/src/main/java/com/example/android/supportv4/app/SharingSupport.java
@@ -70,6 +70,7 @@
.startChooser();
}
+ @SuppressWarnings("CatchAndPrintStackTrace")
public void onShareFileClick(View v) {
try {
// This file will be accessed by the target of the share through
@@ -90,6 +91,7 @@
}
}
+ @SuppressWarnings("CatchAndPrintStackTrace")
public void onShareMultipleFileClick(View v) {
try {
// These files will be accessed by the target of the share through
diff --git a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/utils/ResourceHelper.java b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/utils/ResourceHelper.java
index 08af89a..2083b0c 100644
--- a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/utils/ResourceHelper.java
+++ b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/utils/ResourceHelper.java
@@ -33,6 +33,7 @@
* @param defaultColor default to use.
* @return color value
*/
+ @SuppressWarnings("CatchAndPrintStackTrace")
public static int getThemeColor(Context context, int attribute, int defaultColor) {
int themeColor = 0;
String packageName = context.getPackageName();
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/widget/AsyncListUtilActivity.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/widget/AsyncListUtilActivity.java
index 839c798..65f96a9 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/widget/AsyncListUtilActivity.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/widget/AsyncListUtilActivity.java
@@ -129,6 +129,7 @@
}
}
+ @SuppressWarnings("CatchAndPrintStackTrace")
private void sleep() {
try {
Thread.sleep(DELAY_MS);
diff --git a/slices/view/src/main/java/androidx/slice/widget/ActionRow.java b/slices/view/src/main/java/androidx/slice/widget/ActionRow.java
index 9406fc4..efd9763 100644
--- a/slices/view/src/main/java/androidx/slice/widget/ActionRow.java
+++ b/slices/view/src/main/java/androidx/slice/widget/ActionRow.java
@@ -136,6 +136,7 @@
addAction(iconItem, tint).setOnClickListener(
new OnClickListener() {
@Override
+ @SuppressWarnings("CatchAndPrintStackTrace")
public void onClick(View v) {
try {
// TODO - should log events here
diff --git a/transition/transition/src/main/java/androidx/transition/ViewOverlayApi14.java b/transition/transition/src/main/java/androidx/transition/ViewOverlayApi14.java
index deade72..b52631a 100644
--- a/transition/transition/src/main/java/androidx/transition/ViewOverlayApi14.java
+++ b/transition/transition/src/main/java/androidx/transition/ViewOverlayApi14.java
@@ -281,6 +281,7 @@
* @hide
*/
@RestrictTo(LIBRARY_GROUP_PREFIX)
+ @SuppressWarnings("CatchAndPrintStackTrace")
protected ViewParent invalidateChildInParentFast(int left, int top, Rect dirty) {
if (mHostView != null && sInvalidateChildInParentFastMethod != null) {
try {
diff --git a/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/Proxy.java b/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/Proxy.java
index 679b233..aecb050 100644
--- a/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/Proxy.java
+++ b/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/Proxy.java
@@ -57,6 +57,7 @@
* @param port port number
* @param callback callback run when this proxy serves a request
*/
+ @SuppressWarnings("CatchAndPrintStackTrace")
public Proxy(int port, ProxyRequestCallback callback) {
mRequestCount = 0;
mCallback = callback;
@@ -111,6 +112,7 @@
}).start();
}
+ @SuppressWarnings("CatchAndPrintStackTrace")
private void listen() {
try {
Socket socket = mServerSocket.accept();
@@ -129,6 +131,7 @@
/**
* Shutdown.
*/
+ @SuppressWarnings("CatchAndPrintStackTrace")
public void shutdown() {
if (!mRunning) return;
mRunning = false;
@@ -154,6 +157,7 @@
private BufferedReader mReader;
private BufferedWriter mWriter;
+ @SuppressWarnings("CatchAndPrintStackTrace")
RequestHandler(Socket socket) {
mSocket = socket;
try {
@@ -168,6 +172,7 @@
}
@Override
+ @SuppressWarnings("CatchAndPrintStackTrace")
public void run() {
try {
StringBuilder sb = new StringBuilder();
diff --git a/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/TracingControllerActivity.java b/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/TracingControllerActivity.java
index 07e6147..97af732 100644
--- a/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/TracingControllerActivity.java
+++ b/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/TracingControllerActivity.java
@@ -60,6 +60,7 @@
private String mLogPath;
@Override
+ @SuppressWarnings("CatchAndPrintStackTrace")
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tracing_controller);
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageProcessingWorker.java b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageProcessingWorker.java
index a9eaabd..e4c7cd3 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageProcessingWorker.java
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageProcessingWorker.java
@@ -87,6 +87,7 @@
return Result.success();
}
+ @SuppressWarnings("CatchAndPrintStackTrace")
private Bitmap retrieveImage(String uriString) {
Uri uri = Uri.parse(uriString);
InputStream inputStream = null;
@@ -123,6 +124,7 @@
}
}
+ @SuppressWarnings("CatchAndPrintStackTrace")
private String compressImage(Bitmap bitmap) {
FileOutputStream os = null;
try {
diff --git a/work/workmanager/src/main/java/androidx/work/impl/model/WorkTypeConverters.java b/work/workmanager/src/main/java/androidx/work/impl/model/WorkTypeConverters.java
index be044f6..2cdd930 100644
--- a/work/workmanager/src/main/java/androidx/work/impl/model/WorkTypeConverters.java
+++ b/work/workmanager/src/main/java/androidx/work/impl/model/WorkTypeConverters.java
@@ -252,6 +252,7 @@
* @return corresponding byte array representation
*/
@TypeConverter
+ @SuppressWarnings("CatchAndPrintStackTrace")
public static byte[] contentUriTriggersToByteArray(ContentUriTriggers triggers) {
if (triggers.size() == 0) {
return null;
@@ -290,6 +291,7 @@
* @return list of {@link ContentUriTriggers.Trigger}s
*/
@TypeConverter
+ @SuppressWarnings("CatchAndPrintStackTrace")
public static ContentUriTriggers byteArrayToContentUriTriggers(byte[] bytes) {
ContentUriTriggers triggers = new ContentUriTriggers();
if (bytes == null) {