Lint check to to detect utility classes and suggest making them
un-instantiable through private constructor(s).

Runs only for Java.

Didn't work on fix yet, simply because I can't get Studio
too cooperate...

Test: the rule flags usages correctly.
Change-Id: I9dda18d1ac7fd88090150c970089f65c39669cf7
diff --git a/ads/ads-identifier-common/lint-baseline.xml b/ads/ads-identifier-common/lint-baseline.xml
new file mode 100644
index 0000000..a5dca43
--- /dev/null
+++ b/ads/ads-identifier-common/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="/**"
+        errorLine2="^">
+        <location
+            file="src/main/java/androidx/ads/identifier/AdvertisingIdUtils.java"
+            line="36"
+            column="1"/>
+    </issue>
+
+</issues>
diff --git a/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml b/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml
deleted file mode 100644
index 3420ae4..0000000
--- a/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
-
-</issues>
diff --git a/biometric/biometric/lint-baseline.xml b/biometric/biometric/lint-baseline.xml
index 3420ae4..24cd1b4 100644
--- a/biometric/biometric/lint-baseline.xml
+++ b/biometric/biometric/lint-baseline.xml
@@ -1,4 +1,114 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
 
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/biometric/AuthenticationCallbackProvider.java"
+            line="165"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/biometric/BiometricFragment.java"
+            line="852"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/biometric/BiometricFragment.java"
+            line="885"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/biometric/BiometricFragment.java"
+            line="1011"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/biometric/BiometricFragment.java"
+            line="1028"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/biometric/BiometricManager.java"
+            line="152"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/biometric/CancellationSignalProvider.java"
+            line="96"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/biometric/CryptoObjectUtils.java"
+            line="179"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/biometric/FingerprintDialogFragment.java"
+            line="424"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/biometric/FingerprintDialogFragment.java"
+            line="437"
+            column="5"/>
+    </issue>
+
 </issues>
diff --git a/camera/camera-core/lint-baseline.xml b/camera/camera-core/lint-baseline.xml
index 2afad86..5ef941b 100644
--- a/camera/camera-core/lint-baseline.xml
+++ b/camera/camera-core/lint-baseline.xml
@@ -2,6 +2,17 @@
 <issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
 
     <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    private static final class Speed {"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/impl/utils/Exif.java"
+            line="627"
+            column="5"/>
+    </issue>
+
+    <issue
         id="KotlinPropertyAccess"
         message="This getter should be public such that `useRepeatingSurface` can be accessed as a property from Kotlin; see https://android.github.io/kotlin-guides/interop.html#property-prefixes"
         errorLine1="        boolean isUseRepeatingSurface() {"
diff --git a/camera/camera-view/lint-baseline.xml b/camera/camera-view/lint-baseline.xml
deleted file mode 100644
index 3420ae4..0000000
--- a/camera/camera-view/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
-
-</issues>
diff --git a/core/core-animation-testing/lint-baseline.xml b/core/core-animation-testing/lint-baseline.xml
deleted file mode 100644
index 3420ae4..0000000
--- a/core/core-animation-testing/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
-
-</issues>
diff --git a/core/core/lint-baseline.xml b/core/core/lint-baseline.xml
index 84245d2..089b267 100644
--- a/core/core/lint-baseline.xml
+++ b/core/core/lint-baseline.xml
@@ -2,6 +2,116 @@
 <issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
 
     <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="/**"
+        errorLine2="^">
+        <location
+            file="src/main/java/androidx/core/app/AppLaunchChecker.java"
+            line="29"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="/**"
+        errorLine2="^">
+        <location
+            file="src/main/java/androidx/core/content/ContextCompat.java"
+            line="147"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="/**"
+        errorLine2="^">
+        <location
+            file="src/main/java/androidx/core/view/inputmethod/EditorInfoCompat.java"
+            line="31"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="/**"
+        errorLine2="^">
+        <location
+            file="src/main/java/androidx/core/view/inputmethod/InputConnectionCompat.java"
+            line="33"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    // Inner class required to avoid VFY errors during class init."
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/core/content/LocusIdCompat.java"
+            line="146"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="/**"
+        errorLine2="^">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="78"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    @RequiresApi(25)"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/core/content/pm/ShortcutManagerCompat.java"
+            line="757"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="/**"
+        errorLine2="^">
+        <location
+            file="src/main/java/androidx/core/view/ViewCompat.java"
+            line="85"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    @RequiresApi(16)"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/core/view/WindowCompat.java"
+            line="122"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    @RequiresApi(30)"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/core/view/WindowCompat.java"
+            line="138"
+            column="5"/>
+    </issue>
+
+    <issue
         id="KotlinPropertyAccess"
         message="The getter return type (`AccessibilityNodeInfoCompat`) and setter parameter type (`View`) getter and setter methods for property `parent` should have exactly the same type to allow be accessed as a property from Kotlin; see https://android.github.io/kotlin-guides/interop.html#property-prefixes"
         errorLine1="    public AccessibilityNodeInfoCompat getParent() {"
@@ -139,7 +249,7 @@
         errorLine2="                ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/view/GestureDetectorCompat.java"
-            line="555"
+            line="556"
             column="17"/>
     </issue>
 
@@ -205,7 +315,7 @@
         errorLine2="                                                         ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/provider/SelfDestructiveThread.java"
-            line="164"
+            line="165"
             column="58"/>
     </issue>
 
@@ -1668,7 +1778,7 @@
         errorLine2="                                           ~~~~~~">
         <location
             file="src/main/java/androidx/core/view/accessibility/AccessibilityNodeProviderCompat.java"
-            line="120"
+            line="137"
             column="44"/>
     </issue>
 
@@ -1679,7 +1789,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/androidx/core/view/accessibility/AccessibilityNodeProviderCompat.java"
-            line="127"
+            line="144"
             column="12"/>
     </issue>
 
@@ -1690,7 +1800,7 @@
         errorLine2="                                                                ~~~~~~">
         <location
             file="src/main/java/androidx/core/view/accessibility/AccessibilityNodeProviderCompat.java"
-            line="171"
+            line="188"
             column="65"/>
     </issue>
 
@@ -1701,7 +1811,7 @@
         errorLine2="                                                                              ~~~~~~">
         <location
             file="src/main/java/androidx/core/view/accessibility/AccessibilityNodeProviderCompat.java"
-            line="190"
+            line="207"
             column="79"/>
     </issue>
 
@@ -2801,7 +2911,7 @@
         errorLine2="                  ~~~~">
         <location
             file="src/main/java/androidx/core/content/ContextCompat.java"
-            line="575"
+            line="580"
             column="19"/>
     </issue>
 
@@ -2812,7 +2922,7 @@
         errorLine2="                  ~~~~~~~~">
         <location
             file="src/main/java/androidx/core/content/ContextCompat.java"
-            line="657"
+            line="662"
             column="19"/>
     </issue>
 
@@ -2823,7 +2933,7 @@
         errorLine2="                                           ~~~~~~~">
         <location
             file="src/main/java/androidx/core/content/ContextCompat.java"
-            line="657"
+            line="662"
             column="44"/>
     </issue>
 
@@ -2933,7 +3043,7 @@
         errorLine2="                               ~~~~">
         <location
             file="src/main/java/androidx/core/view/DisplayCutoutCompat.java"
-            line="53"
+            line="55"
             column="32"/>
     </issue>
 
@@ -2944,24 +3054,13 @@
         errorLine2="                                                ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/view/DisplayCutoutCompat.java"
-            line="53"
+            line="55"
             column="49"/>
     </issue>
 
     <issue
         id="UnknownNullness"
         message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    public List&lt;Rect> getBoundingRects() {"
-        errorLine2="           ~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/core/view/DisplayCutoutCompat.java"
-            line="159"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
         errorLine1="    public static DragAndDropPermissionsCompat request(Activity activity, DragEvent dragEvent) {"
         errorLine2="                                                       ~~~~~~~~">
         <location
@@ -3384,7 +3483,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/provider/FontsContractCompat.java"
-            line="687"
+            line="688"
             column="19"/>
     </issue>
 
@@ -3395,7 +3494,7 @@
         errorLine2="                                                       ~~~~~~~">
         <location
             file="src/main/java/androidx/core/provider/FontsContractCompat.java"
-            line="687"
+            line="688"
             column="56"/>
     </issue>
 
@@ -3406,7 +3505,7 @@
         errorLine2="                                                                        ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/provider/FontsContractCompat.java"
-            line="687"
+            line="688"
             column="73"/>
     </issue>
 
@@ -3417,7 +3516,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/provider/FontsContractCompat.java"
-            line="688"
+            line="689"
             column="13"/>
     </issue>
 
@@ -3428,7 +3527,7 @@
         errorLine2="                                 ~~~~~~~">
         <location
             file="src/main/java/androidx/core/view/GestureDetectorCompat.java"
-            line="505"
+            line="506"
             column="34"/>
     </issue>
 
@@ -3439,7 +3538,7 @@
         errorLine2="                                                  ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/view/GestureDetectorCompat.java"
-            line="505"
+            line="506"
             column="51"/>
     </issue>
 
@@ -3450,7 +3549,7 @@
         errorLine2="                                 ~~~~~~~">
         <location
             file="src/main/java/androidx/core/view/GestureDetectorCompat.java"
-            line="519"
+            line="520"
             column="34"/>
     </issue>
 
@@ -3461,7 +3560,7 @@
         errorLine2="                                                  ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/view/GestureDetectorCompat.java"
-            line="519"
+            line="520"
             column="51"/>
     </issue>
 
@@ -3472,7 +3571,7 @@
         errorLine2="                                                                              ~~~~~~~">
         <location
             file="src/main/java/androidx/core/view/GestureDetectorCompat.java"
-            line="519"
+            line="520"
             column="79"/>
     </issue>
 
@@ -3483,7 +3582,7 @@
         errorLine2="                                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/view/GestureDetectorCompat.java"
-            line="542"
+            line="543"
             column="33"/>
     </issue>
 
@@ -3494,7 +3593,7 @@
         errorLine2="                                       ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/view/GestureDetectorCompat.java"
-            line="566"
+            line="567"
             column="40"/>
     </issue>
 
@@ -9390,7 +9489,7 @@
         errorLine2="                                                     ~~~~~~~~">
         <location
             file="src/main/java/androidx/core/content/res/ResourcesCompat.java"
-            line="386"
+            line="277"
             column="54"/>
     </issue>
 
@@ -9401,7 +9500,7 @@
         errorLine2="                  ~~~~~~~~">
         <location
             file="src/main/java/androidx/core/content/res/ResourcesCompat.java"
-            line="454"
+            line="345"
             column="19"/>
     </issue>
 
@@ -9412,7 +9511,7 @@
         errorLine2="                                                                              ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/content/res/ResourcesCompat.java"
-            line="454"
+            line="345"
             column="79"/>
     </issue>
 
@@ -9621,7 +9720,7 @@
         errorLine2="                                       ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/provider/SelfDestructiveThread.java"
-            line="135"
+            line="136"
             column="40"/>
     </issue>
 
@@ -9632,7 +9731,7 @@
         errorLine2="                                                                   ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/provider/SelfDestructiveThread.java"
-            line="135"
+            line="136"
             column="68"/>
     </issue>
 
@@ -9643,7 +9742,7 @@
         errorLine2="               ~">
         <location
             file="src/main/java/androidx/core/provider/SelfDestructiveThread.java"
-            line="164"
+            line="165"
             column="16"/>
     </issue>
 
@@ -9654,7 +9753,7 @@
         errorLine2="                                   ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/provider/SelfDestructiveThread.java"
-            line="164"
+            line="165"
             column="36"/>
     </issue>
 
diff --git a/emoji/core/lint-baseline.xml b/emoji/core/lint-baseline.xml
index 30beb68..79d3ead 100644
--- a/emoji/core/lint-baseline.xml
+++ b/emoji/core/lint-baseline.xml
@@ -2,6 +2,17 @@
 <issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
 
     <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/emoji/text/EmojiProcessor.java"
+            line="662"
+            column="5"/>
+    </issue>
+
+    <issue
         id="KotlinPropertyAccess"
         message="The getter return type (`int`) and setter parameter type (`boolean`) getter and setter methods for property `hasGlyph` should have exactly the same type to allow be accessed as a property from Kotlin; see https://android.github.io/kotlin-guides/interop.html#property-prefixes"
         errorLine1="    public int getHasGlyph() {"
diff --git a/leanback/leanback/lint-baseline.xml b/leanback/leanback/lint-baseline.xml
index d833167..66840b8 100644
--- a/leanback/leanback/lint-baseline.xml
+++ b/leanback/leanback/lint-baseline.xml
@@ -2,6 +2,17 @@
 <issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
 
     <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="/**"
+        errorLine2="^">
+        <location
+            file="src/main/java/androidx/leanback/widget/FocusHighlightHelper.java"
+            line="36"
+            column="1"/>
+    </issue>
+
+    <issue
         id="KotlinPropertyAccess"
         message="This method should be called `getHasMediaRowSeparator` such that `hasMediaRowSeparator` can be accessed as a property from Kotlin; see https://android.github.io/kotlin-guides/interop.html#property-prefixes"
         errorLine1="    public boolean hasMediaRowSeparator() {"
@@ -6572,7 +6583,7 @@
         errorLine2="                                                     ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/FocusHighlightHelper.java"
-            line="200"
+            line="201"
             column="54"/>
     </issue>
 
@@ -6583,7 +6594,7 @@
         errorLine2="                                                     ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/FocusHighlightHelper.java"
-            line="219"
+            line="220"
             column="54"/>
     </issue>
 
@@ -6594,7 +6605,7 @@
         errorLine2="                                                     ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/FocusHighlightHelper.java"
-            line="233"
+            line="234"
             column="54"/>
     </issue>
 
@@ -6605,7 +6616,7 @@
         errorLine2="                                                     ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/FocusHighlightHelper.java"
-            line="250"
+            line="251"
             column="54"/>
     </issue>
 
@@ -6616,7 +6627,7 @@
         errorLine2="                                                     ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/FocusHighlightHelper.java"
-            line="263"
+            line="264"
             column="54"/>
     </issue>
 
diff --git a/leanback/leanback/src/main/java/androidx/leanback/widget/FocusHighlightHelper.java b/leanback/leanback/src/main/java/androidx/leanback/widget/FocusHighlightHelper.java
index 85b6e84..5c90dd2 100644
--- a/leanback/leanback/src/main/java/androidx/leanback/widget/FocusHighlightHelper.java
+++ b/leanback/leanback/src/main/java/androidx/leanback/widget/FocusHighlightHelper.java
@@ -20,6 +20,7 @@
 import static androidx.leanback.widget.FocusHighlight.ZOOM_FACTOR_XSMALL;
 
 import android.animation.TimeAnimator;
+import android.annotation.SuppressLint;
 import android.content.res.Resources;
 import android.util.TypedValue;
 import android.view.View;
@@ -340,6 +341,7 @@
 
     /** @deprecated This type should not be instantiated as it contains only static methods. */
     @Deprecated
+    @SuppressLint("PrivateConstructorForUtilityClass")
     @SuppressWarnings("PrivateConstructorForUtilityClass")
     public FocusHighlightHelper() {
     }
diff --git a/lifecycle/lifecycle-extensions/lint-baseline.xml b/lifecycle/lifecycle-extensions/lint-baseline.xml
new file mode 100644
index 0000000..5282ec6
--- /dev/null
+++ b/lifecycle/lifecycle-extensions/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="/**"
+        errorLine2="^">
+        <location
+            file="src/main/java/androidx/lifecycle/ViewModelProviders.java"
+            line="28"
+            column="1"/>
+    </issue>
+
+</issues>
diff --git a/lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt b/lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt
index ab17858..89bd7ec 100644
--- a/lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt
@@ -41,7 +41,8 @@
                 SampledAnnotationEnforcer.MULTIPLE_FUNCTIONS_FOUND,
                 SampledAnnotationEnforcer.INVALID_SAMPLES_LOCATION,
                 ObsoleteBuildCompatUsageDetector.ISSUE,
-                MetadataTagInsideApplicationTagDetector.ISSUE
+                MetadataTagInsideApplicationTagDetector.ISSUE,
+                PrivateConstructorForUtilityClass.ISSUE
             )
         }
     }
diff --git a/lint-checks/src/main/java/androidx/build/lint/PrivateConstructorForUtilityClass.kt b/lint-checks/src/main/java/androidx/build/lint/PrivateConstructorForUtilityClass.kt
new file mode 100644
index 0000000..3ddd600
--- /dev/null
+++ b/lint-checks/src/main/java/androidx/build/lint/PrivateConstructorForUtilityClass.kt
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.build.lint
+
+import com.android.tools.lint.client.api.UElementHandler
+import com.android.tools.lint.detector.api.Category
+import com.android.tools.lint.detector.api.Detector
+import com.android.tools.lint.detector.api.Implementation
+import com.android.tools.lint.detector.api.Issue
+import com.android.tools.lint.detector.api.JavaContext
+import com.android.tools.lint.detector.api.Scope
+import com.android.tools.lint.detector.api.Severity
+import com.intellij.psi.PsiModifier
+import org.jetbrains.kotlin.asJava.classes.isPrivateOrParameterInPrivateMethod
+import org.jetbrains.kotlin.idea.KotlinFileType
+import org.jetbrains.uast.UAnonymousClass
+import org.jetbrains.uast.UClass
+
+class PrivateConstructorForUtilityClass : Detector(), Detector.UastScanner {
+
+    override fun getApplicableUastTypes() = listOf(UClass::class.java)
+
+    override fun createUastHandler(context: JavaContext) = object : UElementHandler() {
+        override fun visitClass(node: UClass) {
+            if (node.isInterface ||
+                node.hasModifierProperty(PsiModifier.ABSTRACT) ||
+                node is UAnonymousClass ||
+                // If this is a subclass, then don't flag it.
+                node.supers.any { !it.qualifiedName.equals("java.lang.Object") } ||
+                // Don't run for Kotlin, for now at least
+                node.containingFile.fileType == KotlinFileType.INSTANCE
+            ) {
+                return
+            }
+            // If all constructors are already private or if not all methods are static then return
+            if ((node.constructors.all { it.isPrivateOrParameterInPrivateMethod() } && node
+                    .constructors.isNotEmpty()) ||
+                node.methods.any { !it.isStatic && !it.isConstructor } ||
+                node.methods.none { !it.isConstructor } ||
+                node.fields.any { !it.isStatic }) {
+                return
+            }
+            // This is a utility class with a non private constructor
+            context.report(
+                PrivateConstructorForUtilityClass.ISSUE, node,
+                context.getLocation(node.javaPsi),
+                "Utility class with non private constructor",
+                null
+            )
+        }
+    }
+
+    companion object {
+        val ISSUE = Issue.create("PrivateConstructorForUtilityClass",
+            "Utility classes should have a private constructor",
+            "Classes which are not intended to be instantiated should be made non-instantiable " +
+                    "with a private constructor. This includes utility classes (classes with " +
+                    "only static members), and the main class.",
+            Category.CORRECTNESS, 5, Severity.ERROR,
+            Implementation(PrivateConstructorForUtilityClass::class.java, Scope.JAVA_FILE_SCOPE))
+    }
+}
diff --git a/media/media/lint-baseline.xml b/media/media/lint-baseline.xml
index 1e14e91..f456763 100644
--- a/media/media/lint-baseline.xml
+++ b/media/media/lint-baseline.xml
@@ -943,7 +943,7 @@
         errorLine2="                                                             ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="573"
+            line="574"
             column="62"/>
     </issue>
 
@@ -954,7 +954,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="651"
+            line="652"
             column="12"/>
     </issue>
 
@@ -965,7 +965,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="681"
+            line="682"
             column="12"/>
     </issue>
 
@@ -976,7 +976,7 @@
         errorLine2="                                   ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="726"
+            line="727"
             column="36"/>
     </issue>
 
@@ -987,7 +987,7 @@
         errorLine2="                                                 ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="726"
+            line="727"
             column="50"/>
     </issue>
 
@@ -998,7 +998,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="734"
+            line="735"
             column="44"/>
     </issue>
 
@@ -1009,7 +1009,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="743"
+            line="744"
             column="39"/>
     </issue>
 
@@ -1020,7 +1020,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="754"
+            line="755"
             column="36"/>
     </issue>
 
@@ -1031,7 +1031,7 @@
         errorLine2="                                        ~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="764"
+            line="765"
             column="41"/>
     </issue>
 
@@ -1042,7 +1042,7 @@
         errorLine2="                                    ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="773"
+            line="774"
             column="37"/>
     </issue>
 
@@ -1053,7 +1053,7 @@
         errorLine2="                                       ~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="781"
+            line="782"
             column="40"/>
     </issue>
 
@@ -1064,7 +1064,7 @@
         errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="819"
+            line="820"
             column="16"/>
     </issue>
 
@@ -1075,7 +1075,7 @@
         errorLine2="                                                ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1166"
+            line="1167"
             column="49"/>
     </issue>
 
@@ -1086,7 +1086,7 @@
         errorLine2="                                                                ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1166"
+            line="1167"
             column="65"/>
     </issue>
 
@@ -1097,7 +1097,7 @@
         errorLine2="                                               ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1178"
+            line="1179"
             column="48"/>
     </issue>
 
@@ -1108,7 +1108,7 @@
         errorLine2="                                                             ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1178"
+            line="1179"
             column="62"/>
     </issue>
 
@@ -1119,7 +1119,7 @@
         errorLine2="                                            ~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1189"
+            line="1190"
             column="45"/>
     </issue>
 
@@ -1130,7 +1130,7 @@
         errorLine2="                                                     ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1189"
+            line="1190"
             column="54"/>
     </issue>
 
@@ -1141,7 +1141,7 @@
         errorLine2="                                             ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1203"
+            line="1204"
             column="46"/>
     </issue>
 
@@ -1152,7 +1152,7 @@
         errorLine2="                                                             ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1203"
+            line="1204"
             column="62"/>
     </issue>
 
@@ -1163,7 +1163,7 @@
         errorLine2="                                            ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1214"
+            line="1215"
             column="45"/>
     </issue>
 
@@ -1174,7 +1174,7 @@
         errorLine2="                                                          ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1214"
+            line="1215"
             column="59"/>
     </issue>
 
@@ -1185,7 +1185,7 @@
         errorLine2="                                         ~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1223"
+            line="1224"
             column="42"/>
     </issue>
 
@@ -1196,7 +1196,7 @@
         errorLine2="                                                  ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1223"
+            line="1224"
             column="51"/>
     </issue>
 
@@ -1207,7 +1207,7 @@
         errorLine2="                                       ~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1279"
+            line="1280"
             column="40"/>
     </issue>
 
@@ -1218,7 +1218,7 @@
         errorLine2="                                       ~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1293"
+            line="1294"
             column="40"/>
     </issue>
 
@@ -1229,7 +1229,7 @@
         errorLine2="                                                            ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1293"
+            line="1294"
             column="61"/>
     </issue>
 
@@ -1240,7 +1240,7 @@
         errorLine2="                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1339"
+            line="1340"
             column="47"/>
     </issue>
 
@@ -1251,7 +1251,7 @@
         errorLine2="                ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1340"
+            line="1341"
             column="17"/>
     </issue>
 
@@ -1262,7 +1262,7 @@
         errorLine2="                                              ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1358"
+            line="1359"
             column="47"/>
     </issue>
 
@@ -1273,7 +1273,7 @@
         errorLine2="                                                             ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaControllerCompat.java"
-            line="1358"
+            line="1359"
             column="62"/>
     </issue>
 
@@ -1812,7 +1812,7 @@
         errorLine2="                            ~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="631"
+            line="632"
             column="29"/>
     </issue>
 
@@ -1823,7 +1823,7 @@
         errorLine2="                                               ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="631"
+            line="632"
             column="48"/>
     </issue>
 
@@ -1834,7 +1834,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="647"
+            line="648"
             column="36"/>
     </issue>
 
@@ -1845,7 +1845,7 @@
         errorLine2="                                       ~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="664"
+            line="665"
             column="40"/>
     </issue>
 
@@ -1856,7 +1856,7 @@
         errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="706"
+            line="707"
             column="37"/>
     </issue>
 
@@ -1867,7 +1867,7 @@
         errorLine2="                                 ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="750"
+            line="751"
             column="34"/>
     </issue>
 
@@ -1878,7 +1878,7 @@
         errorLine2="                                               ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="750"
+            line="751"
             column="48"/>
     </issue>
 
@@ -1889,7 +1889,7 @@
         errorLine2="           ~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="780"
+            line="781"
             column="12"/>
     </issue>
 
@@ -1900,7 +1900,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="790"
+            line="791"
             column="12"/>
     </issue>
 
@@ -1911,7 +1911,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="799"
+            line="800"
             column="34"/>
     </issue>
 
@@ -1922,7 +1922,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="811"
+            line="812"
             column="29"/>
     </issue>
 
@@ -1933,7 +1933,7 @@
         errorLine2="                         ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="826"
+            line="827"
             column="26"/>
     </issue>
 
@@ -1944,7 +1944,7 @@
         errorLine2="                              ~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="837"
+            line="838"
             column="31"/>
     </issue>
 
@@ -1955,7 +1955,7 @@
         errorLine2="                          ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="906"
+            line="907"
             column="27"/>
     </issue>
 
@@ -1966,7 +1966,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="920"
+            line="921"
             column="12"/>
     </issue>
 
@@ -1977,7 +1977,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="934"
+            line="935"
             column="12"/>
     </issue>
 
@@ -1988,7 +1988,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="970"
+            line="971"
             column="12"/>
     </issue>
 
@@ -1999,7 +1999,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="981"
+            line="982"
             column="43"/>
     </issue>
 
@@ -2010,7 +2010,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="994"
+            line="995"
             column="46"/>
     </issue>
 
@@ -2021,7 +2021,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1017"
+            line="1018"
             column="19"/>
     </issue>
 
@@ -2032,7 +2032,7 @@
         errorLine2="                                                      ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1017"
+            line="1018"
             column="55"/>
     </issue>
 
@@ -2043,7 +2043,7 @@
         errorLine2="                                                                       ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1017"
+            line="1018"
             column="72"/>
     </issue>
 
@@ -2054,7 +2054,7 @@
         errorLine2="                              ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1150"
+            line="1151"
             column="31"/>
     </issue>
 
@@ -2065,7 +2065,7 @@
         errorLine2="                                              ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1150"
+            line="1151"
             column="47"/>
     </issue>
 
@@ -2076,7 +2076,7 @@
         errorLine2="                                                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1150"
+            line="1151"
             column="62"/>
     </issue>
 
@@ -2087,7 +2087,7 @@
         errorLine2="                                          ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1164"
+            line="1165"
             column="43"/>
     </issue>
 
@@ -2098,7 +2098,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1257"
+            line="1258"
             column="42"/>
     </issue>
 
@@ -2109,7 +2109,7 @@
         errorLine2="                                                         ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1257"
+            line="1258"
             column="58"/>
     </issue>
 
@@ -2120,7 +2120,7 @@
         errorLine2="                                        ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1267"
+            line="1268"
             column="41"/>
     </issue>
 
@@ -2131,7 +2131,7 @@
         errorLine2="                                                      ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1267"
+            line="1268"
             column="55"/>
     </issue>
 
@@ -2142,7 +2142,7 @@
         errorLine2="                                     ~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1275"
+            line="1276"
             column="38"/>
     </issue>
 
@@ -2153,7 +2153,7 @@
         errorLine2="                                              ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1275"
+            line="1276"
             column="47"/>
     </issue>
 
@@ -2164,7 +2164,7 @@
         errorLine2="                                      ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1288"
+            line="1289"
             column="39"/>
     </issue>
 
@@ -2175,7 +2175,7 @@
         errorLine2="                                                      ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1288"
+            line="1289"
             column="55"/>
     </issue>
 
@@ -2186,7 +2186,7 @@
         errorLine2="                                     ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1297"
+            line="1298"
             column="38"/>
     </issue>
 
@@ -2197,7 +2197,7 @@
         errorLine2="                                                   ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1297"
+            line="1298"
             column="52"/>
     </issue>
 
@@ -2208,7 +2208,7 @@
         errorLine2="                                  ~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1303"
+            line="1304"
             column="35"/>
     </issue>
 
@@ -2219,7 +2219,7 @@
         errorLine2="                                           ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1303"
+            line="1304"
             column="44"/>
     </issue>
 
@@ -2230,7 +2230,7 @@
         errorLine2="                                ~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1362"
+            line="1363"
             column="33"/>
     </issue>
 
@@ -2241,7 +2241,7 @@
         errorLine2="                                ~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1371"
+            line="1372"
             column="33"/>
     </issue>
 
@@ -2252,7 +2252,7 @@
         errorLine2="                                                     ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1371"
+            line="1372"
             column="54"/>
     </issue>
 
@@ -2263,7 +2263,7 @@
         errorLine2="                                   ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1442"
+            line="1443"
             column="36"/>
     </issue>
 
@@ -2274,7 +2274,7 @@
         errorLine2="                                                  ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1442"
+            line="1443"
             column="51"/>
     </issue>
 
@@ -2285,7 +2285,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1452"
+            line="1453"
             column="36"/>
     </issue>
 
@@ -2296,7 +2296,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1464"
+            line="1465"
             column="36"/>
     </issue>
 
@@ -2307,7 +2307,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1475"
+            line="1476"
             column="39"/>
     </issue>
 
@@ -2318,7 +2318,7 @@
         errorLine2="                      ~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1935"
+            line="1936"
             column="23"/>
     </issue>
 
@@ -2329,7 +2329,7 @@
         errorLine2="                                      ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1935"
+            line="1936"
             column="39"/>
     </issue>
 
@@ -2340,7 +2340,7 @@
         errorLine2="                      ~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1953"
+            line="1954"
             column="23"/>
     </issue>
 
@@ -2351,7 +2351,7 @@
         errorLine2="                                      ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1953"
+            line="1954"
             column="39"/>
     </issue>
 
@@ -2362,7 +2362,7 @@
         errorLine2="                                                    ~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1953"
+            line="1954"
             column="53"/>
     </issue>
 
@@ -2373,7 +2373,7 @@
         errorLine2="                                  ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1970"
+            line="1971"
             column="35"/>
     </issue>
 
@@ -2384,7 +2384,7 @@
         errorLine2="               ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2014"
+            line="2015"
             column="16"/>
     </issue>
 
@@ -2395,7 +2395,7 @@
         errorLine2="               ~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2022"
+            line="2023"
             column="16"/>
     </issue>
 
@@ -2406,7 +2406,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2032"
+            line="2033"
             column="36"/>
     </issue>
 
@@ -2417,7 +2417,7 @@
         errorLine2="               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2042"
+            line="2043"
             column="16"/>
     </issue>
 
@@ -2428,7 +2428,7 @@
         errorLine2="                                     ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2052"
+            line="2053"
             column="38"/>
     </issue>
 
@@ -2439,7 +2439,7 @@
         errorLine2="               ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2062"
+            line="2063"
             column="16"/>
     </issue>
 
@@ -2450,7 +2450,7 @@
         errorLine2="                      ~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2084"
+            line="2085"
             column="23"/>
     </issue>
 
@@ -2461,7 +2461,7 @@
         errorLine2="                                       ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2084"
+            line="2085"
             column="40"/>
     </issue>
 
@@ -2472,7 +2472,7 @@
         errorLine2="                         ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2139"
+            line="2140"
             column="26"/>
     </issue>
 
@@ -2483,7 +2483,7 @@
         errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2166"
+            line="2167"
             column="16"/>
     </issue>
 
@@ -2494,7 +2494,7 @@
         errorLine2="                                  ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2178"
+            line="2179"
             column="35"/>
     </issue>
 
@@ -2505,7 +2505,7 @@
         errorLine2="               ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2198"
+            line="2199"
             column="16"/>
     </issue>
 
@@ -2516,7 +2516,7 @@
         errorLine2="                      ~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2218"
+            line="2219"
             column="23"/>
     </issue>
 
@@ -2527,7 +2527,7 @@
         errorLine2="                                              ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2218"
+            line="2219"
             column="47"/>
     </issue>
 
@@ -2538,7 +2538,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2240"
+            line="2241"
             column="23"/>
     </issue>
 
@@ -2549,7 +2549,7 @@
         errorLine2="                                                        ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2240"
+            line="2241"
             column="57"/>
     </issue>
 
diff --git a/media2/session/lint-baseline.xml b/media2/session/lint-baseline.xml
index d64d25f..ae69ddf 100644
--- a/media2/session/lint-baseline.xml
+++ b/media2/session/lint-baseline.xml
@@ -52,7 +52,7 @@
         errorLine2="                  ~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="284"
+            line="285"
             column="19"/>
     </issue>
 
@@ -63,7 +63,7 @@
         errorLine2="                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="284"
+            line="285"
             column="48"/>
     </issue>
 
@@ -74,7 +74,7 @@
         errorLine2="                  ~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="298"
+            line="299"
             column="19"/>
     </issue>
 
@@ -85,7 +85,7 @@
         errorLine2="                                               ~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="298"
+            line="299"
             column="48"/>
     </issue>
 
@@ -96,7 +96,7 @@
         errorLine2="                  ~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="314"
+            line="315"
             column="19"/>
     </issue>
 
@@ -107,7 +107,7 @@
         errorLine2="                                               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="314"
+            line="315"
             column="48"/>
     </issue>
 
@@ -118,7 +118,7 @@
         errorLine2="                  ~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="349"
+            line="350"
             column="19"/>
     </issue>
 
@@ -129,7 +129,7 @@
         errorLine2="                                               ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="349"
+            line="350"
             column="48"/>
     </issue>
 
@@ -140,7 +140,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="360"
+            line="361"
             column="19"/>
     </issue>
 
@@ -151,7 +151,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="361"
+            line="362"
             column="13"/>
     </issue>
 
@@ -162,7 +162,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="375"
+            line="376"
             column="19"/>
     </issue>
 
@@ -173,7 +173,7 @@
         errorLine2="                                                                      ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="375"
+            line="376"
             column="71"/>
     </issue>
 
@@ -184,7 +184,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="392"
+            line="393"
             column="19"/>
     </issue>
 
@@ -195,7 +195,7 @@
         errorLine2="                                                                      ~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="392"
+            line="393"
             column="71"/>
     </issue>
 
@@ -206,7 +206,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="403"
+            line="404"
             column="19"/>
     </issue>
 
@@ -217,7 +217,7 @@
         errorLine2="                                                         ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="403"
+            line="404"
             column="58"/>
     </issue>
 
@@ -228,7 +228,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="421"
+            line="422"
             column="19"/>
     </issue>
 
@@ -239,7 +239,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="422"
+            line="423"
             column="13"/>
     </issue>
 
@@ -250,7 +250,7 @@
         errorLine2="                                         ~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="442"
+            line="443"
             column="42"/>
     </issue>
 
@@ -261,7 +261,7 @@
         errorLine2="                                                                          ~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="442"
+            line="443"
             column="75"/>
     </issue>
 
@@ -272,7 +272,7 @@
         errorLine2="                  ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="537"
+            line="538"
             column="19"/>
     </issue>
 
@@ -283,7 +283,7 @@
         errorLine2="                                                       ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="537"
+            line="538"
             column="56"/>
     </issue>
 
@@ -294,7 +294,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="554"
+            line="555"
             column="19"/>
     </issue>
 
@@ -305,7 +305,7 @@
         errorLine2="                                                                   ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="554"
+            line="555"
             column="68"/>
     </issue>
 
@@ -316,7 +316,7 @@
         errorLine2="                  ~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="589"
+            line="590"
             column="19"/>
     </issue>
 
@@ -327,7 +327,7 @@
         errorLine2="                                         ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="589"
+            line="590"
             column="42"/>
     </issue>
 
@@ -338,7 +338,7 @@
         errorLine2="                  ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="625"
+            line="626"
             column="19"/>
     </issue>
 
@@ -349,7 +349,7 @@
         errorLine2="                                                     ~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="625"
+            line="626"
             column="54"/>
     </issue>
 
@@ -360,7 +360,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="655"
+            line="656"
             column="19"/>
     </issue>
 
@@ -371,7 +371,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="656"
+            line="657"
             column="13"/>
     </issue>
 
@@ -382,7 +382,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="671"
+            line="672"
             column="19"/>
     </issue>
 
@@ -393,7 +393,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="672"
+            line="673"
             column="13"/>
     </issue>
 
@@ -404,7 +404,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="713"
+            line="714"
             column="44"/>
     </issue>
 
@@ -415,7 +415,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="757"
+            line="758"
             column="19"/>
     </issue>
 
@@ -426,7 +426,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="758"
+            line="759"
             column="13"/>
     </issue>
 
@@ -437,7 +437,7 @@
         errorLine2="                                               ~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="768"
+            line="769"
             column="48"/>
     </issue>
 
@@ -448,7 +448,7 @@
         errorLine2="                                                         ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaUtils.java"
-            line="784"
+            line="785"
             column="58"/>
     </issue>
 
diff --git a/media2/widget/lint-baseline.xml b/media2/widget/lint-baseline.xml
index a707878..6345eb1 100644
--- a/media2/widget/lint-baseline.xml
+++ b/media2/widget/lint-baseline.xml
@@ -2,6 +2,17 @@
 <issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
 
     <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    static class MediaFormatUtil {"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/media2/widget/SubtitleController.java"
+            line="275"
+            column="5"/>
+    </issue>
+
+    <issue
         id="UnknownNullness"
         message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
         errorLine1="    public CharSequence getAccessibilityClassName() {"
diff --git a/mediarouter/mediarouter/lint-baseline.xml b/mediarouter/mediarouter/lint-baseline.xml
index a5b77bb..4796cbd 100644
--- a/mediarouter/mediarouter/lint-baseline.xml
+++ b/mediarouter/mediarouter/lint-baseline.xml
@@ -3363,7 +3363,7 @@
         errorLine2="                         ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/mediarouter/media/RegisteredMediaRouteProviderWatcher.java"
-            line="192"
+            line="193"
             column="26"/>
     </issue>
 
@@ -3374,7 +3374,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/mediarouter/media/RegisteredMediaRouteProviderWatcher.java"
-            line="193"
+            line="194"
             column="29"/>
     </issue>
 
diff --git a/preference/preference/lint-baseline.xml b/preference/preference/lint-baseline.xml
index 88df7b2..e4bd779 100644
--- a/preference/preference/lint-baseline.xml
+++ b/preference/preference/lint-baseline.xml
@@ -2450,7 +2450,7 @@
         errorLine2="                         ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="145"
+            line="146"
             column="26"/>
     </issue>
 
@@ -2461,7 +2461,7 @@
         errorLine2="                                             ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="181"
+            line="182"
             column="46"/>
     </issue>
 
@@ -2472,7 +2472,7 @@
         errorLine2="                                                                        ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="181"
+            line="182"
             column="73"/>
     </issue>
 
@@ -2483,7 +2483,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="184"
+            line="185"
             column="12"/>
     </issue>
 
@@ -2494,7 +2494,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="184"
+            line="185"
             column="30"/>
     </issue>
 
@@ -2505,7 +2505,7 @@
         errorLine2="                                                      ~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="184"
+            line="185"
             column="55"/>
     </issue>
 
@@ -2516,7 +2516,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="185"
+            line="186"
             column="13"/>
     </issue>
 
@@ -2527,7 +2527,7 @@
         errorLine2="                           ~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="250"
+            line="251"
             column="28"/>
     </issue>
 
@@ -2538,7 +2538,7 @@
         errorLine2="                              ~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="269"
+            line="270"
             column="31"/>
     </issue>
 
@@ -2549,7 +2549,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="269"
+            line="270"
             column="42"/>
     </issue>
 
@@ -2560,7 +2560,7 @@
         errorLine2="                                    ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="319"
+            line="320"
             column="37"/>
     </issue>
 
@@ -2571,7 +2571,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="338"
+            line="339"
             column="12"/>
     </issue>
 
@@ -2582,7 +2582,7 @@
         errorLine2="                                    ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="350"
+            line="351"
             column="37"/>
     </issue>
 
@@ -2593,7 +2593,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="368"
+            line="369"
             column="12"/>
     </issue>
 
@@ -2604,7 +2604,7 @@
         errorLine2="                                         ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="426"
+            line="427"
             column="42"/>
     </issue>
 
@@ -2615,7 +2615,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="455"
+            line="456"
             column="36"/>
     </issue>
 
@@ -2626,7 +2626,7 @@
         errorLine2="                                  ~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="479"
+            line="480"
             column="35"/>
     </issue>
 
@@ -2637,7 +2637,7 @@
         errorLine2="                                                   ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="479"
+            line="480"
             column="52"/>
     </issue>
 
@@ -2648,7 +2648,7 @@
         errorLine2="                 ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="526"
+            line="527"
             column="18"/>
     </issue>
 
@@ -2659,7 +2659,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="546"
+            line="547"
             column="12"/>
     </issue>
 
@@ -2670,7 +2670,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="546"
+            line="547"
             column="46"/>
     </issue>
 
@@ -2681,7 +2681,7 @@
         errorLine2="                                                                      ~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="546"
+            line="547"
             column="71"/>
     </issue>
 
@@ -2692,7 +2692,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="547"
+            line="548"
             column="13"/>
     </issue>
 
@@ -2703,7 +2703,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="576"
+            line="577"
             column="12"/>
     </issue>
 
@@ -2714,7 +2714,7 @@
         errorLine2="              ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="589"
+            line="590"
             column="15"/>
     </issue>
 
@@ -2725,7 +2725,7 @@
         errorLine2="                                                   ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="589"
+            line="590"
             column="52"/>
     </issue>
 
@@ -2736,7 +2736,7 @@
         errorLine2="                                          ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="604"
+            line="605"
             column="43"/>
     </issue>
 
@@ -2747,7 +2747,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="647"
+            line="648"
             column="12"/>
     </issue>
 
@@ -2758,7 +2758,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="655"
+            line="656"
             column="42"/>
     </issue>
 
@@ -2769,7 +2769,7 @@
         errorLine2="                                         ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="663"
+            line="664"
             column="42"/>
     </issue>
 
@@ -2780,7 +2780,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="719"
+            line="720"
             column="43"/>
     </issue>
 
@@ -2791,7 +2791,7 @@
         errorLine2="                                                                     ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="719"
+            line="720"
             column="70"/>
     </issue>
 
@@ -2802,7 +2802,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="735"
+            line="736"
             column="41"/>
     </issue>
 
@@ -2813,7 +2813,7 @@
         errorLine2="                                                                   ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="735"
+            line="736"
             column="68"/>
     </issue>
 
@@ -2824,7 +2824,7 @@
         errorLine2="                                                                              ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="748"
+            line="749"
             column="79"/>
     </issue>
 
@@ -2835,7 +2835,7 @@
         errorLine2="                                             ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="173"
+            line="174"
             column="46"/>
     </issue>
 
@@ -2846,7 +2846,7 @@
         errorLine2="                                                                        ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="173"
+            line="174"
             column="73"/>
     </issue>
 
@@ -2857,7 +2857,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="176"
+            line="177"
             column="12"/>
     </issue>
 
@@ -2868,7 +2868,7 @@
         errorLine2="                           ~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="242"
+            line="243"
             column="28"/>
     </issue>
 
@@ -2879,7 +2879,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="324"
+            line="325"
             column="12"/>
     </issue>
 
@@ -2890,7 +2890,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="333"
+            line="334"
             column="12"/>
     </issue>
 
@@ -2901,7 +2901,7 @@
         errorLine2="                                    ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="342"
+            line="343"
             column="37"/>
     </issue>
 
@@ -2912,7 +2912,7 @@
         errorLine2="                                         ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="398"
+            line="399"
             column="42"/>
     </issue>
 
@@ -2923,7 +2923,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="446"
+            line="447"
             column="36"/>
     </issue>
 
@@ -2934,7 +2934,7 @@
         errorLine2="                 ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="512"
+            line="513"
             column="18"/>
     </issue>
 
@@ -2945,7 +2945,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="530"
+            line="531"
             column="12"/>
     </issue>
 
@@ -2956,7 +2956,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="530"
+            line="531"
             column="46"/>
     </issue>
 
@@ -2967,7 +2967,7 @@
         errorLine2="                                                                      ~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="530"
+            line="531"
             column="71"/>
     </issue>
 
@@ -2978,7 +2978,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="531"
+            line="532"
             column="13"/>
     </issue>
 
@@ -2989,7 +2989,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="557"
+            line="558"
             column="12"/>
     </issue>
 
@@ -3000,7 +3000,7 @@
         errorLine2="              ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="567"
+            line="568"
             column="15"/>
     </issue>
 
@@ -3011,7 +3011,7 @@
         errorLine2="                                                   ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="567"
+            line="568"
             column="52"/>
     </issue>
 
@@ -3022,7 +3022,7 @@
         errorLine2="                                          ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="579"
+            line="580"
             column="43"/>
     </issue>
 
@@ -3033,7 +3033,7 @@
         errorLine2="           ~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="625"
+            line="626"
             column="12"/>
     </issue>
 
@@ -3044,7 +3044,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="629"
+            line="630"
             column="42"/>
     </issue>
 
@@ -3055,7 +3055,7 @@
         errorLine2="                                         ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="633"
+            line="634"
             column="42"/>
     </issue>
 
@@ -3066,7 +3066,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="690"
+            line="691"
             column="43"/>
     </issue>
 
@@ -3077,7 +3077,7 @@
         errorLine2="                                                                           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="690"
+            line="691"
             column="76"/>
     </issue>
 
@@ -3088,7 +3088,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="706"
+            line="707"
             column="41"/>
     </issue>
 
@@ -3099,7 +3099,7 @@
         errorLine2="                                                                         ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="706"
+            line="707"
             column="74"/>
     </issue>
 
@@ -3110,7 +3110,7 @@
         errorLine2="                ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragmentCompat.java"
-            line="720"
+            line="721"
             column="17"/>
     </issue>
 
@@ -3121,7 +3121,7 @@
         errorLine2="                           ~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="81"
+            line="82"
             column="28"/>
     </issue>
 
@@ -3132,7 +3132,7 @@
         errorLine2="                                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="81"
+            line="82"
             column="45"/>
     </issue>
 
@@ -3143,7 +3143,7 @@
         errorLine2="                           ~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="101"
+            line="102"
             column="28"/>
     </issue>
 
@@ -3154,7 +3154,7 @@
         errorLine2="                                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="101"
+            line="102"
             column="45"/>
     </issue>
 
@@ -3165,7 +3165,7 @@
         errorLine2="                           ~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="105"
+            line="106"
             column="28"/>
     </issue>
 
@@ -3176,7 +3176,7 @@
         errorLine2="                                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="105"
+            line="106"
             column="45"/>
     </issue>
 
@@ -3187,7 +3187,7 @@
         errorLine2="                                    ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="169"
+            line="170"
             column="37"/>
     </issue>
 
@@ -3198,7 +3198,7 @@
         errorLine2="           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="188"
+            line="189"
             column="12"/>
     </issue>
 
@@ -3209,7 +3209,7 @@
         errorLine2="                                 ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="198"
+            line="199"
             column="34"/>
     </issue>
 
@@ -3220,7 +3220,7 @@
         errorLine2="                                    ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="273"
+            line="274"
             column="37"/>
     </issue>
 
@@ -3231,7 +3231,7 @@
         errorLine2="                                             ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="349"
+            line="350"
             column="46"/>
     </issue>
 
@@ -3242,7 +3242,7 @@
         errorLine2="                                             ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="490"
+            line="491"
             column="46"/>
     </issue>
 
@@ -3253,7 +3253,7 @@
         errorLine2="                                                ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="501"
+            line="502"
             column="49"/>
     </issue>
 
@@ -3264,7 +3264,7 @@
         errorLine2="              ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="512"
+            line="513"
             column="15"/>
     </issue>
 
@@ -3275,7 +3275,7 @@
         errorLine2="                                          ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="518"
+            line="519"
             column="43"/>
     </issue>
 
@@ -3286,7 +3286,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="544"
+            line="545"
             column="42"/>
     </issue>
 
@@ -3297,7 +3297,7 @@
         errorLine2="                                         ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroup.java"
-            line="553"
+            line="554"
             column="42"/>
     </issue>
 
@@ -3308,7 +3308,7 @@
         errorLine2="                                  ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroupAdapter.java"
-            line="88"
+            line="89"
             column="35"/>
     </issue>
 
@@ -3319,7 +3319,7 @@
         errorLine2="           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroupAdapter.java"
-            line="327"
+            line="328"
             column="12"/>
     </issue>
 
@@ -3330,7 +3330,7 @@
         errorLine2="                                   ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroupAdapter.java"
-            line="346"
+            line="347"
             column="36"/>
     </issue>
 
@@ -3341,7 +3341,7 @@
         errorLine2="                                            ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroupAdapter.java"
-            line="356"
+            line="357"
             column="45"/>
     </issue>
 
@@ -3352,7 +3352,7 @@
         errorLine2="                                             ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroupAdapter.java"
-            line="362"
+            line="363"
             column="46"/>
     </issue>
 
@@ -3363,7 +3363,7 @@
         errorLine2="                                            ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroupAdapter.java"
-            line="423"
+            line="424"
             column="45"/>
     </issue>
 
@@ -3374,7 +3374,7 @@
         errorLine2="                                            ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceGroupAdapter.java"
-            line="435"
+            line="436"
             column="45"/>
     </issue>
 
diff --git a/room/runtime/lint-baseline.xml b/room/runtime/lint-baseline.xml
index 9dd07bd..ace45d8 100644
--- a/room/runtime/lint-baseline.xml
+++ b/room/runtime/lint-baseline.xml
@@ -2,6 +2,17 @@
 <issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
 
     <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="/**"
+        errorLine2="^">
+        <location
+            file="src/main/java/androidx/room/Room.java"
+            line="23"
+            column="1"/>
+    </issue>
+
+    <issue
         id="LambdaLast"
         message="Functional interface parameters (such as parameter 3, &quot;sqliteOpenHelperFactory&quot;, in androidx.room.DatabaseConfiguration.DatabaseConfiguration) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions"
         errorLine1="            @Nullable Set&lt;Integer> migrationNotRequiredFrom) {"
diff --git a/room/rxjava2/lint-baseline.xml b/room/rxjava2/lint-baseline.xml
index 0951273..5132856 100644
--- a/room/rxjava2/lint-baseline.xml
+++ b/room/rxjava2/lint-baseline.xml
@@ -2,6 +2,17 @@
 <issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
 
     <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="/**"
+        errorLine2="^">
+        <location
+            file="src/main/java/androidx/room/RxRoom.java"
+            line="43"
+            column="1"/>
+    </issue>
+
+    <issue
         id="UnknownNullness"
         message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
         errorLine1="    public EmptyResultSetException(String message) {"
diff --git a/slices/test/lint-baseline.xml b/slices/test/lint-baseline.xml
index bb57f6e..9d2c909 100644
--- a/slices/test/lint-baseline.xml
+++ b/slices/test/lint-baseline.xml
@@ -107,7 +107,7 @@
         errorLine2="                                ~~~~~~~">
         <location
             file="src/main/java/androidx/slice/test/SliceBroadcastReceiver.java"
-            line="43"
+            line="44"
             column="33"/>
     </issue>
 
@@ -118,7 +118,7 @@
         errorLine2="                                                 ~~~~~~">
         <location
             file="src/main/java/androidx/slice/test/SliceBroadcastReceiver.java"
-            line="43"
+            line="44"
             column="50"/>
     </issue>
 
diff --git a/slices/view/lint-baseline.xml b/slices/view/lint-baseline.xml
index 38c54ac..ba0c7ab 100644
--- a/slices/view/lint-baseline.xml
+++ b/slices/view/lint-baseline.xml
@@ -800,7 +800,7 @@
         errorLine2="                                  ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/widget/RowView.java"
-            line="988"
+            line="990"
             column="35"/>
     </issue>
 
@@ -811,7 +811,7 @@
         errorLine2="                        ~~~~">
         <location
             file="src/main/java/androidx/slice/widget/RowView.java"
-            line="1000"
+            line="1002"
             column="25"/>
     </issue>
 
@@ -822,7 +822,7 @@
         errorLine2="                               ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/widget/RowView.java"
-            line="1039"
+            line="1041"
             column="32"/>
     </issue>
 
@@ -833,7 +833,7 @@
         errorLine2="                                                      ~~~~">
         <location
             file="src/main/java/androidx/slice/widget/RowView.java"
-            line="1039"
+            line="1041"
             column="55"/>
     </issue>
 
@@ -844,7 +844,7 @@
         errorLine2="                                  ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/widget/RowView.java"
-            line="1074"
+            line="1076"
             column="35"/>
     </issue>
 
@@ -1944,7 +1944,7 @@
         errorLine2="                             ~~~~~">
         <location
             file="src/main/java/androidx/slice/widget/SliceView.java"
-            line="257"
+            line="258"
             column="30"/>
     </issue>
 
@@ -1955,7 +1955,7 @@
         errorLine2="                        ~~~~">
         <location
             file="src/main/java/androidx/slice/widget/SliceView.java"
-            line="262"
+            line="263"
             column="25"/>
     </issue>
 
@@ -1966,7 +1966,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/widget/SliceView.java"
-            line="288"
+            line="289"
             column="36"/>
     </issue>
 
@@ -1977,7 +1977,7 @@
         errorLine2="                                       ~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/widget/SliceView.java"
-            line="293"
+            line="294"
             column="40"/>
     </issue>
 
@@ -1988,7 +1988,7 @@
         errorLine2="                                         ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/widget/SliceView.java"
-            line="299"
+            line="300"
             column="42"/>
     </issue>
 
@@ -1999,7 +1999,7 @@
         errorLine2="                                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/widget/SliceView.java"
-            line="305"
+            line="306"
             column="33"/>
     </issue>
 
@@ -2010,7 +2010,7 @@
         errorLine2="                  ~~~~~~">
         <location
             file="src/main/java/androidx/slice/widget/SliceView.java"
-            line="819"
+            line="820"
             column="19"/>
     </issue>
 
@@ -2021,7 +2021,7 @@
         errorLine2="                                       ~~~~">
         <location
             file="src/main/java/androidx/slice/widget/SliceView.java"
-            line="860"
+            line="861"
             column="40"/>
     </issue>
 
diff --git a/sqlite/sqlite-framework/lint-baseline.xml b/sqlite/sqlite-framework/lint-baseline.xml
deleted file mode 100644
index 3420ae4..0000000
--- a/sqlite/sqlite-framework/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
-
-</issues>
diff --git a/transition/transition/lint-baseline.xml b/transition/transition/lint-baseline.xml
index 5a59a4c..ea9fa57 100644
--- a/transition/transition/lint-baseline.xml
+++ b/transition/transition/lint-baseline.xml
@@ -2,6 +2,17 @@
 <issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
 
     <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/transition/Transition.java"
+            line="2369"
+            column="5"/>
+    </issue>
+
+    <issue
         id="UnknownNullness"
         message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
         errorLine1="    public long getStartDelay(ViewGroup sceneRoot, Transition transition,"
diff --git a/tv-provider/tv-provider/lint-baseline.xml b/tv-provider/tv-provider/lint-baseline.xml
index a011887..bbe5702 100644
--- a/tv-provider/tv-provider/lint-baseline.xml
+++ b/tv-provider/tv-provider/lint-baseline.xml
@@ -2,6 +2,17 @@
 <issues format="5" by="lint 4.1.0-alpha08" client="gradle" variant="debug" version="4.1.0-alpha08">
 
     <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class with non private constructor"
+        errorLine1="/** A utility class for conveniently storing and loading channel logos. */"
+        errorLine2="^">
+        <location
+            file="src/main/java/androidx/tvprovider/media/tv/ChannelLogoUtils.java"
+            line="40"
+            column="1"/>
+    </issue>
+
+    <issue
         id="UnknownNullness"
         message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
         errorLine1="    public String getInternalProviderId() {"