[go: nahoru, domu]

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) {