Merge "[lint] treat non-user getter calls as lint errors with baselines to exempt existing failures"
diff --git a/services/backup/lint-baseline.xml b/services/backup/lint-baseline.xml
new file mode 100644
index 0000000..28bb937
--- /dev/null
+++ b/services/backup/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-dev" type="baseline" client="" dependencies="true" name="" variant="all" version="7.1.0-dev">
+
+    <issue
+        id="NonUserGetterCalled"
+        message="`android.provider.Settings.Secure#getInt()` called from system process. Please call `android.provider.Settings.Secure#getIntForUser()` instead. "
+        errorLine1="        return Settings.Secure.getInt(mContext.getContentResolver(), SKIP_USER_FACING_PACKAGES,"
+        errorLine2="               ~~~~~~">
+        <location
+            file="frameworks/base/services/backup/java/com/android/server/backup/UserBackupManagerService.java"
+            line="3702"
+            column="16"/>
+    </issue>
+
+</issues>
diff --git a/services/companion/lint-baseline.xml b/services/companion/lint-baseline.xml
new file mode 100644
index 0000000..03eae39
--- /dev/null
+++ b/services/companion/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-dev" type="baseline" client="" dependencies="true" name="" variant="all" version="7.1.0-dev">
+
+    <issue
+        id="NonUserGetterCalled"
+        message="`android.provider.Settings.Secure#getString()` called from system process. Please call `android.provider.Settings.Secure#getStringForUser()` instead. "
+        errorLine1="            String setting = Settings.Secure.getString(getContext().getContentResolver(),"
+        errorLine2="             ~~~~~~~~~">
+        <location
+            file="frameworks/base/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java"
+            line="590"
+            column="14"/>
+    </issue>
+
+</issues>
diff --git a/services/usb/lint-baseline.xml b/services/usb/lint-baseline.xml
new file mode 100644
index 0000000..c2c0a35
--- /dev/null
+++ b/services/usb/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-dev" type="baseline" client="" dependencies="true" name="" variant="all" version="7.1.0-dev">
+
+    <issue
+        id="NonUserGetterCalled"
+        message="`android.provider.Settings.Secure#getInt()` called from system process. Please call `android.provider.Settings.Secure#getIntForUser()` instead. "
+        errorLine1="        int isDisabled = Settings.Secure.getInt(mContext.getContentResolver(),"
+        errorLine2="                                         ~~~~~~">
+        <location
+            file="frameworks/base/services/usb/java/com/android/server/usb/UsbAlsaManager.java"
+            line="150"
+            column="42"/>
+    </issue>
+
+</issues>
diff --git a/tools/lint/checks/src/main/java/com/google/android/lint/CallingSettingsNonUserGetterMethodsDetector.kt b/tools/lint/checks/src/main/java/com/google/android/lint/CallingSettingsNonUserGetterMethodsDetector.kt
index 641f337..fe567da 100644
--- a/tools/lint/checks/src/main/java/com/google/android/lint/CallingSettingsNonUserGetterMethodsDetector.kt
+++ b/tools/lint/checks/src/main/java/com/google/android/lint/CallingSettingsNonUserGetterMethodsDetector.kt
@@ -45,7 +45,8 @@
                 evaluator.isMemberInClass(method, "android.provider.Settings.System")
         ) {
             val message = getIncidentMessageNonUserGetterMethods(getMethodSignature(method))
-            context.report(ISSUE_NON_USER_GETTER_CALLED, node, context.getLocation(node), message)
+            context.report(ISSUE_NON_USER_GETTER_CALLED, node, context.getNameLocation(node),
+                    message)
         }
     }
 
@@ -68,7 +69,7 @@
                     """,
                 category = Category.CORRECTNESS,
                 priority = 6,
-                severity = Severity.WARNING,
+                severity = Severity.ERROR,
                 implementation = Implementation(
                         CallingSettingsNonUserGetterMethodsDetector::class.java,
                         Scope.JAVA_FILE_SCOPE
diff --git a/tools/lint/checks/src/test/java/com/google/android/lint/CallingSettingsNonUserGetterMethodsIssueDetectorTest.kt b/tools/lint/checks/src/test/java/com/google/android/lint/CallingSettingsNonUserGetterMethodsIssueDetectorTest.kt
index 1034029..e72f384 100644
--- a/tools/lint/checks/src/test/java/com/google/android/lint/CallingSettingsNonUserGetterMethodsIssueDetectorTest.kt
+++ b/tools/lint/checks/src/test/java/com/google/android/lint/CallingSettingsNonUserGetterMethodsIssueDetectorTest.kt
@@ -71,13 +71,13 @@
                 .run()
                 .expect(
                         """
-                        src/test/pkg/TestClass1.java:5: Warning: \
+                        src/test/pkg/TestClass1.java:5: Error: \
                         android.provider.Settings.Secure#getInt() called from system process. \
                         Please call android.provider.Settings.Secure#getIntForUser() instead.  \
                         [NonUserGetterCalled]
                                 final int value = Secure.getInt(context.getContentResolver(),
-                                                  ^
-                        0 errors, 1 warnings
+                                                         ~~~~~~
+                        1 errors, 0 warnings
                         """.addLineContinuation()
                 )
     }
@@ -100,13 +100,13 @@
                 .run()
                 .expect(
                         """
-                        src/test/pkg/TestClass1.java:5: Warning: \
+                        src/test/pkg/TestClass1.java:5: Error: \
                         android.provider.Settings.System#getFloat() called from system process. \
                         Please call android.provider.Settings.System#getFloatForUser() instead.  \
                         [NonUserGetterCalled]
                                 final float value = System.getFloat(context.getContentResolver(),
-                                                    ^
-                        0 errors, 1 warnings
+                                                           ~~~~~~~~
+                        1 errors, 0 warnings
                         """.addLineContinuation()
                 )
     }
@@ -130,13 +130,13 @@
                 .run()
                 .expect(
                         """
-                        src/test/pkg/TestClass1.java:5: Warning: \
+                        src/test/pkg/TestClass1.java:5: Error: \
                         android.provider.Settings.System#getFloat() called from system process. \
                         Please call android.provider.Settings.System#getFloatForUser() instead.  \
                         [NonUserGetterCalled]
                                 float value = Settings.System.getFloat(context.getContentResolver(),
-                                              ^
-                        0 errors, 1 warnings
+                                                              ~~~~~~~~
+                        1 errors, 0 warnings
                         """.addLineContinuation()
                 )
     }
@@ -163,19 +163,19 @@
                 .run()
                 .expect(
                         """
-                        src/test/pkg/TestClass1.java:6: Warning: \
+                        src/test/pkg/TestClass1.java:6: Error: \
                         android.provider.Settings.Secure#getLong() called from system process. \
                         Please call android.provider.Settings.Secure#getLongForUser() instead.  \
                         [NonUserGetterCalled]
                                 final long value1 = Secure.getLong(context.getContentResolver(),
-                                                    ^
-                        src/test/pkg/TestClass1.java:8: Warning: \
+                                                           ~~~~~~~
+                        src/test/pkg/TestClass1.java:8: Error: \
                         android.provider.Settings.System#getString() called from system process. \
                         Please call android.provider.Settings.System#getStringForUser() instead.  \
                         [NonUserGetterCalled]
                                 final String value2 = System.getString(context.getContentResolver(),
-                                                      ^
-                        0 errors, 2 warnings
+                                                             ~~~~~~~~~
+                        2 errors, 0 warnings
                         """.addLineContinuation()
                 )
     }