Merge "Additional tests for refresh key behavior" into androidx-main
diff --git a/activity/integration-tests/testapp/lint-baseline.xml b/activity/integration-tests/testapp/lint-baseline.xml
deleted file mode 100644
index 42a176b..0000000
--- a/activity/integration-tests/testapp/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
-</issues>
diff --git a/ads/ads-identifier-common/lint-baseline.xml b/ads/ads-identifier-common/lint-baseline.xml
index fde8d29..3c648dc 100644
--- a/ads/ads-identifier-common/lint-baseline.xml
+++ b/ads/ads-identifier-common/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="PrivateConstructorForUtilityClass"
diff --git a/ads/ads-identifier-provider/integration-tests/testapp/lint-baseline.xml b/ads/ads-identifier-provider/integration-tests/testapp/lint-baseline.xml
index 6afbeb5..a417427 100644
--- a/ads/ads-identifier-provider/integration-tests/testapp/lint-baseline.xml
+++ b/ads/ads-identifier-provider/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/ads/ads-identifier/integration-tests/testapp/lint-baseline.xml b/ads/ads-identifier/integration-tests/testapp/lint-baseline.xml
index c90d548..45809b6 100644
--- a/ads/ads-identifier/integration-tests/testapp/lint-baseline.xml
+++ b/ads/ads-identifier/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml b/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml
index d8f1c56..bd764f2 100644
--- a/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml
+++ b/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ExperimentalAnnotationRetention"
@@ -25,138 +25,6 @@
<issue
id="UnsafeOptInUsageError"
- message="Failed to extract attribute "level" from annotation"
- errorLine1="@Experimental"
- errorLine2="~~~~~~~~~~~~~">
- <location
- file="src/main/java/sample/experimental/ExperimentalDateTimeKt.kt"
- line="20"
- column="1"/>
- </issue>
-
- <issue
- id="UnsafeOptInUsageError"
- message="Failed to extract attribute "level" from annotation"
- errorLine1="@Experimental"
- errorLine2="~~~~~~~~~~~~~">
- <location
- file="src/main/java/sample/experimental/ExperimentalDateTimeKt.kt"
- line="20"
- column="1"/>
- </issue>
-
- <issue
- id="UnsafeOptInUsageError"
- message="Failed to extract attribute "level" from annotation"
- errorLine1="@Experimental"
- errorLine2="~~~~~~~~~~~~~">
- <location
- file="src/main/java/sample/experimental/ExperimentalDateTimeKt.kt"
- line="20"
- column="1"/>
- </issue>
-
- <issue
- id="UnsafeOptInUsageError"
- message="Failed to extract attribute "level" from annotation"
- errorLine1="@Experimental"
- errorLine2="~~~~~~~~~~~~~">
- <location
- file="src/main/java/sample/experimental/ExperimentalDateTimeKt.kt"
- line="20"
- column="1"/>
- </issue>
-
- <issue
- id="UnsafeOptInUsageError"
- message="Failed to extract attribute "level" from annotation"
- errorLine1="@Experimental"
- errorLine2="~~~~~~~~~~~~~">
- <location
- file="src/main/java/sample/experimental/ExperimentalDateTimeKt.kt"
- line="20"
- column="1"/>
- </issue>
-
- <issue
- id="UnsafeOptInUsageError"
- message="Failed to extract attribute "level" from annotation"
- errorLine1="@RequiresOptIn(level = RequiresOptIn.Level.ERROR)"
- errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/java/sample/optin/ExperimentalKotlinAnnotation.kt"
- line="19"
- column="1"/>
- </issue>
-
- <issue
- id="UnsafeOptInUsageError"
- message="Failed to extract attribute "level" from annotation"
- errorLine1="@RequiresOptIn(level = RequiresOptIn.Level.ERROR)"
- errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/java/sample/optin/ExperimentalKotlinAnnotation.kt"
- line="19"
- column="1"/>
- </issue>
-
- <issue
- id="UnsafeOptInUsageError"
- message="Failed to extract attribute "level" from annotation"
- errorLine1="@RequiresOptIn(level = RequiresOptIn.Level.ERROR)"
- errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/java/sample/optin/ExperimentalKotlinAnnotation.kt"
- line="19"
- column="1"/>
- </issue>
-
- <issue
- id="UnsafeOptInUsageError"
- message="Failed to extract attribute "level" from annotation"
- errorLine1="@RequiresOptIn(level = RequiresOptIn.Level.ERROR)"
- errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/java/sample/optin/ExperimentalKotlinAnnotation.kt"
- line="19"
- column="1"/>
- </issue>
-
- <issue
- id="UnsafeOptInUsageError"
- message="Failed to extract attribute "level" from annotation"
- errorLine1="@RequiresOptIn(level = RequiresOptIn.Level.ERROR)"
- errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/java/sample/optin/ExperimentalKotlinAnnotation.kt"
- line="19"
- column="1"/>
- </issue>
-
- <issue
- id="UnsafeOptInUsageError"
- message="Failed to extract attribute "level" from annotation"
- errorLine1="@Experimental"
- errorLine2="~~~~~~~~~~~~~">
- <location
- file="src/main/java/sample/experimental/ExperimentalLocationKt.kt"
- line="20"
- column="1"/>
- </issue>
-
- <issue
- id="UnsafeOptInUsageError"
- message="Failed to extract attribute "level" from annotation"
- errorLine1="@Experimental"
- errorLine2="~~~~~~~~~~~~~">
- <location
- file="src/main/java/sample/experimental/ExperimentalLocationKt.kt"
- line="20"
- column="1"/>
- </issue>
-
- <issue
- id="UnsafeOptInUsageError"
message="This declaration is opt-in and its usage should be marked with
'@sample.optin.ExperimentalJavaAnnotation' or '@OptIn(markerClass = sample.optin.ExperimentalJavaAnnotation.class)'"
errorLine1=" AnnotatedJavaClass experimentalObject = new AnnotatedJavaClass();"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
@@ -476,6 +344,105 @@
<issue
id="UnsafeOptInUsageError"
+ message="This declaration is opt-in and its usage should be marked with
'@sample.experimental.ExperimentalDateTimeKt' or '@OptIn(markerClass = sample.experimental.ExperimentalDateTimeKt.class)'"
+ errorLine1=" sample.experimental.DateProviderKt dateProvider = new sample.experimental.DateProviderKt();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/sample/experimental/UseKtExperimentalFromJava.java"
+ line="25"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="UnsafeOptInUsageError"
+ message="This declaration is opt-in and its usage should be marked with
'@sample.experimental.ExperimentalDateTimeKt' or '@OptIn(markerClass = sample.experimental.ExperimentalDateTimeKt.class)'"
+ errorLine1=" return dateProvider.getDate();"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/main/java/sample/experimental/UseKtExperimentalFromJava.java"
+ line="26"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="UnsafeOptInUsageError"
+ message="This declaration is opt-in and its usage should be marked with
'@sample.optin.ExperimentalKotlinAnnotation' or '@OptIn(markerClass = sample.optin.ExperimentalKotlinAnnotation.class)'"
+ errorLine1=" AnnotatedKotlinClass experimentalObject = new AnnotatedKotlinClass();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/sample/optin/UseKtExperimentalFromJava.java"
+ line="28"
+ column="51"/>
+ </issue>
+
+ <issue
+ id="UnsafeOptInUsageError"
+ message="This declaration is opt-in and its usage should be marked with
'@sample.optin.ExperimentalKotlinAnnotation' or '@OptIn(markerClass = sample.optin.ExperimentalKotlinAnnotation.class)'"
+ errorLine1=" return experimentalObject.method();"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/main/java/sample/optin/UseKtExperimentalFromJava.java"
+ line="29"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="UnsafeOptInUsageError"
+ message="This declaration is opt-in and its usage should be marked with
'@sample.experimental.ExperimentalLocationKt' or '@OptIn(markerClass = sample.experimental.ExperimentalLocationKt.class)'"
+ errorLine1=" LocationProviderKt locationProvider = new LocationProviderKt();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/sample/experimental/UseKtExperimentalFromJava.java"
+ line="54"
+ column="47"/>
+ </issue>
+
+ <issue
+ id="UnsafeOptInUsageError"
+ message="This declaration is opt-in and its usage should be marked with
'@sample.experimental.ExperimentalLocationKt' or '@OptIn(markerClass = sample.experimental.ExperimentalLocationKt.class)'"
+ errorLine1=" return dateProvider.getDate() + locationProvider.getLocation();"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/main/java/sample/experimental/UseKtExperimentalFromJava.java"
+ line="55"
+ column="58"/>
+ </issue>
+
+ <issue
+ id="UnsafeOptInUsageError"
+ message="This declaration is opt-in and its usage should be marked with
'@sample.experimental.ExperimentalDateTimeKt' or '@OptIn(markerClass = sample.experimental.ExperimentalDateTimeKt.class)'"
+ errorLine1=" TimeProviderKt.getTimeStatically();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/sample/experimental/UseKtExperimentalFromJava.java"
+ line="88"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="UnsafeOptInUsageError"
+ message="This declaration is opt-in and its usage should be marked with
'@sample.experimental.ExperimentalDateTimeKt' or '@OptIn(markerClass = sample.experimental.ExperimentalDateTimeKt.class)'"
+ errorLine1=" TimeProviderKt.Companion.getTimeStatically();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/sample/experimental/UseKtExperimentalFromJava.java"
+ line="89"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="UnsafeOptInUsageError"
+ message="This declaration is opt-in and its usage should be marked with
'@sample.experimental.ExperimentalDateTimeKt' or '@OptIn(markerClass = sample.experimental.ExperimentalDateTimeKt.class)'"
+ errorLine1=" new TimeProviderKt().getTime();"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/main/java/sample/experimental/UseKtExperimentalFromJava.java"
+ line="96"
+ column="30"/>
+ </issue>
+
+ <issue
+ id="UnsafeOptInUsageError"
message="This declaration is opt-in and its usage should be marked with
'@sample.experimental.ExperimentalDateTime' or '@OptIn(markerClass = sample.experimental.ExperimentalDateTime.class)'"
errorLine1=" new TimeProviderKt().getTimeJava();"
errorLine2=" ~~~~~~~~~~~">
@@ -487,6 +454,39 @@
<issue
id="UnsafeOptInUsageError"
+ message="This declaration is opt-in and its usage should be marked with
'@sample.optin.ExperimentalKotlinAnnotation' or '@OptIn(markerClass = sample.optin.ExperimentalKotlinAnnotation.class)'"
+ errorLine1=" AnnotatedKotlinMembers.methodStatic();"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/main/java/sample/optin/UseKtExperimentalFromJava.java"
+ line="97"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="UnsafeOptInUsageError"
+ message="This declaration is opt-in and its usage should be marked with
'@sample.optin.ExperimentalKotlinAnnotation' or '@OptIn(markerClass = sample.optin.ExperimentalKotlinAnnotation.class)'"
+ errorLine1=" AnnotatedKotlinMembers.Companion.methodStatic();"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/main/java/sample/optin/UseKtExperimentalFromJava.java"
+ line="98"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="UnsafeOptInUsageError"
+ message="This declaration is opt-in and its usage should be marked with
'@sample.optin.ExperimentalKotlinAnnotation' or '@OptIn(markerClass = sample.optin.ExperimentalKotlinAnnotation.class)'"
+ errorLine1=" new AnnotatedKotlinMembers().method();"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/main/java/sample/optin/UseKtExperimentalFromJava.java"
+ line="107"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="UnsafeOptInUsageError"
message="This declaration is opt-in and its usage should be marked with
'@sample.optin.ExperimentalJavaAnnotation' or '@OptIn(markerClass = sample.optin.ExperimentalJavaAnnotation.class)'"
errorLine1=" new AnnotatedKotlinMembers().methodWithJavaMarker();"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
diff --git a/annotation/annotation-experimental-lint/src/main/java/androidx/annotation/experimental/lint/ExperimentalDetector.kt b/annotation/annotation-experimental-lint/src/main/java/androidx/annotation/experimental/lint/ExperimentalDetector.kt
index dc4996c..b194f01 100644
--- a/annotation/annotation-experimental-lint/src/main/java/androidx/annotation/experimental/lint/ExperimentalDetector.kt
+++ b/annotation/annotation-experimental-lint/src/main/java/androidx/annotation/experimental/lint/ExperimentalDetector.kt
@@ -30,7 +30,6 @@
import com.android.tools.lint.detector.api.isKotlin
import com.intellij.psi.PsiClassType
import com.intellij.psi.PsiElement
-import com.intellij.psi.PsiField
import com.intellij.psi.PsiMethod
import org.jetbrains.uast.UAnnotated
import org.jetbrains.uast.UAnnotation
@@ -39,7 +38,6 @@
import org.jetbrains.uast.UClassLiteralExpression
import org.jetbrains.uast.UElement
import org.jetbrains.uast.UExpression
-import org.jetbrains.uast.UReferenceExpression
import org.jetbrains.uast.getParentOfType
import java.util.Locale
@@ -115,33 +113,15 @@
) {
val useAnnotation = (annotation.uastParent as? UClass)?.qualifiedName ?: return
if (!hasOrUsesAnnotation(context, usage, useAnnotation, useAnnotationNames)) {
- val level = extractAttribute(annotation, "level")
- if (level != null) {
- report(
- context, usage,
- """
+ val level = annotation.extractAttribute(context, "level") ?: "ERROR"
+ report(
+ context, usage,
+ """
This declaration is opt-in and its usage should be marked with
'@$useAnnotation' or '@OptIn(markerClass = $useAnnotation.class)'
""",
- level
- )
- } else {
- report(
- context, annotation,
- """
- Failed to extract attribute "level" from annotation
- """,
- "ERROR"
- )
- }
- }
- }
-
- @Suppress("SameParameterValue")
- private fun extractAttribute(annotation: UAnnotation, name: String): String? {
- // Using findAttributeValue instead of findDeclaredAttributeValue allows default values.
- return annotation.findAttributeValue(name)?.let { expression ->
- ((expression as? UReferenceExpression)?.resolve() as? PsiField)?.name
+ level
+ )
}
}
@@ -210,7 +190,16 @@
"of: ERROR, WARNING"
)
}
- context.report(issue, usage, context.getNameLocation(usage), message.trimIndent())
+ try {
+ context.report(issue, usage, context.getNameLocation(usage), message.trimIndent())
+ } catch (e: UnsupportedOperationException) {
+ if ("Method not implemented" == e.message) {
+ // Workaround for b/191286558 where lint attempts to read annotations from a
+ // compiled UAST parent of `usage`. Swallow the exception and don't report anything.
+ } else {
+ throw e
+ }
+ }
}
companion object {
diff --git a/appcompat/appcompat-resources/lint-baseline.xml b/appcompat/appcompat-resources/lint-baseline.xml
index 4826d47..4f61f54 100644
--- a/appcompat/appcompat-resources/lint-baseline.xml
+++ b/appcompat/appcompat-resources/lint-baseline.xml
@@ -1,5 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `android.graphics.drawable.Drawable#getColorFilter`"
+ errorLine1=" assertNotNull(ld.getDrawable(0).getColorFilter());"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/widget/TintResourcesTest.java"
+ line="79"
+ column="41"/>
+ </issue>
<issue
id="BanSynchronizedMethods"
@@ -8,7 +19,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="92"
+ line="93"
column="5"/>
</issue>
@@ -19,7 +30,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="130"
+ line="131"
column="5"/>
</issue>
@@ -30,7 +41,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="134"
+ line="135"
column="5"/>
</issue>
@@ -41,7 +52,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="138"
+ line="139"
column="5"/>
</issue>
@@ -52,7 +63,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="161"
+ line="162"
column="5"/>
</issue>
@@ -63,7 +74,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="316"
+ line="317"
column="5"/>
</issue>
@@ -74,7 +85,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="337"
+ line="338"
column="5"/>
</issue>
@@ -85,7 +96,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="352"
+ line="353"
column="5"/>
</issue>
@@ -96,7 +107,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="380"
+ line="381"
column="5"/>
</issue>
@@ -107,7 +118,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="470"
+ line="471"
column="5"/>
</issue>
@@ -145,7 +156,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat.java"
- line="164"
+ line="165"
column="19"/>
</issue>
@@ -156,7 +167,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat.java"
- line="275"
+ line="276"
column="37"/>
</issue>
@@ -167,7 +178,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat.java"
- line="604"
+ line="605"
column="12"/>
</issue>
@@ -409,7 +420,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="95"
+ line="96"
column="32"/>
</issue>
@@ -420,7 +431,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="130"
+ line="131"
column="39"/>
</issue>
@@ -431,7 +442,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="134"
+ line="135"
column="25"/>
</issue>
@@ -442,7 +453,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="470"
+ line="471"
column="32"/>
</issue>
@@ -453,7 +464,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/ResourceManagerInternal.java"
- line="471"
+ line="472"
column="24"/>
</issue>
diff --git a/appcompat/appcompat/lint-baseline.xml b/appcompat/appcompat/lint-baseline.xml
index 9775b50..7a93bc3 100644
--- a/appcompat/appcompat/lint-baseline.xml
+++ b/appcompat/appcompat/lint-baseline.xml
@@ -1,5 +1,148 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 21 (current min is 14): `android.graphics.drawable.AnimatedStateListDrawable`"
+ errorLine1=" || button instanceof AnimatedStateListDrawable);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/widget/AppCompatCheckBoxTest.java"
+ line="71"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 21 (current min is 14): `android.graphics.drawable.AnimatedStateListDrawable`"
+ errorLine1=" || checkMark instanceof AnimatedStateListDrawable);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/widget/AppCompatCheckedTextViewTest.java"
+ line="89"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 25 (current min is 14): `new android.view.inputmethod.InputContentInfo`"
+ errorLine1=" final InputContentInfo contentInfo = new InputContentInfo("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextReceiveContentTest.java"
+ line="535"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 25 (current min is 14): `android.view.inputmethod.InputConnection#commitContent`"
+ errorLine1=" return ic.commitContent(contentInfo, flags, null);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextReceiveContentTest.java"
+ line="543"
+ column="19"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 26 (current min is 14): `android.view.textclassifier.TextClassifier`"
+ errorLine1=" private static class NoOpTextClassifier implements TextClassifier {}"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextTest.java"
+ line="201"
+ column="56"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 21 (current min is 14): `android.graphics.drawable.AnimatedStateListDrawable`"
+ errorLine1=" || button instanceof AnimatedStateListDrawable);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/widget/AppCompatRadioButtonTest.java"
+ line="72"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `android.view.ContextThemeWrapper#applyOverrideConfiguration`"
+ errorLine1=" wrappedBase.applyOverrideConfiguration(overrideConfig);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/widget/AppCompatSpinnerRtlActivity.java"
+ line="33"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 26 (current min is 14): `android.view.textclassifier.TextClassifier`"
+ errorLine1=" private static class NoOpTextClassifier implements TextClassifier {}"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/widget/AppCompatTextViewTest.java"
+ line="928"
+ column="56"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `android.view.ContextThemeWrapper#applyOverrideConfiguration`"
+ errorLine1=" wrappedBase.applyOverrideConfiguration(overrideConfig);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/testutils/BaseTestActivity.java"
+ line="97"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 20 (current min is 14): `android.view.WindowInsets#getSystemWindowInsetTop`"
+ errorLine1=" mSystemWindowInsetTop = insets.getSystemWindowInsetTop();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/custom/CustomDrawerLayout.java"
+ line="41"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 16): `android.content.res.Configuration#setLayoutDirection`"
+ errorLine1=" configuration.setLayoutDirection(locale)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/app/NightModeRtlTestUtilsRegressionTestCase.kt"
+ line="73"
+ column="23"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 16): `android.content.res.Configuration#setLocale`"
+ errorLine1=" configuration.setLocale(locale)"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/app/NightModeRtlTestUtilsRegressionTestCase.kt"
+ line="74"
+ column="23"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 16): `android.text.TextUtils#getLayoutDirectionFromLocale`"
+ errorLine1=" assertEquals(TextUtils.getLayoutDirectionFromLocale(CUSTOM_LOCALE), config.layoutDirection)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/appcompat/app/NightModeRtlTestUtilsRegressionTestCase.kt"
+ line="94"
+ column="32"/>
+ </issue>
<issue
id="BanSynchronizedMethods"
@@ -113,7 +256,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" info.setHomeAsUpIndicator.invoke(actionBar, drawable);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -124,7 +267,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" info.setHomeActionContentDescription.invoke(actionBar, contentDescRes);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -135,7 +278,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" info.setHomeActionContentDescription.invoke(actionBar, contentDescRes);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -146,7 +289,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" method.invoke(mTextView);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -157,7 +300,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" result = (T) method.invoke(object);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -168,7 +311,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mResolvedMethod.invoke(mResolvedContext, v);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -179,7 +322,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mSetExclusiveCheckableMethod.invoke(mWrappedObject, checkable);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -190,40 +333,40 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mDoBeforeTextChanged.invoke(view);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="2073"
+ line="2080"
column="21"/>
</issue>
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mDoAfterTextChanged.invoke(view);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="2083"
+ line="2090"
column="21"/>
</issue>
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mEnsureImeVisible.invoke(view, /* visible = */ true);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="2093"
+ line="2100"
column="21"/>
</issue>
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" return (Boolean) mMethod.invoke(mRealOwner, item);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -234,7 +377,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mMethod.invoke(mRealOwner, item);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -245,7 +388,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" sComputeFitSystemWindowsMethod.invoke(view, inoutInsets, outLocalInsets);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -349,7 +492,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="608"
+ line="610"
column="25"/>
</issue>
@@ -360,7 +503,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="608"
+ line="610"
column="45"/>
</issue>
@@ -371,7 +514,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="641"
+ line="643"
column="37"/>
</issue>
@@ -382,7 +525,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="715"
+ line="717"
column="39"/>
</issue>
@@ -393,7 +536,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="716"
+ line="718"
column="39"/>
</issue>
@@ -404,7 +547,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="905"
+ line="907"
column="26"/>
</issue>
@@ -415,7 +558,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="906"
+ line="908"
column="26"/>
</issue>
@@ -426,7 +569,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="1054"
+ line="1056"
column="26"/>
</issue>
@@ -437,7 +580,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="1055"
+ line="1057"
column="26"/>
</issue>
@@ -987,7 +1130,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1698"
+ line="1705"
column="32"/>
</issue>
@@ -998,7 +1141,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="2026"
+ line="2033"
column="17"/>
</issue>
@@ -1009,7 +1152,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="1116"
+ line="1130"
column="31"/>
</issue>
@@ -5489,7 +5632,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatAutoCompleteTextView.java"
- line="184"
+ line="186"
column="35"/>
</issue>
@@ -5500,7 +5643,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatAutoCompleteTextView.java"
- line="192"
+ line="194"
column="12"/>
</issue>
@@ -5511,7 +5654,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatAutoCompleteTextView.java"
- line="192"
+ line="194"
column="52"/>
</issue>
@@ -5522,7 +5665,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatButton.java"
- line="177"
+ line="179"
column="35"/>
</issue>
@@ -5533,7 +5676,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatButton.java"
- line="185"
+ line="187"
column="48"/>
</issue>
@@ -5544,7 +5687,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatButton.java"
- line="191"
+ line="193"
column="51"/>
</issue>
@@ -5555,7 +5698,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatButton.java"
- line="216"
+ line="218"
column="34"/>
</issue>
@@ -5566,7 +5709,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatButton.java"
- line="350"
+ line="352"
column="12"/>
</issue>
@@ -5610,7 +5753,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatCheckBox.java"
- line="86"
+ line="88"
column="35"/>
</issue>
@@ -5995,7 +6138,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatEditText.java"
- line="213"
+ line="215"
column="35"/>
</issue>
@@ -6006,7 +6149,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatEditText.java"
- line="291"
+ line="293"
column="72"/>
</issue>
@@ -6017,7 +6160,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatImageButton.java"
- line="101"
+ line="103"
column="32"/>
</issue>
@@ -6039,7 +6182,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatImageView.java"
- line="111"
+ line="113"
column="32"/>
</issue>
@@ -6050,7 +6193,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatMultiAutoCompleteTextView.java"
- line="182"
+ line="184"
column="35"/>
</issue>
@@ -6061,7 +6204,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatMultiAutoCompleteTextView.java"
- line="190"
+ line="192"
column="12"/>
</issue>
@@ -6072,7 +6215,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatMultiAutoCompleteTextView.java"
- line="190"
+ line="192"
column="52"/>
</issue>
@@ -6083,7 +6226,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatRadioButton.java"
- line="60"
+ line="62"
column="33"/>
</issue>
@@ -6094,7 +6237,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatRadioButton.java"
- line="64"
+ line="66"
column="33"/>
</issue>
@@ -6105,7 +6248,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatRadioButton.java"
- line="68"
+ line="70"
column="33"/>
</issue>
@@ -6116,7 +6259,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatRadioButton.java"
- line="84"
+ line="86"
column="35"/>
</issue>
@@ -6138,7 +6281,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="208"
+ line="210"
column="41"/>
</issue>
@@ -6149,7 +6292,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="308"
+ line="310"
column="12"/>
</issue>
@@ -6160,7 +6303,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="313"
+ line="315"
column="44"/>
</issue>
@@ -6171,7 +6314,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="327"
+ line="329"
column="12"/>
</issue>
@@ -6182,7 +6325,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="401"
+ line="403"
column="28"/>
</issue>
@@ -6193,7 +6336,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="427"
+ line="429"
column="33"/>
</issue>
@@ -6204,7 +6347,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="462"
+ line="464"
column="27"/>
</issue>
@@ -6215,7 +6358,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="471"
+ line="473"
column="12"/>
</issue>
@@ -6226,7 +6369,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="616"
+ line="618"
column="12"/>
</issue>
@@ -6237,7 +6380,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatSpinner.java"
- line="624"
+ line="626"
column="40"/>
</issue>
@@ -6248,7 +6391,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatTextView.java"
- line="208"
+ line="210"
column="35"/>
</issue>
@@ -6259,7 +6402,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatTextView.java"
- line="267"
+ line="269"
column="34"/>
</issue>
@@ -6270,7 +6413,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatTextView.java"
- line="428"
+ line="430"
column="12"/>
</issue>
@@ -6281,7 +6424,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatTextView.java"
- line="440"
+ line="442"
column="12"/>
</issue>
@@ -6292,7 +6435,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatTextView.java"
- line="440"
+ line="442"
column="52"/>
</issue>
@@ -6303,7 +6446,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/AppCompatTextView.java"
- line="548"
+ line="550"
column="12"/>
</issue>
@@ -7843,7 +7986,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="230"
+ line="239"
column="12"/>
</issue>
@@ -7854,7 +7997,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="241"
+ line="250"
column="36"/>
</issue>
@@ -7865,7 +8008,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="292"
+ line="302"
column="27"/>
</issue>
@@ -7876,7 +8019,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="1730"
+ line="1750"
column="12"/>
</issue>
@@ -7887,7 +8030,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="1730"
+ line="1750"
column="46"/>
</issue>
@@ -7898,7 +8041,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="1743"
+ line="1763"
column="15"/>
</issue>
@@ -7909,7 +8052,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="1753"
+ line="1773"
column="15"/>
</issue>
@@ -7920,7 +8063,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="1753"
+ line="1773"
column="49"/>
</issue>
@@ -7931,7 +8074,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="1760"
+ line="1780"
column="41"/>
</issue>
@@ -7942,7 +8085,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="1765"
+ line="1785"
column="48"/>
</issue>
@@ -7953,7 +8096,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="1771"
+ line="1791"
column="51"/>
</issue>
@@ -7964,7 +8107,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="1784"
+ line="1804"
column="29"/>
</issue>
@@ -7975,7 +8118,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="1784"
+ line="1804"
column="40"/>
</issue>
@@ -7986,7 +8129,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="1812"
+ line="1832"
column="29"/>
</issue>
@@ -7997,7 +8140,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java"
- line="1819"
+ line="1839"
column="29"/>
</issue>
@@ -10758,7 +10901,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/PopupMenu.java"
- line="282"
+ line="295"
column="33"/>
</issue>
@@ -10769,7 +10912,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/PopupMenu.java"
- line="294"
+ line="307"
column="24"/>
</issue>
@@ -10857,7 +11000,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="216"
+ line="217"
column="35"/>
</issue>
@@ -10868,7 +11011,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="226"
+ line="227"
column="35"/>
</issue>
@@ -10879,7 +11022,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="405"
+ line="408"
column="35"/>
</issue>
@@ -10890,7 +11033,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="428"
+ line="431"
column="34"/>
</issue>
@@ -10901,7 +11044,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="478"
+ line="482"
column="48"/>
</issue>
@@ -10912,7 +11055,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="510"
+ line="514"
column="40"/>
</issue>
@@ -10923,7 +11066,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="519"
+ line="523"
column="36"/>
</issue>
@@ -10934,7 +11077,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="528"
+ line="532"
column="51"/>
</issue>
@@ -10945,7 +11088,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="537"
+ line="541"
column="41"/>
</issue>
@@ -10956,7 +11099,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="549"
+ line="553"
column="42"/>
</issue>
@@ -10967,7 +11110,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="558"
+ line="562"
column="12"/>
</issue>
@@ -10978,7 +11121,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="570"
+ line="574"
column="26"/>
</issue>
@@ -10989,7 +11132,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="744"
+ line="750"
column="39"/>
</issue>
@@ -11000,7 +11143,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="754"
+ line="760"
column="12"/>
</issue>
@@ -11011,7 +11154,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1344"
+ line="1351"
column="15"/>
</issue>
@@ -11022,7 +11165,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1352"
+ line="1359"
column="43"/>
</issue>
@@ -11033,7 +11176,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1841"
+ line="1848"
column="35"/>
</issue>
@@ -11044,7 +11187,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1845"
+ line="1852"
column="35"/>
</issue>
@@ -11055,7 +11198,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1845"
+ line="1852"
column="52"/>
</issue>
@@ -11066,7 +11209,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1849"
+ line="1856"
column="35"/>
</issue>
@@ -11077,7 +11220,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1849"
+ line="1856"
column="52"/>
</issue>
@@ -11088,7 +11231,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1884"
+ line="1891"
column="36"/>
</issue>
@@ -11099,7 +11242,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1920"
+ line="1927"
column="71"/>
</issue>
@@ -11110,7 +11253,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1935"
+ line="1942"
column="49"/>
</issue>
@@ -11121,7 +11264,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1982"
+ line="1989"
column="16"/>
</issue>
@@ -11132,7 +11275,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SearchView.java"
- line="1982"
+ line="1989"
column="56"/>
</issue>
@@ -11902,7 +12045,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="339"
+ line="340"
column="41"/>
</issue>
@@ -11913,7 +12056,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="406"
+ line="407"
column="35"/>
</issue>
@@ -11924,7 +12067,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="434"
+ line="435"
column="35"/>
</issue>
@@ -11935,7 +12078,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="522"
+ line="526"
column="34"/>
</issue>
@@ -11946,7 +12089,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="551"
+ line="556"
column="12"/>
</issue>
@@ -11957,7 +12100,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="641"
+ line="648"
column="34"/>
</issue>
@@ -11968,7 +12111,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="672"
+ line="680"
column="12"/>
</issue>
@@ -11979,7 +12122,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="784"
+ line="796"
column="12"/>
</issue>
@@ -11990,7 +12133,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="807"
+ line="819"
column="27"/>
</issue>
@@ -12001,7 +12144,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="822"
+ line="835"
column="12"/>
</issue>
@@ -12012,7 +12155,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="844"
+ line="857"
column="28"/>
</issue>
@@ -12023,7 +12166,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="956"
+ line="970"
column="46"/>
</issue>
@@ -12034,7 +12177,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="993"
+ line="1007"
column="33"/>
</issue>
@@ -12045,7 +12188,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="1226"
+ line="1240"
column="22"/>
</issue>
@@ -12056,7 +12199,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="1291"
+ line="1305"
column="27"/>
</issue>
@@ -12067,7 +12210,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="1415"
+ line="1429"
column="15"/>
</issue>
@@ -12078,7 +12221,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="1461"
+ line="1475"
column="38"/>
</issue>
@@ -12089,7 +12232,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="1484"
+ line="1498"
column="48"/>
</issue>
@@ -12100,7 +12243,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/SwitchCompat.java"
- line="1490"
+ line="1504"
column="51"/>
</issue>
@@ -12375,7 +12518,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="557"
+ line="564"
column="25"/>
</issue>
@@ -12386,7 +12529,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="557"
+ line="564"
column="43"/>
</issue>
@@ -12397,7 +12540,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="631"
+ line="638"
column="25"/>
</issue>
@@ -12408,7 +12551,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="653"
+ line="661"
column="12"/>
</issue>
@@ -12419,7 +12562,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="677"
+ line="685"
column="36"/>
</issue>
@@ -12430,7 +12573,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="691"
+ line="700"
column="12"/>
</issue>
@@ -12441,7 +12584,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="738"
+ line="748"
column="12"/>
</issue>
@@ -12452,7 +12595,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="762"
+ line="772"
column="26"/>
</issue>
@@ -12463,7 +12606,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="794"
+ line="805"
column="12"/>
</issue>
@@ -12474,7 +12617,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="816"
+ line="827"
column="29"/>
</issue>
@@ -12485,7 +12628,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="847"
+ line="858"
column="40"/>
</issue>
@@ -12496,7 +12639,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="858"
+ line="869"
column="43"/>
</issue>
@@ -12507,7 +12650,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="1022"
+ line="1035"
column="46"/>
</issue>
@@ -12518,7 +12661,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="1128"
+ line="1144"
column="12"/>
</issue>
@@ -12529,7 +12672,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="1205"
+ line="1221"
column="44"/>
</issue>
@@ -12540,7 +12683,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="1533"
+ line="1555"
column="15"/>
</issue>
@@ -12551,7 +12694,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="1545"
+ line="1567"
column="43"/>
</issue>
@@ -12562,7 +12705,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="1579"
+ line="1601"
column="33"/>
</issue>
@@ -12573,7 +12716,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="1605"
+ line="1627"
column="33"/>
</issue>
@@ -12584,7 +12727,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2200"
+ line="2222"
column="12"/>
</issue>
@@ -12595,7 +12738,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2200"
+ line="2222"
column="46"/>
</issue>
@@ -12606,7 +12749,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2205"
+ line="2227"
column="15"/>
</issue>
@@ -12617,7 +12760,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2205"
+ line="2227"
column="49"/>
</issue>
@@ -12628,7 +12771,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2218"
+ line="2240"
column="15"/>
</issue>
@@ -12639,7 +12782,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2223"
+ line="2245"
column="41"/>
</issue>
@@ -12650,7 +12793,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2229"
+ line="2251"
column="12"/>
</issue>
@@ -12661,7 +12804,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2278"
+ line="2300"
column="34"/>
</issue>
@@ -12672,7 +12815,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2278"
+ line="2300"
column="62"/>
</issue>
@@ -12683,7 +12826,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2333"
+ line="2355"
column="40"/>
</issue>
@@ -12694,7 +12837,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2352"
+ line="2374"
column="49"/>
</issue>
@@ -12705,7 +12848,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2370"
+ line="2392"
column="29"/>
</issue>
@@ -12716,7 +12859,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2376"
+ line="2398"
column="29"/>
</issue>
@@ -12727,7 +12870,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2380"
+ line="2402"
column="29"/>
</issue>
@@ -12738,7 +12881,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2387"
+ line="2409"
column="29"/>
</issue>
@@ -12749,7 +12892,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2403"
+ line="2425"
column="27"/>
</issue>
@@ -12760,7 +12903,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2407"
+ line="2429"
column="27"/>
</issue>
@@ -12771,7 +12914,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2407"
+ line="2429"
column="42"/>
</issue>
@@ -12782,7 +12925,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2413"
+ line="2435"
column="27"/>
</issue>
@@ -12793,7 +12936,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/appcompat/widget/Toolbar.java"
- line="2418"
+ line="2440"
column="35"/>
</issue>
diff --git a/appsearch/compiler/lint-baseline.xml b/appsearch/compiler/lint-baseline.xml
index 0df44a3..01adaec 100644
--- a/appsearch/compiler/lint-baseline.xml
+++ b/appsearch/compiler/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanSynchronizedMethods"
diff --git a/arch/core/core-common/lint-baseline.xml b/arch/core/core-common/lint-baseline.xml
index 6798d30..78f729e 100644
--- a/arch/core/core-common/lint-baseline.xml
+++ b/arch/core/core-common/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/arch/core/core-runtime/lint-baseline.xml b/arch/core/core-runtime/lint-baseline.xml
index c49c3ba..f2a45eb 100644
--- a/arch/core/core-runtime/lint-baseline.xml
+++ b/arch/core/core-runtime/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/arch/core/core-testing/lint-baseline.xml b/arch/core/core-testing/lint-baseline.xml
index a4d298c..1438e70 100644
--- a/arch/core/core-testing/lint-baseline.xml
+++ b/arch/core/core-testing/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/autofill/autofill/lint-baseline.xml b/autofill/autofill/lint-baseline.xml
index 06ac3e7..f97aac0 100644
--- a/autofill/autofill/lint-baseline.xml
+++ b/autofill/autofill/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/benchmark/common/lint-baseline.xml b/benchmark/common/lint-baseline.xml
index 7edd276..1aaaf43 100644
--- a/benchmark/common/lint-baseline.xml
+++ b/benchmark/common/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanSynchronizedMethods"
@@ -118,7 +118,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/benchmark/Outputs.kt"
- line="59"
+ line="57"
column="70"/>
</issue>
@@ -129,7 +129,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/benchmark/Outputs.kt"
- line="61"
+ line="59"
column="37"/>
</issue>
@@ -140,7 +140,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/benchmark/Profiler.kt"
- line="100"
+ line="98"
column="15"/>
</issue>
diff --git a/benchmark/integration-tests/macrobenchmark/lint-baseline.xml b/benchmark/integration-tests/macrobenchmark/lint-baseline.xml
new file mode 100644
index 0000000..88e5728
--- /dev/null
+++ b/benchmark/integration-tests/macrobenchmark/lint-baseline.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
+ errorLine1=" val benchmarkRule = MacrobenchmarkRule()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/benchmark/integration/macrobenchmark/SmallListStartupBenchmark.kt"
+ line="37"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `measureStartup`"
+ errorLine1=" fun startup() = benchmarkRule.measureStartup("
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/benchmark/integration/macrobenchmark/SmallListStartupBenchmark.kt"
+ line="40"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
+ errorLine1=" val benchmarkRule = MacrobenchmarkRule()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/benchmark/integration/macrobenchmark/TrivialStartupBenchmark.kt"
+ line="37"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `measureStartup`"
+ errorLine1=" fun startup() = benchmarkRule.measureStartup("
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/benchmark/integration/macrobenchmark/TrivialStartupBenchmark.kt"
+ line="40"
+ column="35"/>
+ </issue>
+
+</issues>
diff --git a/benchmark/macro/lint-baseline.xml b/benchmark/macro/lint-baseline.xml
index 916146a..b296a9f 100644
--- a/benchmark/macro/lint-baseline.xml
+++ b/benchmark/macro/lint-baseline.xml
@@ -1,5 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 18): `StartupTimingMetric`"
+ errorLine1=" val metric = StartupTimingMetric()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt"
+ line="90"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 18): `configure$lint_module`"
+ errorLine1=" metric.configure(packageName)"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt"
+ line="91"
+ column="12"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 18): `getMetrics$lint_module`"
+ errorLine1=" return metric.getMetrics(packageName, tracePath)"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt"
+ line="93"
+ column="19"/>
+ </issue>
<issue
id="ClassVerificationFailure"
@@ -8,7 +41,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/benchmark/macro/Macrobenchmark.kt"
- line="49"
+ line="47"
column="26"/>
</issue>
diff --git a/biometric/biometric/lint-baseline.xml b/biometric/biometric/lint-baseline.xml
new file mode 100644
index 0000000..cc9a4e5
--- /dev/null
+++ b/biometric/biometric/lint-baseline.xml
@@ -0,0 +1,1016 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `getBiometricCallback`"
+ errorLine1=" mAuthenticationCallbackProvider.getBiometricCallback();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="62"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `getBiometricCallback`"
+ errorLine1=" assertThat(mAuthenticationCallbackProvider.getBiometricCallback()).isEqualTo(callback);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="63"
+ column="52"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.AuthenticationResult`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricPrompt.AuthenticationResult.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="70"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `new android.hardware.biometrics.BiometricPrompt.CryptoObject`"
+ errorLine1=" new android.hardware.biometrics.BiometricPrompt.CryptoObject(mCipher);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="72"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.AuthenticationResult#getCryptoObject`"
+ errorLine1=" when(result.getCryptoObject()).thenReturn(crypto);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="73"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.AuthenticationCallback#onAuthenticationSucceeded`"
+ errorLine1=" mAuthenticationCallbackProvider.getBiometricCallback().onAuthenticationSucceeded(result);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="75"
+ column="64"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `getBiometricCallback`"
+ errorLine1=" mAuthenticationCallbackProvider.getBiometricCallback().onAuthenticationSucceeded(result);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="75"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `getBiometricCallback`"
+ errorLine1=" mAuthenticationCallbackProvider.getBiometricCallback()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="89"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.AuthenticationCallback#onAuthenticationError`"
+ errorLine1=" .onAuthenticationError(errorCode, errorMessage);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="90"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `getBiometricCallback`"
+ errorLine1=" mAuthenticationCallbackProvider.getBiometricCallback()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="102"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.AuthenticationCallback#onAuthenticationHelp`"
+ errorLine1=" .onAuthenticationHelp(helpCode, helpMessage);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="103"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.AuthenticationCallback#onAuthenticationFailed`"
+ errorLine1=" mAuthenticationCallbackProvider.getBiometricCallback().onAuthenticationFailed();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="111"
+ column="64"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `getBiometricCallback`"
+ errorLine1=" mAuthenticationCallbackProvider.getBiometricCallback().onAuthenticationFailed();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/AuthenticationCallbackProviderTest.java"
+ line="111"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricPrompt.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricFragmentTest.java"
+ line="169"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt#authenticate`"
+ errorLine1=" doThrow(NullPointerException.class).when(biometricPrompt).authenticate("
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricFragmentTest.java"
+ line="170"
+ column="67"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 16 (current min is 14): `android.os.CancellationSignal`"
+ errorLine1=" any(android.os.CancellationSignal.class),"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricFragmentTest.java"
+ line="171"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.AuthenticationCallback`"
+ errorLine1=" any(android.hardware.biometrics.BiometricPrompt.AuthenticationCallback.class));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricFragmentTest.java"
+ line="173"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `authenticateWithBiometricPrompt`"
+ errorLine1=" mFragment.authenticateWithBiometricPrompt(biometricPrompt, mContext);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricFragmentTest.java"
+ line="176"
+ column="19"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="59"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_SUCCESS);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="60"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="81"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_ERROR_NONE_ENROLLED);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="82"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="104"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_ERROR_NO_HARDWARE);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="105"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="127"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_SUCCESS);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="128"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="169"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_SUCCESS);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="170"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="207"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_SUCCESS);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="208"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="245"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_ERROR_NO_HARDWARE);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="246"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="284"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_ERROR_NO_HARDWARE);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="285"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="323"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_ERROR_NONE_ENROLLED);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="324"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="358"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_SUCCESS);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="359"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="381"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_ERROR_NONE_ENROLLED);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="382"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="404"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_SUCCESS);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="405"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager`"
+ errorLine1=" mock(android.hardware.biometrics.BiometricManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="444"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.hardware.biometrics.BiometricManager#canAuthenticate`"
+ errorLine1=" when(frameworkBiometricManager.canAuthenticate()).thenReturn(BIOMETRIC_SUCCESS);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/BiometricManagerTest.java"
+ line="445"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 16 (current min is 14): `android.os.CancellationSignal`"
+ errorLine1=" return mock(android.os.CancellationSignal.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CancellationSignalProviderTest.java"
+ line="69"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `getBiometricCancellationSignal`"
+ errorLine1=" provider.getBiometricCancellationSignal();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CancellationSignalProviderTest.java"
+ line="85"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `getBiometricCancellationSignal`"
+ errorLine1=" assertThat(provider.getBiometricCancellationSignal()).isEqualTo(cancellationSignal);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CancellationSignalProviderTest.java"
+ line="86"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `getBiometricCancellationSignal`"
+ errorLine1=" assertThat(provider.getBiometricCancellationSignal())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CancellationSignalProviderTest.java"
+ line="95"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `android.os.CancellationSignal#cancel`"
+ errorLine1=" verify(mBiometricCancellationSignal).cancel();"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CancellationSignalProviderTest.java"
+ line="100"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `getBiometricCancellationSignal`"
+ errorLine1=" assertThat(provider.getBiometricCancellationSignal())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CancellationSignalProviderTest.java"
+ line="130"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `android.os.CancellationSignal#cancel`"
+ errorLine1=" verify(mBiometricCancellationSignal).cancel();"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CancellationSignalProviderTest.java"
+ line="137"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `getBiometricCancellationSignal`"
+ errorLine1=" provider.getBiometricCancellationSignal();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CancellationSignalProviderTest.java"
+ line="147"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `android.os.CancellationSignal#cancel`"
+ errorLine1=" doThrow(NullPointerException.class).when(biometricSignal).cancel();"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CancellationSignalProviderTest.java"
+ line="151"
+ column="67"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `getBiometricCancellationSignal`"
+ errorLine1=" assertThat(provider.getBiometricCancellationSignal()).isNotEqualTo(biometricSignal);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CancellationSignalProviderTest.java"
+ line="156"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `unwrapFromBiometricPrompt`"
+ errorLine1=" assertThat(CryptoObjectUtils.unwrapFromBiometricPrompt(null)).isNull();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="54"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `new android.hardware.biometrics.BiometricPrompt.CryptoObject`"
+ errorLine1=" new android.hardware.biometrics.BiometricPrompt.CryptoObject(mCipher);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="61"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `unwrapFromBiometricPrompt`"
+ errorLine1=" CryptoObjectUtils.unwrapFromBiometricPrompt(wrappedCrypto);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="64"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `new android.hardware.biometrics.BiometricPrompt.CryptoObject`"
+ errorLine1=" new android.hardware.biometrics.BiometricPrompt.CryptoObject(mSignature);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="76"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `unwrapFromBiometricPrompt`"
+ errorLine1=" CryptoObjectUtils.unwrapFromBiometricPrompt(wrappedCrypto);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="79"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `new android.hardware.biometrics.BiometricPrompt.CryptoObject`"
+ errorLine1=" new android.hardware.biometrics.BiometricPrompt.CryptoObject(mMac);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="91"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `unwrapFromBiometricPrompt`"
+ errorLine1=" CryptoObjectUtils.unwrapFromBiometricPrompt(wrappedCrypto);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="94"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 30 (current min is 14): `android.security.identity.IdentityCredential`"
+ errorLine1=" mock(android.security.identity.IdentityCredential.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="106"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `new android.hardware.biometrics.BiometricPrompt.CryptoObject`"
+ errorLine1=" new android.hardware.biometrics.BiometricPrompt.CryptoObject(identityCredential);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="108"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `unwrapFromBiometricPrompt`"
+ errorLine1=" CryptoObjectUtils.unwrapFromBiometricPrompt(wrappedCrypto);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="111"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `getIdentityCredential`"
+ errorLine1=" assertThat(unwrappedCrypto.getIdentityCredential()).isEqualTo(identityCredential);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="117"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `wrapForBiometricPrompt`"
+ errorLine1=" assertThat(CryptoObjectUtils.wrapForBiometricPrompt(null)).isNull();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="123"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `wrapForBiometricPrompt`"
+ errorLine1=" CryptoObjectUtils.wrapForBiometricPrompt(unwrappedCrypto);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="133"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getCipher`"
+ errorLine1=" assertThat(wrappedCrypto.getCipher()).isEqualTo(mCipher);"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="136"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getSignature`"
+ errorLine1=" assertThat(wrappedCrypto.getSignature()).isNull();"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="137"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getMac`"
+ errorLine1=" assertThat(wrappedCrypto.getMac()).isNull();"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="138"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `wrapForBiometricPrompt`"
+ errorLine1=" CryptoObjectUtils.wrapForBiometricPrompt(unwrappedCrypto);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="148"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getCipher`"
+ errorLine1=" assertThat(wrappedCrypto.getCipher()).isNull();"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="151"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getSignature`"
+ errorLine1=" assertThat(wrappedCrypto.getSignature()).isEqualTo(mSignature);"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="152"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getMac`"
+ errorLine1=" assertThat(wrappedCrypto.getMac()).isNull();"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="153"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `wrapForBiometricPrompt`"
+ errorLine1=" CryptoObjectUtils.wrapForBiometricPrompt(unwrappedCrypto);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="162"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getCipher`"
+ errorLine1=" assertThat(wrappedCrypto.getCipher()).isNull();"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="165"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getSignature`"
+ errorLine1=" assertThat(wrappedCrypto.getSignature()).isNull();"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="166"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getMac`"
+ errorLine1=" assertThat(wrappedCrypto.getMac()).isEqualTo(mMac);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="167"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 30 (current min is 14): `android.security.identity.IdentityCredential`"
+ errorLine1=" mock(android.security.identity.IdentityCredential.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="174"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `CryptoObject`"
+ errorLine1=" new BiometricPrompt.CryptoObject(identityCredential);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="176"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `wrapForBiometricPrompt`"
+ errorLine1=" CryptoObjectUtils.wrapForBiometricPrompt(unwrappedCrypto);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="179"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getCipher`"
+ errorLine1=" assertThat(wrappedCrypto.getCipher()).isNull();"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="182"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getSignature`"
+ errorLine1=" assertThat(wrappedCrypto.getSignature()).isNull();"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="183"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getMac`"
+ errorLine1=" assertThat(wrappedCrypto.getMac()).isNull();"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="184"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `android.hardware.biometrics.BiometricPrompt.CryptoObject#getIdentityCredential`"
+ errorLine1=" assertThat(wrappedCrypto.getIdentityCredential()).isEqualTo(identityCredential);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="185"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 30 (current min is 14): `android.security.identity.IdentityCredential`"
+ errorLine1=" mock(android.security.identity.IdentityCredential.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="294"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `CryptoObject`"
+ errorLine1=" new BiometricPrompt.CryptoObject(identityCredential);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/CryptoObjectUtilsTest.java"
+ line="296"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `android.content.Context#getSystemService`"
+ errorLine1=" when(mContext.getSystemService(KeyguardManager.class)).thenReturn(mKeyguardManager);"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/KeyguardUtilsTest.java"
+ line="54"
+ column="23"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `android.content.Context#getSystemService`"
+ errorLine1=" when(mContext.getSystemService(KeyguardManager.class)).thenReturn(null);"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/KeyguardUtilsTest.java"
+ line="68"
+ column="23"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `android.content.Context#getSystemService`"
+ errorLine1=" when(mContext.getSystemService(any(Class.class))).thenReturn(mKeyguardManager);"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/KeyguardUtilsTest.java"
+ line="95"
+ column="23"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `android.app.KeyguardManager#isDeviceSecure`"
+ errorLine1=" when(mKeyguardManager.isDeviceSecure()).thenReturn(true);"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/KeyguardUtilsTest.java"
+ line="96"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `android.app.KeyguardManager#isKeyguardSecure`"
+ errorLine1=" when(mKeyguardManager.isKeyguardSecure()).thenReturn(true);"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/biometric/KeyguardUtilsTest.java"
+ line="104"
+ column="31"/>
+ </issue>
+
+</issues>
diff --git a/browser/browser/lint-baseline.xml b/browser/browser/lint-baseline.xml
index b85e4387..99ae271 100644
--- a/browser/browser/lint-baseline.xml
+++ b/browser/browser/lint-baseline.xml
@@ -1,5 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 18 (current min is 16): `android.os.Bundle#getBinder`"
+ errorLine1=" intent.getExtras().getBinder(CustomTabsIntent.EXTRA_SESSION));"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/browser/customtabs/CustomTabsIntentTest.java"
+ line="280"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 18 (current min is 16): `android.os.Bundle#getBinder`"
+ errorLine1=" intent.getExtras().getBinder(CustomTabsIntent.EXTRA_SESSION));"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/browser/customtabs/CustomTabsIntentTest.java"
+ line="289"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 18 (current min is 16): `android.os.Bundle#getBinder`"
+ errorLine1=" assertNull(intent.getExtras().getBinder(CustomTabsIntent.EXTRA_SESSION));"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/browser/customtabs/CustomTabsIntentTest.java"
+ line="304"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 18 (current min is 16): `android.os.Bundle#getBinder`"
+ errorLine1=" assertEquals(session.getBinder(), intent.getExtras().getBinder("
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/browser/customtabs/TestUtil.java"
+ line="56"
+ column="62"/>
+ </issue>
<issue
id="ClassVerificationFailure"
diff --git a/buildSrc/lint.xml b/buildSrc/lint.xml
index 1837ce0..1fb6d32 100644
--- a/buildSrc/lint.xml
+++ b/buildSrc/lint.xml
@@ -4,4 +4,15 @@
<issue id="LintBaseline" severity="ignore">
<ignore regexp=".* filtered out because .* listed in the baseline file.*"/>
</issue>
+ <!-- Disable all lint checks on tests by default. -->
+ <issue id="all">
+ <ignore path="**/src/test/**" />
+ <ignore path="**/src/androidTest/**" />
+ <!-- Required for Kotlin multi-platform tests. -->
+ <ignore path="**/src/androidAndroidTest/**" />
+ <!-- Required for AppSearch icing tests. -->
+ <ignore path="**/java/tests/**" />
+ </issue>
+ <!-- Re-enable NewApi for tests (and everything else). -->
+ <issue id="NewApi" severity="fatal" />
</lint>
diff --git a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
index fe922a5..7dbadbb 100644
--- a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
@@ -20,7 +20,7 @@
* The list of versions codes of all the libraries in this project.
*/
object LibraryVersions {
- val ACTIVITY = Version("1.3.0-beta03")
+ val ACTIVITY = Version("1.4.0-alpha01")
val ADS_IDENTIFIER = Version("1.0.0-alpha05")
val ANNOTATION = Version("1.3.0-alpha01")
val ANNOTATION_EXPERIMENTAL = Version("1.2.0-alpha01")
@@ -46,7 +46,7 @@
val CAR_APP_PRE_RELEASE = Version("1.0.0-alpha01")
val COLLECTION = Version("1.2.0-alpha02")
val CONTENTPAGER = Version("1.1.0-alpha01")
- val COMPOSE = Version(System.getenv("COMPOSE_CUSTOM_VERSION") ?: "1.0.0-beta10")
+ val COMPOSE = Version(System.getenv("COMPOSE_CUSTOM_VERSION") ?: "1.1.0-alpha01")
val COORDINATORLAYOUT = Version("1.2.0-alpha01")
val CORE = Version("1.7.0-alpha01")
val CORE_ANIMATION = Version("1.0.0-alpha03")
@@ -87,7 +87,7 @@
val LOADER = Version("1.2.0-alpha01")
val MEDIA = Version("1.4.0-beta01")
val MEDIA2 = Version("1.2.0-beta01")
- val MEDIAROUTER = Version("1.3.0-alpha02")
+ val MEDIAROUTER = Version("1.3.0-alpha01")
val NAVIGATION = Version("2.4.0-alpha04")
val PAGING = Version("3.1.0-alpha02")
val PAGING_COMPOSE = Version("1.0.0-alpha11")
@@ -95,7 +95,7 @@
val PRINT = Version("1.1.0-beta01")
val PERCENTLAYOUT = Version("1.1.0-alpha01")
val PREFERENCE = Version("1.2.0-alpha01")
- val PROFILEINSTALLER = Version("1.0.0-beta02")
+ val PROFILEINSTALLER = Version("1.1.0-alpha01")
val RECOMMENDATION = Version("1.1.0-alpha01")
val RECYCLERVIEW = Version("1.3.0-alpha01")
val RECYCLERVIEW_SELECTION = Version("1.2.0-alpha02")
diff --git a/buildSrc/src/main/kotlin/androidx/build/LintConfiguration.kt b/buildSrc/src/main/kotlin/androidx/build/LintConfiguration.kt
index 2538b82..0709db4 100644
--- a/buildSrc/src/main/kotlin/androidx/build/LintConfiguration.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/LintConfiguration.kt
@@ -129,6 +129,9 @@
}
isIgnoreWarnings = true
+ // Run lint on tests. Uses top-level lint.xml to specify checks.
+ isCheckTestSources = true
+
// Write output directly to the console (and nowhere else).
textReport = true
htmlReport = false
@@ -225,41 +228,17 @@
// Analyze tasks are responsible for reading baselines and detecting issues, but
// they won't detect any issues that are already in the baselines. Delete them
- // before the task evaluates up-to-date-ness.
- listOf(
- tasks.named("lintAnalyzeDebug"),
- tasks.named("lintAnalyze"),
- ).forEach { task ->
- val removeBaselineTask = project.tasks.register(
- "removeBaselineOf${task.name.capitalize(Locale.US)}",
- RemoveBaselineTask::class.java,
- ) { baselineTask ->
- baselineTask.baselineFile.set(lintBaseline)
- }
-
- task.configure {
- it.dependsOn(removeBaselineTask)
- }
- }
+ // before the task evaluates up-to-date-ness using:
+ //
+ // find . -type f -name lint-baseline.xml -exec rm -f {} \;
// Regular lint tasks are responsible for reading the output of analyze tasks and
// generating baseline files. They will fail if they generate a new baseline but
- // there are no issues, so we need to delete the file as a finalization step.
- listOf(
- tasks.named("lintDebug"),
- tasks.named("lint"),
- ).forEach { task ->
- val removeEmptyBaselineTask = project.tasks.register(
- "removeEmptyBaselineOf${task.name.capitalize(Locale.US)}",
- RemoveEmptyBaselineTask::class.java,
- ) { baselineTask ->
- baselineTask.baselineFile.set(lintBaseline)
- }
-
- task.configure {
- it.finalizedBy(removeEmptyBaselineTask)
- }
- }
+ // there are no issues, so we need to delete the file as a finalization step using:
+ //
+ // find . -type f -name lint-baseline.xml \
+ // -exec awk -v x=5 'NR==x{exit 1}' {} \; \
+ // -exec rm -f {} \;
// Continue running after errors or after creating a new, blank baseline file.
// This doesn't work right now due to b/188545420, but it's technically correct.
diff --git a/camera/camera-camera2-pipe/lint-baseline.xml b/camera/camera-camera2-pipe/lint-baseline.xml
new file mode 100644
index 0000000..72e3568
--- /dev/null
+++ b/camera/camera-camera2-pipe/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraDevice#createReprocessCaptureRequest`"
+ errorLine1=" return fakeCamera.cameraDevice.createReprocessCaptureRequest(inputResult)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/pipe/testing/FakeCameraDeviceWrapper.kt"
+ line="51"
+ column="40"/>
+ </issue>
+
+</issues>
diff --git a/camera/camera-camera2/lint-baseline.xml b/camera/camera-camera2/lint-baseline.xml
index 195e5d3..3d08ce0 100644
--- a/camera/camera-camera2/lint-baseline.xml
+++ b/camera/camera-camera2/lint-baseline.xml
@@ -1,5 +1,544 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 21): `android.hardware.camera2.CameraCaptureSession#captureBurstRequests`"
+ errorLine1=" verify(mCaptureSession, times(1)).captureBurstRequests(any(List.class),"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraCaptureSessionCompatTest.java"
+ line="83"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 21): `android.hardware.camera2.CameraCaptureSession#captureSingleRequest`"
+ errorLine1=" verify(mCaptureSession, times(1)).captureSingleRequest(any(CaptureRequest.class),"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraCaptureSessionCompatTest.java"
+ line="110"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 21): `android.hardware.camera2.CameraCaptureSession#setRepeatingBurstRequests`"
+ errorLine1=" verify(mCaptureSession, times(1)).setRepeatingBurstRequests(any(List.class),"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraCaptureSessionCompatTest.java"
+ line="140"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 21): `android.hardware.camera2.CameraCaptureSession#setSingleRepeatingRequest`"
+ errorLine1=" verify(mCaptureSession, times(1)).setSingleRepeatingRequest(any(CaptureRequest.class),"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraCaptureSessionCompatTest.java"
+ line="168"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `android.hardware.camera2.CameraDevice#createCaptureSessionByOutputConfigurations`"
+ errorLine1=" verify(mCameraDevice, times(1)).createCaptureSessionByOutputConfigurations("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
+ line="104"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 21): `android.hardware.camera2.CameraDevice#createCaptureSession`"
+ errorLine1=" verify(mCameraDevice, times(1)).createCaptureSession("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
+ line="123"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 28 (current min is 21): `android.hardware.camera2.params.SessionConfiguration`"
+ errorLine1=" any(SessionConfiguration.class));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
+ line="124"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 23 (current min is 21): `android.hardware.camera2.params.InputConfiguration`"
+ errorLine1=" InputConfigurationCompat.wrap(mock(InputConfiguration.class))));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
+ line="167"
+ column="52"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraDevice#createReprocessableCaptureSession`"
+ errorLine1=" verify(mCameraDevice, times(1)).createReprocessableCaptureSession("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
+ line="172"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 23 (current min is 21): `android.hardware.camera2.params.InputConfiguration`"
+ errorLine1=" any(InputConfiguration.class),"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
+ line="173"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 23 (current min is 21): `android.hardware.camera2.params.InputConfiguration`"
+ errorLine1=" InputConfigurationCompat.wrap(mock(InputConfiguration.class))));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
+ line="192"
+ column="52"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `android.hardware.camera2.CameraDevice#createReprocessableCaptureSessionByConfigurations`"
+ errorLine1=" verify(mCameraDevice, times(1)).createReprocessableCaptureSessionByConfigurations("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
+ line="197"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 23 (current min is 21): `android.hardware.camera2.params.InputConfiguration`"
+ errorLine1=" any(InputConfiguration.class),"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
+ line="198"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraDevice#createConstrainedHighSpeedCaptureSession`"
+ errorLine1=" verify(mCameraDevice, times(1)).createConstrainedHighSpeedCaptureSession("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
+ line="217"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
+ errorLine1=" CaptureRequest.CONTROL_ENABLE_ZSL, null))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
+ line="104"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
+ errorLine1=" CaptureRequest.CONTROL_ENABLE_ZSL, null))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
+ line="122"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
+ errorLine1=" CaptureRequest.CONTROL_ENABLE_ZSL, null))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
+ line="140"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
+ errorLine1=" CaptureRequest.CONTROL_ENABLE_ZSL, null))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
+ line="158"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
+ errorLine1=" CaptureRequest.CONTROL_ENABLE_ZSL, null))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
+ line="176"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
+ errorLine1=" CaptureRequest.CONTROL_ENABLE_ZSL, null))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
+ line="194"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
+ errorLine1=" CaptureRequest.CONTROL_ENABLE_ZSL, null))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
+ line="212"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
+ errorLine1=" CaptureRequest.CONTROL_ENABLE_ZSL, null))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
+ line="230"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
+ errorLine1=" CaptureRequest.CONTROL_ENABLE_ZSL, null))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
+ line="248"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
+ errorLine1=" CaptureRequest.CONTROL_ENABLE_ZSL, null))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
+ line="266"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
+ errorLine1=" CaptureRequest.CONTROL_ENABLE_ZSL, null))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
+ line="284"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `new android.hardware.camera2.params.InputConfiguration`"
+ errorLine1=" InputConfiguration inputConfig = new InputConfiguration(WIDTH, HEIGHT, FORMAT);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/InputConfigurationCompatTest.java"
+ line="52"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `new android.hardware.camera2.params.InputConfiguration`"
+ errorLine1=" InputConfiguration config = new InputConfiguration(WIDTH, HEIGHT, FORMAT);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/InputConfigurationCompatTest.java"
+ line="84"
+ column="37"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `new android.hardware.camera2.params.InputConfiguration`"
+ errorLine1=" InputConfiguration config = new InputConfiguration(WIDTH, HEIGHT, FORMAT);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/InputConfigurationCompatTest.java"
+ line="96"
+ column="37"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 24 (current min is 21): `android.hardware.camera2.params.OutputConfiguration`"
+ errorLine1=" assertThat(outputConfig).isInstanceOf(OutputConfiguration.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatTest.java"
+ line="172"
+ column="47"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `new android.hardware.camera2.params.OutputConfiguration`"
+ errorLine1=" OutputConfiguration outputConfig = new OutputConfiguration(surface);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatTest.java"
+ line="179"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `new android.hardware.camera2.params.OutputConfiguration`"
+ errorLine1=" OutputConfiguration outputConfig = new OutputConfiguration(TEST_GROUP_ID, surface);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatTest.java"
+ line="189"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `OutputConfigurationCompat`"
+ errorLine1=" OutputConfigurationCompat outputConfigCompat = new OutputConfigurationCompat("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatTest.java"
+ line="198"
+ column="56"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 24 (current min is 21): `android.hardware.camera2.params.OutputConfiguration`"
+ errorLine1=" OutputConfiguration outputConfig = mock(OutputConfiguration.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatTest.java"
+ line="218"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 21): `android.hardware.camera2.params.OutputConfiguration#setPhysicalCameraId`"
+ errorLine1=" verify(outputConfig, times(1)).setPhysicalCameraId(PHYSICAL_CAMERA_ID);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatTest.java"
+ line="224"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 24 (current min is 21): `android.hardware.camera2.params.OutputConfiguration`"
+ errorLine1=" outputConfigs.add((OutputConfiguration) outputConfigCompat.unwrap());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/SessionConfigurationCompatTest.java"
+ line="93"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 21): `new android.hardware.camera2.params.SessionConfiguration`"
+ errorLine1=" SessionConfiguration sessionConfig = new SessionConfiguration("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/SessionConfigurationCompatTest.java"
+ line="96"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 21): `android.hardware.camera2.params.SessionConfiguration#getOutputConfigurations`"
+ errorLine1=" ((SessionConfiguration) sessionConfigCompat.unwrap()).getOutputConfigurations())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/SessionConfigurationCompatTest.java"
+ line="114"
+ column="71"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 28 (current min is 21): `android.hardware.camera2.params.SessionConfiguration`"
+ errorLine1=" ((SessionConfiguration) sessionConfigCompat.unwrap()).getOutputConfigurations())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/compat/params/SessionConfigurationCompatTest.java"
+ line="114"
+ column="19"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `android.hardware.camera2.CameraCaptureSession.StateCallback#onCaptureQueueEmpty`"
+ errorLine1=" sessionConfigurationCompat.getStateCallback().onCaptureQueueEmpty(mMockCaptureSession);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionBaseTest.java"
+ line="118"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `onCaptureQueueEmpty`"
+ errorLine1=" verify(mMockStateCallback).onCaptureQueueEmpty(any(SynchronizedCaptureSession.class));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionBaseTest.java"
+ line="120"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraCaptureSession.StateCallback#onSurfacePrepared`"
+ errorLine1=" sessionConfigurationCompat.getStateCallback().onSurfacePrepared(mMockCaptureSession,"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionBaseTest.java"
+ line="132"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `onSurfacePrepared`"
+ errorLine1=" verify(mMockStateCallback).onSurfacePrepared(any(SynchronizedCaptureSession.class),"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionBaseTest.java"
+ line="135"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `onCaptureQueueEmpty`"
+ errorLine1=" mStateCallback.onCaptureQueueEmpty(mCaptureSessionCompatBaseImpl);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbackTest.java"
+ line="70"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `onCaptureQueueEmpty`"
+ errorLine1=" verify(mMockStateCallback).onCaptureQueueEmpty(any());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbackTest.java"
+ line="71"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `android.hardware.camera2.CameraCaptureSession.StateCallback#onCaptureQueueEmpty`"
+ errorLine1=" verify(mMockCameraCaptureSessionStateCallback).onCaptureQueueEmpty(any());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbackTest.java"
+ line="72"
+ column="56"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `onSurfacePrepared`"
+ errorLine1=" mStateCallback.onSurfacePrepared(mCaptureSessionCompatBaseImpl, mock(Surface.class));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbackTest.java"
+ line="79"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `onSurfacePrepared`"
+ errorLine1=" verify(mMockStateCallback).onSurfacePrepared(any(), any(Surface.class));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbackTest.java"
+ line="80"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraCaptureSession.StateCallback#onSurfacePrepared`"
+ errorLine1=" verify(mMockCameraCaptureSessionStateCallback).onSurfacePrepared(any(), any(Surface.class));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbackTest.java"
+ line="81"
+ column="56"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 30 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO`"
+ errorLine1=" CaptureRequest.CONTROL_ZOOM_RATIO, null);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/camera/camera2/internal/ZoomControlDeviceTest.java"
+ line="269"
+ column="17"/>
+ </issue>
<issue
id="SoonBlockedPrivateApi"
@@ -25,7 +564,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" return (Size) getSurfaceSize.invoke(null, surface);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -36,7 +575,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" return (int) detectSurfaceType.invoke(null, surface);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -47,7 +586,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" return (int) getGenerationId.invoke(surface);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
diff --git a/camera/camera-core/lint-baseline.xml b/camera/camera-core/lint-baseline.xml
index 9b6f6dc..debefae 100644
--- a/camera/camera-core/lint-baseline.xml
+++ b/camera/camera-core/lint-baseline.xml
@@ -1,5 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `java.time.Duration#ofMillis`"
+ errorLine1=" ShadowSystemClock.advanceBy(Duration.ofMillis(100));"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/core/impl/utils/ExifTest.java"
+ line="159"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `java.time.Duration#ofMillis`"
+ errorLine1=" ShadowSystemClock.advanceBy(Duration.ofMillis(100));"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/core/impl/utils/ExifTest.java"
+ line="162"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `new android.graphics.SurfaceTexture`"
+ errorLine1=" mTestSurfaceTexture = new SurfaceTexture(/* singleBufferMode= */ false);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/core/internal/compat/ImageWriterCompatTest.java"
+ line="47"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `newInstance`"
+ errorLine1=" ImageWriter imageWriter = ImageWriterCompat.newInstance(mTestSurface,"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/core/internal/compat/ImageWriterCompatTest.java"
+ line="59"
+ column="53"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 22 (current min is 21): `android.os.Message#isAsynchronous`"
+ errorLine1=" boolean isAsyncBeforeSending = message.isAsynchronous();"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/core/impl/utils/MainThreadAsyncHandlerTest.java"
+ line="64"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 22 (current min is 21): `android.os.Message#isAsynchronous`"
+ errorLine1=" boolean isAsyncAfterSending = message.isAsynchronous();"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/camera/core/impl/utils/MainThreadAsyncHandlerTest.java"
+ line="68"
+ column="47"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 23): `triggerImage`"
+ errorLine1=" triggerImage(processingSurface, 1);"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/camera/core/ProcessingSurfaceTest.java"
+ line="158"
+ column="9"/>
+ </issue>
<issue
id="BanSynchronizedMethods"
diff --git a/camera/camera-extensions-stub/lint-baseline.xml b/camera/camera-extensions-stub/lint-baseline.xml
index 9b4df78..e77b730 100644
--- a/camera/camera-extensions-stub/lint-baseline.xml
+++ b/camera/camera-extensions-stub/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/camera/camera-extensions/lint-baseline.xml b/camera/camera-extensions/lint-baseline.xml
deleted file mode 100644
index 5bc97e7..0000000
--- a/camera/camera-extensions/lint-baseline.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
- <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 Version getVersion() {"
- errorLine2=" ~~~~~~~">
- <location
- file="src/main/java/androidx/camera/extensions/VersionName.java"
- line="39"
- 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 String toVersionString() {"
- errorLine2=" ~~~~~~">
- <location
- file="src/main/java/androidx/camera/extensions/VersionName.java"
- line="56"
- column="12"/>
- </issue>
-
-</issues>
diff --git a/camera/camera-testing/lint-baseline.xml b/camera/camera-testing/lint-baseline.xml
index 3163cc2..d112ce8 100644
--- a/camera/camera-testing/lint-baseline.xml
+++ b/camera/camera-testing/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
@@ -85,7 +85,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/camera/testing/fakes/FakeCameraControl.java"
- line="87"
+ line="86"
column="53"/>
</issue>
diff --git a/camera/camera-video/lint-baseline.xml b/camera/camera-video/lint-baseline.xml
new file mode 100644
index 0000000..c402ac5
--- /dev/null
+++ b/camera/camera-video/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `prepareRecording`"
+ errorLine1=" recorder.prepareRecording(outputOptions)"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/camera/video/RecorderTest.kt"
+ line="300"
+ column="22"/>
+ </issue>
+
+</issues>
diff --git a/camera/camera-view/api/current.txt b/camera/camera-view/api/current.txt
index e9aa22e..a1ecc5d 100644
--- a/camera/camera-view/api/current.txt
+++ b/camera/camera-view/api/current.txt
@@ -80,6 +80,8 @@
method public androidx.lifecycle.LiveData<androidx.camera.view.PreviewView.StreamState!> getPreviewStreamState();
method @UiThread public androidx.camera.view.PreviewView.ScaleType getScaleType();
method @UiThread public androidx.camera.core.Preview.SurfaceProvider getSurfaceProvider();
+ method @UiThread public androidx.camera.core.ViewPort? getViewPort();
+ method @UiThread public androidx.camera.core.ViewPort? getViewPort(int);
method @UiThread public void setController(androidx.camera.view.CameraController?);
method @UiThread public void setImplementationMode(androidx.camera.view.PreviewView.ImplementationMode);
method @UiThread public void setScaleType(androidx.camera.view.PreviewView.ScaleType);
diff --git a/camera/camera-view/api/public_plus_experimental_current.txt b/camera/camera-view/api/public_plus_experimental_current.txt
index 991872b..ab1bd4b 100644
--- a/camera/camera-view/api/public_plus_experimental_current.txt
+++ b/camera/camera-view/api/public_plus_experimental_current.txt
@@ -86,8 +86,8 @@
method public androidx.lifecycle.LiveData<androidx.camera.view.PreviewView.StreamState!> getPreviewStreamState();
method @UiThread public androidx.camera.view.PreviewView.ScaleType getScaleType();
method @UiThread public androidx.camera.core.Preview.SurfaceProvider getSurfaceProvider();
- method @UiThread @androidx.camera.core.ExperimentalUseCaseGroup public androidx.camera.core.ViewPort? getViewPort();
- method @UiThread @androidx.camera.core.ExperimentalUseCaseGroup public androidx.camera.core.ViewPort? getViewPort(int);
+ method @UiThread public androidx.camera.core.ViewPort? getViewPort();
+ method @UiThread public androidx.camera.core.ViewPort? getViewPort(int);
method @UiThread public void setController(androidx.camera.view.CameraController?);
method @UiThread public void setImplementationMode(androidx.camera.view.PreviewView.ImplementationMode);
method @UiThread public void setScaleType(androidx.camera.view.PreviewView.ScaleType);
@@ -126,10 +126,10 @@
public final class CoordinateTransform {
ctor public CoordinateTransform(androidx.camera.view.transform.OutputTransform, androidx.camera.view.transform.OutputTransform);
- method public void getTransform(android.graphics.Matrix);
method public void mapPoint(android.graphics.PointF);
method public void mapPoints(float[]);
method public void mapRect(android.graphics.RectF);
+ method public void transform(android.graphics.Matrix);
}
public final class FileTransformFactory {
diff --git a/camera/camera-view/api/restricted_current.txt b/camera/camera-view/api/restricted_current.txt
index 93845dc..c08e4ed 100644
--- a/camera/camera-view/api/restricted_current.txt
+++ b/camera/camera-view/api/restricted_current.txt
@@ -80,6 +80,8 @@
method public androidx.lifecycle.LiveData<androidx.camera.view.PreviewView.StreamState!> getPreviewStreamState();
method @UiThread public androidx.camera.view.PreviewView.ScaleType getScaleType();
method @UiThread public androidx.camera.core.Preview.SurfaceProvider getSurfaceProvider();
+ method @UiThread public androidx.camera.core.ViewPort? getViewPort();
+ method @UiThread public androidx.camera.core.ViewPort? getViewPort(@androidx.camera.core.impl.ImageOutputConfig.RotationValue int);
method @UiThread public void setController(androidx.camera.view.CameraController?);
method @UiThread public void setImplementationMode(androidx.camera.view.PreviewView.ImplementationMode);
method @UiThread public void setScaleType(androidx.camera.view.PreviewView.ScaleType);
diff --git a/camera/camera-view/src/main/java/androidx/camera/view/PreviewView.java b/camera/camera-view/src/main/java/androidx/camera/view/PreviewView.java
index 720ba9b..37bfd4b 100644
--- a/camera/camera-view/src/main/java/androidx/camera/view/PreviewView.java
+++ b/camera/camera-view/src/main/java/androidx/camera/view/PreviewView.java
@@ -497,7 +497,6 @@
*/
@UiThread
@Nullable
- @ExperimentalUseCaseGroup
public ViewPort getViewPort() {
Threads.checkMainThread();
if (getDisplay() == null) {
@@ -548,7 +547,7 @@
@UiThread
@SuppressLint("WrongConstant")
@Nullable
- @ExperimentalUseCaseGroup
+ @OptIn(markerClass = ExperimentalUseCaseGroup.class)
public ViewPort getViewPort(@ImageOutputConfig.RotationValue int targetRotation) {
Threads.checkMainThread();
if (getWidth() == 0 || getHeight() == 0) {
diff --git a/camera/camera-view/src/main/java/androidx/camera/view/transform/CoordinateTransform.java b/camera/camera-view/src/main/java/androidx/camera/view/transform/CoordinateTransform.java
index 297560a..2410885 100644
--- a/camera/camera-view/src/main/java/androidx/camera/view/transform/CoordinateTransform.java
+++ b/camera/camera-view/src/main/java/androidx/camera/view/transform/CoordinateTransform.java
@@ -97,13 +97,12 @@
}
/**
- * Gets the transform matrix.
+ * Copies the current transform to the specified {@link Matrix}.
*
- * @param matrix a {@link android.graphics.Matrix} that represents the transform from source
- * to target.
+ * @param outMatrix a {@link android.graphics.Matrix} in which to copy the current transform.
*/
- public void getTransform(@NonNull Matrix matrix) {
- matrix.set(mMatrix);
+ public void transform(@NonNull Matrix outMatrix) {
+ outMatrix.set(mMatrix);
}
/**
diff --git a/camera/camera-view/src/test/java/androidx/camera/view/transform/CoordinateTransformTest.kt b/camera/camera-view/src/test/java/androidx/camera/view/transform/CoordinateTransformTest.kt
index 419116c..31153d8 100644
--- a/camera/camera-view/src/test/java/androidx/camera/view/transform/CoordinateTransformTest.kt
+++ b/camera/camera-view/src/test/java/androidx/camera/view/transform/CoordinateTransformTest.kt
@@ -101,7 +101,7 @@
// Set an arbitrary transform so it's no longer identity matrix.
matrix.setRotate(90f)
assertThat(matrix.isIdentity).isFalse()
- transform.getTransform(matrix)
+ transform.transform(matrix)
assertThat(matrix.isIdentity).isTrue()
}
diff --git a/camera/integration-tests/camerapipetestapp/lint-baseline.xml b/camera/integration-tests/camerapipetestapp/lint-baseline.xml
index 6dca65d..b8de2b8 100644
--- a/camera/integration-tests/camerapipetestapp/lint-baseline.xml
+++ b/camera/integration-tests/camerapipetestapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
@@ -12,37 +12,4 @@
column="43"/>
</issue>
- <issue
- id="MissingTestSizeAnnotation"
- message="Missing test size annotation"
- errorLine1=" fun useAppContext() {"
- errorLine2=" ~~~~~~~~~~~~~">
- <location
- file="src/androidTest/java/androidx/camera/integration/camera2/pipe/BasicInstrumentedTest.kt"
- line="35"
- column="9"/>
- </issue>
-
- <issue
- id="PermissionImpliesUnsupportedChromeOsHardware"
- message="Permission exists without corresponding hardware `<uses-feature android:name="android.hardware.camera" required="false">` tag"
- errorLine1=" <uses-permission android:name="android.permission.CAMERA" />"
- errorLine2=" ~~~~~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="19"
- column="6"/>
- </issue>
-
- <issue
- id="PermissionImpliesUnsupportedChromeOsHardware"
- message="Permission exists without corresponding hardware `<uses-feature android:name="android.hardware.camera.autofocus" required="false">` tag"
- errorLine1=" <uses-permission android:name="android.permission.CAMERA" />"
- errorLine2=" ~~~~~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="19"
- column="6"/>
- </issue>
-
</issues>
diff --git a/camera/integration-tests/coretestapp/lint-baseline.xml b/camera/integration-tests/coretestapp/lint-baseline.xml
index b9701dd..4560f89 100644
--- a/camera/integration-tests/coretestapp/lint-baseline.xml
+++ b/camera/integration-tests/coretestapp/lint-baseline.xml
@@ -1,26 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
- id="UnsupportedChromeOsHardware"
- message="Expecting `android:required="false"` for this hardware feature that may not be supported by all Chrome OS devices"
- errorLine1=" <uses-feature android:name="android.hardware.camera" />"
- errorLine2=" ~~~~~~~~~~~~">
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `java.lang.Double#isFinite`"
+ errorLine1=" if (Double.isFinite(actual[i])) {"
+ errorLine2=" ~~~~~~~~">
<location
- file="src/main/AndroidManifest.xml"
- line="22"
- column="6"/>
+ file="src/test/java/androidx/camera/integration/core/FpsRecorderTest.java"
+ line="63"
+ column="24"/>
</issue>
<issue
- id="PermissionImpliesUnsupportedChromeOsHardware"
- message="Permission exists without corresponding hardware `<uses-feature android:name="android.hardware.camera.autofocus" required="false">` tag"
- errorLine1=" <uses-permission android:name="android.permission.CAMERA" />"
- errorLine2=" ~~~~~~~~~~~~~~~">
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `java.lang.Double#isFinite`"
+ errorLine1=" if (Double.isFinite(actual[i])) {"
+ errorLine2=" ~~~~~~~~">
<location
- file="src/main/AndroidManifest.xml"
- line="18"
- column="6"/>
+ file="src/test/java/androidx/camera/integration/core/FpsRecorderTest.java"
+ line="138"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.media.ImageWriter#newInstance`"
+ errorLine1=" imageWriter = ImageWriter.newInstance(surface, 2)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/camera/integration/core/ImageCaptureTest.kt"
+ line="1512"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.media.ImageWriter#queueInputImage`"
+ errorLine1=" imageWriter!!.queueInputImage(imageProxy.image)"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/camera/integration/core/ImageCaptureTest.kt"
+ line="1520"
+ column="31"/>
</issue>
<issue
@@ -30,7 +52,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
- line="182"
+ line="180"
column="13"/>
</issue>
@@ -41,7 +63,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
- line="185"
+ line="183"
column="22"/>
</issue>
@@ -52,7 +74,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
- line="186"
+ line="184"
column="21"/>
</issue>
@@ -63,7 +85,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
- line="384"
+ line="380"
column="25"/>
</issue>
@@ -74,7 +96,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
- line="387"
+ line="383"
column="25"/>
</issue>
@@ -85,7 +107,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
- line="396"
+ line="392"
column="33"/>
</issue>
@@ -96,7 +118,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
- line="405"
+ line="401"
column="45"/>
</issue>
@@ -107,7 +129,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
- line="427"
+ line="423"
column="45"/>
</issue>
diff --git a/camera/integration-tests/extensionstestapp/lint-baseline.xml b/camera/integration-tests/extensionstestapp/lint-baseline.xml
index e773319..4e7aca8 100644
--- a/camera/integration-tests/extensionstestapp/lint-baseline.xml
+++ b/camera/integration-tests/extensionstestapp/lint-baseline.xml
@@ -1,26 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
- id="UnsupportedChromeOsHardware"
- message="Expecting `android:required="false"` for this hardware feature that may not be supported by all Chrome OS devices"
- errorLine1=" <uses-feature android:name="android.hardware.camera" />"
- errorLine2=" ~~~~~~~~~~~~">
+ id="NewApi"
+ message="Call requires API level 29 (current min is 21): `android.os.Handler#hasCallbacks`"
+ errorLine1=" if (!mIdle && !mHandler.hasCallbacks(mRunnable)) {"
+ errorLine2=" ~~~~~~~~~~~~">
<location
- file="src/main/AndroidManifest.xml"
- line="24"
- column="6"/>
- </issue>
-
- <issue
- id="PermissionImpliesUnsupportedChromeOsHardware"
- message="Permission exists without corresponding hardware `<uses-feature android:name="android.hardware.camera.autofocus" required="false">` tag"
- errorLine1=" <uses-permission android:name="android.permission.CAMERA" />"
- errorLine2=" ~~~~~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="20"
- column="6"/>
+ file="src/androidTest/java/androidx/camera/integration/extensions/idlingresource/ViewIdlingResource.java"
+ line="78"
+ column="33"/>
</issue>
<issue
@@ -30,7 +19,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/camera/integration/extensions/CameraExtensionsActivity.java"
- line="281"
+ line="265"
column="29"/>
</issue>
diff --git a/camera/integration-tests/extensionstestlib/lint-baseline.xml b/camera/integration-tests/extensionstestlib/lint-baseline.xml
index 19e17b2..17cd540 100644
--- a/camera/integration-tests/extensionstestlib/lint-baseline.xml
+++ b/camera/integration-tests/extensionstestlib/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/camera/integration-tests/timingtestapp/lint-baseline.xml b/camera/integration-tests/timingtestapp/lint-baseline.xml
index 3a68c2d..56aa960 100644
--- a/camera/integration-tests/timingtestapp/lint-baseline.xml
+++ b/camera/integration-tests/timingtestapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
@@ -19,30 +19,8 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXController.kt"
- line="279"
+ line="282"
column="28"/>
</issue>
- <issue
- id="PermissionImpliesUnsupportedChromeOsHardware"
- message="Permission exists without corresponding hardware `<uses-feature android:name="android.hardware.camera" required="false">` tag"
- errorLine1=" <uses-permission android:name="android.permission.CAMERA" />"
- errorLine2=" ~~~~~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="20"
- column="6"/>
- </issue>
-
- <issue
- id="PermissionImpliesUnsupportedChromeOsHardware"
- message="Permission exists without corresponding hardware `<uses-feature android:name="android.hardware.camera.autofocus" required="false">` tag"
- errorLine1=" <uses-permission android:name="android.permission.CAMERA" />"
- errorLine2=" ~~~~~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="20"
- column="6"/>
- </issue>
-
</issues>
diff --git a/camera/integration-tests/uiwidgetstestapp/lint-baseline.xml b/camera/integration-tests/uiwidgetstestapp/lint-baseline.xml
index f3c0b38..4baa02f 100644
--- a/camera/integration-tests/uiwidgetstestapp/lint-baseline.xml
+++ b/camera/integration-tests/uiwidgetstestapp/lint-baseline.xml
@@ -1,27 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
- <issue
- id="PermissionImpliesUnsupportedChromeOsHardware"
- message="Permission exists without corresponding hardware `<uses-feature android:name="android.hardware.camera" required="false">` tag"
- errorLine1=" <uses-permission android:name="android.permission.CAMERA" />"
- errorLine2=" ~~~~~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="56"
- column="6"/>
- </issue>
-
- <issue
- id="PermissionImpliesUnsupportedChromeOsHardware"
- message="Permission exists without corresponding hardware `<uses-feature android:name="android.hardware.camera.autofocus" required="false">` tag"
- errorLine1=" <uses-permission android:name="android.permission.CAMERA" />"
- errorLine2=" ~~~~~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="56"
- column="6"/>
- </issue>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="SyntheticAccessor"
diff --git a/camera/integration-tests/viewtestapp/lint-baseline.xml b/camera/integration-tests/viewtestapp/lint-baseline.xml
deleted file mode 100644
index 07b6fc0..0000000
--- a/camera/integration-tests/viewtestapp/lint-baseline.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
- <issue
- id="PermissionImpliesUnsupportedChromeOsHardware"
- message="Permission exists without corresponding hardware `<uses-feature android:name="android.hardware.camera" required="false">` tag"
- errorLine1=" <uses-permission android:name="android.permission.CAMERA" />"
- errorLine2=" ~~~~~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="18"
- column="6"/>
- </issue>
-
- <issue
- id="PermissionImpliesUnsupportedChromeOsHardware"
- message="Permission exists without corresponding hardware `<uses-feature android:name="android.hardware.camera.autofocus" required="false">` tag"
- errorLine1=" <uses-permission android:name="android.permission.CAMERA" />"
- errorLine2=" ~~~~~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="18"
- column="6"/>
- </issue>
-
-</issues>
diff --git a/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/TransformFragment.java b/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/TransformFragment.java
index 78b879c..5e6eaa3 100644
--- a/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/TransformFragment.java
+++ b/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/TransformFragment.java
@@ -589,7 +589,7 @@
@NonNull RectF imageProxyTile) {
CoordinateTransform transform = new CoordinateTransform(source, target);
Matrix matrix = new Matrix();
- transform.getTransform(matrix);
+ transform.transform(matrix);
matrix.mapRect(imageProxyTile);
return imageProxyTile;
}
diff --git a/car/app/app-automotive/build.gradle b/car/app/app-automotive/build.gradle
index 0a2212a..54abcc2 100644
--- a/car/app/app-automotive/build.gradle
+++ b/car/app/app-automotive/build.gradle
@@ -41,6 +41,7 @@
testImplementation(libs.robolectric)
testImplementation(libs.truth)
testImplementation("androidx.fragment:fragment-testing:1.2.3")
+ testImplementation project(path: ':car:app:app-testing')
}
android {
diff --git a/car/app/app-automotive/src/main/java/androidx/car/app/hardware/AutomotiveCarHardwareManager.java b/car/app/app-automotive/src/main/java/androidx/car/app/hardware/AutomotiveCarHardwareManager.java
index 7c058d0..1b5f28d 100644
--- a/car/app/app-automotive/src/main/java/androidx/car/app/hardware/AutomotiveCarHardwareManager.java
+++ b/car/app/app-automotive/src/main/java/androidx/car/app/hardware/AutomotiveCarHardwareManager.java
@@ -18,17 +18,20 @@
import static androidx.annotation.RestrictTo.Scope.LIBRARY;
+import static java.util.Objects.requireNonNull;
+
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
+import androidx.car.app.hardware.common.PropertyManager;
import androidx.car.app.hardware.info.AutomotiveCarInfo;
import androidx.car.app.hardware.info.AutomotiveCarSensors;
import androidx.car.app.hardware.info.CarInfo;
import androidx.car.app.hardware.info.CarSensors;
/**
- * {@link CarHardwareManager} which connects to Android Automotive OS to access properties, sensors,
+ * {@link CarHardwareManager} which uses Android Automotive OS APIs to access properties, sensors,
* and actions.
*
* @hide
@@ -39,6 +42,12 @@
private final AutomotiveCarInfo mCarInfo;
private final AutomotiveCarSensors mCarSensors;
+ public AutomotiveCarHardwareManager(@NonNull Context context) {
+ requireNonNull(context);
+ mCarInfo = new AutomotiveCarInfo(new PropertyManager(context));
+ mCarSensors = new AutomotiveCarSensors();
+ }
+
@NonNull
@Override
public CarInfo getCarInfo() {
@@ -50,9 +59,4 @@
public CarSensors getCarSensors() {
return mCarSensors;
}
-
- public AutomotiveCarHardwareManager(@NonNull Context context) {
- mCarInfo = new AutomotiveCarInfo();
- mCarSensors = new AutomotiveCarSensors();
- }
}
diff --git a/car/app/app-automotive/src/main/java/androidx/car/app/hardware/info/AutomotiveCarInfo.java b/car/app/app-automotive/src/main/java/androidx/car/app/hardware/info/AutomotiveCarInfo.java
index c1705f5..fb5f00b 100644
--- a/car/app/app-automotive/src/main/java/androidx/car/app/hardware/info/AutomotiveCarInfo.java
+++ b/car/app/app-automotive/src/main/java/androidx/car/app/hardware/info/AutomotiveCarInfo.java
@@ -15,35 +15,69 @@
*/
package androidx.car.app.hardware.info;
+import static android.car.VehiclePropertyIds.INFO_MAKE;
+import static android.car.VehiclePropertyIds.INFO_MODEL;
+import static android.car.VehiclePropertyIds.INFO_MODEL_YEAR;
+
import static androidx.annotation.RestrictTo.Scope.LIBRARY;
+import static androidx.car.app.activity.LogTags.TAG;
+
+import static java.util.Objects.requireNonNull;
+
+import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
+import androidx.annotation.VisibleForTesting;
+import androidx.car.app.hardware.common.CarPropertyResponse;
+import androidx.car.app.hardware.common.CarValue;
+import androidx.car.app.hardware.common.GetPropertyRequest;
import androidx.car.app.hardware.common.OnCarDataListener;
+import androidx.car.app.hardware.common.PropertyManager;
+import com.google.common.util.concurrent.ListenableFuture;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
/**
- * Manages access to vehicle specific info communication with a car app host.
+ * Manages access to vehicle specific info, for example, energy info, model info.
*
* @hide
*/
@RestrictTo(LIBRARY)
public class AutomotiveCarInfo implements CarInfo {
+ private PropertyManager mPropertyManager;
- public AutomotiveCarInfo() {
+ /**
+ * AutomotiveCarInfo class constructor initializing PropertyWorkManager object.
+ *
+ * @throws NullPointerException if {@code manager} is null
+ */
+ public AutomotiveCarInfo(@NonNull PropertyManager manager) {
+ mPropertyManager = requireNonNull(manager);
}
@Override
public void getModel(@NonNull Executor executor,
@NonNull OnCarDataListener<Model> listener) {
+ // Prepare request GetPropertyRequest
+ List<GetPropertyRequest> request = new ArrayList<>();
+ // Add "make", "model", "year" of the vehicle to the requests.
+ request.add(GetPropertyRequest.create(INFO_MAKE));
+ request.add(GetPropertyRequest.create(INFO_MODEL));
+ request.add(GetPropertyRequest.create(INFO_MODEL_YEAR));
+ ListenableFuture<List<CarPropertyResponse<?>>> future =
+ mPropertyManager.submitGetPropertyRequest(request, executor);
+ populateModelData(executor, listener, future);
}
@Override
public void getEnergyProfile(@NonNull Executor executor,
@NonNull OnCarDataListener<EnergyProfile> listener) {
-
}
@Override
@@ -54,40 +88,75 @@
@Override
public void removeTollListener(@NonNull OnCarDataListener<TollCard> listener) {
-
}
@Override
public void addEnergyLevelListener(@NonNull Executor executor,
@NonNull OnCarDataListener<EnergyLevel> listener) {
-
}
@Override
public void removeEnergyLevelListener(@NonNull OnCarDataListener<EnergyLevel> listener) {
-
}
@Override
public void addSpeedListener(@NonNull Executor executor,
@NonNull OnCarDataListener<Speed> listener) {
-
}
@Override
public void removeSpeedListener(@NonNull OnCarDataListener<Speed> listener) {
-
}
@Override
public void addMileageListener(@NonNull Executor executor,
@NonNull OnCarDataListener<Mileage> listener) {
-
}
@Override
public void removeMileageListener(@NonNull OnCarDataListener<Mileage> listener) {
-
}
+ <T> CarValue<T> getCarValue(Class<T> clazz, CarPropertyResponse<?> response) {
+ T value = clazz.cast(response.getValue());
+ long timeStamp = response.getTimestampMillis();
+ int status = response.getStatus();
+ return new CarValue<>(value, timeStamp, status);
+ }
+
+ @VisibleForTesting
+ void populateModelData(@NonNull Executor executor, OnCarDataListener<Model> listener,
+ ListenableFuture<List<CarPropertyResponse<?>>> future) {
+ future.addListener(() -> {
+ try {
+ List<CarPropertyResponse<?>> result = future.get();
+ CarValue<String> makeValue = CarValue.UNIMPLEMENTED_STRING;
+ CarValue<Integer> yearValue = CarValue.UNIMPLEMENTED_INTEGER;
+ CarValue<String> modelValue = CarValue.UNIMPLEMENTED_STRING;
+ for (CarPropertyResponse<?> value : result) {
+ if (value.getPropertyId() == INFO_MAKE) {
+ makeValue = getCarValue(String.class, value);
+ }
+ if (value.getPropertyId() == INFO_MODEL) {
+ modelValue = getCarValue(String.class, value);
+ }
+ if (value.getPropertyId() == INFO_MODEL_YEAR) {
+ yearValue = getCarValue(Integer.class, value);
+ }
+ }
+ Model model = new Model.Builder().setName(makeValue)
+ .setManufacturer(modelValue)
+ .setYear(yearValue)
+ .build();
+ listener.onCarData(model);
+ } catch (ExecutionException e) {
+ // TODO(b/191084385): Match exception style in {@link CarValue}.
+ Log.e(TAG, "Failed to get CarPropertyResponse", e);
+ } catch (InterruptedException e) {
+ // TODO(b/191084385): Match exception style in {@link CarValue}.
+ Log.e(TAG, "Failed to get CarPropertyResponse", e);
+ Thread.currentThread().interrupt();
+ }
+ }, executor);
+ }
}
diff --git a/car/app/app-automotive/src/test/java/androidx/car/app/hardware/info/AutomotiveCarInfoTest.java b/car/app/app-automotive/src/test/java/androidx/car/app/hardware/info/AutomotiveCarInfoTest.java
new file mode 100644
index 0000000..f938c38
--- /dev/null
+++ b/car/app/app-automotive/src/test/java/androidx/car/app/hardware/info/AutomotiveCarInfoTest.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright 2021 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.car.app.hardware.info;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.car.Car;
+import android.car.VehiclePropertyIds;
+import android.car.hardware.property.CarPropertyManager;
+
+import androidx.car.app.hardware.common.CarPropertyResponse;
+import androidx.car.app.hardware.common.CarValue;
+import androidx.car.app.hardware.common.OnCarDataListener;
+import androidx.car.app.hardware.common.PropertyManager;
+import androidx.car.app.shadows.car.ShadowCar;
+
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.annotation.internal.DoNotInstrument;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicReference;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+ manifest = Config.NONE,
+ shadows = {ShadowCar.class}
+)
+@DoNotInstrument
+public class AutomotiveCarInfoTest {
+ private final List<CarPropertyResponse<?>> mResponse = new ArrayList<>();
+ @Mock
+ ListenableFuture<List<CarPropertyResponse<?>>> mListenableCarPropertyResponse;
+ private CountDownLatch mCountDownLatch = new CountDownLatch(1);
+ private AtomicReference<Model> mLoadedResult = new AtomicReference<>();
+ private Executor mExecutor = Executors.newSingleThreadExecutor();
+ private AutomotiveCarInfo mAutomotiveCarInfo;
+ private OnCarDataListener<Model> mListener;
+ @Mock
+ private Car mCarMock;
+ @Mock
+ private CarPropertyManager mCarPropertyManagerMock;
+ @Mock
+ private PropertyManager mPropertyManager;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ ShadowCar.setCar(mCarMock);
+ when(mCarMock.getCarManager(anyString())).thenReturn(mCarPropertyManagerMock);
+ mAutomotiveCarInfo = new AutomotiveCarInfo(mPropertyManager);
+ // Add "make", "model", "year" values to the response.
+ mResponse.add(CarPropertyResponse.create(VehiclePropertyIds.INFO_MAKE,
+ CarValue.STATUS_SUCCESS, 1, "Speedy "
+ + "Model"));
+ mResponse.add(CarPropertyResponse.create(VehiclePropertyIds.INFO_MODEL,
+ CarValue.STATUS_SUCCESS, 2, "Toy "
+ + "Vehicle"));
+ mResponse.add(CarPropertyResponse.create(VehiclePropertyIds.INFO_MODEL_YEAR,
+ CarValue.STATUS_SUCCESS, 3, 2020));
+ mListenableCarPropertyResponse = Futures.immediateFuture(mResponse);
+ when(mPropertyManager.submitGetPropertyRequest(any(), any())).thenReturn(
+ mListenableCarPropertyResponse);
+ mListener = (data) -> {
+ if (data.getName() != null && data.getManufacturer() != null
+ && data.getYear() != null) {
+ mLoadedResult.set(data);
+ mCountDownLatch.countDown();
+ }
+ };
+ }
+
+ @Test
+ public void getModel_verifyResponse() throws InterruptedException {
+ mAutomotiveCarInfo.getModel(Executors.newFixedThreadPool(1),
+ mListener);
+ verify(mPropertyManager, times(1)).submitGetPropertyRequest(any(), any());
+ mCountDownLatch.await();
+ Model mModel = mLoadedResult.get();
+ assertThat(mModel.getName().getValue()).isEqualTo("Speedy Model");
+ assertThat(mModel.getManufacturer().getValue()).isEqualTo("Toy Vehicle");
+ assertThat(mModel.getYear().getValue()).isEqualTo(2020);
+ assertThat(mModel.getName().getTimestampMillis()).isEqualTo(1);
+ assertThat(mModel.getManufacturer().getTimestampMillis()).isEqualTo(2);
+ assertThat(mModel.getYear().getTimestampMillis()).isEqualTo(3);
+ }
+}
diff --git a/car/app/app-automotive/src/test/java/androidx/car/app/shadows/car/ShadowCar.java b/car/app/app-automotive/src/test/java/androidx/car/app/shadows/car/ShadowCar.java
new file mode 100644
index 0000000..a95033f
--- /dev/null
+++ b/car/app/app-automotive/src/test/java/androidx/car/app/shadows/car/ShadowCar.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2021 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.car.app.shadows.car;
+
+import android.car.Car;
+import android.content.Context;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+/**
+ * Robolectric shadow class for {@link Car}.
+ *
+ * <p>{@link Car} is declared final, so this shadow class allows for mocking and
+ * controlling return values and behavior of the {@link Car} instance.
+ */
+@Implements(Car.class)
+public class ShadowCar {
+ private static Car sCar;
+
+ @Implementation
+ public static Car createCar(Context context) {
+ return sCar;
+ }
+
+ public static void setCar(Car car) {
+ sCar = car;
+ }
+
+ @Implementation
+ public Object getCarManager(String serviceName) {
+ return sCar.getCarManager(serviceName);
+ }
+}
diff --git a/car/app/app-samples/helloworld/mobile/lint-baseline.xml b/car/app/app-samples/helloworld/mobile/lint-baseline.xml
index ce0936b..14802ab 100644
--- a/car/app/app-samples/helloworld/mobile/lint-baseline.xml
+++ b/car/app/app-samples/helloworld/mobile/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="Instantiatable"
diff --git a/car/app/app-samples/navigation/common/lint-baseline.xml b/car/app/app-samples/navigation/common/lint-baseline.xml
index 46c007f..1f16ba2 100644
--- a/car/app/app-samples/navigation/common/lint-baseline.xml
+++ b/car/app/app-samples/navigation/common/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
@@ -8,7 +8,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/sample/navigation/common/car/NavigationCarAppService.java"
- line="106"
+ line="104"
column="21"/>
</issue>
@@ -19,7 +19,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/sample/navigation/common/car/NavigationCarAppService.java"
- line="107"
+ line="105"
column="33"/>
</issue>
@@ -30,7 +30,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/sample/navigation/common/nav/NavigationService.java"
- line="451"
+ line="449"
column="17"/>
</issue>
@@ -41,7 +41,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/sample/navigation/common/nav/NavigationService.java"
- line="452"
+ line="450"
column="26"/>
</issue>
@@ -52,7 +52,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/car/app/sample/navigation/common/nav/NavigationService.java"
- line="453"
+ line="451"
column="26"/>
</issue>
@@ -63,7 +63,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/sample/navigation/common/nav/NavigationService.java"
- line="466"
+ line="464"
column="38"/>
</issue>
@@ -74,7 +74,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/sample/navigation/common/nav/NavigationService.java"
- line="471"
+ line="469"
column="26"/>
</issue>
@@ -85,7 +85,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/sample/navigation/common/nav/NavigationService.java"
- line="488"
+ line="486"
column="26"/>
</issue>
@@ -96,7 +96,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/sample/navigation/common/nav/NavigationService.java"
- line="505"
+ line="502"
column="21"/>
</issue>
@@ -107,7 +107,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/sample/navigation/common/nav/NavigationService.java"
- line="506"
+ line="503"
column="34"/>
</issue>
diff --git a/car/app/app-samples/navigation/mobile/lint-baseline.xml b/car/app/app-samples/navigation/mobile/lint-baseline.xml
index d8758e0..1f71361 100644
--- a/car/app/app-samples/navigation/mobile/lint-baseline.xml
+++ b/car/app/app-samples/navigation/mobile/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="Instantiatable"
diff --git a/car/app/app-samples/places/mobile/lint-baseline.xml b/car/app/app-samples/places/mobile/lint-baseline.xml
index 81bc66c..ea00bc2 100644
--- a/car/app/app-samples/places/mobile/lint-baseline.xml
+++ b/car/app/app-samples/places/mobile/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="Instantiatable"
diff --git a/car/app/app-samples/showcase/automotive/lint-baseline.xml b/car/app/app-samples/showcase/automotive/lint-baseline.xml
deleted file mode 100644
index 4653593..0000000
--- a/car/app/app-samples/showcase/automotive/lint-baseline.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
- <issue
- id="Instantiatable"
- message="`DelayedFileProvider` must extend android.content.ContentProvider"
- errorLine1=" android:name="androidx.car.app.sample.showcase.common.textandicons.DelayedFileProvider""
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="74"
- column="23"/>
- </issue>
-
-</issues>
diff --git a/car/app/app-samples/showcase/common/lint-baseline.xml b/car/app/app-samples/showcase/common/lint-baseline.xml
index f8d21eaf..34ce884 100644
--- a/car/app/app-samples/showcase/common/lint-baseline.xml
+++ b/car/app/app-samples/showcase/common/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/car/app/app-samples/showcase/mobile/lint-baseline.xml b/car/app/app-samples/showcase/mobile/lint-baseline.xml
index b47a401..51b60eb 100644
--- a/car/app/app-samples/showcase/mobile/lint-baseline.xml
+++ b/car/app/app-samples/showcase/mobile/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="Instantiatable"
diff --git a/car/app/app-testing/lint-baseline.xml b/car/app/app-testing/lint-baseline.xml
new file mode 100644
index 0000000..a412c08
--- /dev/null
+++ b/car/app/app-testing/lint-baseline.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#ofMinutes`"
+ errorLine1=" "US/Pacific")).setRemainingTime(Duration.ofMinutes(1)).build();"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/testing/navigation/TestNavigationManagerTest.java"
+ line="73"
+ column="74"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `setRemainingTime`"
+ errorLine1=" "US/Pacific")).setRemainingTime(Duration.ofMinutes(1)).build();"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/testing/navigation/TestNavigationManagerTest.java"
+ line="73"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#ofHours`"
+ errorLine1=" "US/Pacific")).setRemainingTime(Duration.ofHours(1)).build();"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/testing/navigation/TestNavigationManagerTest.java"
+ line="78"
+ column="74"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `setRemainingTime`"
+ errorLine1=" "US/Pacific")).setRemainingTime(Duration.ofHours(1)).build();"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/testing/navigation/TestNavigationManagerTest.java"
+ line="78"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#ofMinutes`"
+ errorLine1=" "US/Pacific")).setRemainingTime(Duration.ofMinutes(2)).build();"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/testing/navigation/TestNavigationManagerTest.java"
+ line="105"
+ column="74"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `setRemainingTime`"
+ errorLine1=" "US/Pacific")).setRemainingTime(Duration.ofMinutes(2)).build();"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/testing/navigation/TestNavigationManagerTest.java"
+ line="105"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#ofHours`"
+ errorLine1=" "US/Pacific")).setRemainingTime(Duration.ofHours(2)).build();"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/testing/navigation/TestNavigationManagerTest.java"
+ line="110"
+ column="74"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `setRemainingTime`"
+ errorLine1=" "US/Pacific")).setRemainingTime(Duration.ofHours(2)).build();"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/testing/navigation/TestNavigationManagerTest.java"
+ line="110"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#ofMinutes`"
+ errorLine1=" "US/Pacific")).setRemainingTime(Duration.ofMinutes(3)).build();"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/testing/navigation/TestNavigationManagerTest.java"
+ line="126"
+ column="74"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `setRemainingTime`"
+ errorLine1=" "US/Pacific")).setRemainingTime(Duration.ofMinutes(3)).build();"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/testing/navigation/TestNavigationManagerTest.java"
+ line="126"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#ofHours`"
+ errorLine1=" "US/Pacific")).setRemainingTime(Duration.ofHours(3)).build();"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/testing/navigation/TestNavigationManagerTest.java"
+ line="131"
+ column="74"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `setRemainingTime`"
+ errorLine1=" "US/Pacific")).setRemainingTime(Duration.ofHours(3)).build();"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/testing/navigation/TestNavigationManagerTest.java"
+ line="131"
+ column="48"/>
+ </issue>
+
+</issues>
diff --git a/car/app/app/lint-baseline.xml b/car/app/app/lint-baseline.xml
index 785bf57..0ba9e06 100644
--- a/car/app/app/lint-baseline.xml
+++ b/car/app/app/lint-baseline.xml
@@ -1,9 +1,460 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 23): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertThat(actions.get(0).getIcon().getResId()).isEqualTo(icon1);"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/notification/CarAppExtenderTest.java"
+ line="209"
+ column="45"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 23): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertThat(actions.get(1).getIcon().getResId()).isEqualTo(icon2);"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/notification/CarAppExtenderTest.java"
+ line="212"
+ column="45"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `android.content.res.Configuration#getLocales`"
+ errorLine1=" assertThat(mCarContext.getResources().getConfiguration().getLocales().get(0))"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/CarAppServiceTest.java"
+ line="212"
+ column="66"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `android.os.LocaleList#get`"
+ errorLine1=" assertThat(mCarContext.getResources().getConfiguration().getLocales().get(0))"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/car/app/CarAppServiceTest.java"
+ line="212"
+ column="79"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `android.content.res.Configuration#getLocales`"
+ errorLine1=" assertThat(mCarContext.getResources().getConfiguration().getLocales().get(0))"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/CarAppServiceTest.java"
+ line="275"
+ column="66"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `android.os.LocaleList#get`"
+ errorLine1=" assertThat(mCarContext.getResources().getConfiguration().getLocales().get(0))"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/car/app/CarAppServiceTest.java"
+ line="275"
+ column="79"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `android.content.res.Configuration#getLocales`"
+ errorLine1=" assertThat(mCarContext.getResources().getConfiguration().getLocales().get(0))"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/CarContextTest.java"
+ line="224"
+ column="66"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `android.os.LocaleList#get`"
+ errorLine1=" assertThat(mCarContext.getResources().getConfiguration().getLocales().get(0))"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/car/app/CarContextTest.java"
+ line="224"
+ column="79"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `android.app.Notification#getChannelId`"
+ errorLine1=" assertThat(changed.getChannelId()).isEqualTo(EXTENDED_CHANNEL);"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/notification/CarNotificationManagerTest.java"
+ line="112"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `android.app.Notification#getChannelId`"
+ errorLine1=" assertThat(output.getChannelId()).isEqualTo(DEFAULT_CHANNEL);"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/notification/CarNotificationManagerTest.java"
+ line="137"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `android.app.Notification#getChannelId`"
+ errorLine1=" assertThat(output.getChannelId()).isEqualTo(DEFAULT_CHANNEL);"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/notification/CarNotificationManagerTest.java"
+ line="165"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.ZonedDateTime#parse`"
+ errorLine1=" ZonedDateTime zonedDateTime = ZonedDateTime.parse("2020-05-14T19:57:00-07:00[US/Pacific]");"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"
+ line="135"
+ column="53"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `create`"
+ errorLine1=" DateTimeWithZone dateTimeWithZone = DateTimeWithZone.create(zonedDateTime);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"
+ line="136"
+ column="62"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `assertDateTimeWithZoneEquals`"
+ errorLine1=" assertDateTimeWithZoneEquals(zonedDateTime, dateTimeWithZone);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"
+ line="138"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `create`"
+ errorLine1=" DateTimeWithZone.create(null);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"
+ line="147"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#getSeconds`"
+ errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"
+ line="156"
+ column="77"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#ofMillis`"
+ errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"
+ line="156"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#getSeconds`"
+ errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"
+ line="174"
+ column="77"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#ofMillis`"
+ errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"
+ line="174"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#getSeconds`"
+ errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"
+ line="193"
+ column="77"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#ofMillis`"
+ errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"
+ line="193"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#getSeconds`"
+ errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"
+ line="212"
+ column="77"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#ofMillis`"
+ errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"
+ line="212"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `java.util.Collection#stream`"
+ errorLine1=" .stream()"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/validation/HostValidatorTest.java"
+ line="132"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `java.util.stream.Stream#mapToLong`"
+ errorLine1=" .mapToLong(List::size)"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/validation/HostValidatorTest.java"
+ line="133"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `java.util.stream.LongStream#sum`"
+ errorLine1=" .sum()).isEqualTo(6);"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/car/app/validation/HostValidatorTest.java"
+ line="134"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 28 (current min is 23): `android.content.pm.SigningInfo`"
+ errorLine1=" packageInfo.signingInfo = mock(SigningInfo.class);"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/validation/HostValidatorTestApi28.java"
+ line="108"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 28 (current min is 23): `android.content.pm.PackageInfo#signingInfo`"
+ errorLine1=" packageInfo.signingInfo = mock(SigningInfo.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/validation/HostValidatorTestApi28.java"
+ line="108"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 23): `android.content.pm.SigningInfo#getSigningCertificateHistory`"
+ errorLine1=" when(packageInfo.signingInfo.getSigningCertificateHistory()).thenReturn(signatures);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/validation/HostValidatorTestApi28.java"
+ line="109"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 28 (current min is 23): `android.content.pm.PackageInfo#signingInfo`"
+ errorLine1=" when(packageInfo.signingInfo.getSigningCertificateHistory()).thenReturn(signatures);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/validation/HostValidatorTestApi28.java"
+ line="109"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.ZonedDateTime#parse`"
+ errorLine1=" ZonedDateTime arrivalTime = ZonedDateTime.parse("2020-05-14T19:57:00-07:00[US/Pacific]");"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"
+ line="69"
+ column="51"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#ofHours`"
+ errorLine1=" Duration remainingTime = Duration.ofHours(10);"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"
+ line="70"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `Builder`"
+ errorLine1=" new TravelEstimate.Builder(mRemainingDistance, arrivalTime).setRemainingTime("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"
+ line="73"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `setRemainingTime`"
+ errorLine1=" new TravelEstimate.Builder(mRemainingDistance, arrivalTime).setRemainingTime("
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"
+ line="73"
+ column="77"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#getSeconds`"
+ errorLine1=" assertThat(travelEstimate.getRemainingTimeSeconds()).isEqualTo(remainingTime.getSeconds());"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"
+ line="77"
+ column="86"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `assertDateTimeWithZoneEquals`"
+ errorLine1=" assertDateTimeWithZoneEquals(arrivalTime, travelEstimate.getArrivalTimeAtDestination());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"
+ line="78"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.ZonedDateTime#parse`"
+ errorLine1=" ZonedDateTime arrivalTime = ZonedDateTime.parse("2020-05-14T19:57:00-07:00[US/Pacific]");"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"
+ line="115"
+ column="51"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `Builder`"
+ errorLine1=" new TravelEstimate.Builder("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"
+ line="119"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `setRemainingTime`"
+ errorLine1=" remainingDistance, arrivalTime).setRemainingTime("
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"
+ line="120"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `java.time.Duration#ofSeconds`"
+ errorLine1=" Duration.ofSeconds(REMAINING_TIME_UNKNOWN)).build();"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"
+ line="121"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 23): `assertDateTimeWithZoneEquals`"
+ errorLine1=" assertDateTimeWithZoneEquals(arrivalTime, travelEstimate.getArrivalTimeAtDestination());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"
+ line="125"
+ column="9"/>
+ </issue>
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" enumName = (String) nameMethod.invoke(obj);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -14,7 +465,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" Object obj = converter.invoke(null, binder);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -25,7 +476,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" return nameMethod.invoke(null, enumName);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
diff --git a/collection/collection/lint-baseline.xml b/collection/collection/lint-baseline.xml
index 6d3f9db..5769268 100644
--- a/collection/collection/lint-baseline.xml
+++ b/collection/collection/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanSynchronizedMethods"
diff --git a/compose/animation/animation-core/lint-baseline.xml b/compose/animation/animation-core/lint-baseline.xml
new file mode 100644
index 0000000..94fd5e3
--- /dev/null
+++ b/compose/animation/animation-core/lint-baseline.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `java.lang.Long#max`"
+ errorLine1=" val duration = max("
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/compose/animation/core/AnimationTest.kt"
+ line="285"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `java.lang.Long#max`"
+ errorLine1=" max("
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/compose/animation/core/AnimationTest.kt"
+ line="287"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `java.util.Collection#parallelStream`"
+ errorLine1=" testCases.parallelStream().forEach {"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/compose/animation/core/SpringEstimationTest.kt"
+ line="54"
+ column="19"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `java.util.stream.Stream#forEach`"
+ errorLine1=" testCases.parallelStream().forEach {"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/test/java/androidx/compose/animation/core/SpringEstimationTest.kt"
+ line="54"
+ column="36"/>
+ </issue>
+
+</issues>
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/VersionChecker.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/VersionChecker.kt
index fb97b07..54cc9eb 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/VersionChecker.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/VersionChecker.kt
@@ -45,20 +45,21 @@
2800 to "1.0.0-beta07",
2900 to "1.0.0-beta08",
3000 to "1.0.0-beta09",
- 3100 to "1.0.0-beta10",
+ 3100 to "1.0.0-rc01",
+ 4000 to "1.1.0-alpha01",
)
/**
* The minimum version int that this compiler is guaranteed to be compatible with. Typically
* this will match the version int that is in ComposeVersion.kt in the runtime.
*/
- private val minimumRuntimeVersionInt: Int = 3100
+ private val minimumRuntimeVersionInt: Int = 4000
/**
* The maven version string of this compiler. This string should be updated before/after every
* release.
*/
- val compilerVersion: String = "1.0.0-beta10"
+ val compilerVersion: String = "1.1.0-alpha01"
private val minimumRuntimeVersion: String
get() = versionTable[minimumRuntimeVersionInt] ?: "unknown"
}
diff --git a/compose/foundation/foundation-layout/lint-baseline.xml b/compose/foundation/foundation-layout/lint-baseline.xml
new file mode 100644
index 0000000..8d64150
--- /dev/null
+++ b/compose/foundation/foundation-layout/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `waitAndScreenShot`"
+ errorLine1=" val bitmap = activityTestRule.waitAndScreenShot()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/BoxWithConstraintsTest.kt"
+ line="673"
+ column="39"/>
+ </issue>
+
+</issues>
diff --git a/compose/foundation/foundation/lint-baseline.xml b/compose/foundation/foundation/lint-baseline.xml
new file mode 100644
index 0000000..78df605
--- /dev/null
+++ b/compose/foundation/foundation/lint-baseline.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 21): `isSoftwareKeyboardShown`"
+ errorLine1=" if (view.isSoftwareKeyboardShown()) {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSoftKeyboardTest.kt"
+ line="183"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 21): `hideKeyboard`"
+ errorLine1=" view.hideKeyboard()"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSoftKeyboardTest.kt"
+ line="184"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 21): `isSoftwareKeyboardShown`"
+ errorLine1=" view.waitUntil(timeout) { !view.isSoftwareKeyboardShown() }"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSoftKeyboardTest.kt"
+ line="185"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 21): `android.view.View#setWindowInsetsAnimationCallback`"
+ errorLine1=" rootView.setWindowInsetsAnimationCallback("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSoftKeyboardTest.kt"
+ line="193"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 21): `InsetAnimationCallback`"
+ errorLine1=" InsetAnimationCallback {"
+ errorLine2=" ^">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSoftKeyboardTest.kt"
+ line="194"
+ column="9"/>
+ </issue>
+
+</issues>
diff --git a/compose/integration-tests/docs-snippets/build.gradle b/compose/integration-tests/docs-snippets/build.gradle
index 2d3862e..7c756ac 100644
--- a/compose/integration-tests/docs-snippets/build.gradle
+++ b/compose/integration-tests/docs-snippets/build.gradle
@@ -35,7 +35,7 @@
implementation(project(":compose:runtime:runtime-livedata"))
implementation(project(":compose:ui:ui-graphics"))
implementation(project(":compose:ui:ui-test-junit4"))
- implementation(project(":compose:ui:ui-tooling"))
+ implementation(project(":compose:ui:ui-tooling-preview"))
implementation(project(":compose:ui:ui-viewbinding"))
implementation(project(":navigation:navigation-compose"))
implementation(project(":activity:activity-compose"))
diff --git a/compose/integration-tests/macrobenchmark/lint-baseline.xml b/compose/integration-tests/macrobenchmark/lint-baseline.xml
new file mode 100644
index 0000000..86830d6
--- /dev/null
+++ b/compose/integration-tests/macrobenchmark/lint-baseline.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
+ errorLine1=" val benchmarkRule = MacrobenchmarkRule()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/compose/integration/macrobenchmark/IoSettingsStartupBenchmark.kt"
+ line="37"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `measureStartup`"
+ errorLine1=" fun startup() = benchmarkRule.measureStartup("
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/compose/integration/macrobenchmark/IoSettingsStartupBenchmark.kt"
+ line="40"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
+ errorLine1=" val benchmarkRule = MacrobenchmarkRule()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/compose/integration/macrobenchmark/NestedListsScrollBenchmark.kt"
+ line="42"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `measureRepeated`"
+ errorLine1=" benchmarkRule.measureRepeated("
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/compose/integration/macrobenchmark/NestedListsScrollBenchmark.kt"
+ line="54"
+ column="23"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
+ errorLine1=" val benchmarkRule = MacrobenchmarkRule()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/compose/integration/macrobenchmark/SmallListStartupBenchmark.kt"
+ line="37"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `measureStartup`"
+ errorLine1=" fun startup() = benchmarkRule.measureStartup("
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/compose/integration/macrobenchmark/SmallListStartupBenchmark.kt"
+ line="40"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
+ errorLine1=" val benchmarkRule = MacrobenchmarkRule()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialListScrollBenchmark.kt"
+ line="42"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `measureRepeated`"
+ errorLine1=" benchmarkRule.measureRepeated("
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialListScrollBenchmark.kt"
+ line="54"
+ column="23"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
+ errorLine1=" val benchmarkRule = MacrobenchmarkRule()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialStartupBenchmark.kt"
+ line="37"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `measureStartup`"
+ errorLine1=" fun startup() = benchmarkRule.measureStartup("
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialStartupBenchmark.kt"
+ line="40"
+ column="35"/>
+ </issue>
+
+</issues>
diff --git a/compose/material/material/lint-baseline.xml b/compose/material/material/lint-baseline.xml
new file mode 100644
index 0000000..b0b67ac
--- /dev/null
+++ b/compose/material/material/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/material/BadgeTest.kt"
+ line="125"
+ column="14"/>
+ </issue>
+
+</issues>
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/OutlinedTextFieldTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/OutlinedTextFieldTest.kt
index e607dd0..8980737 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/OutlinedTextFieldTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/OutlinedTextFieldTest.kt
@@ -964,6 +964,27 @@
}
@Test
+ @SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
+ fun testOutlinedTextField_appliesBackgroundColor() {
+ rule.setMaterialContent {
+ OutlinedTextField(
+ value = "",
+ onValueChange = {},
+ modifier = Modifier.testTag(TextfieldTag),
+ colors = TextFieldDefaults.outlinedTextFieldColors(
+ backgroundColor = Color.Red,
+ unfocusedBorderColor = Color.Red
+ ),
+ shape = RectangleShape
+ )
+ }
+
+ rule.onNodeWithTag(TextfieldTag).captureToImage().assertPixels {
+ Color.Red
+ }
+ }
+
+ @Test
fun testOutlinedTextField_doesNotCrash_columnWidthWithMinIntrinsics() {
var textFieldSize: IntSize? = null
var dividerSize: IntSize? = null
diff --git a/compose/material/material/src/androidMain/kotlin/androidx/compose/material/AndroidAlertDialog.android.kt b/compose/material/material/src/androidMain/kotlin/androidx/compose/material/AndroidAlertDialog.android.kt
index e753449..9042e78 100644
--- a/compose/material/material/src/androidMain/kotlin/androidx/compose/material/AndroidAlertDialog.android.kt
+++ b/compose/material/material/src/androidMain/kotlin/androidx/compose/material/AndroidAlertDialog.android.kt
@@ -52,9 +52,9 @@
* any events for this button so they need to be set up by the caller.
* @param title The title of the Dialog which should specify the purpose of the Dialog. The title
* is not mandatory, because there may be sufficient information inside the [text]. Provided text
- * style will be [Typography.h6].
+ * style will be [Typography.subtitle1].
* @param text The text which presents the details regarding the Dialog's purpose. Provided text
- * style will be [Typography.body1].
+ * style will be [Typography.body2].
* @param shape Defines the Dialog's shape
* @param backgroundColor The background color of the dialog.
* @param contentColor The preferred content color provided by this dialog to its children.
@@ -114,9 +114,9 @@
* @param modifier Modifier to be applied to the layout of the dialog.
* @param title The title of the Dialog which should specify the purpose of the Dialog. The title
* is not mandatory, because there may be sufficient information inside the [text]. Provided text
- * style will be [Typography.h6].
+ * style will be [Typography.subtitle1].
* @param text The text which presents the details regarding the Dialog's purpose. Provided text
- * style will be [Typography.body1].
+ * style will be [Typography.body2].
* @param shape Defines the Dialog's shape.
* @param backgroundColor The background color of the dialog.
* @param contentColor The preferred content color provided by this dialog to its children.
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt
index a5e1b53..add31f6 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt
@@ -16,6 +16,7 @@
package androidx.compose.material
+import androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.interaction.Interaction
import androidx.compose.foundation.interaction.MutableInteractionSource
@@ -308,6 +309,7 @@
indicatorWidth: Dp,
indicatorColor: Color,
cursorColor: Color,
+ backgroundColor: Color,
shape: Shape
) {
val labelSize = remember { mutableStateOf(Size.Zero) }
@@ -323,8 +325,9 @@
)
.defaultMinSize(
minWidth = MinWidth,
- minHeight = MinHeight,
- ),
+ minHeight = MinHeight
+ )
+ .background(backgroundColor, shape),
onValueChange = onValueChange,
enabled = enabled,
readOnly = readOnly,
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt
index 65913b9..a50a6d2 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt
@@ -194,6 +194,7 @@
indicatorColor =
colors.indicatorColor(enabled, isError, interactionSource).value,
shape = shape,
+ backgroundColor = colors.backgroundColor(enabled).value,
cursorColor = colors.cursorColor(isError).value
)
}
diff --git a/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopAlertDialog.desktop.kt b/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopAlertDialog.desktop.kt
index b077db6..fecc83d 100644
--- a/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopAlertDialog.desktop.kt
+++ b/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopAlertDialog.desktop.kt
@@ -48,9 +48,9 @@
* any events for this button so they need to be set up by the caller.
* @param title The title of the Dialog which should specify the purpose of the Dialog. The title
* is not mandatory, because there may be sufficient information inside the [text]. Provided text
- * style will be [Typography.h6].
+ * style will be [Typography.subtitle1].
* @param text The text which presents the details regarding the Dialog's purpose. Provided text
- * style will be [Typography.body1].
+ * style will be [Typography.body2].
* @param shape Defines the Dialog's shape
* @param backgroundColor The background color of the dialog.
* @param contentColor The preferred content color provided by this dialog to its children.
@@ -106,9 +106,9 @@
* @param modifier Modifier to be applied to the layout of the dialog.
* @param title The title of the Dialog which should specify the purpose of the Dialog. The title
* is not mandatory, because there may be sufficient information inside the [text]. Provided text
- * style will be [Typography.h6].
+ * style will be [Typography.subtitle1].
* @param text The text which presents the details regarding the Dialog's purpose. Provided text
- * style will be [Typography.body1].
+ * style will be [Typography.body2].
* @param shape Defines the Dialog's shape.
* @param backgroundColor The background color of the dialog.
* @param contentColor The preferred content color provided by this dialog to its children.
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ComposeVersion.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ComposeVersion.kt
index 78b5389..6e80fa41 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ComposeVersion.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ComposeVersion.kt
@@ -28,5 +28,5 @@
* IMPORTANT: Whenever updating this value, please make sure to also update `versionTable` and
* `minimumRuntimeVersionInt` in `VersionChecker.kt` of the compiler.
*/
- const val version: Int = 3100
+ const val version: Int = 4000
}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composer.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composer.kt
index cf8ee96..864628b 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composer.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composer.kt
@@ -326,9 +326,13 @@
/**
* A Compose compiler plugin API. DO NOT call directly.
*
- * This is the instance that changes that are calculated by the composer will be played to.
- * During while invoking [Composable] functions none of the [applier] methods are called.
- * The changes are made in a batch after the all [Composable] functions have completed.
+ * Changes calculated and recorded during composition and are sent to [applier] which makes
+ * the physical changes to the node tree implied by a composition.
+ *
+ * Composition has two discrete phases, 1) calculate and record changes and 2) making the
+ * changes via the [applier]. While a [Composable] functions is executing, none of the
+ * [applier] methods are called. The recorded changes are sent to the [applier] all at once
+ * after all [Composable] functions have completed.
*/
@ComposeCompilerApi
val applier: Applier<*>
diff --git a/compose/ui/ui-text/benchmark/lint-baseline.xml b/compose/ui/ui-text/benchmark/lint-baseline.xml
index 029c0d9..00ea318 100644
--- a/compose/ui/ui-text/benchmark/lint-baseline.xml
+++ b/compose/ui/ui-text/benchmark/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha01" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha01">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanUncheckedReflection"
diff --git a/compose/ui/ui-text/lint-baseline.xml b/compose/ui/ui-text/lint-baseline.xml
new file mode 100644
index 0000000..78070ef
--- /dev/null
+++ b/compose/ui/ui-text/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `Font`"
+ errorLine1=" val font = Font(ParcelFileDescriptor.dup(inputStream.fd)) as AndroidFont"
+ errorLine2=" ~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/AndroidFontTest.kt"
+ line="85"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `Font`"
+ errorLine1=" val fontFamily = Font(ParcelFileDescriptor.dup(inputStream.fd)).toFontFamily()"
+ errorLine2=" ~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TypefaceAdapterFileTest.kt"
+ line="107"
+ column="30"/>
+ </issue>
+
+</issues>
diff --git a/compose/ui/ui-tooling-preview/OWNERS b/compose/ui/ui-tooling-preview/OWNERS
new file mode 100644
index 0000000..7e888c71
--- /dev/null
+++ b/compose/ui/ui-tooling-preview/OWNERS
@@ -0,0 +1,2 @@
+amaurym@google.com
+diegoperez@google.com
\ No newline at end of file
diff --git a/compose/ui/ui-tooling-preview/api/1.0.0-beta10.txt b/compose/ui/ui-tooling-preview/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..6500942
--- /dev/null
+++ b/compose/ui/ui-tooling-preview/api/1.0.0-beta10.txt
@@ -0,0 +1,91 @@
+// Signature format: 4.0
+package androidx.compose.ui.tooling.preview {
+
+ public final class Devices {
+ field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
+ field public static final String DEFAULT = "";
+ field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
+ field public static final String NEXUS_10 = "name:Nexus 10";
+ field public static final String NEXUS_5 = "id:Nexus 5";
+ field public static final String NEXUS_5X = "id:Nexus 5X";
+ field public static final String NEXUS_6 = "id:Nexus 6";
+ field public static final String NEXUS_6P = "id:Nexus 6P";
+ field public static final String NEXUS_7 = "id:Nexus 7";
+ field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
+ field public static final String NEXUS_9 = "id:Nexus 9";
+ field public static final String PIXEL = "id:pixel";
+ field public static final String PIXEL_2 = "id:pixel_2";
+ field public static final String PIXEL_2_XL = "id:pixel_2_xl";
+ field public static final String PIXEL_3 = "id:pixel_3";
+ field public static final String PIXEL_3A = "id:pixel_3a";
+ field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
+ field public static final String PIXEL_3_XL = "id:pixel_3_xl";
+ field public static final String PIXEL_4 = "id:pixel_4";
+ field public static final String PIXEL_4_XL = "id:pixel_4_xl";
+ field public static final String PIXEL_C = "id:pixel_c";
+ field public static final String PIXEL_XL = "id:pixel_xl";
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
+ method public abstract int apiLevel() default -1;
+ method public abstract long backgroundColor() default 0L;
+ method public abstract String device() default "";
+ method public abstract float fontScale() default 1.0f;
+ method public abstract String group() default "";
+ method public abstract int heightDp() default -1;
+ method public abstract String locale() default "";
+ method public abstract String name() default "";
+ method public abstract boolean showBackground() default false;
+ method public abstract boolean showSystemUi() default false;
+ method public abstract int uiMode() default 0;
+ method public abstract int widthDp() default -1;
+ property public abstract int apiLevel;
+ property public abstract long backgroundColor;
+ property public abstract String device;
+ property public abstract float fontScale;
+ property public abstract String group;
+ property public abstract int heightDp;
+ property public abstract String locale;
+ property public abstract String name;
+ property public abstract boolean showBackground;
+ property public abstract boolean showSystemUi;
+ property public abstract int uiMode;
+ property public abstract int widthDp;
+ }
+
+ @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
+ method public abstract int limit() default 2147483647;
+ method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
+ property public abstract int limit;
+ property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
+ }
+
+ public interface PreviewParameterProvider<T> {
+ method public default int getCount();
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public default int count;
+ property public abstract kotlin.sequences.Sequence<T> values;
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview.datasource {
+
+ public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
+ ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public kotlin.sequences.Sequence<T> values;
+ }
+
+ public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
+ ctor public LoremIpsum(int words);
+ ctor public LoremIpsum();
+ method public kotlin.sequences.Sequence<java.lang.String> getValues();
+ property public kotlin.sequences.Sequence<java.lang.String> values;
+ }
+
+ public final class LoremIpsumKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-tooling-preview/api/current.txt b/compose/ui/ui-tooling-preview/api/current.txt
new file mode 100644
index 0000000..6500942
--- /dev/null
+++ b/compose/ui/ui-tooling-preview/api/current.txt
@@ -0,0 +1,91 @@
+// Signature format: 4.0
+package androidx.compose.ui.tooling.preview {
+
+ public final class Devices {
+ field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
+ field public static final String DEFAULT = "";
+ field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
+ field public static final String NEXUS_10 = "name:Nexus 10";
+ field public static final String NEXUS_5 = "id:Nexus 5";
+ field public static final String NEXUS_5X = "id:Nexus 5X";
+ field public static final String NEXUS_6 = "id:Nexus 6";
+ field public static final String NEXUS_6P = "id:Nexus 6P";
+ field public static final String NEXUS_7 = "id:Nexus 7";
+ field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
+ field public static final String NEXUS_9 = "id:Nexus 9";
+ field public static final String PIXEL = "id:pixel";
+ field public static final String PIXEL_2 = "id:pixel_2";
+ field public static final String PIXEL_2_XL = "id:pixel_2_xl";
+ field public static final String PIXEL_3 = "id:pixel_3";
+ field public static final String PIXEL_3A = "id:pixel_3a";
+ field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
+ field public static final String PIXEL_3_XL = "id:pixel_3_xl";
+ field public static final String PIXEL_4 = "id:pixel_4";
+ field public static final String PIXEL_4_XL = "id:pixel_4_xl";
+ field public static final String PIXEL_C = "id:pixel_c";
+ field public static final String PIXEL_XL = "id:pixel_xl";
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
+ method public abstract int apiLevel() default -1;
+ method public abstract long backgroundColor() default 0L;
+ method public abstract String device() default "";
+ method public abstract float fontScale() default 1.0f;
+ method public abstract String group() default "";
+ method public abstract int heightDp() default -1;
+ method public abstract String locale() default "";
+ method public abstract String name() default "";
+ method public abstract boolean showBackground() default false;
+ method public abstract boolean showSystemUi() default false;
+ method public abstract int uiMode() default 0;
+ method public abstract int widthDp() default -1;
+ property public abstract int apiLevel;
+ property public abstract long backgroundColor;
+ property public abstract String device;
+ property public abstract float fontScale;
+ property public abstract String group;
+ property public abstract int heightDp;
+ property public abstract String locale;
+ property public abstract String name;
+ property public abstract boolean showBackground;
+ property public abstract boolean showSystemUi;
+ property public abstract int uiMode;
+ property public abstract int widthDp;
+ }
+
+ @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
+ method public abstract int limit() default 2147483647;
+ method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
+ property public abstract int limit;
+ property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
+ }
+
+ public interface PreviewParameterProvider<T> {
+ method public default int getCount();
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public default int count;
+ property public abstract kotlin.sequences.Sequence<T> values;
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview.datasource {
+
+ public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
+ ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public kotlin.sequences.Sequence<T> values;
+ }
+
+ public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
+ ctor public LoremIpsum(int words);
+ ctor public LoremIpsum();
+ method public kotlin.sequences.Sequence<java.lang.String> getValues();
+ property public kotlin.sequences.Sequence<java.lang.String> values;
+ }
+
+ public final class LoremIpsumKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-tooling-preview/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-tooling-preview/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..6500942
--- /dev/null
+++ b/compose/ui/ui-tooling-preview/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,91 @@
+// Signature format: 4.0
+package androidx.compose.ui.tooling.preview {
+
+ public final class Devices {
+ field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
+ field public static final String DEFAULT = "";
+ field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
+ field public static final String NEXUS_10 = "name:Nexus 10";
+ field public static final String NEXUS_5 = "id:Nexus 5";
+ field public static final String NEXUS_5X = "id:Nexus 5X";
+ field public static final String NEXUS_6 = "id:Nexus 6";
+ field public static final String NEXUS_6P = "id:Nexus 6P";
+ field public static final String NEXUS_7 = "id:Nexus 7";
+ field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
+ field public static final String NEXUS_9 = "id:Nexus 9";
+ field public static final String PIXEL = "id:pixel";
+ field public static final String PIXEL_2 = "id:pixel_2";
+ field public static final String PIXEL_2_XL = "id:pixel_2_xl";
+ field public static final String PIXEL_3 = "id:pixel_3";
+ field public static final String PIXEL_3A = "id:pixel_3a";
+ field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
+ field public static final String PIXEL_3_XL = "id:pixel_3_xl";
+ field public static final String PIXEL_4 = "id:pixel_4";
+ field public static final String PIXEL_4_XL = "id:pixel_4_xl";
+ field public static final String PIXEL_C = "id:pixel_c";
+ field public static final String PIXEL_XL = "id:pixel_xl";
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
+ method public abstract int apiLevel() default -1;
+ method public abstract long backgroundColor() default 0L;
+ method public abstract String device() default "";
+ method public abstract float fontScale() default 1.0f;
+ method public abstract String group() default "";
+ method public abstract int heightDp() default -1;
+ method public abstract String locale() default "";
+ method public abstract String name() default "";
+ method public abstract boolean showBackground() default false;
+ method public abstract boolean showSystemUi() default false;
+ method public abstract int uiMode() default 0;
+ method public abstract int widthDp() default -1;
+ property public abstract int apiLevel;
+ property public abstract long backgroundColor;
+ property public abstract String device;
+ property public abstract float fontScale;
+ property public abstract String group;
+ property public abstract int heightDp;
+ property public abstract String locale;
+ property public abstract String name;
+ property public abstract boolean showBackground;
+ property public abstract boolean showSystemUi;
+ property public abstract int uiMode;
+ property public abstract int widthDp;
+ }
+
+ @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
+ method public abstract int limit() default 2147483647;
+ method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
+ property public abstract int limit;
+ property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
+ }
+
+ public interface PreviewParameterProvider<T> {
+ method public default int getCount();
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public default int count;
+ property public abstract kotlin.sequences.Sequence<T> values;
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview.datasource {
+
+ public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
+ ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public kotlin.sequences.Sequence<T> values;
+ }
+
+ public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
+ ctor public LoremIpsum(int words);
+ ctor public LoremIpsum();
+ method public kotlin.sequences.Sequence<java.lang.String> getValues();
+ property public kotlin.sequences.Sequence<java.lang.String> values;
+ }
+
+ public final class LoremIpsumKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-tooling-preview/api/public_plus_experimental_current.txt b/compose/ui/ui-tooling-preview/api/public_plus_experimental_current.txt
new file mode 100644
index 0000000..6500942
--- /dev/null
+++ b/compose/ui/ui-tooling-preview/api/public_plus_experimental_current.txt
@@ -0,0 +1,91 @@
+// Signature format: 4.0
+package androidx.compose.ui.tooling.preview {
+
+ public final class Devices {
+ field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
+ field public static final String DEFAULT = "";
+ field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
+ field public static final String NEXUS_10 = "name:Nexus 10";
+ field public static final String NEXUS_5 = "id:Nexus 5";
+ field public static final String NEXUS_5X = "id:Nexus 5X";
+ field public static final String NEXUS_6 = "id:Nexus 6";
+ field public static final String NEXUS_6P = "id:Nexus 6P";
+ field public static final String NEXUS_7 = "id:Nexus 7";
+ field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
+ field public static final String NEXUS_9 = "id:Nexus 9";
+ field public static final String PIXEL = "id:pixel";
+ field public static final String PIXEL_2 = "id:pixel_2";
+ field public static final String PIXEL_2_XL = "id:pixel_2_xl";
+ field public static final String PIXEL_3 = "id:pixel_3";
+ field public static final String PIXEL_3A = "id:pixel_3a";
+ field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
+ field public static final String PIXEL_3_XL = "id:pixel_3_xl";
+ field public static final String PIXEL_4 = "id:pixel_4";
+ field public static final String PIXEL_4_XL = "id:pixel_4_xl";
+ field public static final String PIXEL_C = "id:pixel_c";
+ field public static final String PIXEL_XL = "id:pixel_xl";
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
+ method public abstract int apiLevel() default -1;
+ method public abstract long backgroundColor() default 0L;
+ method public abstract String device() default "";
+ method public abstract float fontScale() default 1.0f;
+ method public abstract String group() default "";
+ method public abstract int heightDp() default -1;
+ method public abstract String locale() default "";
+ method public abstract String name() default "";
+ method public abstract boolean showBackground() default false;
+ method public abstract boolean showSystemUi() default false;
+ method public abstract int uiMode() default 0;
+ method public abstract int widthDp() default -1;
+ property public abstract int apiLevel;
+ property public abstract long backgroundColor;
+ property public abstract String device;
+ property public abstract float fontScale;
+ property public abstract String group;
+ property public abstract int heightDp;
+ property public abstract String locale;
+ property public abstract String name;
+ property public abstract boolean showBackground;
+ property public abstract boolean showSystemUi;
+ property public abstract int uiMode;
+ property public abstract int widthDp;
+ }
+
+ @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
+ method public abstract int limit() default 2147483647;
+ method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
+ property public abstract int limit;
+ property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
+ }
+
+ public interface PreviewParameterProvider<T> {
+ method public default int getCount();
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public default int count;
+ property public abstract kotlin.sequences.Sequence<T> values;
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview.datasource {
+
+ public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
+ ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public kotlin.sequences.Sequence<T> values;
+ }
+
+ public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
+ ctor public LoremIpsum(int words);
+ ctor public LoremIpsum();
+ method public kotlin.sequences.Sequence<java.lang.String> getValues();
+ property public kotlin.sequences.Sequence<java.lang.String> values;
+ }
+
+ public final class LoremIpsumKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-tooling-preview/api/res-1.0.0-beta10.txt b/compose/ui/ui-tooling-preview/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-tooling-preview/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-tooling-preview/api/res-current.txt b/compose/ui/ui-tooling-preview/api/res-current.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-tooling-preview/api/res-current.txt
diff --git a/compose/ui/ui-tooling-preview/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-tooling-preview/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..6500942
--- /dev/null
+++ b/compose/ui/ui-tooling-preview/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,91 @@
+// Signature format: 4.0
+package androidx.compose.ui.tooling.preview {
+
+ public final class Devices {
+ field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
+ field public static final String DEFAULT = "";
+ field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
+ field public static final String NEXUS_10 = "name:Nexus 10";
+ field public static final String NEXUS_5 = "id:Nexus 5";
+ field public static final String NEXUS_5X = "id:Nexus 5X";
+ field public static final String NEXUS_6 = "id:Nexus 6";
+ field public static final String NEXUS_6P = "id:Nexus 6P";
+ field public static final String NEXUS_7 = "id:Nexus 7";
+ field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
+ field public static final String NEXUS_9 = "id:Nexus 9";
+ field public static final String PIXEL = "id:pixel";
+ field public static final String PIXEL_2 = "id:pixel_2";
+ field public static final String PIXEL_2_XL = "id:pixel_2_xl";
+ field public static final String PIXEL_3 = "id:pixel_3";
+ field public static final String PIXEL_3A = "id:pixel_3a";
+ field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
+ field public static final String PIXEL_3_XL = "id:pixel_3_xl";
+ field public static final String PIXEL_4 = "id:pixel_4";
+ field public static final String PIXEL_4_XL = "id:pixel_4_xl";
+ field public static final String PIXEL_C = "id:pixel_c";
+ field public static final String PIXEL_XL = "id:pixel_xl";
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
+ method public abstract int apiLevel() default -1;
+ method public abstract long backgroundColor() default 0L;
+ method public abstract String device() default "";
+ method public abstract float fontScale() default 1.0f;
+ method public abstract String group() default "";
+ method public abstract int heightDp() default -1;
+ method public abstract String locale() default "";
+ method public abstract String name() default "";
+ method public abstract boolean showBackground() default false;
+ method public abstract boolean showSystemUi() default false;
+ method public abstract int uiMode() default 0;
+ method public abstract int widthDp() default -1;
+ property public abstract int apiLevel;
+ property public abstract long backgroundColor;
+ property public abstract String device;
+ property public abstract float fontScale;
+ property public abstract String group;
+ property public abstract int heightDp;
+ property public abstract String locale;
+ property public abstract String name;
+ property public abstract boolean showBackground;
+ property public abstract boolean showSystemUi;
+ property public abstract int uiMode;
+ property public abstract int widthDp;
+ }
+
+ @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
+ method public abstract int limit() default 2147483647;
+ method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
+ property public abstract int limit;
+ property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
+ }
+
+ public interface PreviewParameterProvider<T> {
+ method public default int getCount();
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public default int count;
+ property public abstract kotlin.sequences.Sequence<T> values;
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview.datasource {
+
+ public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
+ ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public kotlin.sequences.Sequence<T> values;
+ }
+
+ public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
+ ctor public LoremIpsum(int words);
+ ctor public LoremIpsum();
+ method public kotlin.sequences.Sequence<java.lang.String> getValues();
+ property public kotlin.sequences.Sequence<java.lang.String> values;
+ }
+
+ public final class LoremIpsumKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-tooling-preview/api/restricted_current.txt b/compose/ui/ui-tooling-preview/api/restricted_current.txt
new file mode 100644
index 0000000..6500942
--- /dev/null
+++ b/compose/ui/ui-tooling-preview/api/restricted_current.txt
@@ -0,0 +1,91 @@
+// Signature format: 4.0
+package androidx.compose.ui.tooling.preview {
+
+ public final class Devices {
+ field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
+ field public static final String DEFAULT = "";
+ field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
+ field public static final String NEXUS_10 = "name:Nexus 10";
+ field public static final String NEXUS_5 = "id:Nexus 5";
+ field public static final String NEXUS_5X = "id:Nexus 5X";
+ field public static final String NEXUS_6 = "id:Nexus 6";
+ field public static final String NEXUS_6P = "id:Nexus 6P";
+ field public static final String NEXUS_7 = "id:Nexus 7";
+ field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
+ field public static final String NEXUS_9 = "id:Nexus 9";
+ field public static final String PIXEL = "id:pixel";
+ field public static final String PIXEL_2 = "id:pixel_2";
+ field public static final String PIXEL_2_XL = "id:pixel_2_xl";
+ field public static final String PIXEL_3 = "id:pixel_3";
+ field public static final String PIXEL_3A = "id:pixel_3a";
+ field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
+ field public static final String PIXEL_3_XL = "id:pixel_3_xl";
+ field public static final String PIXEL_4 = "id:pixel_4";
+ field public static final String PIXEL_4_XL = "id:pixel_4_xl";
+ field public static final String PIXEL_C = "id:pixel_c";
+ field public static final String PIXEL_XL = "id:pixel_xl";
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
+ method public abstract int apiLevel() default -1;
+ method public abstract long backgroundColor() default 0L;
+ method public abstract String device() default "";
+ method public abstract float fontScale() default 1.0f;
+ method public abstract String group() default "";
+ method public abstract int heightDp() default -1;
+ method public abstract String locale() default "";
+ method public abstract String name() default "";
+ method public abstract boolean showBackground() default false;
+ method public abstract boolean showSystemUi() default false;
+ method public abstract int uiMode() default 0;
+ method public abstract int widthDp() default -1;
+ property public abstract int apiLevel;
+ property public abstract long backgroundColor;
+ property public abstract String device;
+ property public abstract float fontScale;
+ property public abstract String group;
+ property public abstract int heightDp;
+ property public abstract String locale;
+ property public abstract String name;
+ property public abstract boolean showBackground;
+ property public abstract boolean showSystemUi;
+ property public abstract int uiMode;
+ property public abstract int widthDp;
+ }
+
+ @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
+ method public abstract int limit() default 2147483647;
+ method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
+ property public abstract int limit;
+ property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
+ }
+
+ public interface PreviewParameterProvider<T> {
+ method public default int getCount();
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public default int count;
+ property public abstract kotlin.sequences.Sequence<T> values;
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview.datasource {
+
+ public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
+ ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public kotlin.sequences.Sequence<T> values;
+ }
+
+ public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
+ ctor public LoremIpsum(int words);
+ ctor public LoremIpsum();
+ method public kotlin.sequences.Sequence<java.lang.String> getValues();
+ property public kotlin.sequences.Sequence<java.lang.String> values;
+ }
+
+ public final class LoremIpsumKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-tooling-preview/build.gradle b/compose/ui/ui-tooling-preview/build.gradle
new file mode 100644
index 0000000..201c607
--- /dev/null
+++ b/compose/ui/ui-tooling-preview/build.gradle
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2021 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.
+ */
+
+import androidx.build.LibraryGroups
+import androidx.build.LibraryType
+
+plugins {
+ id("AndroidXPlugin")
+ id("AndroidXComposePlugin")
+ id("com.android.library")
+ id("org.jetbrains.kotlin.android")
+}
+
+dependencies {
+ implementation(libs.kotlinStdlib)
+ api("androidx.annotation:annotation:1.2.0")
+ api(project(":compose:runtime:runtime"))
+
+ testImplementation(libs.junit)
+}
+
+androidx {
+ name = "Compose Tooling API"
+ type = LibraryType.PUBLISHED_LIBRARY
+ mavenGroup = LibraryGroups.Compose.UI
+ inceptionYear = "2021"
+ description = "Compose tooling library API. This library provides the API required to declare" +
+ " @Preview composables in user apps."
+ legacyDisableKotlinStrictApiMode = true
+}
diff --git a/compose/ui/ui-tooling-preview/src/main/AndroidManifest.xml b/compose/ui/ui-tooling-preview/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..347442f
--- /dev/null
+++ b/compose/ui/ui-tooling-preview/src/main/AndroidManifest.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2021 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.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="androidx.compose.ui.tooling.preview">
+
+</manifest>
\ No newline at end of file
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/Device.kt b/compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/Device.kt
similarity index 100%
rename from compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/Device.kt
rename to compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/Device.kt
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/Preview.kt b/compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/Preview.kt
similarity index 100%
rename from compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/Preview.kt
rename to compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/Preview.kt
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/PreviewParameter.kt b/compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/PreviewParameter.kt
similarity index 100%
rename from compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/PreviewParameter.kt
rename to compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/PreviewParameter.kt
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/UiMode.kt b/compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/UiMode.kt
similarity index 100%
rename from compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/UiMode.kt
rename to compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/UiMode.kt
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/datasource/CollectionPreviewParameterProvider.kt b/compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/datasource/CollectionPreviewParameterProvider.kt
similarity index 100%
rename from compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/datasource/CollectionPreviewParameterProvider.kt
rename to compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/datasource/CollectionPreviewParameterProvider.kt
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/datasource/LoremIpsum.kt b/compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/datasource/LoremIpsum.kt
similarity index 85%
rename from compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/datasource/LoremIpsum.kt
rename to compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/datasource/LoremIpsum.kt
index 2dd91ff..a02e165 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/datasource/LoremIpsum.kt
+++ b/compose/ui/ui-tooling-preview/src/main/java/androidx/compose/ui/tooling/preview/datasource/LoremIpsum.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2020 The Android Open Source Project
+ * Copyright 2021 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.
@@ -39,17 +39,6 @@
""".trim().split(" ")
/**
- * Generate a Lorem Ipsum [words] long.
- */
-private fun generateLoremIpsum(words: Int): String {
- var wordsUsed = 0
- val loremIpsumMaxSize = LOREM_IPSUM_SOURCE.size
- return generateSequence {
- LOREM_IPSUM_SOURCE[wordsUsed++ % loremIpsumMaxSize]
- }.take(words).joinToString(" ")
-}
-
-/**
* [PreviewParameterProvider] with 1 value containing Lorem Ipsum.
*
* @param words Number of words from "Lorem Ipsum" to use.
@@ -61,4 +50,15 @@
override val values: Sequence<String>
get() = sequenceOf(generateLoremIpsum(words))
+
+ /**
+ * Generate a Lorem Ipsum [words] long.
+ */
+ private fun generateLoremIpsum(words: Int): String {
+ var wordsUsed = 0
+ val loremIpsumMaxSize = LOREM_IPSUM_SOURCE.size
+ return generateSequence {
+ LOREM_IPSUM_SOURCE[wordsUsed++ % loremIpsumMaxSize]
+ }.take(words).joinToString(" ")
+ }
}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/datasource/LoremIpsumTest.kt b/compose/ui/ui-tooling-preview/src/test/java/androidx/compose/ui/tooling/preview/datasource/LoremIpsumTest.kt
similarity index 100%
rename from compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/datasource/LoremIpsumTest.kt
rename to compose/ui/ui-tooling-preview/src/test/java/androidx/compose/ui/tooling/preview/datasource/LoremIpsumTest.kt
diff --git a/compose/ui/ui-tooling/api/1.0.0-beta10.txt b/compose/ui/ui-tooling/api/1.0.0-beta10.txt
index 1789ce2..d6124a8 100644
--- a/compose/ui/ui-tooling/api/1.0.0-beta10.txt
+++ b/compose/ui/ui-tooling/api/1.0.0-beta10.txt
@@ -1,113 +1,22 @@
// Signature format: 4.0
package androidx.compose.ui.tooling {
+ public final class ComposeViewAdapterKt {
+ }
+
public final class InspectableKt {
method @androidx.compose.runtime.Composable public static void InInspectionModeOnly(kotlin.jvm.functions.Function0<kotlin.Unit> content);
}
-}
-
-package androidx.compose.ui.tooling.preview {
-
- public final class ComposeViewAdapterKt {
- field public static final String TOOLS_NS_URI = "http://schemas.android.com/tools";
- }
-
- public final class Devices {
- field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
- field public static final String DEFAULT = "";
- field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
- field public static final String NEXUS_10 = "name:Nexus 10";
- field public static final String NEXUS_5 = "id:Nexus 5";
- field public static final String NEXUS_5X = "id:Nexus 5X";
- field public static final String NEXUS_6 = "id:Nexus 6";
- field public static final String NEXUS_6P = "id:Nexus 6P";
- field public static final String NEXUS_7 = "id:Nexus 7";
- field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
- field public static final String NEXUS_9 = "id:Nexus 9";
- field public static final String PIXEL = "id:pixel";
- field public static final String PIXEL_2 = "id:pixel_2";
- field public static final String PIXEL_2_XL = "id:pixel_2_xl";
- field public static final String PIXEL_3 = "id:pixel_3";
- field public static final String PIXEL_3A = "id:pixel_3a";
- field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
- field public static final String PIXEL_3_XL = "id:pixel_3_xl";
- field public static final String PIXEL_4 = "id:pixel_4";
- field public static final String PIXEL_4_XL = "id:pixel_4_xl";
- field public static final String PIXEL_C = "id:pixel_c";
- field public static final String PIXEL_XL = "id:pixel_xl";
- }
-
- @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
- method public abstract int apiLevel() default -1;
- method public abstract long backgroundColor() default 0L;
- method public abstract String device() default "";
- method public abstract float fontScale() default 1.0f;
- method public abstract String group() default "";
- method public abstract int heightDp() default -1;
- method public abstract String locale() default "";
- method public abstract String name() default "";
- method public abstract boolean showBackground() default false;
- method public abstract boolean showSystemUi() default false;
- method public abstract int uiMode() default 0;
- method public abstract int widthDp() default -1;
- property public abstract int apiLevel;
- property public abstract long backgroundColor;
- property public abstract String device;
- property public abstract float fontScale;
- property public abstract String group;
- property public abstract int heightDp;
- property public abstract String locale;
- property public abstract String name;
- property public abstract boolean showBackground;
- property public abstract boolean showSystemUi;
- property public abstract int uiMode;
- property public abstract int widthDp;
- }
-
- @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
- method public abstract int limit() default 2147483647;
- method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
- property public abstract int limit;
- property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
- }
-
- public interface PreviewParameterProvider<T> {
- method public default int getCount();
- method public kotlin.sequences.Sequence<T> getValues();
- property public default int count;
- property public abstract kotlin.sequences.Sequence<T> values;
- }
-
public final class PreviewUtilsKt {
}
}
-package androidx.compose.ui.tooling.preview.animation {
+package androidx.compose.ui.tooling.animation {
public final class ComposeAnimationParserKt {
}
}
-package androidx.compose.ui.tooling.preview.datasource {
-
- public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
- ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
- method public kotlin.sequences.Sequence<T> getValues();
- property public kotlin.sequences.Sequence<T> values;
- }
-
- public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
- ctor public LoremIpsum(int words);
- ctor public LoremIpsum();
- method public kotlin.sequences.Sequence<java.lang.String> getValues();
- property public kotlin.sequences.Sequence<java.lang.String> values;
- }
-
- public final class LoremIpsumKt {
- }
-
-}
-
diff --git a/compose/ui/ui-tooling/api/current.ignore b/compose/ui/ui-tooling/api/current.ignore
new file mode 100644
index 0000000..62d7b31
--- /dev/null
+++ b/compose/ui/ui-tooling/api/current.ignore
@@ -0,0 +1,7 @@
+// Baseline format: 1.0
+RemovedPackage: androidx.compose.ui.tooling.preview:
+ Removed package androidx.compose.ui.tooling.preview
+RemovedPackage: androidx.compose.ui.tooling.preview.animation:
+ Removed package androidx.compose.ui.tooling.preview.animation
+RemovedPackage: androidx.compose.ui.tooling.preview.datasource:
+ Removed package androidx.compose.ui.tooling.preview.datasource
diff --git a/compose/ui/ui-tooling/api/current.txt b/compose/ui/ui-tooling/api/current.txt
index 1789ce2..d6124a8 100644
--- a/compose/ui/ui-tooling/api/current.txt
+++ b/compose/ui/ui-tooling/api/current.txt
@@ -1,113 +1,22 @@
// Signature format: 4.0
package androidx.compose.ui.tooling {
+ public final class ComposeViewAdapterKt {
+ }
+
public final class InspectableKt {
method @androidx.compose.runtime.Composable public static void InInspectionModeOnly(kotlin.jvm.functions.Function0<kotlin.Unit> content);
}
-}
-
-package androidx.compose.ui.tooling.preview {
-
- public final class ComposeViewAdapterKt {
- field public static final String TOOLS_NS_URI = "http://schemas.android.com/tools";
- }
-
- public final class Devices {
- field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
- field public static final String DEFAULT = "";
- field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
- field public static final String NEXUS_10 = "name:Nexus 10";
- field public static final String NEXUS_5 = "id:Nexus 5";
- field public static final String NEXUS_5X = "id:Nexus 5X";
- field public static final String NEXUS_6 = "id:Nexus 6";
- field public static final String NEXUS_6P = "id:Nexus 6P";
- field public static final String NEXUS_7 = "id:Nexus 7";
- field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
- field public static final String NEXUS_9 = "id:Nexus 9";
- field public static final String PIXEL = "id:pixel";
- field public static final String PIXEL_2 = "id:pixel_2";
- field public static final String PIXEL_2_XL = "id:pixel_2_xl";
- field public static final String PIXEL_3 = "id:pixel_3";
- field public static final String PIXEL_3A = "id:pixel_3a";
- field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
- field public static final String PIXEL_3_XL = "id:pixel_3_xl";
- field public static final String PIXEL_4 = "id:pixel_4";
- field public static final String PIXEL_4_XL = "id:pixel_4_xl";
- field public static final String PIXEL_C = "id:pixel_c";
- field public static final String PIXEL_XL = "id:pixel_xl";
- }
-
- @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
- method public abstract int apiLevel() default -1;
- method public abstract long backgroundColor() default 0L;
- method public abstract String device() default "";
- method public abstract float fontScale() default 1.0f;
- method public abstract String group() default "";
- method public abstract int heightDp() default -1;
- method public abstract String locale() default "";
- method public abstract String name() default "";
- method public abstract boolean showBackground() default false;
- method public abstract boolean showSystemUi() default false;
- method public abstract int uiMode() default 0;
- method public abstract int widthDp() default -1;
- property public abstract int apiLevel;
- property public abstract long backgroundColor;
- property public abstract String device;
- property public abstract float fontScale;
- property public abstract String group;
- property public abstract int heightDp;
- property public abstract String locale;
- property public abstract String name;
- property public abstract boolean showBackground;
- property public abstract boolean showSystemUi;
- property public abstract int uiMode;
- property public abstract int widthDp;
- }
-
- @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
- method public abstract int limit() default 2147483647;
- method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
- property public abstract int limit;
- property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
- }
-
- public interface PreviewParameterProvider<T> {
- method public default int getCount();
- method public kotlin.sequences.Sequence<T> getValues();
- property public default int count;
- property public abstract kotlin.sequences.Sequence<T> values;
- }
-
public final class PreviewUtilsKt {
}
}
-package androidx.compose.ui.tooling.preview.animation {
+package androidx.compose.ui.tooling.animation {
public final class ComposeAnimationParserKt {
}
}
-package androidx.compose.ui.tooling.preview.datasource {
-
- public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
- ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
- method public kotlin.sequences.Sequence<T> getValues();
- property public kotlin.sequences.Sequence<T> values;
- }
-
- public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
- ctor public LoremIpsum(int words);
- ctor public LoremIpsum();
- method public kotlin.sequences.Sequence<java.lang.String> getValues();
- property public kotlin.sequences.Sequence<java.lang.String> values;
- }
-
- public final class LoremIpsumKt {
- }
-
-}
-
diff --git a/compose/ui/ui-tooling/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-tooling/api/public_plus_experimental_1.0.0-beta10.txt
index 1789ce2..d6124a8 100644
--- a/compose/ui/ui-tooling/api/public_plus_experimental_1.0.0-beta10.txt
+++ b/compose/ui/ui-tooling/api/public_plus_experimental_1.0.0-beta10.txt
@@ -1,113 +1,22 @@
// Signature format: 4.0
package androidx.compose.ui.tooling {
+ public final class ComposeViewAdapterKt {
+ }
+
public final class InspectableKt {
method @androidx.compose.runtime.Composable public static void InInspectionModeOnly(kotlin.jvm.functions.Function0<kotlin.Unit> content);
}
-}
-
-package androidx.compose.ui.tooling.preview {
-
- public final class ComposeViewAdapterKt {
- field public static final String TOOLS_NS_URI = "http://schemas.android.com/tools";
- }
-
- public final class Devices {
- field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
- field public static final String DEFAULT = "";
- field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
- field public static final String NEXUS_10 = "name:Nexus 10";
- field public static final String NEXUS_5 = "id:Nexus 5";
- field public static final String NEXUS_5X = "id:Nexus 5X";
- field public static final String NEXUS_6 = "id:Nexus 6";
- field public static final String NEXUS_6P = "id:Nexus 6P";
- field public static final String NEXUS_7 = "id:Nexus 7";
- field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
- field public static final String NEXUS_9 = "id:Nexus 9";
- field public static final String PIXEL = "id:pixel";
- field public static final String PIXEL_2 = "id:pixel_2";
- field public static final String PIXEL_2_XL = "id:pixel_2_xl";
- field public static final String PIXEL_3 = "id:pixel_3";
- field public static final String PIXEL_3A = "id:pixel_3a";
- field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
- field public static final String PIXEL_3_XL = "id:pixel_3_xl";
- field public static final String PIXEL_4 = "id:pixel_4";
- field public static final String PIXEL_4_XL = "id:pixel_4_xl";
- field public static final String PIXEL_C = "id:pixel_c";
- field public static final String PIXEL_XL = "id:pixel_xl";
- }
-
- @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
- method public abstract int apiLevel() default -1;
- method public abstract long backgroundColor() default 0L;
- method public abstract String device() default "";
- method public abstract float fontScale() default 1.0f;
- method public abstract String group() default "";
- method public abstract int heightDp() default -1;
- method public abstract String locale() default "";
- method public abstract String name() default "";
- method public abstract boolean showBackground() default false;
- method public abstract boolean showSystemUi() default false;
- method public abstract int uiMode() default 0;
- method public abstract int widthDp() default -1;
- property public abstract int apiLevel;
- property public abstract long backgroundColor;
- property public abstract String device;
- property public abstract float fontScale;
- property public abstract String group;
- property public abstract int heightDp;
- property public abstract String locale;
- property public abstract String name;
- property public abstract boolean showBackground;
- property public abstract boolean showSystemUi;
- property public abstract int uiMode;
- property public abstract int widthDp;
- }
-
- @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
- method public abstract int limit() default 2147483647;
- method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
- property public abstract int limit;
- property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
- }
-
- public interface PreviewParameterProvider<T> {
- method public default int getCount();
- method public kotlin.sequences.Sequence<T> getValues();
- property public default int count;
- property public abstract kotlin.sequences.Sequence<T> values;
- }
-
public final class PreviewUtilsKt {
}
}
-package androidx.compose.ui.tooling.preview.animation {
+package androidx.compose.ui.tooling.animation {
public final class ComposeAnimationParserKt {
}
}
-package androidx.compose.ui.tooling.preview.datasource {
-
- public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
- ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
- method public kotlin.sequences.Sequence<T> getValues();
- property public kotlin.sequences.Sequence<T> values;
- }
-
- public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
- ctor public LoremIpsum(int words);
- ctor public LoremIpsum();
- method public kotlin.sequences.Sequence<java.lang.String> getValues();
- property public kotlin.sequences.Sequence<java.lang.String> values;
- }
-
- public final class LoremIpsumKt {
- }
-
-}
-
diff --git a/compose/ui/ui-tooling/api/public_plus_experimental_current.txt b/compose/ui/ui-tooling/api/public_plus_experimental_current.txt
index 1789ce2..d6124a8 100644
--- a/compose/ui/ui-tooling/api/public_plus_experimental_current.txt
+++ b/compose/ui/ui-tooling/api/public_plus_experimental_current.txt
@@ -1,113 +1,22 @@
// Signature format: 4.0
package androidx.compose.ui.tooling {
+ public final class ComposeViewAdapterKt {
+ }
+
public final class InspectableKt {
method @androidx.compose.runtime.Composable public static void InInspectionModeOnly(kotlin.jvm.functions.Function0<kotlin.Unit> content);
}
-}
-
-package androidx.compose.ui.tooling.preview {
-
- public final class ComposeViewAdapterKt {
- field public static final String TOOLS_NS_URI = "http://schemas.android.com/tools";
- }
-
- public final class Devices {
- field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
- field public static final String DEFAULT = "";
- field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
- field public static final String NEXUS_10 = "name:Nexus 10";
- field public static final String NEXUS_5 = "id:Nexus 5";
- field public static final String NEXUS_5X = "id:Nexus 5X";
- field public static final String NEXUS_6 = "id:Nexus 6";
- field public static final String NEXUS_6P = "id:Nexus 6P";
- field public static final String NEXUS_7 = "id:Nexus 7";
- field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
- field public static final String NEXUS_9 = "id:Nexus 9";
- field public static final String PIXEL = "id:pixel";
- field public static final String PIXEL_2 = "id:pixel_2";
- field public static final String PIXEL_2_XL = "id:pixel_2_xl";
- field public static final String PIXEL_3 = "id:pixel_3";
- field public static final String PIXEL_3A = "id:pixel_3a";
- field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
- field public static final String PIXEL_3_XL = "id:pixel_3_xl";
- field public static final String PIXEL_4 = "id:pixel_4";
- field public static final String PIXEL_4_XL = "id:pixel_4_xl";
- field public static final String PIXEL_C = "id:pixel_c";
- field public static final String PIXEL_XL = "id:pixel_xl";
- }
-
- @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
- method public abstract int apiLevel() default -1;
- method public abstract long backgroundColor() default 0L;
- method public abstract String device() default "";
- method public abstract float fontScale() default 1.0f;
- method public abstract String group() default "";
- method public abstract int heightDp() default -1;
- method public abstract String locale() default "";
- method public abstract String name() default "";
- method public abstract boolean showBackground() default false;
- method public abstract boolean showSystemUi() default false;
- method public abstract int uiMode() default 0;
- method public abstract int widthDp() default -1;
- property public abstract int apiLevel;
- property public abstract long backgroundColor;
- property public abstract String device;
- property public abstract float fontScale;
- property public abstract String group;
- property public abstract int heightDp;
- property public abstract String locale;
- property public abstract String name;
- property public abstract boolean showBackground;
- property public abstract boolean showSystemUi;
- property public abstract int uiMode;
- property public abstract int widthDp;
- }
-
- @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
- method public abstract int limit() default 2147483647;
- method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
- property public abstract int limit;
- property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
- }
-
- public interface PreviewParameterProvider<T> {
- method public default int getCount();
- method public kotlin.sequences.Sequence<T> getValues();
- property public default int count;
- property public abstract kotlin.sequences.Sequence<T> values;
- }
-
public final class PreviewUtilsKt {
}
}
-package androidx.compose.ui.tooling.preview.animation {
+package androidx.compose.ui.tooling.animation {
public final class ComposeAnimationParserKt {
}
}
-package androidx.compose.ui.tooling.preview.datasource {
-
- public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
- ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
- method public kotlin.sequences.Sequence<T> getValues();
- property public kotlin.sequences.Sequence<T> values;
- }
-
- public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
- ctor public LoremIpsum(int words);
- ctor public LoremIpsum();
- method public kotlin.sequences.Sequence<java.lang.String> getValues();
- property public kotlin.sequences.Sequence<java.lang.String> values;
- }
-
- public final class LoremIpsumKt {
- }
-
-}
-
diff --git a/compose/ui/ui-tooling/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-tooling/api/restricted_1.0.0-beta10.txt
index 1789ce2..d6124a8 100644
--- a/compose/ui/ui-tooling/api/restricted_1.0.0-beta10.txt
+++ b/compose/ui/ui-tooling/api/restricted_1.0.0-beta10.txt
@@ -1,113 +1,22 @@
// Signature format: 4.0
package androidx.compose.ui.tooling {
+ public final class ComposeViewAdapterKt {
+ }
+
public final class InspectableKt {
method @androidx.compose.runtime.Composable public static void InInspectionModeOnly(kotlin.jvm.functions.Function0<kotlin.Unit> content);
}
-}
-
-package androidx.compose.ui.tooling.preview {
-
- public final class ComposeViewAdapterKt {
- field public static final String TOOLS_NS_URI = "http://schemas.android.com/tools";
- }
-
- public final class Devices {
- field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
- field public static final String DEFAULT = "";
- field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
- field public static final String NEXUS_10 = "name:Nexus 10";
- field public static final String NEXUS_5 = "id:Nexus 5";
- field public static final String NEXUS_5X = "id:Nexus 5X";
- field public static final String NEXUS_6 = "id:Nexus 6";
- field public static final String NEXUS_6P = "id:Nexus 6P";
- field public static final String NEXUS_7 = "id:Nexus 7";
- field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
- field public static final String NEXUS_9 = "id:Nexus 9";
- field public static final String PIXEL = "id:pixel";
- field public static final String PIXEL_2 = "id:pixel_2";
- field public static final String PIXEL_2_XL = "id:pixel_2_xl";
- field public static final String PIXEL_3 = "id:pixel_3";
- field public static final String PIXEL_3A = "id:pixel_3a";
- field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
- field public static final String PIXEL_3_XL = "id:pixel_3_xl";
- field public static final String PIXEL_4 = "id:pixel_4";
- field public static final String PIXEL_4_XL = "id:pixel_4_xl";
- field public static final String PIXEL_C = "id:pixel_c";
- field public static final String PIXEL_XL = "id:pixel_xl";
- }
-
- @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
- method public abstract int apiLevel() default -1;
- method public abstract long backgroundColor() default 0L;
- method public abstract String device() default "";
- method public abstract float fontScale() default 1.0f;
- method public abstract String group() default "";
- method public abstract int heightDp() default -1;
- method public abstract String locale() default "";
- method public abstract String name() default "";
- method public abstract boolean showBackground() default false;
- method public abstract boolean showSystemUi() default false;
- method public abstract int uiMode() default 0;
- method public abstract int widthDp() default -1;
- property public abstract int apiLevel;
- property public abstract long backgroundColor;
- property public abstract String device;
- property public abstract float fontScale;
- property public abstract String group;
- property public abstract int heightDp;
- property public abstract String locale;
- property public abstract String name;
- property public abstract boolean showBackground;
- property public abstract boolean showSystemUi;
- property public abstract int uiMode;
- property public abstract int widthDp;
- }
-
- @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
- method public abstract int limit() default 2147483647;
- method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
- property public abstract int limit;
- property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
- }
-
- public interface PreviewParameterProvider<T> {
- method public default int getCount();
- method public kotlin.sequences.Sequence<T> getValues();
- property public default int count;
- property public abstract kotlin.sequences.Sequence<T> values;
- }
-
public final class PreviewUtilsKt {
}
}
-package androidx.compose.ui.tooling.preview.animation {
+package androidx.compose.ui.tooling.animation {
public final class ComposeAnimationParserKt {
}
}
-package androidx.compose.ui.tooling.preview.datasource {
-
- public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
- ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
- method public kotlin.sequences.Sequence<T> getValues();
- property public kotlin.sequences.Sequence<T> values;
- }
-
- public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
- ctor public LoremIpsum(int words);
- ctor public LoremIpsum();
- method public kotlin.sequences.Sequence<java.lang.String> getValues();
- property public kotlin.sequences.Sequence<java.lang.String> values;
- }
-
- public final class LoremIpsumKt {
- }
-
-}
-
diff --git a/compose/ui/ui-tooling/api/restricted_current.ignore b/compose/ui/ui-tooling/api/restricted_current.ignore
new file mode 100644
index 0000000..62d7b31
--- /dev/null
+++ b/compose/ui/ui-tooling/api/restricted_current.ignore
@@ -0,0 +1,7 @@
+// Baseline format: 1.0
+RemovedPackage: androidx.compose.ui.tooling.preview:
+ Removed package androidx.compose.ui.tooling.preview
+RemovedPackage: androidx.compose.ui.tooling.preview.animation:
+ Removed package androidx.compose.ui.tooling.preview.animation
+RemovedPackage: androidx.compose.ui.tooling.preview.datasource:
+ Removed package androidx.compose.ui.tooling.preview.datasource
diff --git a/compose/ui/ui-tooling/api/restricted_current.txt b/compose/ui/ui-tooling/api/restricted_current.txt
index 1789ce2..d6124a8 100644
--- a/compose/ui/ui-tooling/api/restricted_current.txt
+++ b/compose/ui/ui-tooling/api/restricted_current.txt
@@ -1,113 +1,22 @@
// Signature format: 4.0
package androidx.compose.ui.tooling {
+ public final class ComposeViewAdapterKt {
+ }
+
public final class InspectableKt {
method @androidx.compose.runtime.Composable public static void InInspectionModeOnly(kotlin.jvm.functions.Function0<kotlin.Unit> content);
}
-}
-
-package androidx.compose.ui.tooling.preview {
-
- public final class ComposeViewAdapterKt {
- field public static final String TOOLS_NS_URI = "http://schemas.android.com/tools";
- }
-
- public final class Devices {
- field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
- field public static final String DEFAULT = "";
- field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
- field public static final String NEXUS_10 = "name:Nexus 10";
- field public static final String NEXUS_5 = "id:Nexus 5";
- field public static final String NEXUS_5X = "id:Nexus 5X";
- field public static final String NEXUS_6 = "id:Nexus 6";
- field public static final String NEXUS_6P = "id:Nexus 6P";
- field public static final String NEXUS_7 = "id:Nexus 7";
- field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
- field public static final String NEXUS_9 = "id:Nexus 9";
- field public static final String PIXEL = "id:pixel";
- field public static final String PIXEL_2 = "id:pixel_2";
- field public static final String PIXEL_2_XL = "id:pixel_2_xl";
- field public static final String PIXEL_3 = "id:pixel_3";
- field public static final String PIXEL_3A = "id:pixel_3a";
- field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
- field public static final String PIXEL_3_XL = "id:pixel_3_xl";
- field public static final String PIXEL_4 = "id:pixel_4";
- field public static final String PIXEL_4_XL = "id:pixel_4_xl";
- field public static final String PIXEL_C = "id:pixel_c";
- field public static final String PIXEL_XL = "id:pixel_xl";
- }
-
- @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
- method public abstract int apiLevel() default -1;
- method public abstract long backgroundColor() default 0L;
- method public abstract String device() default "";
- method public abstract float fontScale() default 1.0f;
- method public abstract String group() default "";
- method public abstract int heightDp() default -1;
- method public abstract String locale() default "";
- method public abstract String name() default "";
- method public abstract boolean showBackground() default false;
- method public abstract boolean showSystemUi() default false;
- method public abstract int uiMode() default 0;
- method public abstract int widthDp() default -1;
- property public abstract int apiLevel;
- property public abstract long backgroundColor;
- property public abstract String device;
- property public abstract float fontScale;
- property public abstract String group;
- property public abstract int heightDp;
- property public abstract String locale;
- property public abstract String name;
- property public abstract boolean showBackground;
- property public abstract boolean showSystemUi;
- property public abstract int uiMode;
- property public abstract int widthDp;
- }
-
- @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
- method public abstract int limit() default 2147483647;
- method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
- property public abstract int limit;
- property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
- }
-
- public interface PreviewParameterProvider<T> {
- method public default int getCount();
- method public kotlin.sequences.Sequence<T> getValues();
- property public default int count;
- property public abstract kotlin.sequences.Sequence<T> values;
- }
-
public final class PreviewUtilsKt {
}
}
-package androidx.compose.ui.tooling.preview.animation {
+package androidx.compose.ui.tooling.animation {
public final class ComposeAnimationParserKt {
}
}
-package androidx.compose.ui.tooling.preview.datasource {
-
- public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
- ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
- method public kotlin.sequences.Sequence<T> getValues();
- property public kotlin.sequences.Sequence<T> values;
- }
-
- public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
- ctor public LoremIpsum(int words);
- ctor public LoremIpsum();
- method public kotlin.sequences.Sequence<java.lang.String> getValues();
- property public kotlin.sequences.Sequence<java.lang.String> values;
- }
-
- public final class LoremIpsumKt {
- }
-
-}
-
diff --git a/compose/ui/ui-tooling/build.gradle b/compose/ui/ui-tooling/build.gradle
index e485626..4890adc 100644
--- a/compose/ui/ui-tooling/build.gradle
+++ b/compose/ui/ui-tooling/build.gradle
@@ -36,6 +36,7 @@
api(project(":compose:runtime:runtime"))
api(project(":compose:ui:ui"))
+ api(project(":compose:ui:ui-tooling-preview"))
api(project(":compose:ui:ui-tooling-data"))
implementation(project(":compose:material:material"))
implementation(project(":activity:activity-compose"))
@@ -77,6 +78,7 @@
api(project(":compose:runtime:runtime"))
api(project(":compose:ui:ui"))
+ api(project(":compose:ui:ui-tooling-preview"))
api(project(":compose:ui:ui-tooling-data"))
implementation(project(":compose:material:material"))
implementation(project(":activity:activity-compose"))
diff --git a/compose/ui/ui-tooling/lint-baseline.xml b/compose/ui/ui-tooling/lint-baseline.xml
index 5f2bf52..38b8dce8 100644
--- a/compose/ui/ui-tooling/lint-baseline.xml
+++ b/compose/ui/ui-tooling/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha01" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha01">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanUncheckedReflection"
@@ -7,7 +7,7 @@
errorLine1=" return invoke(instance, *arguments)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
- file="src/jvmMain/kotlin/androidx/compose/ui/tooling/preview/CommonPreviewUtils.kt"
+ file="src/jvmMain/kotlin/androidx/compose/ui/tooling/CommonPreviewUtils.kt"
line="149"
column="16"/>
</issue>
@@ -18,7 +18,7 @@
errorLine1=" val result = designInfoMethod.invoke("
errorLine2=" ^">
<location
- file="src/androidMain/kotlin/androidx/compose/ui/tooling/preview/ComposeViewAdapter.kt"
+ file="src/androidMain/kotlin/androidx/compose/ui/tooling/ComposeViewAdapter.kt"
line="385"
column="30"/>
</issue>
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/AndroidManifest.xml b/compose/ui/ui-tooling/src/androidAndroidTest/AndroidManifest.xml
index faa9b77..7216778 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/AndroidManifest.xml
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/AndroidManifest.xml
@@ -21,8 +21,9 @@
android:debuggable="true"
tools:ignore="HardcodedDebugMode"
tools:replace="android:debuggable">
- <activity android:name="androidx.compose.ui.tooling.preview.ComposeViewAdapterTest$Companion$TestActivity"
- android:theme="@style/TestTheme"/>
+ <activity
+ android:name="androidx.compose.ui.tooling.ComposeViewAdapterTest$Companion$TestActivity"
+ android:theme="@style/TestTheme" />
<activity android:name="androidx.compose.ui.tooling.TestActivity"
android:theme="@style/TestTheme"/>
</application>
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/ComposeViewAdapterTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ComposeViewAdapterTest.kt
similarity index 97%
rename from compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/ComposeViewAdapterTest.kt
rename to compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ComposeViewAdapterTest.kt
index a8c2933..ac5f09d 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/ComposeViewAdapterTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ComposeViewAdapterTest.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2020 The Android Open Source Project
+ * Copyright 2021 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.
@@ -14,14 +14,13 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview
+package androidx.compose.ui.tooling
import android.app.Activity
import android.os.Bundle
import androidx.compose.animation.core.InternalAnimationApi
-import androidx.compose.ui.tooling.compositionCount
import androidx.compose.ui.tooling.data.UiToolingDataApi
-import androidx.compose.ui.tooling.preview.animation.PreviewAnimationClock
+import androidx.compose.ui.tooling.animation.PreviewAnimationClock
import androidx.compose.ui.tooling.test.R
import androidx.test.filters.LargeTest
import androidx.test.filters.MediumTest
@@ -348,7 +347,7 @@
expectedResult: String
) {
initAndWaitForDraw(
- "androidx.compose.ui.tooling.preview.DesignInfoProviderComposableKt",
+ "androidx.compose.ui.tooling.DesignInfoProviderComposableKt",
methodName,
customArgument
)
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/DesignInfoProviderComposable.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/DesignInfoProviderComposable.kt
similarity index 94%
rename from compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/DesignInfoProviderComposable.kt
rename to compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/DesignInfoProviderComposable.kt
index ec9575e..806dd6c 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/DesignInfoProviderComposable.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/DesignInfoProviderComposable.kt
@@ -14,11 +14,12 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview
+package androidx.compose.ui.tooling
import androidx.compose.material.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
+import androidx.compose.ui.tooling.preview.Preview
@Composable
fun DesignInfoProviderA() {
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/ParameterProviderComposable.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ParameterProviderComposable.kt
similarity index 90%
rename from compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/ParameterProviderComposable.kt
rename to compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ParameterProviderComposable.kt
index 0c91f65..9412cf0 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/ParameterProviderComposable.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ParameterProviderComposable.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2020 The Android Open Source Project
+ * Copyright 2021 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.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview
+package androidx.compose.ui.tooling
import androidx.compose.material.Button
import androidx.compose.material.Colors
@@ -23,6 +23,7 @@
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.tooling.preview.Preview
@Preview
@Composable
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/PreviewActivityTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/PreviewActivityTest.kt
similarity index 96%
rename from compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/PreviewActivityTest.kt
rename to compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/PreviewActivityTest.kt
index fba78f7..49c6d5c 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/PreviewActivityTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/PreviewActivityTest.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2020 The Android Open Source Project
+ * Copyright 2021 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.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview
+package androidx.compose.ui.tooling
import android.content.Intent
import android.view.ViewGroup
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/PreviewParameterTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/PreviewParameterTest.kt
similarity index 87%
rename from compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/PreviewParameterTest.kt
rename to compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/PreviewParameterTest.kt
index 0913689..61591d4 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/PreviewParameterTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/PreviewParameterTest.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2020 The Android Open Source Project
+ * Copyright 2021 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.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview
+package androidx.compose.ui.tooling
import androidx.compose.material.Colors
import androidx.compose.material.darkColors
@@ -48,7 +48,7 @@
fun loremIpsumProvider() {
activityTestRule.runOnUiThread {
composeViewAdapter.init(
- "androidx.compose.ui.tooling.preview.ParameterProviderComposableKt",
+ "androidx.compose.ui.tooling.ParameterProviderComposableKt",
"OneStringParameter",
parameterProvider = LoremIpsum::class.java,
debugViewInfos = true
@@ -62,7 +62,7 @@
fun checkIntParameterProvider() {
activityTestRule.runOnUiThread {
composeViewAdapter.init(
- "androidx.compose.ui.tooling.preview.ParameterProviderComposableKt",
+ "androidx.compose.ui.tooling.ParameterProviderComposableKt",
"OneIntParameter",
parameterProvider = MyListProvider::class.java,
debugViewInfos = true
@@ -78,7 +78,7 @@
fun checkColorsProvider() {
activityTestRule.runOnUiThread {
composeViewAdapter.init(
- "androidx.compose.ui.tooling.preview.ParameterProviderComposableKt",
+ "androidx.compose.ui.tooling.ParameterProviderComposableKt",
"ColorsParameter",
parameterProvider = MyColorsProvider::class.java,
debugViewInfos = true
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/animation/PreviewAnimationClockTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/PreviewAnimationClockTest.kt
similarity index 99%
rename from compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/animation/PreviewAnimationClockTest.kt
rename to compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/PreviewAnimationClockTest.kt
index a661cc7..e35c2ca 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/preview/animation/PreviewAnimationClockTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/PreviewAnimationClockTest.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview.animation
+package androidx.compose.ui.tooling.animation
import androidx.compose.animation.animateColor
import androidx.compose.animation.core.InternalAnimationApi
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/res/layout/compose_adapter_test.xml b/compose/ui/ui-tooling/src/androidAndroidTest/res/layout/compose_adapter_test.xml
index 8adabed..6673e1e 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/res/layout/compose_adapter_test.xml
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/res/layout/compose_adapter_test.xml
@@ -15,7 +15,7 @@
limitations under the License.
-->
-<androidx.compose.ui.tooling.preview.ComposeViewAdapter
+<androidx.compose.ui.tooling.ComposeViewAdapter
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/compose_view_adapter"
android:orientation="vertical" android:layout_width="match_parent"
diff --git a/compose/ui/ui-tooling/src/androidMain/AndroidManifest.xml b/compose/ui/ui-tooling/src/androidMain/AndroidManifest.xml
index 0a785be..aef36de 100644
--- a/compose/ui/ui-tooling/src/androidMain/AndroidManifest.xml
+++ b/compose/ui/ui-tooling/src/androidMain/AndroidManifest.xml
@@ -18,7 +18,7 @@
<application>
<activity
- android:name=".preview.PreviewActivity"
+ android:name=".PreviewActivity"
android:exported="true" />
</application>
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/ComposeViewAdapter.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/ComposeViewAdapter.kt
similarity index 98%
rename from compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/ComposeViewAdapter.kt
rename to compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/ComposeViewAdapter.kt
index 4dabeea..baf13ac 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/ComposeViewAdapter.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/ComposeViewAdapter.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2019 The Android Open Source Project
+ * Copyright 2021 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.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview
+package androidx.compose.ui.tooling
import android.annotation.SuppressLint
import android.content.Context
@@ -47,14 +47,14 @@
import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.platform.LocalFontLoader
import androidx.compose.ui.platform.ViewRootForTest
-import androidx.compose.ui.tooling.CompositionDataRecord
-import androidx.compose.ui.tooling.Inspectable
+import androidx.compose.ui.tooling.CommonPreviewUtils.invokeComposableViaReflection
import androidx.compose.ui.tooling.data.Group
import androidx.compose.ui.tooling.data.SourceLocation
import androidx.compose.ui.tooling.data.UiToolingDataApi
import androidx.compose.ui.tooling.data.asTree
-import androidx.compose.ui.tooling.preview.animation.PreviewAnimationClock
-import androidx.compose.ui.tooling.preview.CommonPreviewUtils.invokeComposableViaReflection
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.tooling.preview.PreviewParameterProvider
+import androidx.compose.ui.tooling.animation.PreviewAnimationClock
import androidx.compose.ui.unit.IntRect
import androidx.core.app.ActivityOptionsCompat
import androidx.lifecycle.Lifecycle
@@ -68,7 +68,7 @@
import androidx.savedstate.ViewTreeSavedStateRegistryOwner
import java.lang.reflect.Method
-const val TOOLS_NS_URI = "http://schemas.android.com/tools"
+private const val TOOLS_NS_URI = "http://schemas.android.com/tools"
private const val DESIGN_INFO_METHOD = "getDesignInfo"
private val emptyContent: @Composable () -> Unit = @Composable {}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/LayoutlibFontResourceLoader.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/LayoutlibFontResourceLoader.kt
similarity index 93%
rename from compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/LayoutlibFontResourceLoader.kt
rename to compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/LayoutlibFontResourceLoader.kt
index 0c85551..90af339 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/LayoutlibFontResourceLoader.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/LayoutlibFontResourceLoader.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2019 The Android Open Source Project
+ * Copyright 2021 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.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview
+package androidx.compose.ui.tooling
import android.content.Context
import android.graphics.Typeface
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/PreviewActivity.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/PreviewActivity.kt
similarity index 96%
rename from compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/PreviewActivity.kt
rename to compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/PreviewActivity.kt
index 6b2fd1b..87f7446 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/PreviewActivity.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/PreviewActivity.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2019 The Android Open Source Project
+ * Copyright 2021 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.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview
+package androidx.compose.ui.tooling
import android.content.pm.ApplicationInfo
import android.os.Bundle
@@ -27,7 +27,7 @@
import androidx.compose.runtime.currentComposer
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
-import androidx.compose.ui.tooling.preview.CommonPreviewUtils.invokeComposableViaReflection
+import androidx.compose.ui.tooling.CommonPreviewUtils.invokeComposableViaReflection
/**
* Activity used to run `@Composable` previews from Android Studio.
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/PreviewUtils.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/PreviewUtils.kt
similarity index 95%
rename from compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/PreviewUtils.kt
rename to compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/PreviewUtils.kt
index 0637d9a..902dccc 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/PreviewUtils.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/PreviewUtils.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2019 The Android Open Source Project
+ * Copyright 2021 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.
@@ -14,9 +14,10 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview
+package androidx.compose.ui.tooling
import android.util.Log
+import androidx.compose.ui.tooling.preview.PreviewParameterProvider
/**
* Tries to find the [Class] of the [PreviewParameterProvider] corresponding to the given FQN.
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/animation/ComposeAnimationParser.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/ComposeAnimationParser.kt
similarity index 96%
rename from compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/animation/ComposeAnimationParser.kt
rename to compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/ComposeAnimationParser.kt
index 966dfc9..8421a8a8 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/animation/ComposeAnimationParser.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/ComposeAnimationParser.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview.animation
+package androidx.compose.ui.tooling.animation
import android.util.Log
import androidx.compose.animation.core.Transition
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/animation/PreviewAnimationClock.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/PreviewAnimationClock.kt
similarity index 99%
rename from compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/animation/PreviewAnimationClock.kt
rename to compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/PreviewAnimationClock.kt
index 8541ec1..cb1d1fe 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/animation/PreviewAnimationClock.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/PreviewAnimationClock.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview.animation
+package androidx.compose.ui.tooling.animation
import android.util.Log
import androidx.annotation.VisibleForTesting
diff --git a/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/runtime/PreviewRunner.kt b/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/runtime/PreviewRunner.kt
index 4100ec56..6f49adf 100644
--- a/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/runtime/PreviewRunner.kt
+++ b/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/runtime/PreviewRunner.kt
@@ -19,7 +19,7 @@
import androidx.compose.desktop.Window
import androidx.compose.runtime.Composable
import androidx.compose.runtime.currentComposer
-import androidx.compose.ui.tooling.preview.CommonPreviewUtils.invokeComposableViaReflection
+import androidx.compose.ui.tooling.CommonPreviewUtils.invokeComposableViaReflection
internal class PreviewRunner {
companion object {
diff --git a/compose/ui/ui-tooling/src/jvmMain/kotlin/androidx/compose/ui/tooling/preview/CommonPreviewUtils.kt b/compose/ui/ui-tooling/src/jvmMain/kotlin/androidx/compose/ui/tooling/CommonPreviewUtils.kt
similarity index 99%
rename from compose/ui/ui-tooling/src/jvmMain/kotlin/androidx/compose/ui/tooling/preview/CommonPreviewUtils.kt
rename to compose/ui/ui-tooling/src/jvmMain/kotlin/androidx/compose/ui/tooling/CommonPreviewUtils.kt
index 2f114ae..1a30e4e 100644
--- a/compose/ui/ui-tooling/src/jvmMain/kotlin/androidx/compose/ui/tooling/preview/CommonPreviewUtils.kt
+++ b/compose/ui/ui-tooling/src/jvmMain/kotlin/androidx/compose/ui/tooling/CommonPreviewUtils.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package androidx.compose.ui.tooling.preview
+package androidx.compose.ui.tooling
import androidx.compose.runtime.Composer
import java.lang.reflect.Method
diff --git a/compose/ui/ui/lint-baseline.xml b/compose/ui/ui/lint-baseline.xml
new file mode 100644
index 0000000..e85b753
--- /dev/null
+++ b/compose/ui/ui/lint-baseline.xml
@@ -0,0 +1,543 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `waitAndScreenShot`"
+ errorLine1=" val bitmap = rule.waitAndScreenShot()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/draw/AlphaTest.kt"
+ line="231"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 21): `RenderNodeApi29`"
+ errorLine1=" RenderNodeApi29(AndroidComposeView(activity)).apply {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidLayoutDrawTest.kt"
+ line="224"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 21): `dumpRenderNodeData`"
+ errorLine1=" }.dumpRenderNodeData().cameraDistance == cameraDistance"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidLayoutDrawTest.kt"
+ line="226"
+ column="11"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `RenderNodeApi23`"
+ errorLine1=" RenderNodeApi23(AndroidComposeView(activity)).apply {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidLayoutDrawTest.kt"
+ line="231"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `dumpRenderNodeData`"
+ errorLine1=" }.dumpRenderNodeData().cameraDistance == -cameraDistance // Camera distance is negative"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidLayoutDrawTest.kt"
+ line="233"
+ column="11"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `waitAndScreenShot`"
+ errorLine1=" val bitmap = waitAndScreenShot()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidLayoutDrawTest.kt"
+ line="3707"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `AndroidAutofill`"
+ errorLine1=" androidAutofill = AndroidAutofill(view, autofillTree)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPerformAutofillTest.kt"
+ line="46"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `android.view.autofill.AutofillValue#forText`"
+ errorLine1=" .apply { append(autofillNode.id, AutofillValue.forText(expectedValue)) }"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPerformAutofillTest.kt"
+ line="62"
+ column="60"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `performAutofill`"
+ errorLine1=" androidAutofill.performAutofill(autofillValues)"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPerformAutofillTest.kt"
+ line="65"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `android.view.autofill.AutofillValue#forText`"
+ errorLine1=" .apply { append(autofillNode.id, AutofillValue.forText(expectedValue)) }"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPerformAutofillTest.kt"
+ line="84"
+ column="60"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `performAutofill`"
+ errorLine1=" androidAutofill.performAutofill(autofillValues)"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPerformAutofillTest.kt"
+ line="87"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `AndroidAutofill`"
+ errorLine1=" androidAutofill = AndroidAutofill(view, autofillTree)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="50"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `FakeAndroidViewStructure`"
+ errorLine1=" val viewStructure: ViewStructure = FakeAndroidViewStructure()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="57"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `populateViewStructure`"
+ errorLine1=" androidAutofill.populateViewStructure(viewStructure)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="60"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.view.ViewStructure#getChildCount`"
+ errorLine1=" assertThat(viewStructure.childCount).isEqualTo(0)"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="63"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `FakeAndroidViewStructure`"
+ errorLine1=" val viewStructure = FakeAndroidViewStructure()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="77"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `populateViewStructure`"
+ errorLine1=" androidAutofill.populateViewStructure(viewStructure)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="78"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `FakeAndroidViewStructure`"
+ errorLine1=" FakeAndroidViewStructure().apply {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="82"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `FakeAndroidViewStructure`"
+ errorLine1=" FakeAndroidViewStructure().apply {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="84"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `setAutofillType`"
+ errorLine1=" setAutofillType(View.AUTOFILL_TYPE_TEXT)"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="87"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `setAutofillHints`"
+ errorLine1=" setAutofillHints(arrayOf(AUTOFILL_HINT_PERSON_NAME))"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="88"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `setDimens`"
+ errorLine1=" setDimens(0, 0, 0, 0, 0, 0)"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="89"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `FakeAndroidViewStructure`"
+ errorLine1=" val viewStructure: ViewStructure = FakeAndroidViewStructure()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="114"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `populateViewStructure`"
+ errorLine1=" androidAutofill.populateViewStructure(viewStructure)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="115"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `FakeAndroidViewStructure`"
+ errorLine1=" FakeAndroidViewStructure().apply {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="119"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `FakeAndroidViewStructure`"
+ errorLine1=" FakeAndroidViewStructure().apply {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="121"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `setAutofillType`"
+ errorLine1=" setAutofillType(View.AUTOFILL_TYPE_TEXT)"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="124"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `setAutofillHints`"
+ errorLine1=" setAutofillHints(arrayOf(AUTOFILL_HINT_PERSON_NAME))"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="125"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `setDimens`"
+ errorLine1=" setDimens(0, 0, 0, 0, 0, 0)"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="126"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `FakeAndroidViewStructure`"
+ errorLine1=" FakeAndroidViewStructure().apply {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="130"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `setAutofillType`"
+ errorLine1=" setAutofillType(View.AUTOFILL_TYPE_TEXT)"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="133"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `setAutofillHints`"
+ errorLine1=" setAutofillHints(arrayOf(View.AUTOFILL_HINT_EMAIL_ADDRESS))"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="134"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `setDimens`"
+ errorLine1=" setDimens(0, 0, 0, 0, 0, 0)"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AndroidPopulateViewStructureTest.kt"
+ line="135"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.content.Context#getSystemService`"
+ errorLine1=" activity.getSystemService(AutofillManager::class.java)"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AutofillNodeTest.kt"
+ line="60"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 26 (current min is 21): `android.view.autofill.AutofillManager`"
+ errorLine1=" activity.getSystemService(AutofillManager::class.java)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AutofillNodeTest.kt"
+ line="60"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `AndroidAutofill`"
+ errorLine1=" androidAutofill = AndroidAutofill(view, autofillTree)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AutofillNodeTest.kt"
+ line="63"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `android.view.View#getImportantForAutofill`"
+ errorLine1=" assertThat(view.importantForAutofill).isEqualTo(View.IMPORTANT_FOR_AUTOFILL_YES)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AutofillNodeTest.kt"
+ line="74"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `requestAutofillForNode`"
+ errorLine1=" androidAutofill.requestAutofillForNode(autofillNode)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AutofillNodeTest.kt"
+ line="84"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `requestAutofillForNode`"
+ errorLine1=" androidAutofill.requestAutofillForNode(autofillNode)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AutofillNodeTest.kt"
+ line="101"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `cancelAutofillForNode`"
+ errorLine1=" androidAutofill.cancelAutofillForNode(autofillNode)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/kotlin/androidx/compose/ui/autofill/AutofillNodeTest.kt"
+ line="110"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `waitAndScreenShot`"
+ errorLine1=" val bitmap = rule.waitAndScreenShot()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/draw/ClipDrawTest.kt"
+ line="524"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 21): `android.os.Parcel#readBoolean`"
+ errorLine1=" parcel?.readBoolean()"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/platform/DisposableSaveableStateRegistryTest.kt"
+ line="184"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 21): `android.os.Parcel#readBoolean`"
+ errorLine1=" parcel?.readBoolean()"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/platform/DisposableSaveableStateRegistryTest.kt"
+ line="184"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 21): `android.os.Parcel#writeBoolean`"
+ errorLine1=" parcel.writeBoolean(true)"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/platform/DisposableSaveableStateRegistryTest.kt"
+ line="188"
+ column="16"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `captureToImage`"
+ errorLine1=" fun SemanticsNodeInteraction.captureToBitmap() = captureToImage().asAndroidBitmap()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/draw/DrawModifierTest.kt"
+ line="638"
+ column="54"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/draw/InvalidatingNotPlacedChildTest.kt"
+ line="378"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `captureToImage`"
+ errorLine1=" val bitmap = onRoot().captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/draw/PainterModifierTest.kt"
+ line="720"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `waitAndScreenShot`"
+ errorLine1=" val bitmap = rule.waitAndScreenShot()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/draw/ShadowTest.kt"
+ line="342"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `captureToImage`"
+ errorLine1=" val bitmap = rule.onRoot().captureToImage().asAndroidBitmap()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/vector/VectorTest.kt"
+ line="481"
+ column="36"/>
+ </issue>
+
+</issues>
diff --git a/concurrent/futures/lint-baseline.xml b/concurrent/futures/lint-baseline.xml
index e3e9c00..1e1f597 100644
--- a/concurrent/futures/lint-baseline.xml
+++ b/concurrent/futures/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanSynchronizedMethods"
diff --git a/contentaccess/contentaccess-entities/lint-baseline.xml b/contentaccess/contentaccess-entities/lint-baseline.xml
deleted file mode 100644
index cac8848..0000000
--- a/contentaccess/contentaccess-entities/lint-baseline.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.2.0-alpha15" client="gradle" variant="debug" version="4.2.0-alpha15">
-
- <issue
- id="InlinedApi"
- message="Field requires API level 29 (current min is 14): `android.provider.MediaStore.MediaColumns#DATE_TAKEN`"
- errorLine1=" @ContentColumn(android.provider.MediaStore.MediaColumns.DATE_TAKEN)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/androidx/contentaccess/entities/ContentAccessMediaStore.kt"
- line="204"
- column="24"/>
- </issue>
-
- <issue
- id="InlinedApi"
- message="Field requires API level 29 (current min is 14): `android.provider.MediaStore.MediaColumns#BUCKET_ID`"
- errorLine1=" @ContentColumn(android.provider.MediaStore.MediaColumns.BUCKET_ID)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/androidx/contentaccess/entities/ContentAccessMediaStore.kt"
- line="208"
- column="24"/>
- </issue>
-
- <issue
- id="InlinedApi"
- message="Field requires API level 29 (current min is 14): `android.provider.MediaStore.MediaColumns#BUCKET_DISPLAY_NAME`"
- errorLine1=" @ContentColumn(android.provider.MediaStore.MediaColumns.BUCKET_DISPLAY_NAME)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/androidx/contentaccess/entities/ContentAccessMediaStore.kt"
- line="212"
- column="24"/>
- </issue>
-
- <issue
- id="InlinedApi"
- message="Field requires API level 29 (current min is 14): `android.provider.MediaStore.MediaColumns#ORIENTATION`"
- errorLine1=" @ContentColumn(android.provider.MediaStore.MediaColumns.ORIENTATION)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/androidx/contentaccess/entities/ContentAccessMediaStore.kt"
- line="216"
- column="24"/>
- </issue>
-
- <issue
- id="InlinedApi"
- message="Field requires API level 29 (current min is 14): `android.provider.MediaStore.MediaColumns#DATE_TAKEN`"
- errorLine1=" @ContentColumn(android.provider.MediaStore.MediaColumns.DATE_TAKEN)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/androidx/contentaccess/entities/ContentAccessMediaStore.kt"
- line="403"
- column="24"/>
- </issue>
-
- <issue
- id="InlinedApi"
- message="Field requires API level 29 (current min is 14): `android.provider.MediaStore.MediaColumns#BUCKET_ID`"
- errorLine1=" @ContentColumn(android.provider.MediaStore.MediaColumns.BUCKET_ID)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/androidx/contentaccess/entities/ContentAccessMediaStore.kt"
- line="407"
- column="24"/>
- </issue>
-
- <issue
- id="InlinedApi"
- message="Field requires API level 29 (current min is 14): `android.provider.MediaStore.MediaColumns#BUCKET_DISPLAY_NAME`"
- errorLine1=" @ContentColumn(android.provider.MediaStore.MediaColumns.BUCKET_DISPLAY_NAME)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/androidx/contentaccess/entities/ContentAccessMediaStore.kt"
- line="411"
- column="24"/>
- </issue>
-
- <issue
- id="InlinedApi"
- message="Field requires API level 29 (current min is 14): `android.provider.MediaStore.MediaColumns#DURATION`"
- errorLine1=" @ContentColumn(android.provider.MediaStore.MediaColumns.DURATION)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/androidx/contentaccess/entities/ContentAccessMediaStore.kt"
- line="420"
- column="24"/>
- </issue>
-
- <issue
- id="InlinedApi"
- message="Field requires API level 29 (current min is 14): `android.provider.MediaStore.MediaColumns#DURATION`"
- errorLine1=" @ContentColumn(android.provider.MediaStore.MediaColumns.DURATION)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/androidx/contentaccess/entities/ContentAccessMediaStore.kt"
- line="581"
- column="24"/>
- </issue>
-
-</issues>
diff --git a/contentaccess/integration-tests/testapp/lint-baseline.xml b/contentaccess/integration-tests/testapp/lint-baseline.xml
deleted file mode 100644
index f4519bf..0000000
--- a/contentaccess/integration-tests/testapp/lint-baseline.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.2.0-alpha15" client="gradle" variant="debug" version="4.2.0-alpha15">
-
- <issue
- id="ScopedStorage"
- message="WRITE_EXTERNAL_STORAGE no longer provides write access when targeting Android 10+"
- errorLine1=" <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="20"
- column="36"/>
- </issue>
-
- <issue
- id="AllowBackup"
- message="On SDK version 23 and up, your app data will be automatically backed up and restored on app install. Consider adding the attribute `android:fullBackupContent` to specify an `@xml` resource which configures which files to backup. More info: https://developer.android.com/training/backup/autosyncapi.html"
- errorLine1=" <application />"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="24"
- column="6"/>
- </issue>
-
- <issue
- id="AllowBackup"
- message="Should explicitly set `android:allowBackup` to `true` or `false` (it's `true` by default, and that can have some security implications for the application's data)"
- errorLine1=" <application />"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="24"
- column="6"/>
- </issue>
-
- <issue
- id="MissingApplicationIcon"
- message="Should explicitly set `android:icon`, there is no default"
- errorLine1=" <application />"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="24"
- column="6"/>
- </issue>
-
-</issues>
diff --git a/contentpager/contentpager/lint-baseline.xml b/contentpager/contentpager/lint-baseline.xml
index cbcf5fe..16ff690 100644
--- a/contentpager/contentpager/lint-baseline.xml
+++ b/contentpager/contentpager/lint-baseline.xml
@@ -1,5 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `android.database.AbstractCursor#setExtras`"
+ errorLine1=" c.setExtras(extras);"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/contentpager/content/TestContentProvider.java"
+ line="245"
+ column="11"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 15 (current min is 14): `new android.database.CursorWindow`"
+ errorLine1=" setWindow(new CursorWindow("stevie"));"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/contentpager/content/TestContentProvider.java"
+ line="377"
+ column="23"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `android.database.AbstractCursor#setExtras`"
+ errorLine1=" cursor.setExtras(extras);"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/contentpager/content/TestQueryCallback.java"
+ line="51"
+ column="16"/>
+ </issue>
<issue
id="ClassVerificationFailure"
diff --git a/coordinatorlayout/coordinatorlayout/lint-baseline.xml b/coordinatorlayout/coordinatorlayout/lint-baseline.xml
index be43f6b..a8c4079 100644
--- a/coordinatorlayout/coordinatorlayout/lint-baseline.xml
+++ b/coordinatorlayout/coordinatorlayout/lint-baseline.xml
@@ -1,5 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.view.MotionEvent#actionToString`"
+ errorLine1=" return "MotionEvent#getAction() == " + MotionEvent.actionToString(mAction);"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/coordinatorlayout/widget/CoordinatorLayoutTouchEventTest.java"
+ line="561"
+ column="64"/>
+ </issue>
<issue
id="UnknownNullness"
diff --git a/coordinatorlayout/coordinatorlayout/proguard-rules.pro b/coordinatorlayout/coordinatorlayout/proguard-rules.pro
index 3705ed2..8e70bc6 100644
--- a/coordinatorlayout/coordinatorlayout/proguard-rules.pro
+++ b/coordinatorlayout/coordinatorlayout/proguard-rules.pro
@@ -19,4 +19,7 @@
}
# Make sure we keep annotations for CoordinatorLayout's DefaultBehavior and ViewPager's DecorView
--keepattributes *Annotation*
+-keepattributes AnnotationDefault,
+ RuntimeVisibleAnnotations,
+ RuntimeVisibleParameterAnnotations,
+ RuntimeVisibleTypeAnnotations
diff --git a/core/core-animation/lint-baseline.xml b/core/core-animation/lint-baseline.xml
index 13d37ce..7ea9925 100644
--- a/core/core-animation/lint-baseline.xml
+++ b/core/core-animation/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ResourceType"
@@ -14,7 +14,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" Object value = convertBack(mGetter.invoke(target));"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -25,7 +25,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" Object value = convertBack(mGetter.invoke(target));"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -36,7 +36,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mSetter.invoke(target, mTmpValueArray);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -47,7 +47,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mSetter.invoke(target, mTmpValueArray);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -58,7 +58,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mSetter.invoke(target, mTmpValueArray);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -69,7 +69,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mSetter.invoke(target, boxedValues);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -80,7 +80,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mSetter.invoke(target, boxedValues);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
diff --git a/core/core-appdigest/lint-baseline.xml b/core/core-appdigest/lint-baseline.xml
new file mode 100644
index 0000000..f787484e
--- /dev/null
+++ b/core/core-appdigest/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 24): `android.app.UiAutomation#adoptShellPermissionIdentity`"
+ errorLine1=" getUiAutomation().adoptShellPermissionIdentity(Manifest.permission.INSTALL_PACKAGES);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/appdigest/ChecksumsTest.java"
+ line="379"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 24): `android.app.UiAutomation#dropShellPermissionIdentity`"
+ errorLine1=" getUiAutomation().dropShellPermissionIdentity();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/appdigest/ChecksumsTest.java"
+ line="395"
+ column="35"/>
+ </issue>
+
+</issues>
diff --git a/core/core-google-shortcuts/lint-baseline.xml b/core/core-google-shortcuts/lint-baseline.xml
new file mode 100644
index 0000000..cf82732
--- /dev/null
+++ b/core/core-google-shortcuts/lint-baseline.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `java.util.Collection#stream`"
+ errorLine1=" actions.stream().map(Object::toString).collect(Collectors.toList());"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/google/shortcuts/ShortcutInfoChangeListenerImplTest.java"
+ line="274"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `java.util.stream.Collectors#toList`"
+ errorLine1=" actions.stream().map(Object::toString).collect(Collectors.toList());"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/google/shortcuts/ShortcutInfoChangeListenerImplTest.java"
+ line="274"
+ column="75"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `java.util.stream.Stream#collect`"
+ errorLine1=" actions.stream().map(Object::toString).collect(Collectors.toList());"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/google/shortcuts/ShortcutInfoChangeListenerImplTest.java"
+ line="274"
+ column="56"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `java.util.stream.Stream#map`"
+ errorLine1=" actions.stream().map(Object::toString).collect(Collectors.toList());"
+ errorLine2=" ~~~">
+ <location
+ file="src/androidTest/java/androidx/core/google/shortcuts/ShortcutInfoChangeListenerImplTest.java"
+ line="274"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Cast to `Collector` requires API level 24 (current min is 21)"
+ errorLine1=" actions.stream().map(Object::toString).collect(Collectors.toList());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/google/shortcuts/ShortcutInfoChangeListenerImplTest.java"
+ line="274"
+ column="64"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `java.util.Collection#stream`"
+ errorLine1=" assertThat(resolveInfos.stream().anyMatch(resolveInfo ->"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/google/shortcuts/TrampolineActivityTest.java"
+ line="136"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `java.util.stream.Stream#anyMatch`"
+ errorLine1=" assertThat(resolveInfos.stream().anyMatch(resolveInfo ->"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/google/shortcuts/TrampolineActivityTest.java"
+ line="136"
+ column="42"/>
+ </issue>
+
+</issues>
diff --git a/core/core-ktx/lint-baseline.xml b/core/core-ktx/lint-baseline.xml
index 718509e..0a1170e 100644
--- a/core/core-ktx/lint-baseline.xml
+++ b/core/core-ktx/lint-baseline.xml
@@ -1,5 +1,126 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `android.util.SparseArray#contains`"
+ errorLine1=" assertFalse(1 in array)"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/util/SparseArrayTest.kt"
+ line="42"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `android.util.SparseArray#contains`"
+ errorLine1=" assertTrue(1 in array)"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/util/SparseArrayTest.kt"
+ line="44"
+ column="20"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `android.util.SparseArray#contains`"
+ errorLine1=" assertFalse(2 in array)"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/util/SparseArrayTest.kt"
+ line="52"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `android.util.SparseArray#contains`"
+ errorLine1=" assertTrue(2 in array)"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/util/SparseArrayTest.kt"
+ line="55"
+ column="20"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `updatePaddingRelative`"
+ errorLine1=" view.updatePaddingRelative(start = 10, end = 20)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/ViewTest.kt"
+ line="142"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `android.view.View#getPaddingStart`"
+ errorLine1=" assertEquals(10, view.paddingStart)"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/ViewTest.kt"
+ line="143"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `android.view.View#getPaddingEnd`"
+ errorLine1=" assertEquals(20, view.paddingEnd)"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/ViewTest.kt"
+ line="145"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `android.view.View#setPaddingRelative`"
+ errorLine1=" view.setPaddingRelative(10, 20, 30, 40)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/ViewTest.kt"
+ line="151"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `updatePaddingRelative`"
+ errorLine1=" view.updatePaddingRelative()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/ViewTest.kt"
+ line="152"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `android.view.View#getPaddingStart`"
+ errorLine1=" assertEquals(10, view.paddingStart)"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/ViewTest.kt"
+ line="153"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `android.view.View#getPaddingEnd`"
+ errorLine1=" assertEquals(30, view.paddingEnd)"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/ViewTest.kt"
+ line="155"
+ column="31"/>
+ </issue>
<issue
id="ClassVerificationFailure"
diff --git a/core/core/api/current.txt b/core/core/api/current.txt
index ed6e107..fc6c7cd 100644
--- a/core/core/api/current.txt
+++ b/core/core/api/current.txt
@@ -988,16 +988,21 @@
}
public final class IntentCompat {
- method public static boolean areUnusedAppRestrictionsAllowlisted(android.content.Context);
- method public static boolean areUnusedAppRestrictionsAvailable(android.content.Context);
method public static android.content.Intent createManageUnusedAppRestrictionsIntent(android.content.Context, String);
+ method public static int getUnusedAppRestrictionsStatus(android.content.Context);
method public static android.content.Intent makeMainSelectorActivity(String, String);
field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String ACTION_UNUSED_APP_RESTRICTIONS = "android.intent.action.AUTO_REVOKE_PERMISSIONS";
+ field public static final int APP_HIBERNATION_DISABLED = 5; // 0x5
+ field public static final int APP_HIBERNATION_ENABLED = 4; // 0x4
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
field public static final String EXTRA_TIME = "android.intent.extra.TIME";
+ field public static final int PERMISSION_REVOCATION_DISABLED = 3; // 0x3
+ field public static final int PERMISSION_REVOCATION_ENABLED = 2; // 0x2
+ field public static final int UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE = 1; // 0x1
+ field public static final int UNUSED_APP_RESTRICTION_STATUS_UNKNOWN = 0; // 0x0
}
public final class LocusIdCompat {
diff --git a/core/core/api/public_plus_experimental_current.txt b/core/core/api/public_plus_experimental_current.txt
index 5153500..5ae6f44 100644
--- a/core/core/api/public_plus_experimental_current.txt
+++ b/core/core/api/public_plus_experimental_current.txt
@@ -988,16 +988,21 @@
}
public final class IntentCompat {
- method public static boolean areUnusedAppRestrictionsAllowlisted(android.content.Context);
- method public static boolean areUnusedAppRestrictionsAvailable(android.content.Context);
method public static android.content.Intent createManageUnusedAppRestrictionsIntent(android.content.Context, String);
+ method public static int getUnusedAppRestrictionsStatus(android.content.Context);
method public static android.content.Intent makeMainSelectorActivity(String, String);
field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String ACTION_UNUSED_APP_RESTRICTIONS = "android.intent.action.AUTO_REVOKE_PERMISSIONS";
+ field public static final int APP_HIBERNATION_DISABLED = 5; // 0x5
+ field public static final int APP_HIBERNATION_ENABLED = 4; // 0x4
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
field public static final String EXTRA_TIME = "android.intent.extra.TIME";
+ field public static final int PERMISSION_REVOCATION_DISABLED = 3; // 0x3
+ field public static final int PERMISSION_REVOCATION_ENABLED = 2; // 0x2
+ field public static final int UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE = 1; // 0x1
+ field public static final int UNUSED_APP_RESTRICTION_STATUS_UNKNOWN = 0; // 0x0
}
public final class LocusIdCompat {
diff --git a/core/core/api/restricted_current.txt b/core/core/api/restricted_current.txt
index 3cea1d3..c7814ac8 100644
--- a/core/core/api/restricted_current.txt
+++ b/core/core/api/restricted_current.txt
@@ -1091,16 +1091,21 @@
}
public final class IntentCompat {
- method public static boolean areUnusedAppRestrictionsAllowlisted(android.content.Context);
- method public static boolean areUnusedAppRestrictionsAvailable(android.content.Context);
method public static android.content.Intent createManageUnusedAppRestrictionsIntent(android.content.Context, String);
+ method public static int getUnusedAppRestrictionsStatus(android.content.Context);
method public static android.content.Intent makeMainSelectorActivity(String, String);
field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String ACTION_UNUSED_APP_RESTRICTIONS = "android.intent.action.AUTO_REVOKE_PERMISSIONS";
+ field public static final int APP_HIBERNATION_DISABLED = 5; // 0x5
+ field public static final int APP_HIBERNATION_ENABLED = 4; // 0x4
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
field public static final String EXTRA_TIME = "android.intent.extra.TIME";
+ field public static final int PERMISSION_REVOCATION_DISABLED = 3; // 0x3
+ field public static final int PERMISSION_REVOCATION_ENABLED = 2; // 0x2
+ field public static final int UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE = 1; // 0x1
+ field public static final int UNUSED_APP_RESTRICTION_STATUS_UNKNOWN = 0; // 0x0
}
public final class LocusIdCompat {
diff --git a/core/core/lint-baseline.xml b/core/core/lint-baseline.xml
index 39e9183..26283d0 100644
--- a/core/core/lint-baseline.xml
+++ b/core/core/lint-baseline.xml
@@ -1,5 +1,1138 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.util.Optional#of`"
+ errorLine1=" return Optional.of(modeCompat);"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/core/view/DisplayCompatTest.java"
+ line="74"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.util.Optional#empty`"
+ errorLine1=" return Optional.empty();"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/core/view/DisplayCompatTest.java"
+ line="77"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 17 (current min is 14): `android.hardware.display.DisplayManager`"
+ errorLine1=" mDisplayManager = (DisplayManager) mContext.getSystemService(DISPLAY_SERVICE);"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/core/view/DisplayCompatTest.java"
+ line="84"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `android.hardware.display.DisplayManager#getDisplay`"
+ errorLine1=" mDefaultDisplay = mDisplayManager.getDisplay(Display.DEFAULT_DISPLAY);"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/core/view/DisplayCompatTest.java"
+ line="85"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.util.Optional#get`"
+ errorLine1=" findNativeMode(DisplayCompat.getSupportedModes(mContext, mDefaultDisplay)).get();"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/core/view/DisplayCompatTest.java"
+ line="112"
+ column="92"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `android.hardware.display.DisplayManager#getDisplay`"
+ errorLine1=" Display secondDisplay = mDisplayManager.getDisplay(secondDisplayId);"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/core/view/DisplayCompatTest.java"
+ line="123"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.util.Optional#get`"
+ errorLine1=" findNativeMode(DisplayCompat.getSupportedModes(mContext, secondDisplay)).get();"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/core/view/DisplayCompatTest.java"
+ line="130"
+ column="90"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.util.Optional#get`"
+ errorLine1=" findNativeMode(DisplayCompat.getSupportedModes(mContext, mDefaultDisplay)).get();"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/core/view/DisplayCompatTest.java"
+ line="145"
+ column="92"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.util.Optional#get`"
+ errorLine1=" findNativeMode(DisplayCompat.getSupportedModes(mContext, mDefaultDisplay)).get();"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/core/view/DisplayCompatTest.java"
+ line="166"
+ column="92"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `java.lang.AutoCloseable#close`"
+ errorLine1=" closeable.close();"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/content/FileProviderTest.java"
+ line="466"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.content.pm.ResolveInfo#providerInfo`"
+ errorLine1=" resolveInfo.providerInfo = new ProviderInfo();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/content/IntentCompatTest.java"
+ line="217"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.content.pm.ResolveInfo#providerInfo`"
+ errorLine1=" resolveInfo.providerInfo.name = "Name needed to keep toString() happy :)";"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/content/IntentCompatTest.java"
+ line="218"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getImportance`"
+ errorLine1=" boolean equality = nc1.getImportance() == nc2.getImportance()"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="175"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getImportance`"
+ errorLine1=" boolean equality = nc1.getImportance() == nc2.getImportance()"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="175"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#canBypassDnd`"
+ errorLine1=" && nc1.canBypassDnd() == nc2.canBypassDnd()"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="176"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#canBypassDnd`"
+ errorLine1=" && nc1.canBypassDnd() == nc2.canBypassDnd()"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="176"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getLockscreenVisibility`"
+ errorLine1=" && nc1.getLockscreenVisibility() == nc2.getLockscreenVisibility()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="177"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getLockscreenVisibility`"
+ errorLine1=" && nc1.getLockscreenVisibility() == nc2.getLockscreenVisibility()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="177"
+ column="61"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getLightColor`"
+ errorLine1=" && nc1.getLightColor() == nc2.getLightColor()"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="178"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getLightColor`"
+ errorLine1=" && nc1.getLightColor() == nc2.getLightColor()"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="178"
+ column="51"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `java.util.Objects#equals`"
+ errorLine1=" && Objects.equals(nc1.getId(), nc2.getId())"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="179"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getId`"
+ errorLine1=" && Objects.equals(nc1.getId(), nc2.getId())"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="179"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getId`"
+ errorLine1=" && Objects.equals(nc1.getId(), nc2.getId())"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="179"
+ column="56"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `java.util.Objects#equals`"
+ errorLine1=" && Objects.equals(nc1.getName(), nc2.getName())"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="180"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getName`"
+ errorLine1=" && Objects.equals(nc1.getName(), nc2.getName())"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="180"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getName`"
+ errorLine1=" && Objects.equals(nc1.getName(), nc2.getName())"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="180"
+ column="58"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `java.util.Objects#equals`"
+ errorLine1=" && Objects.equals(nc1.getDescription(), nc2.getDescription())"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="181"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getDescription`"
+ errorLine1=" && Objects.equals(nc1.getDescription(), nc2.getDescription())"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="181"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getDescription`"
+ errorLine1=" && Objects.equals(nc1.getDescription(), nc2.getDescription())"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="181"
+ column="65"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `java.util.Objects#equals`"
+ errorLine1=" && Objects.equals(nc1.getSound(), nc2.getSound())"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="182"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getSound`"
+ errorLine1=" && Objects.equals(nc1.getSound(), nc2.getSound())"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="182"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getSound`"
+ errorLine1=" && Objects.equals(nc1.getSound(), nc2.getSound())"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="182"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getVibrationPattern`"
+ errorLine1=" && Arrays.equals(nc1.getVibrationPattern(), nc2.getVibrationPattern())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="183"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getVibrationPattern`"
+ errorLine1=" && Arrays.equals(nc1.getVibrationPattern(), nc2.getVibrationPattern())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="183"
+ column="69"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `java.util.Objects#equals`"
+ errorLine1=" && Objects.equals(nc1.getGroup(), nc2.getGroup())"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="184"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getGroup`"
+ errorLine1=" && Objects.equals(nc1.getGroup(), nc2.getGroup())"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="184"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getGroup`"
+ errorLine1=" && Objects.equals(nc1.getGroup(), nc2.getGroup())"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="184"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `java.util.Objects#equals`"
+ errorLine1=" && Objects.equals(nc1.getAudioAttributes(), nc2.getAudioAttributes());"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="185"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getAudioAttributes`"
+ errorLine1=" && Objects.equals(nc1.getAudioAttributes(), nc2.getAudioAttributes());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="185"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getAudioAttributes`"
+ errorLine1=" && Objects.equals(nc1.getAudioAttributes(), nc2.getAudioAttributes());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="185"
+ column="69"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getImportance`"
+ errorLine1=" assertEquals(expected.getImportance(), actual.getImportance());"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="200"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getLightColor`"
+ errorLine1=" assertEquals(expected.getLightColor(), actual.getLightColor());"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="201"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getId`"
+ errorLine1=" assertEquals(expected.getId(), actual.getId());"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="202"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getName`"
+ errorLine1=" assertEquals(expected.getName(), actual.getName());"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="203"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getDescription`"
+ errorLine1=" assertEquals(expected.getDescription(), actual.getDescription());"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="204"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getSound`"
+ errorLine1=" assertEquals(expected.getSound(), actual.getSound());"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="205"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getVibrationPattern`"
+ errorLine1=" assertArrayEquals(expected.getVibrationPattern(), actual.getVibrationPattern());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="206"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getGroup`"
+ errorLine1=" assertEquals(expected.getGroup(), actual.getGroup());"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="207"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannel#getAudioAttributes`"
+ errorLine1=" assertEquals(expected.getAudioAttributes(), actual.getAudioAttributes());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelCompatTest.java"
+ line="208"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannelGroup#getId`"
+ errorLine1=" assertEquals(expected.getId(), actual.getId());"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelGroupCompatTest.java"
+ line="113"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `android.app.NotificationChannelGroup#getName`"
+ errorLine1=" assertEquals(expected.getName(), actual.getName());"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationChannelGroupCompatTest.java"
+ line="114"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `addInvisibleAction`"
+ errorLine1=" Notification nWith = builder.addInvisibleAction(0, "testAction", null)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationCompatTest.java"
+ line="251"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `getInvisibleActions`"
+ errorLine1=" List<NotificationCompat.Action> actions = NotificationCompat.getInvisibleActions(nWith);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationCompatTest.java"
+ line="253"
+ column="70"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 19): `android.graphics.drawable.Icon#getType`"
+ errorLine1=" assertEquals(Icon.TYPE_BITMAP, ((Icon) firstBuiltIcon).getType());"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationCompatTest.java"
+ line="1409"
+ column="68"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 19): `android.graphics.drawable.Icon#getType`"
+ errorLine1=" assertEquals(Icon.TYPE_BITMAP, ((Icon) rebuiltIcon).getType());"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationCompatTest.java"
+ line="1424"
+ column="65"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 23): `android.graphics.drawable.Icon#getType`"
+ errorLine1=" assertEquals(Icon.TYPE_RESOURCE, firstBuiltIcon.getType());"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationCompatTest.java"
+ line="1440"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 23): `android.graphics.drawable.Icon#getType`"
+ errorLine1=" assertEquals(Icon.TYPE_RESOURCE, rebuiltIcon.getType());"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationCompatTest.java"
+ line="1450"
+ column="54"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `Builder`"
+ errorLine1=" new NotificationCompat.BubbleMetadata.Builder(shortcutId)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationCompatTest.java"
+ line="2017"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `getInvisibleActions`"
+ errorLine1=" NotificationCompat.getInvisibleActions(notification);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationCompatTest.java"
+ line="2229"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.app.Notification#extras`"
+ errorLine1=" assertBundleEquals("Notification.extras", n2.extras, n2.extras)"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationTester.kt"
+ line="33"
+ column="51"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.app.Notification#extras`"
+ errorLine1=" assertBundleEquals("Notification.extras", n2.extras, n2.extras)"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/app/NotificationTester.kt"
+ line="33"
+ column="62"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `COLOR_DODGE`"
+ errorLine1=" verifyPorterDuffMatchesCompat(BlendModeCompat.COLOR_DODGE, null);"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/graphics/PaintTest.java"
+ line="100"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `COLOR_BURN`"
+ errorLine1=" verifyPorterDuffMatchesCompat(BlendModeCompat.COLOR_BURN, null);"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/graphics/PaintTest.java"
+ line="101"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `HARD_LIGHT`"
+ errorLine1=" verifyPorterDuffMatchesCompat(BlendModeCompat.HARD_LIGHT, null);"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/graphics/PaintTest.java"
+ line="102"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `SOFT_LIGHT`"
+ errorLine1=" verifyPorterDuffMatchesCompat(BlendModeCompat.SOFT_LIGHT, null);"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/graphics/PaintTest.java"
+ line="103"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `DIFFERENCE`"
+ errorLine1=" verifyPorterDuffMatchesCompat(BlendModeCompat.DIFFERENCE, null);"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/graphics/PaintTest.java"
+ line="104"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `EXCLUSION`"
+ errorLine1=" verifyPorterDuffMatchesCompat(BlendModeCompat.EXCLUSION, null);"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/graphics/PaintTest.java"
+ line="105"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `MULTIPLY`"
+ errorLine1=" verifyPorterDuffMatchesCompat(BlendModeCompat.MULTIPLY, null);"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/graphics/PaintTest.java"
+ line="108"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `HUE`"
+ errorLine1=" verifyPorterDuffMatchesCompat(BlendModeCompat.HUE, null);"
+ errorLine2=" ~~~">
+ <location
+ file="src/androidTest/java/androidx/core/graphics/PaintTest.java"
+ line="109"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `SATURATION`"
+ errorLine1=" verifyPorterDuffMatchesCompat(BlendModeCompat.SATURATION, null);"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/graphics/PaintTest.java"
+ line="110"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `COLOR`"
+ errorLine1=" verifyPorterDuffMatchesCompat(BlendModeCompat.COLOR, null);"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/graphics/PaintTest.java"
+ line="111"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `LUMINOSITY`"
+ errorLine1=" verifyPorterDuffMatchesCompat(BlendModeCompat.LUMINOSITY, null);"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/graphics/PaintTest.java"
+ line="112"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 14): `android.graphics.Paint#getBlendMode`"
+ errorLine1=" assertEquals(blendMode, p.getBlendMode());"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/graphics/PaintTest.java"
+ line="146"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `setBreakStrategy`"
+ errorLine1=" .setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE).build());"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="70"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `setBreakStrategy`"
+ errorLine1=" .setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE)"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="72"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `setHyphenationFrequency`"
+ errorLine1=" .setHyphenationFrequency(Layout.HYPHENATION_FREQUENCY_NORMAL).build());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="73"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `setBreakStrategy`"
+ errorLine1=" .setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE)"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="75"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `setHyphenationFrequency`"
+ errorLine1=" .setHyphenationFrequency(Layout.HYPHENATION_FREQUENCY_NORMAL)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="76"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 18 (current min is 14): `setTextDirection`"
+ errorLine1=" .setTextDirection(LTR).build());"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="77"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 18 (current min is 14): `android.text.TextDirectionHeuristics#LTR`"
+ errorLine1=" .setTextDirection(LTR).build());"
+ errorLine2=" ~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="77"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `getBreakStrategy`"
+ errorLine1=" .setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE).build().getBreakStrategy());"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="83"
+ column="73"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `setBreakStrategy`"
+ errorLine1=" .setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE).build().getBreakStrategy());"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="83"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `setHyphenationFrequency`"
+ errorLine1=" .setHyphenationFrequency(Layout.HYPHENATION_FREQUENCY_NONE).build()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="85"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `getHyphenationFrequency`"
+ errorLine1=" .getHyphenationFrequency());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="86"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 18 (current min is 14): `setTextDirection`"
+ errorLine1=" assertEquals(RTL, new Params.Builder(PAINT).setTextDirection(RTL).build()"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="87"
+ column="53"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 18 (current min is 14): `android.text.TextDirectionHeuristics#RTL`"
+ errorLine1=" assertEquals(RTL, new Params.Builder(PAINT).setTextDirection(RTL).build()"
+ errorLine2=" ~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="87"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 18 (current min is 14): `android.text.TextDirectionHeuristics#RTL`"
+ errorLine1=" assertEquals(RTL, new Params.Builder(PAINT).setTextDirection(RTL).build()"
+ errorLine2=" ~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="87"
+ column="70"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 18 (current min is 14): `getTextDirection`"
+ errorLine1=" .getTextDirection());"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/text/PrecomputedTextCompatTest.java"
+ line="88"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 25 (current min is 14): `toShortcutInfo`"
+ errorLine1=" .toShortcutInfo());"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/content/pm/ShortcutManagerCompatTest.java"
+ line="471"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 25 (current min is 14): `toShortcutInfo`"
+ errorLine1=" .toShortcutInfo());"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/content/pm/ShortcutManagerCompatTest.java"
+ line="479"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 25 (current min is 14): `toShortcutInfo`"
+ errorLine1=" .toShortcutInfo());"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/content/pm/ShortcutManagerCompatTest.java"
+ line="487"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 25 (current min is 14): `toShortcutInfo`"
+ errorLine1=" .toShortcutInfo());"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/content/pm/ShortcutManagerCompatTest.java"
+ line="495"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 25 (current min is 14): `toShortcutInfo`"
+ errorLine1=" .toShortcutInfo());"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/content/pm/ShortcutManagerCompatTest.java"
+ line="503"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `android.telephony.SubscriptionManager#getDefaultSubscriptionId`"
+ errorLine1=" assertEquals(getDefaultSubscriptionId(), actual);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/telephony/TelephonyManagerCompatTest.java"
+ line="110"
+ column="30"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `android.telephony.SubscriptionManager#getDefaultSubscriptionId`"
+ errorLine1=" assertEquals(expected, getDefaultSubscriptionId());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/telephony/TelephonyManagerCompatTest.java"
+ line="112"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `new android.widget.FrameLayout`"
+ errorLine1=" super(context, attrs, defStyleAttr, defStyleRes);"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/widget/TestContentView.java"
+ line="53"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 20 (current min is 14): `android.view.View#requestApplyInsets`"
+ errorLine1=" requestApplyInsets()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/WindowInsetsCompatActivityTest.kt"
+ line="425"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `scenario`"
+ errorLine1=" scenario.onActivity {"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt"
+ line="271"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `windowInsetsController`"
+ errorLine1=" windowInsetsController.systemBarsBehavior ="
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt"
+ line="272"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `scenario`"
+ errorLine1=" val decorView = scenario.withActivity { window.decorView }"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt"
+ line="275"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `scenario`"
+ errorLine1=" scenario.onActivity {"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt"
+ line="288"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `windowInsetsController`"
+ errorLine1=" windowInsetsController.systemBarsBehavior ="
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt"
+ line="289"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `scenario`"
+ errorLine1=" val decorView = scenario.withActivity { window.decorView }"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt"
+ line="292"
+ column="25"/>
+ </issue>
<issue
id="BanUncheckedReflection"
@@ -3517,7 +4650,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/core/provider/FontProvider.java"
- line="139"
+ line="138"
column="55"/>
</issue>
@@ -4056,7 +5189,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/view/inputmethod/InputConnectionCompat.java"
- line="145"
+ line="148"
column="36"/>
</issue>
@@ -4078,7 +5211,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/content/IntentCompat.java"
- line="108"
+ line="125"
column="27"/>
</issue>
@@ -4089,7 +5222,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/core/app/JobIntentService.java"
- line="260"
+ line="265"
column="33"/>
</issue>
@@ -4100,7 +5233,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/app/JobIntentService.java"
- line="267"
+ line="272"
column="33"/>
</issue>
@@ -4111,7 +5244,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/core/text/util/LinkifyCompat.java"
- line="260"
+ line="258"
column="21"/>
</issue>
@@ -4122,7 +5255,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/core/text/util/LinkifyCompat.java"
- line="336"
+ line="333"
column="28"/>
</issue>
@@ -4419,7 +5552,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/view/MenuCompat.java"
- line="51"
+ line="49"
column="18"/>
</issue>
@@ -7510,7 +8643,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="199"
+ line="197"
column="28"/>
</issue>
@@ -7521,7 +8654,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="200"
+ line="198"
column="26"/>
</issue>
@@ -7532,7 +8665,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="201"
+ line="199"
column="26"/>
</issue>
@@ -7543,7 +8676,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="202"
+ line="200"
column="26"/>
</issue>
@@ -7554,7 +8687,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="203"
+ line="201"
column="26"/>
</issue>
@@ -7565,7 +8698,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="215"
+ line="213"
column="30"/>
</issue>
@@ -7576,7 +8709,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="216"
+ line="214"
column="32"/>
</issue>
@@ -7587,7 +8720,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="217"
+ line="215"
column="38"/>
</issue>
@@ -7598,7 +8731,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="218"
+ line="216"
column="45"/>
</issue>
@@ -7609,7 +8742,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="294"
+ line="292"
column="28"/>
</issue>
@@ -7620,7 +8753,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="294"
+ line="292"
column="71"/>
</issue>
@@ -7631,7 +8764,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="297"
+ line="295"
column="46"/>
</issue>
@@ -7642,7 +8775,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="298"
+ line="296"
column="46"/>
</issue>
@@ -7653,7 +8786,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="306"
+ line="304"
column="29"/>
</issue>
@@ -7664,7 +8797,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="306"
+ line="304"
column="74"/>
</issue>
@@ -7675,7 +8808,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="310"
+ line="308"
column="29"/>
</issue>
@@ -7686,7 +8819,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="310"
+ line="308"
column="73"/>
</issue>
@@ -7697,7 +8830,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="354"
+ line="352"
column="55"/>
</issue>
@@ -7708,7 +8841,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="355"
+ line="353"
column="79"/>
</issue>
@@ -7719,7 +8852,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="355"
+ line="353"
column="32"/>
</issue>
@@ -7730,7 +8863,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="359"
+ line="357"
column="55"/>
</issue>
@@ -7741,7 +8874,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="360"
+ line="358"
column="32"/>
</issue>
@@ -7752,7 +8885,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="360"
+ line="358"
column="78"/>
</issue>
@@ -7763,7 +8896,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="364"
+ line="362"
column="74"/>
</issue>
@@ -7774,7 +8907,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="368"
+ line="366"
column="74"/>
</issue>
@@ -7785,7 +8918,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="384"
+ line="382"
column="55"/>
</issue>
@@ -7796,7 +8929,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="385"
+ line="383"
column="59"/>
</issue>
@@ -7807,7 +8940,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="388"
+ line="386"
column="52"/>
</issue>
@@ -7818,7 +8951,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="390"
+ line="388"
column="52"/>
</issue>
@@ -7829,7 +8962,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="394"
+ line="392"
column="59"/>
</issue>
@@ -7840,7 +8973,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="440"
+ line="437"
column="41"/>
</issue>
@@ -7851,7 +8984,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="468"
+ line="465"
column="38"/>
</issue>
@@ -7862,7 +8995,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="470"
+ line="467"
column="26"/>
</issue>
@@ -7873,7 +9006,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="471"
+ line="468"
column="26"/>
</issue>
@@ -7884,7 +9017,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="472"
+ line="469"
column="26"/>
</issue>
@@ -7895,7 +9028,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="473"
+ line="470"
column="26"/>
</issue>
@@ -7906,7 +9039,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="532"
+ line="528"
column="29"/>
</issue>
@@ -7917,7 +9050,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="545"
+ line="540"
column="29"/>
</issue>
@@ -7928,7 +9061,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="558"
+ line="552"
column="29"/>
</issue>
@@ -8995,7 +10128,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/content/pm/ShortcutInfoCompat.java"
- line="908"
+ line="907"
column="41"/>
</issue>
@@ -9006,7 +10139,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/content/pm/ShortcutInfoCompat.java"
- line="915"
+ line="914"
column="39"/>
</issue>
@@ -9017,7 +10150,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/content/pm/ShortcutInfoCompat.java"
- line="921"
+ line="920"
column="43"/>
</issue>
@@ -9028,7 +10161,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/content/pm/ShortcutInfoCompat.java"
- line="928"
+ line="927"
column="41"/>
</issue>
@@ -9039,7 +10172,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/core/content/pm/ShortcutInfoCompat.java"
- line="930"
+ line="929"
column="35"/>
</issue>
@@ -14183,7 +15316,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/core/app/JobIntentService.java"
- line="463"
+ line="468"
column="12"/>
</issue>
@@ -14469,7 +15602,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/core/view/MenuCompat.java"
- line="36"
+ line="35"
column="40"/>
</issue>
@@ -14480,7 +15613,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/MenuCompat.java"
- line="47"
+ line="45"
column="47"/>
</issue>
@@ -16229,7 +17362,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="144"
+ line="143"
column="20"/>
</issue>
@@ -16240,7 +17373,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="162"
+ line="161"
column="20"/>
</issue>
@@ -16251,7 +17384,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="180"
+ line="179"
column="20"/>
</issue>
@@ -16262,7 +17395,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="431"
+ line="428"
column="19"/>
</issue>
@@ -16273,7 +17406,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="650"
+ line="644"
column="19"/>
</issue>
@@ -16284,7 +17417,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="677"
+ line="670"
column="25"/>
</issue>
@@ -16295,7 +17428,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="694"
+ line="686"
column="28"/>
</issue>
@@ -16306,7 +17439,7 @@
errorLine2=" ~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="713"
+ line="704"
column="16"/>
</issue>
@@ -16317,7 +17450,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="713"
+ line="704"
column="49"/>
</issue>
@@ -16328,7 +17461,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="723"
+ line="714"
column="29"/>
</issue>
@@ -16339,7 +17472,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="728"
+ line="719"
column="27"/>
</issue>
@@ -16350,7 +17483,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="733"
+ line="724"
column="29"/>
</issue>
@@ -16361,7 +17494,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="738"
+ line="729"
column="57"/>
</issue>
@@ -16372,7 +17505,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/text/PrecomputedTextCompat.java"
- line="758"
+ line="749"
column="12"/>
</issue>
@@ -17637,7 +18770,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/core/graphics/TypefaceCompat.java"
- line="174"
+ line="172"
column="77"/>
</issue>
@@ -18198,7 +19331,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="565"
+ line="542"
column="49"/>
</issue>
@@ -18209,7 +19342,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="578"
+ line="555"
column="47"/>
</issue>
@@ -18220,7 +19353,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="595"
+ line="572"
column="41"/>
</issue>
@@ -18231,7 +19364,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="615"
+ line="592"
column="42"/>
</issue>
@@ -18242,7 +19375,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="653"
+ line="632"
column="53"/>
</issue>
@@ -18253,7 +19386,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="653"
+ line="632"
column="61"/>
</issue>
@@ -18264,7 +19397,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="683"
+ line="664"
column="55"/>
</issue>
@@ -18275,7 +19408,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="683"
+ line="664"
column="63"/>
</issue>
@@ -18286,7 +19419,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="1481"
+ line="1467"
column="34"/>
</issue>
@@ -18297,7 +19430,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="1519"
+ line="1506"
column="37"/>
</issue>
@@ -18308,7 +19441,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="1519"
+ line="1506"
column="74"/>
</issue>
@@ -18319,7 +19452,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="1541"
+ line="1530"
column="36"/>
</issue>
@@ -18330,7 +19463,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="1710"
+ line="1698"
column="36"/>
</issue>
@@ -18341,7 +19474,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="1745"
+ line="1735"
column="48"/>
</issue>
@@ -18352,7 +19485,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="1761"
+ line="1752"
column="49"/>
</issue>
@@ -18363,7 +19496,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="1775"
+ line="1766"
column="40"/>
</issue>
@@ -18374,7 +19507,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="1965"
+ line="1958"
column="41"/>
</issue>
@@ -18385,7 +19518,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="1978"
+ line="1972"
column="41"/>
</issue>
@@ -18396,7 +19529,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="1998"
+ line="1994"
column="36"/>
</issue>
@@ -18407,7 +19540,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2103"
+ line="2100"
column="40"/>
</issue>
@@ -18418,7 +19551,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2118"
+ line="2117"
column="40"/>
</issue>
@@ -18440,7 +19573,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2148"
+ line="2149"
column="29"/>
</issue>
@@ -18451,7 +19584,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2162"
+ line="2164"
column="29"/>
</issue>
@@ -18462,7 +19595,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2174"
+ line="2177"
column="36"/>
</issue>
@@ -18473,7 +19606,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2187"
+ line="2191"
column="37"/>
</issue>
@@ -18484,7 +19617,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2200"
+ line="2205"
column="37"/>
</issue>
@@ -18495,7 +19628,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2212"
+ line="2218"
column="34"/>
</issue>
@@ -18506,7 +19639,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2224"
+ line="2231"
column="34"/>
</issue>
@@ -18517,7 +19650,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2235"
+ line="2242"
column="35"/>
</issue>
@@ -18528,7 +19661,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2250"
+ line="2258"
column="34"/>
</issue>
@@ -18539,7 +19672,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2262"
+ line="2271"
column="35"/>
</issue>
@@ -18550,7 +19683,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2277"
+ line="2287"
column="34"/>
</issue>
@@ -18561,7 +19694,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2285"
+ line="2295"
column="37"/>
</issue>
@@ -18572,7 +19705,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2293"
+ line="2303"
column="38"/>
</issue>
@@ -18583,7 +19716,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2301"
+ line="2311"
column="38"/>
</issue>
@@ -18594,7 +19727,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2309"
+ line="2319"
column="35"/>
</issue>
@@ -18605,7 +19738,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2317"
+ line="2327"
column="35"/>
</issue>
@@ -18616,7 +19749,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2325"
+ line="2335"
column="30"/>
</issue>
@@ -18627,7 +19760,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2333"
+ line="2343"
column="30"/>
</issue>
@@ -18638,7 +19771,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2456"
+ line="2467"
column="55"/>
</issue>
@@ -18649,7 +19782,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2497"
+ line="2508"
column="45"/>
</issue>
@@ -18660,7 +19793,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2511"
+ line="2522"
column="52"/>
</issue>
@@ -18671,7 +19804,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2841"
+ line="2853"
column="49"/>
</issue>
@@ -18682,7 +19815,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/core/view/ViewCompat.java"
- line="2856"
+ line="2869"
column="37"/>
</issue>
diff --git a/core/core/src/androidTest/java/androidx/core/content/IntentCompatTest.java b/core/core/src/androidTest/java/androidx/core/content/IntentCompatTest.java
index 422aa5c1..4685da9 100644
--- a/core/core/src/androidTest/java/androidx/core/content/IntentCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/content/IntentCompatTest.java
@@ -26,6 +26,13 @@
import static android.os.Build.VERSION_CODES.R;
import static android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS;
+import static androidx.core.content.IntentCompat.APP_HIBERNATION_DISABLED;
+import static androidx.core.content.IntentCompat.APP_HIBERNATION_ENABLED;
+import static androidx.core.content.IntentCompat.PERMISSION_REVOCATION_DISABLED;
+import static androidx.core.content.IntentCompat.PERMISSION_REVOCATION_ENABLED;
+import static androidx.core.content.IntentCompat.UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE;
+import static androidx.core.content.IntentCompat.UNUSED_APP_RESTRICTION_STATUS_UNKNOWN;
+
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertThrows;
@@ -110,7 +117,8 @@
mContext, PACKAGE_NAME);
assertThat(activityIntent.getAction()).isEqualTo(ACTION_APPLICATION_DETAILS_SETTINGS);
- assertThat(activityIntent.getData()).isEqualTo(Uri.parse(PACKAGE_NAME));
+ assertThat(activityIntent.getData()).isEqualTo(
+ Uri.fromParts("package", PACKAGE_NAME, /* fragment= */ null));
}
@Test
@@ -121,7 +129,8 @@
assertThat(activityIntent.getAction())
.isEqualTo("android.intent.action.AUTO_REVOKE_PERMISSIONS");
- assertThat(activityIntent.getData()).isEqualTo(Uri.parse(PACKAGE_NAME));
+ assertThat(activityIntent.getData()).isEqualTo(
+ Uri.fromParts("package", PACKAGE_NAME, /* fragment= */ null));
}
@Test
@@ -160,21 +169,28 @@
assertThat(activityIntent.getAction()).isEqualTo(
"android.intent.action.AUTO_REVOKE_PERMISSIONS");
assertThat(activityIntent.getPackage()).isEqualTo(VERIFIER_PACKAGE_NAME);
+ assertThat(activityIntent.getData()).isEqualTo(
+ Uri.fromParts("package", PACKAGE_NAME, /* fragment= */ null));
}
@Test
@SdkSuppress(minSdkVersion = M, maxSdkVersion = Q)
public void createManageUnusedAppRestrictionsIntent_preApi30_manyVerifierRevocationApps() {
setupPermissionRevocationApps(Arrays.asList(VERIFIER_PACKAGE_NAME, VERIFIER_PACKAGE_NAME2));
- // Set both apps as the Verifier on the device
+ // Set both apps as the Verifier on the device, but we should fail gracefully.
when(mPackageManager.checkPermission("android.permission.PACKAGE_VERIFICATION_AGENT",
VERIFIER_PACKAGE_NAME)).thenReturn(PERMISSION_GRANTED);
when(mPackageManager.checkPermission("android.permission.PACKAGE_VERIFICATION_AGENT",
VERIFIER_PACKAGE_NAME2)).thenReturn(PERMISSION_GRANTED);
+ Intent activityIntent = IntentCompat.createManageUnusedAppRestrictionsIntent(
+ mContext, PACKAGE_NAME);
- assertThrows(RuntimeException.class,
- () -> IntentCompat.createManageUnusedAppRestrictionsIntent(
- mContext, PACKAGE_NAME));
+ assertThat(activityIntent.getAction()).isEqualTo(
+ "android.intent.action.AUTO_REVOKE_PERMISSIONS");
+ // Verify that we use the first Verifier's package name.
+ assertThat(activityIntent.getPackage()).isEqualTo(VERIFIER_PACKAGE_NAME);
+ assertThat(activityIntent.getData()).isEqualTo(
+ Uri.fromParts("package", PACKAGE_NAME, /* fragment= */ null));
}
@Test
@@ -186,79 +202,98 @@
}
@Test
+ @SdkSuppress(minSdkVersion = 31)
+ public void getUnusedAppRestrictionsStatus_api31Plus_disabled_returnsAppHibernationDisabled() {
+ // Mark the application as exempt from app hibernation, so the feature is disabled
+ when(mPackageManager.isAutoRevokeWhitelisted()).thenReturn(true);
+
+ assertThat(IntentCompat.getUnusedAppRestrictionsStatus(mContext)).isEqualTo(
+ APP_HIBERNATION_DISABLED);
+ }
+
+ @Test
+ @SdkSuppress(minSdkVersion = 31)
+ public void getUnusedAppRestrictionsStatus_api31Plus_enabled_returnsAppHibernationEnabled() {
+ // Mark the application as _not_ exempt from app hibernation, so the feature is enabled
+ when(mPackageManager.isAutoRevokeWhitelisted()).thenReturn(false);
+
+ assertThat(IntentCompat.getUnusedAppRestrictionsStatus(mContext)).isEqualTo(
+ APP_HIBERNATION_ENABLED);
+ }
+
+ @Test
+ @SdkSuppress(minSdkVersion = R, maxSdkVersion = R)
+ public void getUnusedAppRestrictionsStatus_api30_disabled_returnsPermRevocationDisabled() {
+ // Mark the application as exempt from permission revocation, so the feature is disabled
+ when(mPackageManager.isAutoRevokeWhitelisted()).thenReturn(true);
+
+ assertThat(IntentCompat.getUnusedAppRestrictionsStatus(mContext)).isEqualTo(
+ PERMISSION_REVOCATION_DISABLED);
+ }
+
+ @Test
@SdkSuppress(minSdkVersion = R)
- public void areUnusedAppRestrictionsAvailable_api30Plus_returnsTrue() {
- assertThat(IntentCompat.areUnusedAppRestrictionsAvailable(mContext)).isTrue();
+ public void getUnusedAppRestrictionsStatus_api30Plus_enabled_returnsPermRevocationEnabled() {
+ // Mark the application as _not_ exempt from permission revocation, so the feature is
+ // enabled
+ when(mPackageManager.isAutoRevokeWhitelisted()).thenReturn(false);
+
+ assertThat(IntentCompat.getUnusedAppRestrictionsStatus(mContext)).isEqualTo(
+ PERMISSION_REVOCATION_ENABLED);
}
@Test
@SdkSuppress(minSdkVersion = M, maxSdkVersion = Q)
- public void areUnusedAppRestrictionsAvailable_preApi30_noRevocationApp_returnsFalse() {
+ public void getUnusedAppRestrictionsStatus_preApi30_noRevocationApp_returnsNotAvailable() {
// Don't install an app that can resolve the permission auto-revocation intent
- assertThat(IntentCompat.areUnusedAppRestrictionsAvailable(mContext)).isFalse();
+ assertThat(IntentCompat.getUnusedAppRestrictionsStatus(mContext)).isEqualTo(
+ UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE);
}
@Test
@SdkSuppress(minSdkVersion = M, maxSdkVersion = Q)
- public void areUnusedAppRestrictionsAvailable_preApi30_noVerifierRevocationApp_returnsFalse() {
+ public void getUnusedAppRestrictionsStatus_preApi30_noVerifierRevokeApp_returnsNotAvailable() {
setupPermissionRevocationApps(Arrays.asList(NON_VERIFIER_PACKAGE_NAME));
// Do not set this app as the Verifier on the device
when(mPackageManager.checkPermission("android.permission.PACKAGE_VERIFICATION_AGENT",
NON_VERIFIER_PACKAGE_NAME)).thenReturn(PERMISSION_DENIED);
- assertThat(IntentCompat.areUnusedAppRestrictionsAvailable(mContext)).isFalse();
+ assertThat(IntentCompat.getUnusedAppRestrictionsStatus(mContext)).isEqualTo(
+ UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE);
}
@Test
@SdkSuppress(minSdkVersion = M, maxSdkVersion = Q)
- public void areUnusedAppRestrictionsAvailable_preApi30_verifierRevocationApp_returnsTrue() {
+ public void getUnusedAppRestrictionsStatus_preApi30_verifierRevocationApp_returnsUnknown() {
setupPermissionRevocationApps(Arrays.asList(VERIFIER_PACKAGE_NAME));
// Set this app as the Verifier on the device
when(mPackageManager.checkPermission("android.permission.PACKAGE_VERIFICATION_AGENT",
VERIFIER_PACKAGE_NAME)).thenReturn(PERMISSION_GRANTED);
- assertThat(IntentCompat.areUnusedAppRestrictionsAvailable(mContext)).isTrue();
+ assertThat(IntentCompat.getUnusedAppRestrictionsStatus(mContext)).isEqualTo(
+ UNUSED_APP_RESTRICTION_STATUS_UNKNOWN);
}
@Test
@SdkSuppress(minSdkVersion = M, maxSdkVersion = Q)
- public void areUnusedAppRestrictionsAvailable_preApi30_manyVerifierRevocationApps_throws() {
+ public void getUnusedAppRestrictionsStatus_preApi30_manyVerifierRevocationApps_doesNotThrow() {
setupPermissionRevocationApps(Arrays.asList(VERIFIER_PACKAGE_NAME, VERIFIER_PACKAGE_NAME2));
- // Set both apps as the Verifier on the device
+ // Set both apps as the Verifier on the device, but we should have a graceful failure.
when(mPackageManager.checkPermission("android.permission.PACKAGE_VERIFICATION_AGENT",
VERIFIER_PACKAGE_NAME)).thenReturn(PERMISSION_GRANTED);
when(mPackageManager.checkPermission("android.permission.PACKAGE_VERIFICATION_AGENT",
VERIFIER_PACKAGE_NAME2)).thenReturn(PERMISSION_GRANTED);
- assertThrows(RuntimeException.class,
- () -> IntentCompat.areUnusedAppRestrictionsAvailable(mContext));
+ assertThat(IntentCompat.getUnusedAppRestrictionsStatus(mContext)).isEqualTo(
+ UNUSED_APP_RESTRICTION_STATUS_UNKNOWN);
}
@Test
@SdkSuppress(maxSdkVersion = LOLLIPOP)
- public void areUnusedAppRestrictionsAvailable_preApi23_returnsFalse() {
- assertThat(IntentCompat.areUnusedAppRestrictionsAvailable(mContext)).isFalse();
- }
-
- @Test
- @SdkSuppress(minSdkVersion = R)
- public void areUnusedAppRestrictionsAllowlisted_api30Plus_returnsPackageManagerAllowlisted() {
- when(mPackageManager.isAutoRevokeWhitelisted()).thenReturn(true);
-
- assertThat(IntentCompat.areUnusedAppRestrictionsAllowlisted(mContext)).isTrue();
- }
-
- @Test
- @SdkSuppress(minSdkVersion = M, maxSdkVersion = Q)
- public void areUnusedAppRestrictionsAllowlisted_preApi30_returnsFalse() {
- assertThat(IntentCompat.areUnusedAppRestrictionsAllowlisted(mContext)).isFalse();
- }
-
- @Test
- @SdkSuppress(maxSdkVersion = LOLLIPOP)
- public void areUnusedAppRestrictionsAllowlisted_preApi23_returnsFalse() {
- assertThat(IntentCompat.areUnusedAppRestrictionsAllowlisted(mContext)).isFalse();
+ public void getUnusedAppRestrictionsStatus_preApi23_returnsFeatureNotAvailable() {
+ assertThat(IntentCompat.getUnusedAppRestrictionsStatus(mContext)).isEqualTo(
+ UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE);
}
/**
diff --git a/core/core/src/main/java/androidx/core/content/IntentCompat.java b/core/core/src/main/java/androidx/core/content/IntentCompat.java
index bc25a06..33a93db 100644
--- a/core/core/src/main/java/androidx/core/content/IntentCompat.java
+++ b/core/core/src/main/java/androidx/core/content/IntentCompat.java
@@ -18,8 +18,11 @@
import static android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS;
+import static androidx.annotation.RestrictTo.Scope.LIBRARY;
import static androidx.core.util.Preconditions.checkNotNull;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
@@ -28,10 +31,13 @@
import android.net.Uri;
import android.os.Build;
+import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
+import androidx.annotation.RestrictTo;
+import java.lang.annotation.Retention;
import java.util.List;
/**
@@ -101,6 +107,55 @@
*/
public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
+ /** The status of Unused App Restrictions features is unknown for this app. */
+ public static final int UNUSED_APP_RESTRICTION_STATUS_UNKNOWN = 0;
+
+ /** There are no available Unused App Restrictions features for this app. */
+ public static final int UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE = 1;
+
+ /**
+ * Permission revocation is enabled for this app (i.e. permissions will be automatically
+ * reset if the app is unused).
+ *
+ * Note: this also means that app hibernation is not available for this app.
+ */
+ public static final int PERMISSION_REVOCATION_ENABLED = 2;
+
+ /**
+ * Permission revocation is disabled for this app (i.e. this app is exempt from having
+ * its permissions automatically removed).
+ *
+ * Note: this also means that app hibernation is not available for this app.
+ */
+ public static final int PERMISSION_REVOCATION_DISABLED = 3;
+
+ /**
+ * App hibernation is enabled for this app (i.e. this app will be hibernated and have its
+ * permissions revoked if the app is unused).
+ *
+ * Note: this also means that permission revocation is enabled for this app.
+ */
+ public static final int APP_HIBERNATION_ENABLED = 4;
+
+ /**
+ * App hibernation is disabled for this app (i.e. this app is exempt from being hibernated).
+ *
+ * Note: this also means that permission revocation is disabled for this app.
+ */
+ public static final int APP_HIBERNATION_DISABLED = 5;
+
+ /**
+ * The status of Unused App Restrictions features for this app.
+ * @hide
+ */
+ @IntDef({UNUSED_APP_RESTRICTION_STATUS_UNKNOWN, UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE,
+ PERMISSION_REVOCATION_ENABLED, PERMISSION_REVOCATION_DISABLED,
+ APP_HIBERNATION_ENABLED, APP_HIBERNATION_DISABLED})
+ @Retention(SOURCE)
+ @RestrictTo(LIBRARY)
+ public @interface UnusedAppRestrictionsStatus {
+ }
+
/**
* Make an Intent for the main activity of an application, without
* specifying a specific activity to run but giving a selector to find
@@ -140,9 +195,13 @@
* Make an Intent to redirect the user to UI to manage their unused app restriction settings
* for a particular app (e.g. permission revocation, app hibernation).
*
- * Note: developers must first call {@link #areUnusedAppRestrictionsAvailable} to make sure
- * that unused app restriction features are available on the device before attempting to create
- * an intent using this method.
+ * Note: developers must first call {@link #getUnusedAppRestrictionsStatus(Context)} to make
+ * sure that unused app restriction features are available on the device before attempting to
+ * create an intent using this method. Any return value of this method besides
+ * {@link #UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE} indicates that at least one
+ * unused app restriction feature is available on the device. If the return value _is_
+ * {@link #UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE}, this method will throw an
+ * {@link UnsupportedOperationException}.
*
* Compatibility behavior:
* <ul>
@@ -150,11 +209,9 @@
* .ACTION_APPLICATION_DETAILS_SETTINGS} and {@code packageName} as data.
* <li>SDK 30, this method generates an intent with action {@code Intent
* .ACTION_AUTO_REVOKE_PERMISSIONS} and {@code packageName} as data.
- * <li>SDK 23 through 29, if {@link #areUnusedAppRestrictionsAvailable} returns true,
- * this method will generate an intent with action {@code Intent
- * .ACTION_AUTO_REVOKE_PERMISSIONS} and the package as the first system app that can
- * resolve the intent. Otherwise, this method will throw an
- * {@link UnsupportedOperationException}.
+ * <li>SDK 23 through 29, this method will generate an intent with action
+ * {@link Intent#ACTION_AUTO_REVOKE_PERMISSIONS} and the package as the app with the Verifier
+ * role that can resolve the intent.
* <li>SDK 22 and below, this method will throw an {@link UnsupportedOperationException}
* </ul>
*
@@ -167,9 +224,10 @@
@NonNull
public static Intent createManageUnusedAppRestrictionsIntent(@NonNull Context context,
@NonNull String packageName) {
- if (!areUnusedAppRestrictionsAvailable(context)) {
+ if (getUnusedAppRestrictionsStatus(context)
+ == UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE) {
throw new UnsupportedOperationException(
- "Unused App Restrictions are not available on this device");
+ "Unused App Restriction features are not available on this device");
}
// If the OS version is S+, generate the intent using the Application Details Settings
@@ -177,77 +235,42 @@
// TODO: replace with VERSION_CODES.S once it's defined
if (Build.VERSION.SDK_INT >= 31) {
return new Intent(ACTION_APPLICATION_DETAILS_SETTINGS)
- .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).setData(Uri.parse(packageName));
+ .setData(Uri.fromParts("package", packageName, /* fragment= */ null));
}
Intent unusedAppRestrictionsIntent =
- new Intent(ACTION_UNUSED_APP_RESTRICTIONS).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ new Intent(ACTION_UNUSED_APP_RESTRICTIONS)
+ .setData(Uri.fromParts(
+ "package", packageName, /* fragment= */ null));
- // If the OS version is R, then just add the package name to the intent.
- // No need to add any other data or flags, since we're relying on the Android R system
- // feature.
+ // If the OS version is R, then no need to add any other data or flags, since we're
+ // relying on the Android R system feature.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
- return unusedAppRestrictionsIntent.setData(Uri.parse(packageName));
- } else {
- PackageManager packageManager = context.getPackageManager();
- // Only allow apps with the Verifier role to resolve the intent.
- String verifierPackageName = getVerifierPackageName(packageManager,
- packageManager.queryIntentActivities(
- unusedAppRestrictionsIntent, /* flags= */ 0));
- // The package name shouldn't be null since we've already checked that there exists a
- // single Verifier on the device, but nonetheless we double-check here.
- unusedAppRestrictionsIntent.setPackage(checkNotNull(verifierPackageName));
return unusedAppRestrictionsIntent;
+ } else {
+ // Only allow apps with the Verifier role to resolve the intent.
+ String verifierPackageName = getVerifierRolePackageName(context.getPackageManager());
+ // The Verifier package name shouldn't be null since we've already checked that there
+ // exists a Verifier on the device, but nonetheless we double-check here.
+ return unusedAppRestrictionsIntent
+ .setPackage(checkNotNull(verifierPackageName));
}
}
/**
- * Checks to see whether unused app restrictions (e.g. permission revocation, app hibernation)
- * are available on this device.
- *
- * Compatibility behavior:
- * <ul>
- * <li>SDK 30 and above, this method always returns {@code true} as unused app restrictions
- * are built into the Android OS.
- * <li>SDK 23 through 29, this method checks for a system app that can resolve the {@code
- * Intent.ACTION_AUTO_REVOKE_PERMISSIONS} intent.
- * <li>SDK 22 and below, this method always returns {@code false} as runtime permissions did
- * not exist yet.
- * </ul>
- *
- * @param context The {@link Context} of the calling application.
- *
- * @return Returns a boolean indicating whether permission auto-revocation is available on
- * the device, whether through the Android Operating System or a system app.
- */
- public static boolean areUnusedAppRestrictionsAvailable(@NonNull Context context) {
- // Return false if the Android OS version is before M, because Android M introduced runtime
- // permissions
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return false;
-
- // Check that the Android OS version is R+
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) return true;
-
- // Else, check for an app with the verifier role that can resolve the intent
- PackageManager packageManager = context.getPackageManager();
- List<ResolveInfo> intentResolvers =
- packageManager.queryIntentActivities(
- new Intent(ACTION_UNUSED_APP_RESTRICTIONS), /* flags= */ 0);
-
- // Check that we were able to get the one Verifier's package name. If no Verifier or
- // more than one Verifier exists on the device, unused app restrictions are not available
- // on the device.
- return getVerifierPackageName(packageManager, intentResolvers) != null;
- }
-
- /**
* Returns the package name of the one and only Verifier on the device. If none exist, this
- * will return {@code null}. Likewise, if multiple Verifiers exist, this method will throw a
- * {@link RuntimeException} as there can only ever be one verifier.
+ * will return {@code null}. Likewise, if multiple Verifiers exist, this method will return
+ * the first Verifier's package name.
*/
@Nullable
- private static String getVerifierPackageName(PackageManager packageManager,
- List<ResolveInfo> intentResolvers) {
+ private static String getVerifierRolePackageName(PackageManager packageManager) {
+ Intent unusedAppRestrictionsIntent =
+ new Intent(ACTION_UNUSED_APP_RESTRICTIONS)
+ .setData(Uri.fromParts(
+ "package", "com.example", /* fragment= */ null));
+ List<ResolveInfo> intentResolvers =
+ packageManager.queryIntentActivities(unusedAppRestrictionsIntent, /* flags= */ 0);
+
String verifierPackageName = null;
for (ResolveInfo intentResolver: intentResolvers) {
@@ -258,7 +281,10 @@
}
if (verifierPackageName != null) {
- throw new RuntimeException("There can be only one required verifier");
+ // This shouldn't happen, but we fail gracefully nonetheless and avoid throwing an
+ // exception, instead returning the first package name with the Verifier role
+ // that we found.
+ return verifierPackageName;
}
verifierPackageName = packageName;
}
@@ -267,29 +293,54 @@
}
/**
- * Checks whether this application is exempt from unused app restrictions (e.g. permission
- * revocation, app hibernation).
+ * Returns the status of Unused App Restriction features for the current application, i.e.
+ * whether the features are available and if so, enabled for the application.
*
* Compatibility behavior:
* <ul>
- * <li>SDK 30 and above, this method returns the value of
- * {@link PackageManager#isAutoRevokeWhitelisted}
- * <li>SDK 23 through 29, this method returns {@code false}.
- * <li>SDK 22 and below, this method always returns {@code false} as runtime
- * permissions did not exist yet.
+ * <li>SDK 31 and above, if {@link PackageManager#isAutoRevokeWhitelisted()} is true, this
+ * will return {@link #APP_HIBERNATION_ENABLED}. Else, it will return
+ * {@link #APP_HIBERNATION_DISABLED}.</li>
+ * <li>SDK 30, if {@link PackageManager#isAutoRevokeWhitelisted()} is true, this will return
+ * {@link #PERMISSION_REVOCATION_ENABLED}. Else, it will return
+ * {@link #PERMISSION_REVOCATION_DISABLED}.</li>
+ * <li>SDK 23 through 29, if there exists an app with the Verifier role that can resolve the
+ * {@code Intent.ACTION_AUTO_REVOKE_PERMISSIONS} action.
+ * <li>SDK 22 and below, this method always returns
+ * {@link #UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE} as runtime permissions did not exist
+ * yet.
* </ul>
*/
- public static boolean areUnusedAppRestrictionsAllowlisted(@NonNull Context context) {
+ public static @UnusedAppRestrictionsStatus int getUnusedAppRestrictionsStatus(
+ @NonNull Context context) {
// Return false if the Android OS version is before M, because Android M introduced runtime
// permissions
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return false;
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
- return Api30Impl.areUnusedAppRestrictionsAllowlisted(context);
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
+ return UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE;
}
- // TODO(b/177234481): Implement the backport behavior of this API
- return false;
+ // TODO: replace with VERSION_CODES.S once it's defined
+ if (Build.VERSION.SDK_INT >= 31) {
+ return Api30Impl.areUnusedAppRestrictionsEnabled(context)
+ ? APP_HIBERNATION_ENABLED
+ : APP_HIBERNATION_DISABLED;
+ }
+
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.R) {
+ return Api30Impl.areUnusedAppRestrictionsEnabled(context)
+ ? PERMISSION_REVOCATION_ENABLED
+ : PERMISSION_REVOCATION_DISABLED;
+ }
+
+ // Else, check for an app with the verifier role that can resolve the intent
+ String verifierPackageName = getVerifierRolePackageName(context.getPackageManager());
+ // Check that we were able to get the one Verifier's package name. If no Verifier or
+ // more than one Verifier exists on the device, unused app restrictions are not available
+ // on the device.
+ return (verifierPackageName == null)
+ ? UNUSED_APP_RESTRICTION_FEATURE_NOT_AVAILABLE
+ // TODO(b/177234481): Implement the backport behavior of this API
+ : UNUSED_APP_RESTRICTION_STATUS_UNKNOWN;
}
/**
@@ -302,8 +353,10 @@
@RequiresApi(Build.VERSION_CODES.R)
private static class Api30Impl {
private Api30Impl() {}
- static boolean areUnusedAppRestrictionsAllowlisted(@NonNull Context context) {
- return context.getPackageManager().isAutoRevokeWhitelisted();
+ static boolean areUnusedAppRestrictionsEnabled(@NonNull Context context) {
+ // If the app is allowlisted, that means that it is exempt from unused app restriction
+ // features, and thus the features are _disabled_.
+ return !context.getPackageManager().isAutoRevokeWhitelisted();
}
}
}
diff --git a/cursoradapter/cursoradapter/lint-baseline.xml b/cursoradapter/cursoradapter/lint-baseline.xml
index 9850951..a31f3ea 100644
--- a/cursoradapter/cursoradapter/lint-baseline.xml
+++ b/cursoradapter/cursoradapter/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/customview/customview/lint-baseline.xml b/customview/customview/lint-baseline.xml
index cdb72ad..d95bc70 100644
--- a/customview/customview/lint-baseline.xml
+++ b/customview/customview/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/datastore/datastore-sampleapp/lint-baseline.xml b/datastore/datastore-sampleapp/lint-baseline.xml
deleted file mode 100644
index 42a176b..0000000
--- a/datastore/datastore-sampleapp/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
-</issues>
diff --git a/documentfile/documentfile/lint-baseline.xml b/documentfile/documentfile/lint-baseline.xml
index 292e7cc..353f4d2 100644
--- a/documentfile/documentfile/lint-baseline.xml
+++ b/documentfile/documentfile/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/drawerlayout/drawerlayout/lint-baseline.xml b/drawerlayout/drawerlayout/lint-baseline.xml
index dbfb443..677aa59 100644
--- a/drawerlayout/drawerlayout/lint-baseline.xml
+++ b/drawerlayout/drawerlayout/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/dynamic-animation/dynamic-animation/lint-baseline.xml b/dynamic-animation/dynamic-animation/lint-baseline.xml
index dddc744..939c67c 100644
--- a/dynamic-animation/dynamic-animation/lint-baseline.xml
+++ b/dynamic-animation/dynamic-animation/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/emoji/appcompat/lint-baseline.xml b/emoji/appcompat/lint-baseline.xml
index 0d655a9..a85ccf9 100644
--- a/emoji/appcompat/lint-baseline.xml
+++ b/emoji/appcompat/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/emoji/core/lint-baseline.xml b/emoji/core/lint-baseline.xml
index 9751702..e1b1de4 100644
--- a/emoji/core/lint-baseline.xml
+++ b/emoji/core/lint-baseline.xml
@@ -1,5 +1,368 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `TypefaceEmojiSpan`"
+ errorLine1=" final EmojiSpan span = new TypefaceEmojiSpan(metadata);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiEditableFactoryTest.java"
+ line="65"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 15 (current min is 14): `android.view.View#hasOnClickListeners`"
+ errorLine1=" assertTrue(extractButton.hasOnClickListeners());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiExtractTextLayoutTest.java"
+ line="177"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 15 (current min is 14): `android.view.View#hasOnClickListeners`"
+ errorLine1=" assertFalse(extractButton.hasOnClickListeners());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiExtractTextLayoutTest.java"
+ line="199"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `EmojiInputFilter`"
+ errorLine1=" mInputFilter = new EmojiInputFilter(textView);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiInputFilterTest.java"
+ line="58"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `filter`"
+ errorLine1=" assertNull(mInputFilter.filter(null, 0, 1, null, 0, 1));"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiInputFilterTest.java"
+ line="63"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `filter`"
+ errorLine1=" final CharSequence result = mInputFilter.filter(testString, 0, 1, null, 0, 1);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiInputFilterTest.java"
+ line="73"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `filter`"
+ errorLine1=" final CharSequence result = mInputFilter.filter(testString, 0, 1, null, 0, 1);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiInputFilterTest.java"
+ line="85"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `filter`"
+ errorLine1=" final CharSequence result = mInputFilter.filter(testString, 0, 1, null, 0, 1);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiInputFilterTest.java"
+ line="98"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `filter`"
+ errorLine1=" final CharSequence result = mInputFilter.filter(testString, 0, 1, null, 0, 1);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiInputFilterTest.java"
+ line="111"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `filter`"
+ errorLine1=" final CharSequence result = mInputFilter.filter(testString, 0, 1, null, 0, 1);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiInputFilterTest.java"
+ line="123"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getId`"
+ errorLine1=" if (mResId == spans[index].getId()) {"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/util/EmojiMatcher.java"
+ line="233"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getId`"
+ errorLine1=" if (mResId == -1 || mResId == spans[index].getId()) {"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/util/EmojiMatcher.java"
+ line="240"
+ column="64"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `EmojiTextWatcher`"
+ errorLine1=" mTextWatcher = new EmojiTextWatcher(editText);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTextWatcherTest.java"
+ line="54"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `onTextChanged`"
+ errorLine1=" mTextWatcher.onTextChanged(testString, 0, 0, 1);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTextWatcherTest.java"
+ line="62"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `onTextChanged`"
+ errorLine1=" mTextWatcher.onTextChanged(testString, 0, 0, 1);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTextWatcherTest.java"
+ line="74"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `onTextChanged`"
+ errorLine1=" mTextWatcher.onTextChanged(testString, 0, 0, 1);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTextWatcherTest.java"
+ line="86"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getEmojiReplaceStrategy`"
+ errorLine1=" assertEquals(EmojiCompat.REPLACE_STRATEGY_DEFAULT, mTextWatcher.getEmojiReplaceStrategy());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTextWatcherTest.java"
+ line="98"
+ column="73"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `onTextChanged`"
+ errorLine1=" mTextWatcher.onTextChanged(testString, 0, 0, 1);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTextWatcherTest.java"
+ line="100"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `setEmojiReplaceStrategy`"
+ errorLine1=" mTextWatcher.setEmojiReplaceStrategy(EmojiCompat.REPLACE_STRATEGY_ALL);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTextWatcherTest.java"
+ line="105"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `onTextChanged`"
+ errorLine1=" mTextWatcher.onTextChanged(testString, 0, 0, 1);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTextWatcherTest.java"
+ line="107"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `onTextChanged`"
+ errorLine1=" mTextWatcher.onTextChanged(testString, 0, 0, 1);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTextWatcherTest.java"
+ line="118"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `EmojiTransformationMethod`"
+ errorLine1=" mTransformationMethod = new EmojiTransformationMethod(mWrappedTransformationMethod);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTransformationMethodTest.java"
+ line="84"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" assertNull(mTransformationMethod.getTransformation(null, mView));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTransformationMethodTest.java"
+ line="89"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" mTransformationMethod.getTransformation("", null);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTransformationMethodTest.java"
+ line="95"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `EmojiTransformationMethod`"
+ errorLine1=" mTransformationMethod = new EmojiTransformationMethod(null);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTransformationMethodTest.java"
+ line="100"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" final CharSequence result = mTransformationMethod.getTransformation(mTestString, mView);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTransformationMethodTest.java"
+ line="102"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" final CharSequence result = mTransformationMethod.getTransformation(mTestString, mView);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTransformationMethodTest.java"
+ line="110"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" final CharSequence result = mTransformationMethod.getTransformation(mTestString, mView);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTransformationMethodTest.java"
+ line="124"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" final CharSequence result = mTransformationMethod.getTransformation(mTestString, mView);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTransformationMethodTest.java"
+ line="137"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" final CharSequence result = mTransformationMethod.getTransformation(mTestString, mView);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/widget/EmojiTransformationMethodTest.java"
+ line="150"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `MetadataRepo`"
+ errorLine1=" loaderCallback.onLoaded(new MetadataRepo());"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/text/TestConfigBuilder.java"
+ line="88"
+ column="53"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `create`"
+ errorLine1=" sMetadataRepo = MetadataRepo.create(assetManager, FONT_FILE);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/text/TestConfigBuilder.java"
+ line="119"
+ column="58"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `create`"
+ errorLine1=" mMetadataRepo = MetadataRepo.create(assetManager, FONT_FILE);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji/text/TestConfigBuilder.java"
+ line="144"
+ column="50"/>
+ </issue>
<issue
id="ClassVerificationFailure"
diff --git a/emoji2/emoji2-bundled/lint-baseline.xml b/emoji2/emoji2-bundled/lint-baseline.xml
new file mode 100644
index 0000000..ea23657
--- /dev/null
+++ b/emoji2/emoji2-bundled/lint-baseline.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getId`"
+ errorLine1=" if (mResId == spans[index].getId()) {"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/bundled/util/EmojiMatcher.java"
+ line="233"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getId`"
+ errorLine1=" if (mResId == -1 || mResId == spans[index].getId()) {"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/bundled/util/EmojiMatcher.java"
+ line="240"
+ column="64"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `create`"
+ errorLine1=" loaderCallback.onLoaded(MetadataRepo.create(mock(Typeface.class)));"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/bundled/TestConfigBuilder.java"
+ line="92"
+ column="66"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `create`"
+ errorLine1=" sMetadataRepo = MetadataRepo.create(assetManager, FONT_FILE);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/bundled/TestConfigBuilder.java"
+ line="123"
+ column="58"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `create`"
+ errorLine1=" mMetadataRepo = MetadataRepo.create(assetManager, FONT_FILE);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/bundled/TestConfigBuilder.java"
+ line="148"
+ column="50"/>
+ </issue>
+
+</issues>
diff --git a/emoji2/emoji2-views-helper/lint-baseline.xml b/emoji2/emoji2-views-helper/lint-baseline.xml
new file mode 100644
index 0000000..ebfe397
--- /dev/null
+++ b/emoji2/emoji2-views-helper/lint-baseline.xml
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `TypefaceEmojiSpan`"
+ errorLine1=" final EmojiSpan span = new TypefaceEmojiSpan(metadata);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiEditableFactoryTest.java"
+ line="66"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `EmojiInputFilter`"
+ errorLine1=" mInputFilter = new EmojiInputFilter(textView);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiInputFilterTest.java"
+ line="57"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `filter`"
+ errorLine1=" assertNull(mInputFilter.filter(null, 0, 1, null, 0, 1));"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiInputFilterTest.java"
+ line="62"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `filter`"
+ errorLine1=" final CharSequence result = mInputFilter.filter(testString, 0, 1, null, 0, 1);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiInputFilterTest.java"
+ line="72"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `filter`"
+ errorLine1=" final CharSequence result = mInputFilter.filter(testString, 0, 1, null, 0, 1);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiInputFilterTest.java"
+ line="85"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `filter`"
+ errorLine1=" final CharSequence result = mInputFilter.filter(testString, 0, 1, null, 0, 1);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiInputFilterTest.java"
+ line="99"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `filter`"
+ errorLine1=" final CharSequence result = mInputFilter.filter(testString, 0, 1, null, 0, 1);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiInputFilterTest.java"
+ line="112"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `filter`"
+ errorLine1=" final CharSequence result = mInputFilter.filter(testString, 0, 1, null, 0, 1);"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiInputFilterTest.java"
+ line="124"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `EmojiTransformationMethod`"
+ errorLine1=" mTransformationMethod = new EmojiTransformationMethod(mWrappedTransformationMethod);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiTransformationMethodTest.java"
+ line="85"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" assertNull(mTransformationMethod.getTransformation(null, mView));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiTransformationMethodTest.java"
+ line="90"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" mTransformationMethod.getTransformation("", null);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiTransformationMethodTest.java"
+ line="96"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `EmojiTransformationMethod`"
+ errorLine1=" mTransformationMethod = new EmojiTransformationMethod(null);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiTransformationMethodTest.java"
+ line="101"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" final CharSequence result = mTransformationMethod.getTransformation(mTestString, mView);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiTransformationMethodTest.java"
+ line="103"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" final CharSequence result = mTransformationMethod.getTransformation(mTestString, mView);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiTransformationMethodTest.java"
+ line="111"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" final CharSequence result = mTransformationMethod.getTransformation(mTestString, mView);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiTransformationMethodTest.java"
+ line="125"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" final CharSequence result = mTransformationMethod.getTransformation(mTestString, mView);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiTransformationMethodTest.java"
+ line="138"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getTransformation`"
+ errorLine1=" final CharSequence result = mTransformationMethod.getTransformation(mTestString, mView);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/viewsintegration/EmojiTransformationMethodTest.java"
+ line="151"
+ column="59"/>
+ </issue>
+
+</issues>
diff --git a/emoji2/emoji2-views/lint-baseline.xml b/emoji2/emoji2-views/lint-baseline.xml
new file mode 100644
index 0000000..06bb19f
--- /dev/null
+++ b/emoji2/emoji2-views/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 15 (current min is 14): `android.view.View#hasOnClickListeners`"
+ errorLine1=" assertTrue(extractButton.hasOnClickListeners());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/widget/EmojiExtractTextLayoutTest.java"
+ line="178"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 15 (current min is 14): `android.view.View#hasOnClickListeners`"
+ errorLine1=" assertFalse(extractButton.hasOnClickListeners());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/widget/EmojiExtractTextLayoutTest.java"
+ line="200"
+ column="35"/>
+ </issue>
+
+</issues>
diff --git a/emoji2/emoji2/lint-baseline.xml b/emoji2/emoji2/lint-baseline.xml
new file mode 100644
index 0000000..4d10805
--- /dev/null
+++ b/emoji2/emoji2/lint-baseline.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.util.Collection#stream`"
+ errorLine1=" return result.stream().anyMatch((item) ->"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/text/DefaultEmojiCompatConfigTest.java"
+ line="77"
+ column="23"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.util.stream.Stream#anyMatch`"
+ errorLine1=" return result.stream().anyMatch((item) ->"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/text/DefaultEmojiCompatConfigTest.java"
+ line="77"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.content.pm.ResolveInfo#providerInfo`"
+ errorLine1=" when(helper.getProviderInfo(eq(info))).thenReturn(info.providerInfo);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/text/DefaultEmojiCompatConfigTest.java"
+ line="217"
+ column="63"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.content.pm.ResolveInfo#providerInfo`"
+ errorLine1=" info.providerInfo = new ProviderInfo();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/text/DefaultEmojiCompatConfigTest.java"
+ line="246"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.content.pm.ResolveInfo#providerInfo`"
+ errorLine1=" info.providerInfo.authority = authority;"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/text/DefaultEmojiCompatConfigTest.java"
+ line="247"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.content.pm.ResolveInfo#providerInfo`"
+ errorLine1=" info.providerInfo.packageName = packageName;"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/text/DefaultEmojiCompatConfigTest.java"
+ line="248"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.content.pm.ResolveInfo#providerInfo`"
+ errorLine1=" info.providerInfo.name = "name to make toString happy :)";"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/text/DefaultEmojiCompatConfigTest.java"
+ line="249"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.content.pm.ResolveInfo#providerInfo`"
+ errorLine1=" info.providerInfo.applicationInfo = new ApplicationInfo();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/text/DefaultEmojiCompatConfigTest.java"
+ line="250"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.content.pm.ResolveInfo#providerInfo`"
+ errorLine1=" info.providerInfo.applicationInfo.flags = flags;"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/text/DefaultEmojiCompatConfigTest.java"
+ line="251"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `create`"
+ errorLine1=" loaderCallback.onLoaded(MetadataRepo.create(mock(Typeface.class)));"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/text/NoFontTestEmojiConfig.java"
+ line="46"
+ column="50"/>
+ </issue>
+
+</issues>
diff --git a/emoji2/integration-tests/init-disabled-macrobenchmark/lint-baseline.xml b/emoji2/integration-tests/init-disabled-macrobenchmark/lint-baseline.xml
new file mode 100644
index 0000000..f67584d
--- /dev/null
+++ b/emoji2/integration-tests/init-disabled-macrobenchmark/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
+ errorLine1=" val benchmarkRule = MacrobenchmarkRule()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/integration/macrobenchmark/disabled/EmojiStartupBenchmark.kt"
+ line="33"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `measureStartup`"
+ errorLine1=" benchmarkRule.measureStartup("
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/integration/macrobenchmark/disabled/EmojiStartupBenchmark.kt"
+ line="37"
+ column="23"/>
+ </issue>
+
+</issues>
diff --git a/emoji2/integration-tests/init-enabled-macrobenchmark/lint-baseline.xml b/emoji2/integration-tests/init-enabled-macrobenchmark/lint-baseline.xml
new file mode 100644
index 0000000..b49d89b
--- /dev/null
+++ b/emoji2/integration-tests/init-enabled-macrobenchmark/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
+ errorLine1=" val benchmarkRule = MacrobenchmarkRule()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/integration/macrobenchmark/enabled/EmojiStartupBenchmark.kt"
+ line="36"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `measureStartup`"
+ errorLine1=" benchmarkRule.measureStartup("
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/emoji2/integration/macrobenchmark/enabled/EmojiStartupBenchmark.kt"
+ line="42"
+ column="23"/>
+ </issue>
+
+</issues>
diff --git a/enterprise/feedback/lint-baseline.xml b/enterprise/feedback/lint-baseline.xml
new file mode 100644
index 0000000..2575dd7
--- /dev/null
+++ b/enterprise/feedback/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `android.content.ServiceConnection#onBindingDied`"
+ errorLine1=" getServiceConnection().onBindingDied(mTestComponentName);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/enterprise/feedback/BufferedServiceConnectionTest.java"
+ line="453"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `android.content.ServiceConnection#onBindingDied`"
+ errorLine1=" getServiceConnection().onBindingDied(mTestComponentName);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/enterprise/feedback/DefaultKeyedAppStatesReporterTest.java"
+ line="601"
+ column="32"/>
+ </issue>
+
+</issues>
diff --git a/exifinterface/exifinterface/lint-baseline.xml b/exifinterface/exifinterface/lint-baseline.xml
index b78a5f8..60982c9 100644
--- a/exifinterface/exifinterface/lint-baseline.xml
+++ b/exifinterface/exifinterface/lint-baseline.xml
@@ -1,5 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `android.system.Os#close`"
+ errorLine1=" Os.close(fd);"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/exifinterface/media/ExifInterfaceTest.java"
+ line="1364"
+ column="20"/>
+ </issue>
<issue
id="UnknownNullness"
diff --git a/fragment/fragment/lint-baseline.xml b/fragment/fragment/lint-baseline.xml
new file mode 100644
index 0000000..e394c82
--- /dev/null
+++ b/fragment/fragment/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition()`"
+ errorLine1="class TrackingTransition : Transition(), TargetTracking {"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingTransition.kt"
+ line="36"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 19 (current min is 14): `android.transition.Transition`"
+ errorLine1="class TrackingTransition : Transition(), TargetTracking {"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingTransition.kt"
+ line="36"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.transition.TransitionValues#values`"
+ errorLine1=" transitionValues.values[PROP] = 0"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingTransition.kt"
+ line="46"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.transition.TransitionValues#values`"
+ errorLine1=" transitionValues.values[PROP] = 1"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingTransition.kt"
+ line="50"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.TransitionValues#equals`"
+ errorLine1=" if (startValues != null) {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingTransition.kt"
+ line="58"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.transition.TransitionValues#view`"
+ errorLine1=" exitingTargets.add(startValues.view)"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingTransition.kt"
+ line="59"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.TransitionValues#equals`"
+ errorLine1=" if (endValues != null) {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingTransition.kt"
+ line="61"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.transition.TransitionValues#view`"
+ errorLine1=" enteringTargets.add(endValues.view)"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingTransition.kt"
+ line="62"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `android.transition.Transition#getEpicenter`"
+ errorLine1=" if (epicenter != null) {"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingTransition.kt"
+ line="64"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `android.transition.Transition#getEpicenter`"
+ errorLine1=" capturedEpicenter.set(Rect(epicenter))"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingTransition.kt"
+ line="65"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 19 (current min is 14): `android.transition.Visibility`"
+ errorLine1="public class TrackingVisibility extends Visibility implements TargetTracking {"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingVisibility.java"
+ line="37"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.transition.TransitionValues#view`"
+ errorLine1=" mEnteringTargets.add(endValues.view);"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingVisibility.java"
+ line="51"
+ column="30"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `android.transition.Transition#getEpicenter`"
+ errorLine1=" Rect epicenter = getEpicenter();"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingVisibility.java"
+ line="52"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 19 (current min is 14): `android.transition.TransitionValues#view`"
+ errorLine1=" mExitingTargets.add(startValues.view);"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingVisibility.java"
+ line="64"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `android.transition.Transition#getEpicenter`"
+ errorLine1=" Rect epicenter = getEpicenter();"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TrackingVisibility.java"
+ line="65"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition#addListener`"
+ errorLine1=" enterTransition.addListener(listener)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="56"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition#addListener`"
+ errorLine1=" enterTransition.addListener(listener)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="56"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition#addListener`"
+ errorLine1=" sharedElementEnter.addListener(listener)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="57"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition#addListener`"
+ errorLine1=" sharedElementEnter.addListener(listener)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="57"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition#addListener`"
+ errorLine1=" reenterTransition.addListener(listener)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="58"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition#addListener`"
+ errorLine1=" reenterTransition.addListener(listener)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="58"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition#addListener`"
+ errorLine1=" exitTransition.addListener(listener)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="59"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition#addListener`"
+ errorLine1=" exitTransition.addListener(listener)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="59"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition#addListener`"
+ errorLine1=" returnTransition.addListener(listener)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="60"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition#addListener`"
+ errorLine1=" returnTransition.addListener(listener)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="60"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition#addListener`"
+ errorLine1=" sharedElementReturn.addListener(listener)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="61"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `android.transition.Transition#addListener`"
+ errorLine1=" sharedElementReturn.addListener(listener)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="61"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 19 (current min is 14): `android.transition.Transition.TransitionListener`"
+ errorLine1=") : Transition.TransitionListener {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/fragment/app/TransitionFragment.kt"
+ line="80"
+ column="5"/>
+ </issue>
+
+</issues>
diff --git a/gridlayout/gridlayout/lint-baseline.xml b/gridlayout/gridlayout/lint-baseline.xml
index 6d404cc..7e84c1a 100644
--- a/gridlayout/gridlayout/lint-baseline.xml
+++ b/gridlayout/gridlayout/lint-baseline.xml
@@ -1,5 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `new android.widget.FrameLayout`"
+ errorLine1=" super(context, attrs, defStyleAttr, defStyleRes);"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/gridlayout/widget/TestContentView.java"
+ line="53"
+ column="9"/>
+ </issue>
<issue
id="UnknownNullness"
diff --git a/health/health-services-client/lint-baseline.xml b/health/health-services-client/lint-baseline.xml
index b83c18e..2569c46 100644
--- a/health/health-services-client/lint-baseline.xml
+++ b/health/health-services-client/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanKeepAnnotation"
diff --git a/heifwriter/heifwriter/lint-baseline.xml b/heifwriter/heifwriter/lint-baseline.xml
index 9b1eb37..2f2db270a 100644
--- a/heifwriter/heifwriter/lint-baseline.xml
+++ b/heifwriter/heifwriter/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanSynchronizedMethods"
diff --git a/inspection/inspection/lint-baseline.xml b/inspection/inspection/lint-baseline.xml
deleted file mode 100644
index 42a176b..0000000
--- a/inspection/inspection/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
-</issues>
diff --git a/leanback/leanback-preference/lint-baseline.xml b/leanback/leanback-preference/lint-baseline.xml
index 9a1dcc3..5a42702 100644
--- a/leanback/leanback-preference/lint-baseline.xml
+++ b/leanback/leanback-preference/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="MissingLeanbackLauncher"
diff --git a/leanback/leanback/lint-baseline.xml b/leanback/leanback/lint-baseline.xml
index c62f6c6..4f85890 100644
--- a/leanback/leanback/lint-baseline.xml
+++ b/leanback/leanback/lint-baseline.xml
@@ -1,5 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 18 (current min is 17): `android.view.ViewGroup#setLayoutMode`"
+ errorLine1=" mGridView.setLayoutMode(ViewGroup.LAYOUT_MODE_OPTICAL_BOUNDS);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/leanback/widget/GridActivity.java"
+ line="130"
+ column="23"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 18 (current min is 17): `android.view.ViewGroup#setLayoutMode`"
+ errorLine1=" viewGroup.setLayoutMode(ViewGroup.LAYOUT_MODE_OPTICAL_BOUNDS);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/leanback/widget/GridActivity.java"
+ line="461"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 17): `android.app.Activity#enterPictureInPictureMode`"
+ errorLine1=" getActivity().enterPictureInPictureMode();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/leanback/app/PlaybackTestFragment.java"
+ line="104"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 17): `android.app.Activity#enterPictureInPictureMode`"
+ errorLine1=" getActivity().enterPictureInPictureMode();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/leanback/app/PlaybackTestSupportFragment.java"
+ line="101"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 17): `java.util.Objects#equals`"
+ errorLine1=" if (!Objects.equals(mPreviousQuery, newQuery)) {"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/leanback/app/SearchFragmentTest.java"
+ line="245"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 17): `java.util.Objects#equals`"
+ errorLine1=" if (!Objects.equals(mPreviousQuery, query)) {"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/leanback/app/SearchFragmentTest.java"
+ line="256"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 17): `java.util.Objects#equals`"
+ errorLine1=" if (!Objects.equals(mPreviousQuery, newQuery)) {"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/leanback/app/SearchSupportFragmentTest.java"
+ line="242"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 17): `java.util.Objects#equals`"
+ errorLine1=" if (!Objects.equals(mPreviousQuery, query)) {"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/leanback/app/SearchSupportFragmentTest.java"
+ line="253"
+ column="26"/>
+ </issue>
<issue
id="WrongConstant"
@@ -5199,7 +5287,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="542"
+ line="541"
column="15"/>
</issue>
@@ -5210,7 +5298,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="542"
+ line="541"
column="33"/>
</issue>
@@ -5221,7 +5309,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="542"
+ line="541"
column="58"/>
</issue>
@@ -5232,7 +5320,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="543"
+ line="542"
column="13"/>
</issue>
@@ -5243,7 +5331,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="548"
+ line="547"
column="12"/>
</issue>
@@ -5254,7 +5342,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="548"
+ line="547"
column="36"/>
</issue>
@@ -5265,7 +5353,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="548"
+ line="547"
column="61"/>
</issue>
@@ -5276,7 +5364,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="549"
+ line="548"
column="36"/>
</issue>
@@ -5287,7 +5375,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="569"
+ line="568"
column="35"/>
</issue>
@@ -5298,7 +5386,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="580"
+ line="579"
column="53"/>
</issue>
@@ -5309,7 +5397,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="610"
+ line="609"
column="12"/>
</issue>
@@ -5320,7 +5408,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="772"
+ line="771"
column="35"/>
</issue>
@@ -5331,7 +5419,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="772"
+ line="771"
column="59"/>
</issue>
@@ -5342,7 +5430,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="797"
+ line="796"
column="50"/>
</issue>
@@ -5353,7 +5441,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="798"
+ line="797"
column="13"/>
</issue>
@@ -5364,7 +5452,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="829"
+ line="828"
column="15"/>
</issue>
@@ -5375,7 +5463,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="835"
+ line="834"
column="42"/>
</issue>
@@ -5386,7 +5474,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsFragment.java"
- line="862"
+ line="861"
column="12"/>
</issue>
@@ -6343,7 +6431,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="537"
+ line="536"
column="15"/>
</issue>
@@ -6354,7 +6442,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="537"
+ line="536"
column="33"/>
</issue>
@@ -6365,7 +6453,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="537"
+ line="536"
column="58"/>
</issue>
@@ -6376,7 +6464,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="538"
+ line="537"
column="13"/>
</issue>
@@ -6387,7 +6475,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="543"
+ line="542"
column="12"/>
</issue>
@@ -6398,7 +6486,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="543"
+ line="542"
column="36"/>
</issue>
@@ -6409,7 +6497,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="543"
+ line="542"
column="61"/>
</issue>
@@ -6420,7 +6508,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="544"
+ line="543"
column="36"/>
</issue>
@@ -6431,7 +6519,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="564"
+ line="563"
column="35"/>
</issue>
@@ -6442,7 +6530,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="575"
+ line="574"
column="53"/>
</issue>
@@ -6453,7 +6541,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="605"
+ line="604"
column="12"/>
</issue>
@@ -6464,7 +6552,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="767"
+ line="766"
column="35"/>
</issue>
@@ -6475,7 +6563,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="767"
+ line="766"
column="59"/>
</issue>
@@ -6486,7 +6574,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="792"
+ line="791"
column="50"/>
</issue>
@@ -6497,7 +6585,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="793"
+ line="792"
column="13"/>
</issue>
@@ -6508,7 +6596,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="824"
+ line="823"
column="15"/>
</issue>
@@ -6519,7 +6607,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="830"
+ line="829"
column="42"/>
</issue>
@@ -6530,7 +6618,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
- line="857"
+ line="856"
column="12"/>
</issue>
@@ -19807,7 +19895,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="461"
+ line="460"
column="12"/>
</issue>
@@ -19818,7 +19906,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="492"
+ line="491"
column="41"/>
</issue>
@@ -19829,7 +19917,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="505"
+ line="504"
column="47"/>
</issue>
@@ -19840,7 +19928,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="515"
+ line="514"
column="46"/>
</issue>
@@ -19851,7 +19939,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="529"
+ line="528"
column="26"/>
</issue>
@@ -19862,7 +19950,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="539"
+ line="538"
column="12"/>
</issue>
@@ -19873,7 +19961,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="550"
+ line="549"
column="34"/>
</issue>
@@ -19884,7 +19972,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="560"
+ line="559"
column="12"/>
</issue>
@@ -19895,7 +19983,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="572"
+ line="571"
column="43"/>
</issue>
@@ -19906,7 +19994,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="583"
+ line="582"
column="54"/>
</issue>
@@ -19917,7 +20005,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="596"
+ line="595"
column="36"/>
</issue>
@@ -19928,7 +20016,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="607"
+ line="606"
column="36"/>
</issue>
@@ -19939,7 +20027,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="618"
+ line="617"
column="46"/>
</issue>
@@ -19950,7 +20038,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="637"
+ line="636"
column="32"/>
</issue>
@@ -19961,7 +20049,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="658"
+ line="657"
column="32"/>
</issue>
@@ -19972,7 +20060,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/leanback/app/SearchFragment.java"
- line="680"
+ line="679"
column="12"/>
</issue>
diff --git a/legacy/core-utils/lint-baseline.xml b/legacy/core-utils/lint-baseline.xml
index e679463..7a92d66 100644
--- a/legacy/core-utils/lint-baseline.xml
+++ b/legacy/core-utils/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/lifecycle/integration-tests/testapp/lint-baseline.xml b/lifecycle/integration-tests/testapp/lint-baseline.xml
index 43ce3f8..f14a772 100644
--- a/lifecycle/integration-tests/testapp/lint-baseline.xml
+++ b/lifecycle/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/lifecycle/lifecycle-common/lint-baseline.xml b/lifecycle/lifecycle-common/lint-baseline.xml
index 19217a6..3d410e5 100644
--- a/lifecycle/lifecycle-common/lint-baseline.xml
+++ b/lifecycle/lifecycle-common/lint-baseline.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mMethod.invoke(target);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -14,7 +14,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mMethod.invoke(target, source);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -25,7 +25,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mMethod.invoke(target, source, event);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
diff --git a/lifecycle/lifecycle-extensions/lint-baseline.xml b/lifecycle/lifecycle-extensions/lint-baseline.xml
index 0e44e2a..a605164 100644
--- a/lifecycle/lifecycle-extensions/lint-baseline.xml
+++ b/lifecycle/lifecycle-extensions/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="PrivateConstructorForUtilityClass"
diff --git a/lifecycle/lifecycle-livedata-core/lint-baseline.xml b/lifecycle/lifecycle-livedata-core/lint-baseline.xml
deleted file mode 100644
index 42a176b..0000000
--- a/lifecycle/lifecycle-livedata-core/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
-</issues>
diff --git a/lifecycle/lifecycle-livedata-ktx/lint-baseline.xml b/lifecycle/lifecycle-livedata-ktx/lint-baseline.xml
index c7fbfe9..7fcfb02 100644
--- a/lifecycle/lifecycle-livedata-ktx/lint-baseline.xml
+++ b/lifecycle/lifecycle-livedata-ktx/lint-baseline.xml
@@ -1,5 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `java.time.Duration#ofSeconds`"
+ errorLine1=" val ld = liveData(timeout = Duration.ofSeconds(5)) {"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/lifecycle/BuildLiveDataTest.kt"
+ line="105"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `liveData`"
+ errorLine1=" val ld = liveData(timeout = Duration.ofSeconds(5)) {"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/lifecycle/BuildLiveDataTest.kt"
+ line="105"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `asLiveData`"
+ errorLine1=" }.asLiveData(timeout = Duration.ofSeconds(5))"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/lifecycle/FlowAsLiveDataTest.kt"
+ line="150"
+ column="11"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `java.time.Duration#ofSeconds`"
+ errorLine1=" }.asLiveData(timeout = Duration.ofSeconds(5))"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/lifecycle/FlowAsLiveDataTest.kt"
+ line="150"
+ column="41"/>
+ </issue>
<issue
id="ClassVerificationFailure"
@@ -19,7 +63,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/lifecycle/FlowLiveData.kt"
- line="148"
+ line="150"
column="46"/>
</issue>
diff --git a/lifecycle/lifecycle-livedata/lint-baseline.xml b/lifecycle/lifecycle-livedata/lint-baseline.xml
deleted file mode 100644
index 42a176b..0000000
--- a/lifecycle/lifecycle-livedata/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
-</issues>
diff --git a/lifecycle/lifecycle-process/lint-baseline.xml b/lifecycle/lifecycle-process/lint-baseline.xml
index 12b9fa8..8195350 100644
--- a/lifecycle/lifecycle-process/lint-baseline.xml
+++ b/lifecycle/lifecycle-process/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/lifecycle/lifecycle-reactivestreams/lint-baseline.xml b/lifecycle/lifecycle-reactivestreams/lint-baseline.xml
index f07a798..4cd059f 100644
--- a/lifecycle/lifecycle-reactivestreams/lint-baseline.xml
+++ b/lifecycle/lifecycle-reactivestreams/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="LambdaLast"
diff --git a/lifecycle/lifecycle-runtime/lint-baseline.xml b/lifecycle/lifecycle-runtime/lint-baseline.xml
deleted file mode 100644
index 42a176b..0000000
--- a/lifecycle/lifecycle-runtime/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
-</issues>
diff --git a/lifecycle/lifecycle-viewmodel-savedstate/lint-baseline.xml b/lifecycle/lifecycle-viewmodel-savedstate/lint-baseline.xml
index 6511368..d2c3608 100644
--- a/lifecycle/lifecycle-viewmodel-savedstate/lint-baseline.xml
+++ b/lifecycle/lifecycle-viewmodel-savedstate/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="LambdaLast"
diff --git a/lint-checks/integration-tests/lint-baseline.xml b/lint-checks/integration-tests/lint-baseline.xml
deleted file mode 100644
index bc3b76a..0000000
--- a/lint-checks/integration-tests/lint-baseline.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.2.0-beta04" client="gradle" variant="debug" version="4.2.0-beta04">
-
- <issue
- id="UnknownIssueId"
- message="Unknown issue id "ComposableLambdaParameterNaming"">
- <location
- file="build.gradle"/>
- </issue>
-
- <issue
- id="UnknownIssueId"
- message="Unknown issue id "ComposableLambdaParameterPosition"">
- <location
- file="build.gradle"/>
- </issue>
-
- <issue
- id="UnknownIssueId"
- message="Unknown issue id "ComposableNaming"">
- <location
- file="build.gradle"/>
- </issue>
-
- <issue
- id="UnknownIssueId"
- message="Unknown issue id "CompositionLocalNaming"">
- <location
- file="build.gradle"/>
- </issue>
-
-</issues>
diff --git a/lint-checks/lint-baseline.xml b/lint-checks/lint-baseline.xml
new file mode 100644
index 0000000..78bd597
--- /dev/null
+++ b/lint-checks/lint-baseline.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="BanConcurrentHashMap"
+ message="Detected ConcurrentHashMap usage."
+ errorLine1="import java.util.concurrent.ConcurrentHashMap;"
+ errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="integration-tests/src/main/java/androidx/ConcurrentHashMapUsageJava.java"
+ line="22"
+ column="1"/>
+ </issue>
+
+ <issue
+ id="BanConcurrentHashMap"
+ message="Detected ConcurrentHashMap usage."
+ errorLine1="import java.util.concurrent.ConcurrentHashMap;"
+ errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="integration-tests/src/main/java/androidx/Sample.java"
+ line="19"
+ column="1"/>
+ </issue>
+
+ <issue
+ id="BanSynchronizedMethods"
+ message="Use of synchronized methods is not recommended"
+ errorLine1=" public synchronized void someMethod() {"
+ errorLine2=" ^">
+ <location
+ file="integration-tests/src/main/java/androidx/SynchronizedMethodJava.java"
+ line="22"
+ column="5"/>
+ </issue>
+
+ <issue
+ id="IdeaSuppression"
+ message="Uses IntelliJ-specific suppression, should use `@SuppressWarnings("deprecation")`"
+ errorLine1=" //noinspection deprecation"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="integration-tests/src/main/java/androidx/IdeaSuppressionJava.java"
+ line="29"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="PrivateConstructorForUtilityClass"
+ message="Utility class is missing private constructor"
+ errorLine1=" static class DefaultInnerClass {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="integration-tests/src/main/java/androidx/PrivateConstructorForUtilityClassJava.java"
+ line="37"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="PrivateConstructorForUtilityClass"
+ message="Utility class is missing private constructor"
+ errorLine1=" protected static class ProtectedInnerClass {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="integration-tests/src/main/java/androidx/PrivateConstructorForUtilityClassJava.java"
+ line="46"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="PrivateConstructorForUtilityClass"
+ message="Utility class is missing private constructor"
+ errorLine1=" public static class PublicInnerClass {"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="integration-tests/src/main/java/androidx/PrivateConstructorForUtilityClassJava.java"
+ line="55"
+ column="25"/>
+ </issue>
+
+</issues>
diff --git a/lint-demos/lint-demo-appcompat/lint-baseline.xml b/lint-demos/lint-demo-appcompat/lint-baseline.xml
index 9445a67..bdc3acc 100644
--- a/lint-demos/lint-demo-appcompat/lint-baseline.xml
+++ b/lint-demos/lint-demo-appcompat/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/media/media/lint-baseline.xml b/media/media/lint-baseline.xml
index 2386b46..c38d6d6 100644
--- a/media/media/lint-baseline.xml
+++ b/media/media/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="LambdaLast"
@@ -96,7 +96,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media/AudioAttributesImplApi21.java"
- line="42"
+ line="41"
column="12"/>
</issue>
@@ -1768,7 +1768,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="619"
+ line="621"
column="29"/>
</issue>
@@ -1779,7 +1779,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="635"
+ line="637"
column="29"/>
</issue>
@@ -1790,7 +1790,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="635"
+ line="637"
column="48"/>
</issue>
@@ -1801,7 +1801,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="651"
+ line="653"
column="36"/>
</issue>
@@ -1812,7 +1812,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="668"
+ line="670"
column="40"/>
</issue>
@@ -1823,7 +1823,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="710"
+ line="712"
column="37"/>
</issue>
@@ -1834,7 +1834,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="754"
+ line="756"
column="34"/>
</issue>
@@ -1845,7 +1845,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="754"
+ line="756"
column="48"/>
</issue>
@@ -1856,7 +1856,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="784"
+ line="786"
column="12"/>
</issue>
@@ -1867,7 +1867,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="794"
+ line="796"
column="12"/>
</issue>
@@ -1878,7 +1878,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="803"
+ line="805"
column="34"/>
</issue>
@@ -1889,7 +1889,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="815"
+ line="817"
column="29"/>
</issue>
@@ -1900,7 +1900,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="831"
+ line="833"
column="26"/>
</issue>
@@ -1911,7 +1911,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="855"
+ line="857"
column="31"/>
</issue>
@@ -1922,7 +1922,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="924"
+ line="926"
column="27"/>
</issue>
@@ -1933,7 +1933,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="938"
+ line="940"
column="12"/>
</issue>
@@ -1944,7 +1944,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="952"
+ line="954"
column="12"/>
</issue>
@@ -1955,7 +1955,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="988"
+ line="990"
column="12"/>
</issue>
@@ -1966,7 +1966,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="999"
+ line="1001"
column="43"/>
</issue>
@@ -1977,7 +1977,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1012"
+ line="1014"
column="46"/>
</issue>
@@ -1988,7 +1988,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1035"
+ line="1037"
column="19"/>
</issue>
@@ -1999,7 +1999,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1035"
+ line="1037"
column="55"/>
</issue>
@@ -2010,7 +2010,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1035"
+ line="1037"
column="72"/>
</issue>
@@ -2021,7 +2021,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1168"
+ line="1170"
column="31"/>
</issue>
@@ -2032,7 +2032,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1168"
+ line="1170"
column="47"/>
</issue>
@@ -2043,7 +2043,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1168"
+ line="1170"
column="62"/>
</issue>
@@ -2054,7 +2054,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1182"
+ line="1184"
column="43"/>
</issue>
@@ -2065,7 +2065,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1275"
+ line="1277"
column="42"/>
</issue>
@@ -2076,7 +2076,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1275"
+ line="1277"
column="58"/>
</issue>
@@ -2087,7 +2087,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1285"
+ line="1287"
column="41"/>
</issue>
@@ -2098,7 +2098,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1285"
+ line="1287"
column="55"/>
</issue>
@@ -2109,7 +2109,7 @@
errorLine2=" ~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1293"
+ line="1295"
column="38"/>
</issue>
@@ -2120,7 +2120,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1293"
+ line="1295"
column="47"/>
</issue>
@@ -2131,7 +2131,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1306"
+ line="1308"
column="39"/>
</issue>
@@ -2142,7 +2142,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1306"
+ line="1308"
column="55"/>
</issue>
@@ -2153,7 +2153,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1315"
+ line="1317"
column="38"/>
</issue>
@@ -2164,7 +2164,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1315"
+ line="1317"
column="52"/>
</issue>
@@ -2175,7 +2175,7 @@
errorLine2=" ~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1321"
+ line="1323"
column="35"/>
</issue>
@@ -2186,7 +2186,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1321"
+ line="1323"
column="44"/>
</issue>
@@ -2197,7 +2197,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1380"
+ line="1382"
column="33"/>
</issue>
@@ -2208,7 +2208,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1389"
+ line="1391"
column="33"/>
</issue>
@@ -2219,7 +2219,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1389"
+ line="1391"
column="54"/>
</issue>
@@ -2230,7 +2230,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1460"
+ line="1462"
column="36"/>
</issue>
@@ -2241,7 +2241,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1460"
+ line="1462"
column="51"/>
</issue>
@@ -2252,7 +2252,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1470"
+ line="1472"
column="36"/>
</issue>
@@ -2263,7 +2263,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1482"
+ line="1484"
column="36"/>
</issue>
@@ -2274,7 +2274,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1493"
+ line="1495"
column="39"/>
</issue>
@@ -2285,7 +2285,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1954"
+ line="1956"
column="23"/>
</issue>
@@ -2296,7 +2296,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1954"
+ line="1956"
column="39"/>
</issue>
@@ -2307,7 +2307,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1972"
+ line="1974"
column="23"/>
</issue>
@@ -2318,7 +2318,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1972"
+ line="1974"
column="39"/>
</issue>
@@ -2329,7 +2329,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1972"
+ line="1974"
column="53"/>
</issue>
@@ -2340,7 +2340,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="1989"
+ line="1991"
column="35"/>
</issue>
@@ -2351,7 +2351,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2033"
+ line="2035"
column="16"/>
</issue>
@@ -2362,7 +2362,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2041"
+ line="2043"
column="16"/>
</issue>
@@ -2373,7 +2373,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2051"
+ line="2053"
column="36"/>
</issue>
@@ -2384,7 +2384,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2061"
+ line="2063"
column="16"/>
</issue>
@@ -2395,7 +2395,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2071"
+ line="2073"
column="38"/>
</issue>
@@ -2406,7 +2406,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2081"
+ line="2083"
column="16"/>
</issue>
@@ -2417,7 +2417,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2103"
+ line="2105"
column="23"/>
</issue>
@@ -2428,7 +2428,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2103"
+ line="2105"
column="40"/>
</issue>
@@ -2439,7 +2439,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2158"
+ line="2160"
column="26"/>
</issue>
@@ -2450,7 +2450,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2185"
+ line="2187"
column="16"/>
</issue>
@@ -2461,7 +2461,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2197"
+ line="2199"
column="35"/>
</issue>
@@ -2472,7 +2472,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2217"
+ line="2219"
column="16"/>
</issue>
@@ -2483,7 +2483,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2237"
+ line="2239"
column="23"/>
</issue>
@@ -2494,7 +2494,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2237"
+ line="2239"
column="47"/>
</issue>
@@ -2505,7 +2505,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2259"
+ line="2261"
column="23"/>
</issue>
@@ -2516,7 +2516,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
- line="2259"
+ line="2261"
column="57"/>
</issue>
diff --git a/media/media/src/main/java/android/support/v4/media/session/MediaSessionCompat.java b/media/media/src/main/java/android/support/v4/media/session/MediaSessionCompat.java
index 5f0fe6b..4466deb 100644
--- a/media/media/src/main/java/android/support/v4/media/session/MediaSessionCompat.java
+++ b/media/media/src/main/java/android/support/v4/media/session/MediaSessionCompat.java
@@ -2106,6 +2106,7 @@
if (tokenBundle == null) {
return null;
}
+ tokenBundle.setClassLoader(Token.class.getClassLoader());
IMediaSession extraSession = IMediaSession.Stub.asInterface(
BundleCompat.getBinder(tokenBundle, KEY_EXTRA_BINDER));
VersionedParcelable session2Token = ParcelUtils.getVersionedParcelable(tokenBundle,
diff --git a/media/version-compat-tests/lib/lint-baseline.xml b/media/version-compat-tests/lib/lint-baseline.xml
index 2c98d21..8c8180a 100644
--- a/media/version-compat-tests/lib/lint-baseline.xml
+++ b/media/version-compat-tests/lib/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/media2/integration-tests/testapp/lint-baseline.xml b/media2/integration-tests/testapp/lint-baseline.xml
index cfeacea..30c28ce 100644
--- a/media2/integration-tests/testapp/lint-baseline.xml
+++ b/media2/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/media2/media2-common/lint-baseline.xml b/media2/media2-common/lint-baseline.xml
index ec087a8..9156dc3 100644
--- a/media2/media2-common/lint-baseline.xml
+++ b/media2/media2-common/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/media2/media2-player/lint-baseline.xml b/media2/media2-player/lint-baseline.xml
index 04da466..83e88ea 100644
--- a/media2/media2-player/lint-baseline.xml
+++ b/media2/media2-player/lint-baseline.xml
@@ -1,5 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 16): `android.app.Activity#setTurnScreenOn`"
+ errorLine1=" mActivity.setTurnScreenOn(true);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/media2/player/MediaPlayer2DrmTestBase.java"
+ line="111"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 16): `android.app.Activity#setShowWhenLocked`"
+ errorLine1=" mActivity.setShowWhenLocked(true);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/media2/player/MediaPlayer2DrmTestBase.java"
+ line="112"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 16): `android.app.KeyguardManager#requestDismissKeyguard`"
+ errorLine1=" mKeyguardManager.requestDismissKeyguard(mActivity, null);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/media2/player/MediaPlayer2DrmTestBase.java"
+ line="113"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 18 (current min is 16): `android.media.MediaDrm.KeyRequest#getData`"
+ errorLine1=" if (0 == getKeyIds(keyRequest.getData(), keyIds)) {"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/media2/player/MediaPlayer2DrmTestBase.java"
+ line="874"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 16): `android.app.Activity#setTurnScreenOn`"
+ errorLine1=" mActivity.setTurnScreenOn(true);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/media2/player/MediaPlayerDrmTest.java"
+ line="129"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 16): `android.app.Activity#setShowWhenLocked`"
+ errorLine1=" mActivity.setShowWhenLocked(true);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/media2/player/MediaPlayerDrmTest.java"
+ line="130"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 16): `android.app.KeyguardManager#requestDismissKeyguard`"
+ errorLine1=" mKeyguardManager.requestDismissKeyguard(mActivity, null);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/media2/player/MediaPlayerDrmTest.java"
+ line="131"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 18 (current min is 16): `android.media.MediaDrm.KeyRequest#getData`"
+ errorLine1=" if (0 == getKeyIds(keyRequest.getData(), keyIds)) {"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/media2/player/MediaPlayerDrmTest.java"
+ line="955"
+ column="39"/>
+ </issue>
<issue
id="BanSynchronizedMethods"
@@ -47,7 +135,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" return (FileDescriptor) method.invoke(object, fileDescriptor);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -58,7 +146,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" method.invoke(object, fileDescriptor, position, /* whence= */ SEEK_SET);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -69,7 +157,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" return (FileDescriptor) method.invoke(object, fileDescriptor);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
diff --git a/media2/media2-player/src/main/java/androidx/media2/player/AudioFocusHandler.java b/media2/media2-player/src/main/java/androidx/media2/player/AudioFocusHandler.java
index 8679ed1..c33b952 100644
--- a/media2/media2-player/src/main/java/androidx/media2/player/AudioFocusHandler.java
+++ b/media2/media2-player/src/main/java/androidx/media2/player/AudioFocusHandler.java
@@ -337,7 +337,6 @@
}
// Note: This is always the main thread, except for the test.
- // TODO(b/138091975) Do not ignore returned Futures if feasible.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void onReceive(Context context, Intent intent) {
@@ -382,7 +381,6 @@
// This is the thread where the AudioManager was originally instantiated.
// see: b/78617702
- // TODO(b/138091975) Do not ignore returned Futures if feasible.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void onAudioFocusChange(int focusGain) {
diff --git a/media2/media2-session/lint-baseline.xml b/media2/media2-session/lint-baseline.xml
index a781bd7..82fa1c7 100644
--- a/media2/media2-session/lint-baseline.xml
+++ b/media2/media2-session/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/media2/media2-session/src/main/java/androidx/media2/session/MediaSessionLegacyStub.java b/media2/media2-session/src/main/java/androidx/media2/session/MediaSessionLegacyStub.java
index 0ebda7a..175835b 100644
--- a/media2/media2-session/src/main/java/androidx/media2/session/MediaSessionLegacyStub.java
+++ b/media2/media2-session/src/main/java/androidx/media2/session/MediaSessionLegacyStub.java
@@ -171,7 +171,6 @@
@Override
public void onPrepare() {
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_PREPARE, new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -205,7 +204,6 @@
@Override
public void onPrepareFromUri(final Uri mediaUri, final Bundle extras) {
dispatchSessionTask(SessionCommand.COMMAND_CODE_SESSION_SET_MEDIA_URI, new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -220,7 +218,6 @@
@Override
public void onPlay() {
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_PLAY, new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -254,7 +251,6 @@
@Override
public void onPlayFromUri(final Uri mediaUri, final Bundle extras) {
dispatchSessionTask(SessionCommand.COMMAND_CODE_SESSION_SET_MEDIA_URI, new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -269,7 +265,6 @@
@Override
public void onPause() {
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_PAUSE, new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -288,7 +283,6 @@
public void run(ControllerInfo controller) throws RemoteException {
handleTaskOnExecutor(controller, null,
SessionCommand.COMMAND_CODE_PLAYER_SEEK_TO, new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -303,7 +297,6 @@
@Override
public void onSeekTo(final long pos) {
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_SEEK_TO, new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -316,7 +309,6 @@
public void onSkipToNext() {
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_SKIP_TO_NEXT_PLAYLIST_ITEM,
new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -329,7 +321,6 @@
public void onSkipToPrevious() {
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_SKIP_TO_PREVIOUS_PLAYLIST_ITEM,
new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -341,7 +332,6 @@
@Override
public void onSetPlaybackSpeed(final float speed) {
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_SET_SPEED, new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -354,7 +344,6 @@
public void onSkipToQueueItem(final long queueId) {
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_SKIP_TO_PLAYLIST_ITEM,
new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -432,7 +421,6 @@
public void onSetRepeatMode(final int repeatMode) {
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_SET_REPEAT_MODE,
new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -445,7 +433,6 @@
public void onSetShuffleMode(final int shuffleMode) {
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_SET_SHUFFLE_MODE,
new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -466,7 +453,6 @@
}
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_ADD_PLAYLIST_ITEM,
new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -489,7 +475,6 @@
}
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_REMOVE_PLAYLIST_ITEM,
new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -514,7 +499,6 @@
public void onRemoveQueueItemAt(final int index) {
dispatchSessionTask(SessionCommand.COMMAND_CODE_PLAYER_REMOVE_PLAYLIST_ITEM,
new SessionTask() {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void run(ControllerInfo controller) throws RemoteException {
@@ -645,14 +629,12 @@
@NonNull RemoteSessionPlayer player) {
return new VolumeProviderCompat(player.getVolumeControlType(), player.getMaxVolume(),
player.getVolume()) {
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void onSetVolumeTo(int volume) {
player.setVolume(volume);
}
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
@Override
public void onAdjustVolume(int direction) {
diff --git a/media2/media2-session/version-compat-tests/common/lint-baseline.xml b/media2/media2-session/version-compat-tests/common/lint-baseline.xml
index e82d8f6..c001098 100644
--- a/media2/media2-session/version-compat-tests/common/lint-baseline.xml
+++ b/media2/media2-session/version-compat-tests/common/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/media2/media2-session/version-compat-tests/current/service/lint-baseline.xml b/media2/media2-session/version-compat-tests/current/service/lint-baseline.xml
new file mode 100644
index 0000000..ef32285
--- /dev/null
+++ b/media2/media2-session/version-compat-tests/current/service/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 16): `java.util.Objects#equals`"
+ errorLine1=" if (Objects.equals(mediaId, list.get(i))) {"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/media2/test/service/tests/MediaSessionCallbackTest.java"
+ line="166"
+ column="33"/>
+ </issue>
+
+</issues>
diff --git a/media2/media2-session/version-compat-tests/previous/service/lint-baseline.xml b/media2/media2-session/version-compat-tests/previous/service/lint-baseline.xml
new file mode 100644
index 0000000..f350fcf
--- /dev/null
+++ b/media2/media2-session/version-compat-tests/previous/service/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 19): `getInstance`"
+ errorLine1=" MediaSessionManager sessionManager = MediaSessionManager.getInstance(mContext);"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/media2/test/service/tests/MediaSessionManagerTest.java"
+ line="63"
+ column="66"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 19): `getSessionServiceTokens`"
+ errorLine1=" Set<SessionToken> serviceTokens = sessionManager.getSessionServiceTokens();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/media2/test/service/tests/MediaSessionManagerTest.java"
+ line="64"
+ column="58"/>
+ </issue>
+
+</issues>
diff --git a/media2/media2-widget/lint-baseline.xml b/media2/media2-widget/lint-baseline.xml
index 314a6af..ac04ba9 100644
--- a/media2/media2-widget/lint-baseline.xml
+++ b/media2/media2-widget/lint-baseline.xml
@@ -1,5 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 24 (current min is 16): `android.view.PixelCopy.OnPixelCopyFinishedListener`"
+ errorLine1=" PixelCopy.request(source, dest, new PixelCopy.OnPixelCopyFinishedListener() {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/media2/widget/VideoView_WithPlayerTest.java"
+ line="478"
+ column="57"/>
+ </issue>
<issue
id="BanSynchronizedMethods"
diff --git a/media2/media2-widget/src/androidTest/java/androidx/media2/widget/MediaWidgetTestBase.java b/media2/media2-widget/src/androidTest/java/androidx/media2/widget/MediaWidgetTestBase.java
index ba998cf..232b8e1 100644
--- a/media2/media2-widget/src/androidTest/java/androidx/media2/widget/MediaWidgetTestBase.java
+++ b/media2/media2-widget/src/androidTest/java/androidx/media2/widget/MediaWidgetTestBase.java
@@ -124,7 +124,6 @@
return Uri.parse("android.resource://" + mContext.getPackageName() + "/" + resId);
}
- // TODO(b/138091975) Do not ignore returned Futures if feasible.
@SuppressWarnings("FutureReturnValueIgnored")
PlayerWrapper createPlayerWrapperOfController(@NonNull PlayerWrapper.PlayerCallback callback,
@Nullable MediaItem item, @Nullable List<MediaItem> playlist) {
@@ -153,7 +152,6 @@
return wrapper;
}
- // TODO(b/138091975) Do not ignore returned Futures if feasible.
@SuppressWarnings("FutureReturnValueIgnored")
PlayerWrapper createPlayerWrapperOfPlayer(@NonNull PlayerWrapper.PlayerCallback callback,
@Nullable MediaItem item, @Nullable List<MediaItem> playlist) {
diff --git a/media2/media2-widget/src/main/java/androidx/media2/widget/PlayerWrapper.java b/media2/media2-widget/src/main/java/androidx/media2/widget/PlayerWrapper.java
index 21f7278..fdbbced 100644
--- a/media2/media2-widget/src/main/java/androidx/media2/widget/PlayerWrapper.java
+++ b/media2/media2-widget/src/main/java/androidx/media2/widget/PlayerWrapper.java
@@ -200,7 +200,6 @@
&& mAllowedCommands.hasCommand(SessionCommand.COMMAND_CODE_PLAYER_DESELECT_TRACK);
}
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
void pause() {
if (mController != null) {
@@ -210,7 +209,6 @@
}
}
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
void play() {
if (mController != null) {
@@ -220,7 +218,6 @@
}
}
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
void seekTo(long posMs) {
if (mController != null) {
@@ -230,7 +227,6 @@
}
}
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
void skipToNextItem() {
if (mController != null) {
@@ -240,7 +236,6 @@
}
}
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
void skipToPreviousItem() {
if (mController != null) {
@@ -259,7 +254,6 @@
return 1f;
}
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
void setPlaybackSpeed(float speed) {
if (mController != null) {
@@ -269,7 +263,6 @@
}
}
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
void selectTrack(TrackInfo trackInfo) {
if (mController != null) {
@@ -279,7 +272,6 @@
}
}
- // TODO(b/138091975) Do not ignore the returned Future.
@SuppressWarnings("FutureReturnValueIgnored")
void deselectTrack(TrackInfo trackInfo) {
if (mController != null) {
diff --git a/mediarouter/mediarouter/lint-baseline.xml b/mediarouter/mediarouter/lint-baseline.xml
index 7aa92ae..da2befa 100644
--- a/mediarouter/mediarouter/lint-baseline.xml
+++ b/mediarouter/mediarouter/lint-baseline.xml
@@ -1,9 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 14): `android.app.Activity#setTurnScreenOn`"
+ errorLine1=" setTurnScreenOn(true);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/mediarouter/media/MediaRouter2TestActivity.java"
+ line="47"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 14): `android.app.Activity#setShowWhenLocked`"
+ errorLine1=" setShowWhenLocked(true);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/mediarouter/media/MediaRouter2TestActivity.java"
+ line="48"
+ column="9"/>
+ </issue>
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mSelectRouteIntMethod.invoke(router, types, route);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -14,7 +36,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" return mGetSystemAudioRouteMethod.invoke(router);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -25,7 +47,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mScanWifiDisplaysMethod.invoke(mDisplayManager);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -36,7 +58,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" int statusCode = (Integer)mGetStatusCodeMethod.invoke(route);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -52,7 +74,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/mediarouter/media/MediaRoute2Provider.java"
- line="377"
+ line="383"
column="48"/>
</issue>
@@ -63,7 +85,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/mediarouter/media/MediaRoute2Provider.java"
- line="380"
+ line="386"
column="70"/>
</issue>
@@ -74,7 +96,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/mediarouter/media/MediaRoute2Provider.java"
- line="386"
+ line="392"
column="56"/>
</issue>
@@ -85,7 +107,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/mediarouter/media/MediaRoute2Provider.java"
- line="482"
+ line="488"
column="32"/>
</issue>
@@ -96,7 +118,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/mediarouter/media/MediaRoute2Provider.java"
- line="492"
+ line="498"
column="75"/>
</issue>
@@ -107,7 +129,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/mediarouter/media/MediaRoute2Provider.java"
- line="495"
+ line="501"
column="40"/>
</issue>
@@ -118,7 +140,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/mediarouter/media/MediaRoute2Provider.java"
- line="496"
+ line="502"
column="32"/>
</issue>
@@ -129,7 +151,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/mediarouter/media/MediaRoute2Provider.java"
- line="502"
+ line="508"
column="66"/>
</issue>
@@ -140,7 +162,7 @@
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/mediarouter/media/MediaRoute2Provider.java"
- line="530"
+ line="536"
column="32"/>
</issue>
@@ -151,7 +173,7 @@
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/mediarouter/media/MediaRoute2Provider.java"
- line="548"
+ line="554"
column="27"/>
</issue>
@@ -162,7 +184,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/mediarouter/media/MediaRoute2Provider.java"
- line="564"
+ line="570"
column="32"/>
</issue>
@@ -173,7 +195,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/mediarouter/media/MediaRoute2Provider.java"
- line="580"
+ line="586"
column="32"/>
</issue>
diff --git a/navigation/integration-tests/testapp/lint-baseline.xml b/navigation/integration-tests/testapp/lint-baseline.xml
index d11926b..5142aa3 100644
--- a/navigation/integration-tests/testapp/lint-baseline.xml
+++ b/navigation/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/navigation/navigation-common/api/current.txt b/navigation/navigation-common/api/current.txt
index 186cf0c..d8e1649 100644
--- a/navigation/navigation-common/api/current.txt
+++ b/navigation/navigation-common/api/current.txt
@@ -485,13 +485,13 @@
public abstract class NavigatorState {
ctor public NavigatorState();
- method public void add(androidx.navigation.NavBackStackEntry backStackEntry);
- method public androidx.navigation.NavigatorState.OnTransitionCompleteListener addWithTransition(androidx.navigation.NavBackStackEntry backStackEntry);
method public abstract androidx.navigation.NavBackStackEntry createBackStackEntry(androidx.navigation.NavDestination destination, android.os.Bundle? arguments);
method public final kotlinx.coroutines.flow.StateFlow<java.util.List<androidx.navigation.NavBackStackEntry>> getBackStack();
method public final kotlinx.coroutines.flow.StateFlow<java.util.Map<androidx.navigation.NavBackStackEntry,androidx.navigation.NavigatorState.OnTransitionCompleteListener>> getTransitionsInProgress();
method public void pop(androidx.navigation.NavBackStackEntry popUpTo, boolean saveState);
method public androidx.navigation.NavigatorState.OnTransitionCompleteListener popWithTransition(androidx.navigation.NavBackStackEntry popUpTo, boolean saveState);
+ method public void push(androidx.navigation.NavBackStackEntry backStackEntry);
+ method public androidx.navigation.NavigatorState.OnTransitionCompleteListener pushWithTransition(androidx.navigation.NavBackStackEntry backStackEntry);
property public final kotlinx.coroutines.flow.StateFlow<java.util.List<androidx.navigation.NavBackStackEntry>> backStack;
property public final kotlinx.coroutines.flow.StateFlow<java.util.Map<androidx.navigation.NavBackStackEntry,androidx.navigation.NavigatorState.OnTransitionCompleteListener>> transitionsInProgress;
}
diff --git a/navigation/navigation-common/api/public_plus_experimental_current.txt b/navigation/navigation-common/api/public_plus_experimental_current.txt
index 186cf0c..d8e1649 100644
--- a/navigation/navigation-common/api/public_plus_experimental_current.txt
+++ b/navigation/navigation-common/api/public_plus_experimental_current.txt
@@ -485,13 +485,13 @@
public abstract class NavigatorState {
ctor public NavigatorState();
- method public void add(androidx.navigation.NavBackStackEntry backStackEntry);
- method public androidx.navigation.NavigatorState.OnTransitionCompleteListener addWithTransition(androidx.navigation.NavBackStackEntry backStackEntry);
method public abstract androidx.navigation.NavBackStackEntry createBackStackEntry(androidx.navigation.NavDestination destination, android.os.Bundle? arguments);
method public final kotlinx.coroutines.flow.StateFlow<java.util.List<androidx.navigation.NavBackStackEntry>> getBackStack();
method public final kotlinx.coroutines.flow.StateFlow<java.util.Map<androidx.navigation.NavBackStackEntry,androidx.navigation.NavigatorState.OnTransitionCompleteListener>> getTransitionsInProgress();
method public void pop(androidx.navigation.NavBackStackEntry popUpTo, boolean saveState);
method public androidx.navigation.NavigatorState.OnTransitionCompleteListener popWithTransition(androidx.navigation.NavBackStackEntry popUpTo, boolean saveState);
+ method public void push(androidx.navigation.NavBackStackEntry backStackEntry);
+ method public androidx.navigation.NavigatorState.OnTransitionCompleteListener pushWithTransition(androidx.navigation.NavBackStackEntry backStackEntry);
property public final kotlinx.coroutines.flow.StateFlow<java.util.List<androidx.navigation.NavBackStackEntry>> backStack;
property public final kotlinx.coroutines.flow.StateFlow<java.util.Map<androidx.navigation.NavBackStackEntry,androidx.navigation.NavigatorState.OnTransitionCompleteListener>> transitionsInProgress;
}
diff --git a/navigation/navigation-common/api/restricted_current.txt b/navigation/navigation-common/api/restricted_current.txt
index 186cf0c..d8e1649 100644
--- a/navigation/navigation-common/api/restricted_current.txt
+++ b/navigation/navigation-common/api/restricted_current.txt
@@ -485,13 +485,13 @@
public abstract class NavigatorState {
ctor public NavigatorState();
- method public void add(androidx.navigation.NavBackStackEntry backStackEntry);
- method public androidx.navigation.NavigatorState.OnTransitionCompleteListener addWithTransition(androidx.navigation.NavBackStackEntry backStackEntry);
method public abstract androidx.navigation.NavBackStackEntry createBackStackEntry(androidx.navigation.NavDestination destination, android.os.Bundle? arguments);
method public final kotlinx.coroutines.flow.StateFlow<java.util.List<androidx.navigation.NavBackStackEntry>> getBackStack();
method public final kotlinx.coroutines.flow.StateFlow<java.util.Map<androidx.navigation.NavBackStackEntry,androidx.navigation.NavigatorState.OnTransitionCompleteListener>> getTransitionsInProgress();
method public void pop(androidx.navigation.NavBackStackEntry popUpTo, boolean saveState);
method public androidx.navigation.NavigatorState.OnTransitionCompleteListener popWithTransition(androidx.navigation.NavBackStackEntry popUpTo, boolean saveState);
+ method public void push(androidx.navigation.NavBackStackEntry backStackEntry);
+ method public androidx.navigation.NavigatorState.OnTransitionCompleteListener pushWithTransition(androidx.navigation.NavBackStackEntry backStackEntry);
property public final kotlinx.coroutines.flow.StateFlow<java.util.List<androidx.navigation.NavBackStackEntry>> backStack;
property public final kotlinx.coroutines.flow.StateFlow<java.util.Map<androidx.navigation.NavBackStackEntry,androidx.navigation.NavigatorState.OnTransitionCompleteListener>> transitionsInProgress;
}
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationAndroidTest.kt b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationAndroidTest.kt
index 8ab7f8e..7d4f7a3 100644
--- a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationAndroidTest.kt
+++ b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationAndroidTest.kt
@@ -109,7 +109,7 @@
destination.addDeepLink("www.example.com/users/index.html")
- destination.addArgument("id", stringArgument())
+ destination.addArgument("name", stringArgument())
destination.addDeepLink("www.example.com/users/{name}")
val match = destination.matchDeepLink(
@@ -125,6 +125,31 @@
}
@Test
+ fun matchDeepLinkBestMatchExactWithQuery() {
+ val destination = NoOpNavigator().createDestination()
+
+ destination.addArgument("tab", stringArgument())
+ destination.addDeepLink("www.example.com/users/anonymous?tab={tab}")
+
+ destination.addArgument("name", stringArgument())
+ destination.addDeepLink("www.example.com/users/{name}?tab={tab}")
+
+ val match = destination.matchDeepLink(
+ Uri.parse("https://www.example.com/users/anonymous?tab=favorite")
+ )
+
+ assertWithMessage("Deep link should match")
+ .that(match)
+ .isNotNull()
+ assertWithMessage("Deep link should pick the exact match with query")
+ .that(match?.matchingArgs?.size())
+ .isEqualTo(1)
+ assertWithMessage("Deep link should extract tab argument correctly")
+ .that(match?.matchingArgs?.getString("tab"))
+ .isEqualTo("favorite")
+ }
+
+ @Test
fun matchDotStar() {
val destination = NoOpNavigator().createDestination()
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.kt b/navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.kt
index 13ec744..45f051f 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.kt
+++ b/navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.kt
@@ -386,13 +386,12 @@
if (isParameterizedQuery) {
var matcher = Pattern.compile("(\\?)").matcher(uriPattern)
if (matcher.find()) {
- buildPathRegex(
+ isExactDeepLink = buildPathRegex(
uriPattern.substring(0, matcher.start()),
uriRegex,
fillInPattern
)
}
- isExactDeepLink = false
for (paramName in parameterizedUri.queryParameterNames) {
val argRegex = StringBuilder()
val queryParam = parameterizedUri.getQueryParameter(paramName) as String
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/Navigator.kt b/navigation/navigation-common/src/main/java/androidx/navigation/Navigator.kt
index 21e06b4..aa769b6 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/Navigator.kt
+++ b/navigation/navigation-common/src/main/java/androidx/navigation/Navigator.kt
@@ -58,7 +58,7 @@
* The state of the Navigator is the communication conduit between the Navigator
* and the [NavController] that has called [onAttach].
*
- * It is the responsibility of the Navigator to call [NavigatorState.add]
+ * It is the responsibility of the Navigator to call [NavigatorState.push]
* and [NavigatorState.pop] to in order to update the [NavigatorState.backStack] at
* the appropriate times.
*
@@ -129,7 +129,7 @@
}
}
}.filterNotNull().forEach { backStackEntry ->
- state.add(backStackEntry)
+ state.push(backStackEntry)
}
}
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavigatorState.kt b/navigation/navigation-common/src/main/java/androidx/navigation/NavigatorState.kt
index 3b59ba9..eef5128 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavigatorState.kt
+++ b/navigation/navigation-common/src/main/java/androidx/navigation/NavigatorState.kt
@@ -47,7 +47,7 @@
* Navigators, this back stack is specifically the set of destinations associated
* with this Navigator.
*
- * Changing the back stack must be done via [add] and [pop].
+ * Changing the back stack must be done via [push] and [pop].
*/
public val backStack: StateFlow<List<NavBackStackEntry>> = _backStack.asStateFlow()
@@ -63,7 +63,7 @@
/**
* Adds the given [backStackEntry] to the [backStack].
*/
- public open fun add(backStackEntry: NavBackStackEntry) {
+ public open fun push(backStackEntry: NavBackStackEntry) {
backStackLock.withLock {
_backStack.value = _backStack.value + backStackEntry
}
@@ -72,10 +72,10 @@
/**
* Provides listener that once activated, adds the given [backStackEntry] to the [backStack].
*/
- public open fun addWithTransition(
+ public open fun pushWithTransition(
backStackEntry: NavBackStackEntry
): OnTransitionCompleteListener {
- add(backStackEntry)
+ push(backStackEntry)
return OnTransitionCompleteListener {
removeInProgressTransition(backStackEntry)
}
diff --git a/navigation/navigation-compose/src/main/java/androidx/navigation/compose/ComposeNavigator.kt b/navigation/navigation-compose/src/main/java/androidx/navigation/compose/ComposeNavigator.kt
index 1d90b08..e44a9a6 100644
--- a/navigation/navigation-compose/src/main/java/androidx/navigation/compose/ComposeNavigator.kt
+++ b/navigation/navigation-compose/src/main/java/androidx/navigation/compose/ComposeNavigator.kt
@@ -61,7 +61,7 @@
navigatorExtras: Extras?
) {
entries.forEach { entry ->
- state.add(entry)
+ state.push(entry)
}
}
diff --git a/navigation/navigation-dynamic-features-fragment/lint-baseline.xml b/navigation/navigation-dynamic-features-fragment/lint-baseline.xml
deleted file mode 100644
index 236c5d8..0000000
--- a/navigation/navigation-dynamic-features-fragment/lint-baseline.xml
+++ /dev/null
@@ -1,312 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha01" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha01">
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
- <issue
- id="InvalidFragmentVersionForActivityResult"
- message="Upgrade Fragment version to at least 1.3.0."
- errorLine1=" private val intentSenderLauncher = registerForActivityResult("
- errorLine2=" ^">
- <location
- file="src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt"
- line="70"
- column="40"/>
- </issue>
-
-</issues>
diff --git a/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/DialogFragmentNavigator.kt b/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/DialogFragmentNavigator.kt
index 9bd11441..29a3c42 100644
--- a/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/DialogFragmentNavigator.kt
+++ b/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/DialogFragmentNavigator.kt
@@ -116,7 +116,7 @@
dialogFragment.arguments = entry.arguments
dialogFragment.lifecycle.addObserver(observer)
dialogFragment.show(fragmentManager, entry.id)
- state.add(entry)
+ state.push(entry)
}
override fun onAttach(state: NavigatorState) {
diff --git a/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt b/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt
index a54a7bf..3e0d7d6 100644
--- a/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt
+++ b/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt
@@ -178,7 +178,7 @@
if (restoreState) {
// Restore back stack does all the work to restore the entry
fragmentManager.restoreBackStack(entry.id)
- state.add(entry)
+ state.push(entry)
return
}
val destination = entry.destination as Destination
@@ -243,7 +243,7 @@
ft.commit()
// The commit succeeded, update our view of the world
if (isAdded) {
- state.add(entry)
+ state.push(entry)
}
}
diff --git a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.kt b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.kt
index 58345df..e569d4b 100644
--- a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.kt
+++ b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.kt
@@ -177,7 +177,7 @@
/**
* Call [Navigator.navigate] while setting up a [handler] that receives callbacks
- * when [NavigatorState.add] is called.
+ * when [NavigatorState.push] is called.
*/
private fun Navigator<out NavDestination>.navigateInternal(
entries: List<NavBackStackEntry>,
@@ -207,7 +207,7 @@
private inner class NavControllerNavigatorState(
val navigator: Navigator<out NavDestination>
) : NavigatorState() {
- override fun add(backStackEntry: NavBackStackEntry) {
+ override fun push(backStackEntry: NavBackStackEntry) {
val destinationNavigator: Navigator<out NavDestination> =
_navigatorProvider[backStackEntry.destination.navigatorName]
if (destinationNavigator == navigator) {
@@ -228,12 +228,12 @@
"NavigatorBackStack for ${backStackEntry.destination.navigatorName} should " +
"already be created"
}
- navigatorBackStack.add(backStackEntry)
+ navigatorBackStack.push(backStackEntry)
}
}
fun addInternal(backStackEntry: NavBackStackEntry) {
- super.add(backStackEntry)
+ super.push(backStackEntry)
}
override fun createBackStackEntry(
@@ -262,10 +262,10 @@
}
}
- override fun addWithTransition(
+ override fun pushWithTransition(
backStackEntry: NavBackStackEntry
): OnTransitionCompleteListener {
- val innerListener = super.addWithTransition(backStackEntry)
+ val innerListener = super.pushWithTransition(backStackEntry)
val listener = OnTransitionCompleteListener {
innerListener.onTransitionComplete()
if (!this@NavControllerNavigatorState.isNavigating) {
diff --git a/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavigatorStateTest.kt b/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavigatorStateTest.kt
index b30f489..95ca300 100644
--- a/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavigatorStateTest.kt
+++ b/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavigatorStateTest.kt
@@ -142,7 +142,7 @@
navigatorExtras: Extras?
) {
entries.forEach { entry ->
- state.addWithTransition(entry)
+ state.pushWithTransition(entry)
}
}
diff --git a/navigation/navigation-testing/src/main/java/androidx/navigation/testing/TestNavigatorState.kt b/navigation/navigation-testing/src/main/java/androidx/navigation/testing/TestNavigatorState.kt
index d9f9f53..c317091 100644
--- a/navigation/navigation-testing/src/main/java/androidx/navigation/testing/TestNavigatorState.kt
+++ b/navigation/navigation-testing/src/main/java/androidx/navigation/testing/TestNavigatorState.kt
@@ -91,15 +91,15 @@
)
}
- override fun add(backStackEntry: NavBackStackEntry) {
- super.add(backStackEntry)
+ override fun push(backStackEntry: NavBackStackEntry) {
+ super.push(backStackEntry)
updateMaxLifecycle()
}
- override fun addWithTransition(
+ override fun pushWithTransition(
backStackEntry: NavBackStackEntry
): OnTransitionCompleteListener {
- val innerListener = super.addWithTransition(backStackEntry)
+ val innerListener = super.pushWithTransition(backStackEntry)
val listener = OnTransitionCompleteListener {
innerListener.onTransitionComplete()
updateMaxLifecycle()
diff --git a/paging/common/src/test/kotlin/androidx/paging/PagingDataDifferTest.kt b/paging/common/src/test/kotlin/androidx/paging/PagingDataDifferTest.kt
index 5aae1a0..fa7152d 100644
--- a/paging/common/src/test/kotlin/androidx/paging/PagingDataDifferTest.kt
+++ b/paging/common/src/test/kotlin/androidx/paging/PagingDataDifferTest.kt
@@ -661,6 +661,103 @@
job.cancel()
}
+
+ @Test
+ fun loadStateFlowSynchronouslyUpdates() = testScope.runBlockingTest {
+ val differ = SimpleDiffer(dummyDifferCallback)
+ var combinedLoadStates: CombinedLoadStates? = null
+ var itemCount = -1
+ val loadStateJob = launch {
+ differ.loadStateFlow.collect {
+ combinedLoadStates = it
+ itemCount = differ.size
+ }
+ }
+
+ val pager = Pager(
+ config = PagingConfig(
+ pageSize = 10,
+ enablePlaceholders = false,
+ initialLoadSize = 10,
+ prefetchDistance = 1
+ ),
+ initialKey = 50
+ ) { TestPagingSource() }
+ val job = launch {
+ pager.flow.collectLatest { differ.collectFrom(it) }
+ }
+
+ // Initial refresh
+ advanceUntilIdle()
+ assertEquals(localLoadStatesOf(), combinedLoadStates)
+ assertEquals(10, itemCount)
+ assertEquals(10, differ.size)
+
+ // Append
+ differ[9]
+ advanceUntilIdle()
+ assertEquals(localLoadStatesOf(), combinedLoadStates)
+ assertEquals(20, itemCount)
+ assertEquals(20, differ.size)
+
+ // Prepend
+ differ[0]
+ advanceUntilIdle()
+ assertEquals(localLoadStatesOf(), combinedLoadStates)
+ assertEquals(30, itemCount)
+ assertEquals(30, differ.size)
+
+ job.cancel()
+ loadStateJob.cancel()
+ }
+
+ @Test
+ fun loadStateListenerSynchronouslyUpdates() = testScope.runBlockingTest {
+ val differ = SimpleDiffer(dummyDifferCallback)
+ pauseDispatcher {
+ var combinedLoadStates: CombinedLoadStates? = null
+ var itemCount = -1
+ differ.addLoadStateListener {
+ combinedLoadStates = it
+ itemCount = differ.size
+ }
+
+ val pager = Pager(
+ config = PagingConfig(
+ pageSize = 10,
+ enablePlaceholders = false,
+ initialLoadSize = 10,
+ prefetchDistance = 1
+ ),
+ initialKey = 50
+ ) { TestPagingSource() }
+ val job = launch {
+ pager.flow.collectLatest { differ.collectFrom(it) }
+ }
+
+ // Initial refresh
+ advanceUntilIdle()
+ assertEquals(localLoadStatesOf(), combinedLoadStates)
+ assertEquals(10, itemCount)
+ assertEquals(10, differ.size)
+
+ // Append
+ differ[9]
+ advanceUntilIdle()
+ assertEquals(localLoadStatesOf(), combinedLoadStates)
+ assertEquals(20, itemCount)
+ assertEquals(20, differ.size)
+
+ // Prepend
+ differ[0]
+ advanceUntilIdle()
+ assertEquals(localLoadStatesOf(), combinedLoadStates)
+ assertEquals(30, itemCount)
+ assertEquals(30, differ.size)
+
+ job.cancel()
+ }
+ }
}
private fun infinitelySuspendingPagingData(receiver: UiReceiver = dummyReceiver) = PagingData(
diff --git a/paging/integration-tests/testapp/lint-baseline.xml b/paging/integration-tests/testapp/lint-baseline.xml
index 647083f..3fc83c7 100644
--- a/paging/integration-tests/testapp/lint-baseline.xml
+++ b/paging/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="SyntheticAccessor"
diff --git a/paging/runtime/lint-baseline.xml b/paging/runtime/lint-baseline.xml
deleted file mode 100644
index 42a176b..0000000
--- a/paging/runtime/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
-</issues>
diff --git a/paging/runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt b/paging/runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
index 18a7c6a6..43c6c6a 100644
--- a/paging/runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
+++ b/paging/runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
@@ -126,10 +126,6 @@
* Present a [PagingData] until it is invalidated by a call to [refresh] or
* [PagingSource.invalidate].
*
- * [submitData] should be called on the same [CoroutineDispatcher] where updates will be
- * dispatched to UI, typically [Dispatchers.Main]. (this is done for you if you use
- * `lifecycleScope.launch {}`).
- *
* This method is typically used when collecting from a [Flow][kotlinx.coroutines.flow.Flow]
* produced by [Pager]. For RxJava or LiveData support, use the non-suspending overload of
* [submitData], which accepts a [Lifecycle].
@@ -140,7 +136,6 @@
* up-to-date representation of your backing dataset should typically be done using
* [collectLatest][kotlinx.coroutines.flow.collectLatest].
*
- *
* @see [Pager]
*/
suspend fun submitData(pagingData: PagingData<T>) {
diff --git a/paging/runtime/src/main/java/androidx/paging/PagingDataAdapter.kt b/paging/runtime/src/main/java/androidx/paging/PagingDataAdapter.kt
index 1541f6b..50e53e1 100644
--- a/paging/runtime/src/main/java/androidx/paging/PagingDataAdapter.kt
+++ b/paging/runtime/src/main/java/androidx/paging/PagingDataAdapter.kt
@@ -150,10 +150,6 @@
* Present a [PagingData] until it is invalidated by a call to [refresh] or
* [PagingSource.invalidate].
*
- * [submitData] should be called on the same [CoroutineDispatcher] where updates will be
- * dispatched to UI, typically [Dispatchers.Main] (this is done for you if you use
- * `lifecycleScope.launch {}`).
- *
* This method is typically used when collecting from a [Flow] produced by [Pager]. For RxJava
* or LiveData support, use the non-suspending overload of [submitData], which accepts a
* [Lifecycle].
diff --git a/percentlayout/percentlayout/lint-baseline.xml b/percentlayout/percentlayout/lint-baseline.xml
index e39961e..b80b520 100644
--- a/percentlayout/percentlayout/lint-baseline.xml
+++ b/percentlayout/percentlayout/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/preference/preference/lint-baseline.xml b/preference/preference/lint-baseline.xml
index df5ab01..d324f8d 100644
--- a/preference/preference/lint-baseline.xml
+++ b/preference/preference/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/print/print/lint-baseline.xml b/print/print/lint-baseline.xml
index e0ec659..f71eab4 100644
--- a/print/print/lint-baseline.xml
+++ b/print/print/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/profileinstaller/integration-tests/init-macrobenchmark/lint-baseline.xml b/profileinstaller/integration-tests/init-macrobenchmark/lint-baseline.xml
new file mode 100644
index 0000000..ac749c4
--- /dev/null
+++ b/profileinstaller/integration-tests/init-macrobenchmark/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
+ errorLine1=" val benchmarkRule = MacrobenchmarkRule()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/profileinstaller/integration/macrobenchmark/ProfileinstallerStartupBenchmark.kt"
+ line="37"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 28): `measureStartup`"
+ errorLine1=" fun startup() = benchmarkRule.measureStartup("
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/profileinstaller/integration/macrobenchmark/ProfileinstallerStartupBenchmark.kt"
+ line="40"
+ column="35"/>
+ </issue>
+
+</issues>
diff --git a/profileinstaller/profileinstaller/lint-baseline.xml b/profileinstaller/profileinstaller/lint-baseline.xml
new file mode 100644
index 0000000..01be5fb
--- /dev/null
+++ b/profileinstaller/profileinstaller/lint-baseline.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `MAGIC`"
+ errorLine1=" expectBytes(is, MAGIC);"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
+ line="46"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `readProfile`"
+ errorLine1=" Map<String, DexProfileData> data = ProfileTranscoder.readProfile(is, version);"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
+ line="48"
+ column="66"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `readHeader`"
+ errorLine1=" byte[] version = ProfileTranscoder.readHeader(is);"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
+ line="97"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `writeHeader`"
+ errorLine1=" ProfileTranscoder.writeHeader(os, desiredVersion);"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
+ line="98"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `readProfile`"
+ errorLine1=" Map<String, DexProfileData> data = ProfileTranscoder.readProfile("
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
+ line="100"
+ column="70"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `transcodeAndWriteBody`"
+ errorLine1=" ProfileTranscoder.transcodeAndWriteBody(os, desiredVersion, data);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
+ line="104"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `writeAll`"
+ errorLine1=" Encoding.writeAll(is, os);"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
+ line="106"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `java.io.File#toPath`"
+ errorLine1=" byte[] goldenBytes = Files.readAllBytes(golden.toPath());"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
+ line="108"
+ column="60"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `java.nio.file.Files#readAllBytes`"
+ errorLine1=" byte[] goldenBytes = Files.readAllBytes(golden.toPath());"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
+ line="108"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `read`"
+ errorLine1=" byte[] actual = Encoding.read(is, bytes.length);"
+ errorLine2=" ~~~~">
+ <location
+ file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
+ line="116"
+ column="34"/>
+ </issue>
+
+</issues>
diff --git a/recommendation/recommendation/lint-baseline.xml b/recommendation/recommendation/lint-baseline.xml
index 3d898bf..0cb64d6 100644
--- a/recommendation/recommendation/lint-baseline.xml
+++ b/recommendation/recommendation/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/recyclerview/recyclerview-selection/lint-baseline.xml b/recyclerview/recyclerview-selection/lint-baseline.xml
index b706440..17a04c0 100644
--- a/recyclerview/recyclerview-selection/lint-baseline.xml
+++ b/recyclerview/recyclerview-selection/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanSynchronizedMethods"
diff --git a/recyclerview/recyclerview/lint-baseline.xml b/recyclerview/recyclerview/lint-baseline.xml
index 3f8be2c..2499392 100644
--- a/recyclerview/recyclerview/lint-baseline.xml
+++ b/recyclerview/recyclerview/lint-baseline.xml
@@ -1,5 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `new android.view.View`"
+ errorLine1=" super(context, attrs, defStyleAttr, defStyleRes);"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/recyclerview/widget/BaseWrapContentWithAspectRatioTest.java"
+ line="75"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.util.Map#getOrDefault`"
+ errorLine1=" } else if (duplicateDiffs.getOrDefault(after[index].id, 0) > 0 && item.newItem) {"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/recyclerview/widget/DiffUtilTest.kt"
+ line="503"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.util.Map#getOrDefault`"
+ errorLine1=" duplicateDiffs[it.id] = 1 + duplicateDiffs.getOrDefault(it.id, 1)"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/recyclerview/widget/DiffUtilTest.kt"
+ line="549"
+ column="56"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.util.Map#getOrDefault`"
+ errorLine1=" duplicateDiffs[it.id] = -1 + duplicateDiffs.getOrDefault(it.id, 0)"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/recyclerview/widget/DiffUtilTest.kt"
+ line="552"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `android.view.View#isScrollContainer`"
+ errorLine1=" + "handle it properly", true, mRecyclerView.isScrollContainer());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/recyclerview/widget/RecyclerViewBasicTest.java"
+ line="105"
+ column="61"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `android.view.View#setLayoutDirection`"
+ errorLine1=" mRecyclerView.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/recyclerview/widget/RecyclerViewFocusTest.java"
+ line="239"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `new android.widget.FrameLayout`"
+ errorLine1=" super(context, attrs, defStyleAttr, defStyleRes);"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/recyclerview/widget/TestContentView.java"
+ line="53"
+ column="9"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `android.view.View#getMinimumWidth`"
+ errorLine1=" getMinimumWidth()),"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/recyclerview/widget/TestedFrameLayout.java"
+ line="108"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `android.view.View#getMinimumHeight`"
+ errorLine1=" getMinimumHeight()));"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/recyclerview/widget/TestedFrameLayout.java"
+ line="111"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `new android.widget.FrameLayout.LayoutParams`"
+ errorLine1=" super(source);"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/recyclerview/widget/TestedFrameLayout.java"
+ line="283"
+ column="13"/>
+ </issue>
<issue
id="BanSynchronizedMethods"
diff --git a/remotecallback/processor/lint-baseline.xml b/remotecallback/processor/lint-baseline.xml
index 3b674ab..c191b4f 100644
--- a/remotecallback/processor/lint-baseline.xml
+++ b/remotecallback/processor/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanSynchronizedMethods"
diff --git a/remotecallback/remotecallback/lint-baseline.xml b/remotecallback/remotecallback/lint-baseline.xml
index 7c9f849..bbc44f4 100644
--- a/remotecallback/remotecallback/lint-baseline.xml
+++ b/remotecallback/remotecallback/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="LambdaLast"
diff --git a/room/integration-tests/testapp/build.gradle b/room/integration-tests/testapp/build.gradle
index 34e790d..864deb5 100644
--- a/room/integration-tests/testapp/build.gradle
+++ b/room/integration-tests/testapp/build.gradle
@@ -80,6 +80,9 @@
implementation(projectOrArtifact(":lifecycle:lifecycle-runtime"))
implementation(libs.multidex)
+ // Workaround for b/191286558.
+ implementation(project(":annotation:annotation-experimental"))
+
// libs.findbugs dependency resolves an app/testapp version conflict.
implementation(libs.findbugs)
implementation("androidx.recyclerview:recyclerview:1.0.0")
diff --git a/room/integration-tests/testapp/lint-baseline.xml b/room/integration-tests/testapp/lint-baseline.xml
index 297ad6c..e8b30d0 100644
--- a/room/integration-tests/testapp/lint-baseline.xml
+++ b/room/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,203 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `LOCALIZED`"
+ errorLine1=" @ColumnInfo(collate = ColumnInfo.LOCALIZED)"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/CollationTest.java"
+ line="120"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `UNICODE`"
+ errorLine1=" @ColumnInfo(collate = ColumnInfo.UNICODE)"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/CollationTest.java"
+ line="122"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `java.util.Objects#hash`"
+ errorLine1=" return Objects.hash(id, name);"
+ errorLine2=" ~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/InvalidationTrackerTest.java"
+ line="241"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.lang.Long#hashCode`"
+ errorLine1=" int result = Long.hashCode(id);"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/vo/Product.java"
+ line="49"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `java.util.Objects#hash`"
+ errorLine1=" return Objects.hash(mId, mUsername);"
+ errorLine2=" ~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/ProvidedTypeConverterTest.java"
+ line="229"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `java.util.Objects#hash`"
+ errorLine1=" return Objects.hash(mName, mLastName);"
+ errorLine2=" ~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/ProvidedTypeConverterTest.java"
+ line="280"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `new java.lang.AssertionError`"
+ errorLine1=" throw new AssertionError("interrupted", e);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/QueryTransactionTest.java"
+ line="290"
+ column="19"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `new java.lang.AssertionError`"
+ errorLine1=" throw new AssertionError("drain timed out", e);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/QueryTransactionTest.java"
+ line="292"
+ column="19"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `new java.lang.AssertionError`"
+ errorLine1=" throw new AssertionError("interrupted", e);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/QueryTransactionTest.java"
+ line="327"
+ column="19"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `new java.lang.AssertionError`"
+ errorLine1=" throw new AssertionError("execution error", e);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/QueryTransactionTest.java"
+ line="329"
+ column="19"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 24): `java.util.List#of`"
+ errorLine1=" mDB.getDao().insert(new TestEntity("1", List.of("a", "b", "c")));"
+ errorLine2=" ~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/TypeConverterPriorityTest.java"
+ line="62"
+ column="54"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 24): `java.util.List#of`"
+ errorLine1=" mDB.getDao().insert(new TestEntity("2", List.of("d", "e", "f")));"
+ errorLine2=" ~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/TypeConverterPriorityTest.java"
+ line="63"
+ column="54"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 24): `java.util.List#of`"
+ errorLine1=" mDB.getDao().insert(new TestEntity("3", List.of("g", "h", "i")));"
+ errorLine2=" ~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/TypeConverterPriorityTest.java"
+ line="64"
+ column="54"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 24): `java.util.List#of`"
+ errorLine1=" mDB.getDao().delete(List.of("2", "3"));"
+ errorLine2=" ~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/TypeConverterPriorityTest.java"
+ line="65"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 24): `java.util.List#of`"
+ errorLine1=" mDB.getDao().insert(new TestEntity("1", List.of("a", "b", "c")));"
+ errorLine2=" ~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/TypeConverterPriorityTest.java"
+ line="71"
+ column="54"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 24): `java.util.List#of`"
+ errorLine1=" mDB.getDao().update("1", List.of("d", "e", "f"));"
+ errorLine2=" ~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/TypeConverterPriorityTest.java"
+ line="72"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 24): `java.util.List#of`"
+ errorLine1=" assertThat(mDB.getDao().getAll().get(0).data).isEqualTo(List.of("d", "e", "f"));"
+ errorLine2=" ~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/TypeConverterPriorityTest.java"
+ line="74"
+ column="70"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 24): `java.lang.String#join`"
+ errorLine1=" return String.join(",", list);"
+ errorLine2=" ~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/integration/testapp/test/TypeConverterPriorityTest.java"
+ line="114"
+ column="27"/>
+ </issue>
<issue
id="SyntheticAccessor"
diff --git a/room/room-common/lint-baseline.xml b/room/room-common/lint-baseline.xml
index 5e43b57..0a8c684 100644
--- a/room/room-common/lint-baseline.xml
+++ b/room/room-common/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/room/room-guava/lint-baseline.xml b/room/room-guava/lint-baseline.xml
index 0f84c67..c15105a 100644
--- a/room/room-guava/lint-baseline.xml
+++ b/room/room-guava/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="LambdaLast"
@@ -8,7 +8,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/guava/GuavaRoom.java"
- line="58"
+ line="59"
column="13"/>
</issue>
@@ -19,7 +19,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/guava/GuavaRoom.java"
- line="75"
+ line="76"
column="13"/>
</issue>
@@ -30,7 +30,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/guava/GuavaRoom.java"
- line="106"
+ line="107"
column="13"/>
</issue>
@@ -41,7 +41,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/guava/GuavaRoom.java"
- line="55"
+ line="56"
column="23"/>
</issue>
@@ -52,17 +52,6 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/guava/GuavaRoom.java"
- line="56"
- column="19"/>
- </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=" final RoomSQLiteQuery query,"
- errorLine2=" ~~~~~~~~~~~~~~~">
- <location
- file="src/main/java/androidx/room/guava/GuavaRoom.java"
line="57"
column="19"/>
</issue>
@@ -70,11 +59,22 @@
<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=" final RoomSQLiteQuery query,"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/androidx/room/guava/GuavaRoom.java"
+ line="58"
+ column="19"/>
+ </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 <T> ListenableFuture<T> createListenableFuture("
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/guava/GuavaRoom.java"
- line="71"
+ line="72"
column="23"/>
</issue>
@@ -85,17 +85,6 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/guava/GuavaRoom.java"
- line="72"
- column="19"/>
- </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=" final Callable<T> callable,"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="src/main/java/androidx/room/guava/GuavaRoom.java"
line="73"
column="19"/>
</issue>
@@ -103,11 +92,22 @@
<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=" final Callable<T> callable,"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/main/java/androidx/room/guava/GuavaRoom.java"
+ line="74"
+ column="19"/>
+ </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=" final RoomSQLiteQuery query,"
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/guava/GuavaRoom.java"
- line="74"
+ line="75"
column="19"/>
</issue>
@@ -118,7 +118,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/guava/GuavaRoom.java"
- line="85"
+ line="86"
column="23"/>
</issue>
@@ -129,7 +129,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/guava/GuavaRoom.java"
- line="86"
+ line="87"
column="19"/>
</issue>
@@ -140,7 +140,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/guava/GuavaRoom.java"
- line="88"
+ line="89"
column="19"/>
</issue>
@@ -151,7 +151,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/guava/GuavaRoom.java"
- line="89"
+ line="90"
column="19"/>
</issue>
diff --git a/room/room-ktx/lint-baseline.xml b/room/room-ktx/lint-baseline.xml
deleted file mode 100644
index 42a176b..0000000
--- a/room/room-ktx/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
-</issues>
diff --git a/room/room-migration/lint-baseline.xml b/room/room-migration/lint-baseline.xml
index 32a2637..9e11b3a 100644
--- a/room/room-migration/lint-baseline.xml
+++ b/room/room-migration/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/room/room-runtime/lint-baseline.xml b/room/room-runtime/lint-baseline.xml
index cd534ae..601763a 100644
--- a/room/room-runtime/lint-baseline.xml
+++ b/room/room-runtime/lint-baseline.xml
@@ -1,5 +1,269 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" autoClosingRoomOpenHelper.writableDatabase"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperFactoryTest.kt"
+ line="85"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" autoClosingRoomOpenHelper.writableDatabase"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperFactoryTest.kt"
+ line="98"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" val db = autoClosingRoomOpenHelper.writableDatabase"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperFactoryTest.kt"
+ line="144"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" .writableDatabase.query("select * from nonexistanttable")"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="88"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" autoClosingRoomOpenHelper.writableDatabase.execSQL("create table user (idk int)")"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="97"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" autoClosingRoomOpenHelper.writableDatabase.query("select * from user")"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="100"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" autoClosingRoomOpenHelper.writableDatabase.beginTransaction()"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="109"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" autoClosingRoomOpenHelper.writableDatabase.endTransaction()"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="111"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 16): `getWritableDatabase`"
+ errorLine1=" assertThat(autoClosingRoomOpenHelper.writableDatabase.isWriteAheadLoggingEnabled).isTrue()"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="121"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 16): `getWritableDatabase`"
+ errorLine1=" assertThat(autoClosingRoomOpenHelper.writableDatabase.isWriteAheadLoggingEnabled).isTrue()"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="125"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" autoClosingRoomOpenHelper.writableDatabase.enableWriteAheadLogging()"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="133"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `disableWriteAheadLogging`"
+ errorLine1=" autoClosingRoomOpenHelper.writableDatabase.disableWriteAheadLogging()"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="137"
+ column="56"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" autoClosingRoomOpenHelper.writableDatabase.disableWriteAheadLogging()"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="137"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" autoClosingRoomOpenHelper.writableDatabase"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="161"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" autoClosingRoomOpenHelper.writableDatabase"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="166"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" val db = autoClosingRoomOpenHelper.writableDatabase"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="175"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" val db = autoClosingRoomOpenHelper.writableDatabase"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="189"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getWritableDatabase`"
+ errorLine1=" val db = autoClosingRoomOpenHelper.writableDatabase"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt"
+ line="209"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `WRITE_AHEAD_LOGGING`"
+ errorLine1=" .setJournalMode(RoomDatabase.JournalMode.WRITE_AHEAD_LOGGING).build();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/room/BuilderTest.java"
+ line="411"
+ column="58"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `WRITE_AHEAD_LOGGING`"
+ errorLine1=" assertThat(config.journalMode, is(RoomDatabase.JournalMode.WRITE_AHEAD_LOGGING));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/room/BuilderTest.java"
+ line="414"
+ column="68"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 21 (current min is 14): `java.util.Locale#forLanguageTag`"
+ errorLine1=" Locale.setDefault(Locale.forLanguageTag("tr-TR"));"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/room/InvalidationTrackerTest.java"
+ line="119"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `java.lang.Process#waitFor`"
+ errorLine1=" val exited = it.waitFor(5, TimeUnit.SECONDS)"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt"
+ line="130"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 14): `java.lang.ProcessBuilder#redirectOutput`"
+ errorLine1=" .redirectOutput(ProcessBuilder.Redirect.INHERIT)"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt"
+ line="264"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 26 (current min is 14): `java.lang.ProcessBuilder.Redirect#INHERIT`"
+ errorLine1=" .redirectOutput(ProcessBuilder.Redirect.INHERIT)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt"
+ line="264"
+ column="29"/>
+ </issue>
<issue
id="BanSynchronizedMethods"
@@ -63,7 +327,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/room/Room.java"
- line="27"
+ line="28"
column="14"/>
</issue>
@@ -107,7 +371,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/util/DBUtil.java"
- line="63"
+ line="64"
column="32"/>
</issue>
@@ -118,7 +382,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/util/DBUtil.java"
- line="63"
+ line="64"
column="49"/>
</issue>
@@ -129,7 +393,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/util/DBUtil.java"
- line="109"
+ line="110"
column="44"/>
</issue>
@@ -679,7 +943,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/RoomDatabase.java"
- line="87"
+ line="88"
column="24"/>
</issue>
@@ -690,7 +954,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/RoomDatabase.java"
- line="392"
+ line="366"
column="65"/>
</issue>
@@ -701,7 +965,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/RoomDatabase.java"
- line="565"
+ line="539"
column="12"/>
</issue>
@@ -712,7 +976,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/room/RoomDatabase.java"
- line="1269"
+ line="1242"
column="62"/>
</issue>
diff --git a/room/room-rxjava2/lint-baseline.xml b/room/room-rxjava2/lint-baseline.xml
index 6eb516e..4f6c3a1 100644
--- a/room/room-rxjava2/lint-baseline.xml
+++ b/room/room-rxjava2/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="PrivateConstructorForUtilityClass"
diff --git a/room/room-rxjava3/lint-baseline.xml b/room/room-rxjava3/lint-baseline.xml
new file mode 100644
index 0000000..b4eb77e
--- /dev/null
+++ b/room/room-rxjava3/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `java.util.Objects#equals`"
+ errorLine1=" throwable -> Objects.equals(throwable.getMessage(), "i want exception"));"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/room/rxjava3/RxRoomTest.java"
+ line="235"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `java.util.Objects#equals`"
+ errorLine1=" throwable -> Objects.equals(throwable.getMessage(), "i want exception"));"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/room/rxjava3/RxRoomTest.java"
+ line="251"
+ column="38"/>
+ </issue>
+
+</issues>
diff --git a/room/room-testing/lint-baseline.xml b/room/room-testing/lint-baseline.xml
index 62d06ec..4884c7f 100644
--- a/room/room-testing/lint-baseline.xml
+++ b/room/room-testing/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
@@ -8,7 +8,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="102"
+ line="118"
column="32"/>
</issue>
@@ -19,7 +19,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="102"
+ line="118"
column="65"/>
</issue>
@@ -30,7 +30,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="114"
+ line="139"
column="32"/>
</issue>
@@ -41,7 +41,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="114"
+ line="139"
column="65"/>
</issue>
@@ -52,7 +52,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="115"
+ line="140"
column="13"/>
</issue>
@@ -63,7 +63,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="125"
+ line="211"
column="29"/>
</issue>
@@ -74,7 +74,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="142"
+ line="228"
column="12"/>
</issue>
@@ -85,7 +85,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="142"
+ line="228"
column="49"/>
</issue>
@@ -96,7 +96,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="207"
+ line="293"
column="12"/>
</issue>
@@ -107,7 +107,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="207"
+ line="293"
column="59"/>
</issue>
@@ -118,7 +118,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="208"
+ line="294"
column="44"/>
</issue>
@@ -129,7 +129,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="260"
+ line="416"
column="29"/>
</issue>
@@ -140,7 +140,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="287"
+ line="443"
column="35"/>
</issue>
@@ -151,7 +151,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/room/testing/MigrationTestHelper.java"
- line="304"
+ line="460"
column="35"/>
</issue>
diff --git a/samples/Support4Demos/lint-baseline.xml b/samples/Support4Demos/lint-baseline.xml
index f606642..4c42104 100644
--- a/samples/Support4Demos/lint-baseline.xml
+++ b/samples/Support4Demos/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="WifiManagerLeak"
@@ -107,7 +107,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/supportv4/widget/SlidingPaneLayoutActivity.java"
- line="205"
+ line="203"
column="54"/>
</issue>
diff --git a/samples/Support7Demos/lint-baseline.xml b/samples/Support7Demos/lint-baseline.xml
index c682887..c175f48 100644
--- a/samples/Support7Demos/lint-baseline.xml
+++ b/samples/Support7Demos/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha01" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha01">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="OnClick"
@@ -3078,7 +3078,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/supportv7/view/SystemUIModes.java"
- line="354"
+ line="355"
column="17"/>
</issue>
@@ -3089,7 +3089,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/com/example/android/supportv7/view/SystemUIModes.java"
- line="355"
+ line="356"
column="17"/>
</issue>
diff --git a/samples/SupportAnimationDemos/lint-baseline.xml b/samples/SupportAnimationDemos/lint-baseline.xml
index e6cca97..3038af7 100644
--- a/samples/SupportAnimationDemos/lint-baseline.xml
+++ b/samples/SupportAnimationDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="SyntheticAccessor"
diff --git a/samples/SupportContentDemos/lint-baseline.xml b/samples/SupportContentDemos/lint-baseline.xml
index e027914..b0fbc1b 100644
--- a/samples/SupportContentDemos/lint-baseline.xml
+++ b/samples/SupportContentDemos/lint-baseline.xml
@@ -1,38 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
- <issue
- id="AppCompatResource"
- message="Should use `android:showAsAction` when not using the appcompat library"
- errorLine1=" app:showAsAction="always"/>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/menu/menu_demo.xml"
- line="25"
- column="11"/>
- </issue>
-
- <issue
- id="AppCompatResource"
- message="Should use `android:showAsAction` when not using the appcompat library"
- errorLine1=" app:showAsAction="always"/>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/menu/menu_demo.xml"
- line="31"
- column="11"/>
- </issue>
-
- <issue
- id="AppCompatResource"
- message="Should use `android:showAsAction` when not using the appcompat library"
- errorLine1=" app:showAsAction="always"/>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/menu/menu_demo.xml"
- line="37"
- column="11"/>
- </issue>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="SyntheticAccessor"
diff --git a/samples/SupportEmojiDemos/lint-baseline.xml b/samples/SupportEmojiDemos/lint-baseline.xml
index 8e58669..1790305 100644
--- a/samples/SupportEmojiDemos/lint-baseline.xml
+++ b/samples/SupportEmojiDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanSynchronizedMethods"
diff --git a/samples/SupportLeanbackDemos/lint-baseline.xml b/samples/SupportLeanbackDemos/lint-baseline.xml
index e82a85f..c80f814 100644
--- a/samples/SupportLeanbackDemos/lint-baseline.xml
+++ b/samples/SupportLeanbackDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="MissingSuperCall"
@@ -706,17 +706,6 @@
</issue>
<issue
- id="UnsupportedChromeOsHardware"
- message="Expecting `android:required="false"` for this hardware feature that may not be supported by all Chrome OS devices"
- errorLine1=" android:required="true"/>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/AndroidManifest.xml"
- line="9"
- column="9"/>
- </issue>
-
- <issue
id="SyntheticAccessor"
message="Access to `private` member of class `ItemViewClickedListener` requires synthetic accessor"
errorLine1=" setOnItemViewClickedListener(new ItemViewClickedListener());"
@@ -1273,7 +1262,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="291"
+ line="292"
column="13"/>
</issue>
@@ -1284,7 +1273,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="294"
+ line="295"
column="13"/>
</issue>
@@ -1295,7 +1284,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="419"
+ line="420"
column="13"/>
</issue>
@@ -1306,7 +1295,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="420"
+ line="421"
column="13"/>
</issue>
@@ -1317,7 +1306,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="422"
+ line="423"
column="33"/>
</issue>
@@ -1328,7 +1317,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="423"
+ line="424"
column="13"/>
</issue>
@@ -1339,7 +1328,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="448"
+ line="449"
column="17"/>
</issue>
@@ -1350,7 +1339,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="454"
+ line="455"
column="13"/>
</issue>
@@ -1361,7 +1350,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="569"
+ line="570"
column="33"/>
</issue>
@@ -1372,7 +1361,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="570"
+ line="571"
column="62"/>
</issue>
@@ -1383,7 +1372,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="570"
+ line="571"
column="17"/>
</issue>
@@ -1394,7 +1383,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="571"
+ line="572"
column="25"/>
</issue>
@@ -1405,7 +1394,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="576"
+ line="577"
column="33"/>
</issue>
@@ -1416,7 +1405,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="577"
+ line="578"
column="65"/>
</issue>
@@ -1427,7 +1416,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="577"
+ line="578"
column="17"/>
</issue>
@@ -1438,7 +1427,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="578"
+ line="579"
column="25"/>
</issue>
@@ -1449,7 +1438,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="621"
+ line="622"
column="50"/>
</issue>
@@ -1460,7 +1449,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="634"
+ line="635"
column="13"/>
</issue>
@@ -4804,7 +4793,7 @@
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="83"
+ line="84"
column="40"/>
</issue>
@@ -4815,7 +4804,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="89"
+ line="90"
column="40"/>
</issue>
@@ -4826,7 +4815,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="95"
+ line="96"
column="43"/>
</issue>
@@ -4837,7 +4826,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="196"
+ line="197"
column="16"/>
</issue>
@@ -4848,7 +4837,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="196"
+ line="197"
column="42"/>
</issue>
@@ -4859,7 +4848,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="207"
+ line="208"
column="37"/>
</issue>
@@ -4870,7 +4859,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="207"
+ line="208"
column="65"/>
</issue>
@@ -4881,7 +4870,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="224"
+ line="225"
column="43"/>
</issue>
@@ -4892,7 +4881,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="269"
+ line="270"
column="30"/>
</issue>
@@ -4903,7 +4892,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="279"
+ line="280"
column="16"/>
</issue>
@@ -4914,7 +4903,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="279"
+ line="280"
column="42"/>
</issue>
@@ -4925,7 +4914,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="290"
+ line="291"
column="37"/>
</issue>
@@ -4936,7 +4925,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="290"
+ line="291"
column="65"/>
</issue>
@@ -4947,7 +4936,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="298"
+ line="299"
column="43"/>
</issue>
@@ -4958,7 +4947,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="298"
+ line="299"
column="71"/>
</issue>
@@ -4969,7 +4958,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="306"
+ line="307"
column="43"/>
</issue>
@@ -4980,7 +4969,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="327"
+ line="328"
column="52"/>
</issue>
@@ -4991,7 +4980,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="391"
+ line="392"
column="16"/>
</issue>
@@ -5002,7 +4991,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="407"
+ line="408"
column="16"/>
</issue>
@@ -5013,7 +5002,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="407"
+ line="408"
column="42"/>
</issue>
@@ -5024,7 +5013,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="418"
+ line="419"
column="37"/>
</issue>
@@ -5035,7 +5024,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="418"
+ line="419"
column="65"/>
</issue>
@@ -5046,7 +5035,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="428"
+ line="429"
column="43"/>
</issue>
@@ -5057,7 +5046,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="428"
+ line="429"
column="71"/>
</issue>
@@ -5068,7 +5057,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="437"
+ line="438"
column="43"/>
</issue>
@@ -5079,7 +5068,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="459"
+ line="460"
column="52"/>
</issue>
@@ -5090,7 +5079,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="479"
+ line="480"
column="49"/>
</issue>
@@ -5101,7 +5090,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="502"
+ line="503"
column="16"/>
</issue>
@@ -5112,7 +5101,7 @@
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="502"
+ line="503"
column="34"/>
</issue>
@@ -5123,7 +5112,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="502"
+ line="503"
column="59"/>
</issue>
@@ -5134,7 +5123,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="503"
+ line="504"
column="17"/>
</issue>
@@ -5145,7 +5134,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="535"
+ line="536"
column="16"/>
</issue>
@@ -5156,7 +5145,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="535"
+ line="536"
column="42"/>
</issue>
@@ -5167,7 +5156,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="546"
+ line="547"
column="16"/>
</issue>
@@ -5178,7 +5167,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="556"
+ line="557"
column="37"/>
</issue>
@@ -5189,7 +5178,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="556"
+ line="557"
column="65"/>
</issue>
@@ -5200,7 +5189,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="583"
+ line="584"
column="43"/>
</issue>
@@ -5211,7 +5200,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="583"
+ line="584"
column="71"/>
</issue>
@@ -5222,7 +5211,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="590"
+ line="591"
column="43"/>
</issue>
@@ -5233,7 +5222,7 @@
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="618"
+ line="619"
column="16"/>
</issue>
@@ -5244,7 +5233,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="618"
+ line="619"
column="42"/>
</issue>
@@ -5255,7 +5244,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="629"
+ line="630"
column="37"/>
</issue>
@@ -5266,7 +5255,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="629"
+ line="630"
column="65"/>
</issue>
@@ -5277,7 +5266,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/com/example/android/leanback/GuidedStepActivity.java"
- line="638"
+ line="639"
column="43"/>
</issue>
diff --git a/samples/SupportPreferenceDemos/lint-baseline.xml b/samples/SupportPreferenceDemos/lint-baseline.xml
index 1f9c3bd..03a3611 100644
--- a/samples/SupportPreferenceDemos/lint-baseline.xml
+++ b/samples/SupportPreferenceDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="MissingTvBanner"
diff --git a/samples/SupportRemoteCallbackDemos/lint-baseline.xml b/samples/SupportRemoteCallbackDemos/lint-baseline.xml
index 7fea55a..5ff028e 100644
--- a/samples/SupportRemoteCallbackDemos/lint-baseline.xml
+++ b/samples/SupportRemoteCallbackDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/samples/SupportSliceDemos/lint-baseline.xml b/samples/SupportSliceDemos/lint-baseline.xml
index 5f5225d..9eafe6a 100644
--- a/samples/SupportSliceDemos/lint-baseline.xml
+++ b/samples/SupportSliceDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="SyntheticAccessor"
diff --git a/samples/SupportTransitionDemos/lint-baseline.xml b/samples/SupportTransitionDemos/lint-baseline.xml
index 7a2c909..9f60414 100644
--- a/samples/SupportTransitionDemos/lint-baseline.xml
+++ b/samples/SupportTransitionDemos/lint-baseline.xml
@@ -1,16 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
- <issue
- id="AppCompatResource"
- message="Should use `android:showAsAction` when not using the appcompat library"
- errorLine1=" app:showAsAction="ifRoom"/>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/menu/basic_usage.xml"
- line="22"
- column="13"/>
- </issue>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="SyntheticAccessor"
diff --git a/samples/SupportWearDemos/lint-baseline.xml b/samples/SupportWearDemos/lint-baseline.xml
index 50d9261..177b48d 100644
--- a/samples/SupportWearDemos/lint-baseline.xml
+++ b/samples/SupportWearDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="SyntheticAccessor"
diff --git a/security/crypto/lint-baseline.xml b/security/crypto/lint-baseline.xml
index 50222a8..20f6391 100644
--- a/security/crypto/lint-baseline.xml
+++ b/security/crypto/lint-baseline.xml
@@ -1,5 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `new android.util.ArraySet`"
+ errorLine1=" Set<String> stringSetValue = new ArraySet<>();"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/security/crypto/EncryptedSharedPreferencesTest.java"
+ line="144"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Cast from `ArraySet` to `Set` requires API level 23 (current min is 21)"
+ errorLine1=" Set<String> stringSetValue = new ArraySet<>();"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/security/crypto/EncryptedSharedPreferencesTest.java"
+ line="144"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.util.ArraySet#valueAt`"
+ errorLine1=" ((ArraySet<String>) stringSetValue).valueAt(0),"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/security/crypto/EncryptedSharedPreferencesTest.java"
+ line="189"
+ column="53"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 23 (current min is 21): `android.util.ArraySet`"
+ errorLine1=" ((ArraySet<String>) stringSetValue).valueAt(0),"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/security/crypto/EncryptedSharedPreferencesTest.java"
+ line="189"
+ column="19"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.content.Context#getSystemService`"
+ errorLine1=" KeyguardManager keyguardManager = context.getSystemService(KeyguardManager.class);"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/security/crypto/MasterKeySecureTest.java"
+ line="57"
+ column="51"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.app.KeyguardManager#isDeviceSecure`"
+ errorLine1=" Assume.assumeTrue(keyguardManager != null && keyguardManager.isDeviceSecure());"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/security/crypto/MasterKeySecureTest.java"
+ line="58"
+ column="70"/>
+ </issue>
<issue
id="BanSynchronizedMethods"
diff --git a/security/security-app-authenticator-testing/lint-baseline.xml b/security/security-app-authenticator-testing/lint-baseline.xml
new file mode 100644
index 0000000..4ec6f47
--- /dev/null
+++ b/security/security-app-authenticator-testing/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" Set<String> newPackageCertDigests = Set.of("
+ errorLine2=" ~~">
+ <location
+ file="src/androidTest/java/androidx/security/app/authenticator/TestAppSignatureVerifierTest.java"
+ line="139"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" Set<String> newAllPackagesCertDigests = Set.of("
+ errorLine2=" ~~">
+ <location
+ file="src/androidTest/java/androidx/security/app/authenticator/TestAppSignatureVerifierTest.java"
+ line="141"
+ column="53"/>
+ </issue>
+
+</issues>
diff --git a/security/security-app-authenticator/lint-baseline.xml b/security/security-app-authenticator/lint-baseline.xml
new file mode 100644
index 0000000..6a0c5d4
--- /dev/null
+++ b/security/security-app-authenticator/lint-baseline.xml
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setPackageCertDigestsForPermission(Set.of(SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="91"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setAllPackagesCertDigestsForPermission(Set.of(SIGNATURE1_DIGEST),"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="102"
+ column="61"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setPackageCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="114"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setAllPackagesCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST),"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="125"
+ column="61"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setPackageCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST, SIGNATURE1_DIGEST),"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="139"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" Set.of(SIGNATURE2_DIGEST, SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="155"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setPackageCertDigestsForPermission(Set.of(SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="167"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="169"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setPackageCertDigestsForPermission(Set.of(SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="192"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setPackageCertDigestsForPermission(Set.of(SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="216"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" Set.of(SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="232"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setPackageCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="249"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="264"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setPackageCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="279"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="295"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setExpectedIdentities(Set.of(SIGNATURE2_DIGEST, SIGNATURE1_DIGEST))"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="309"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setExpectedIdentities(Set.of(SIGNATURE2_DIGEST))"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="320"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" Set.of(SIGNATURE1_DIGEST, SIGNATURE2_DIGEST, SIGNATURE3_DIGEST))"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="333"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setExpectedIdentities(Set.of(SIGNATURE1_DIGEST, SIGNATURE3_DIGEST))"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="346"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setExpectedIdentities(Set.of(SIGNATURE1_DIGEST))"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="358"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setExpectedIdentities(Set.of(SIGNATURE2_DIGEST))"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="372"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setExpectedIdentities(Set.of(SIGNATURE2_DIGEST))"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="387"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setExpectedIdentities(Set.of(SIGNATURE2_DIGEST))"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="402"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setPackageCertDigestsForPermission(Set.of(SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="426"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setPackageCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="447"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+ errorLine1=" .setPackageCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/security/app/authenticator/AppSignatureVerifierTest.java"
+ line="465"
+ column="57"/>
+ </issue>
+
+</issues>
diff --git a/settings.gradle b/settings.gradle
index 8e095e4..0ab046f 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -363,6 +363,7 @@
includeProject(":compose:ui:ui-text:ui-text-samples", "compose/ui/ui-text/samples", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-tooling", "compose/ui/ui-tooling", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-tooling-data", "compose/ui/ui-tooling-data", [BuildType.COMPOSE])
+includeProject(":compose:ui:ui-tooling-preview", "compose/ui/ui-tooling-preview", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-unit", "compose/ui/ui-unit", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-unit:ui-unit-samples", "compose/ui/ui-unit/samples", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-util", "compose/ui/ui-util", [BuildType.COMPOSE])
diff --git a/sharetarget/OWNERS b/sharetarget/OWNERS
index bbad121..e5d1f0f 100644
--- a/sharetarget/OWNERS
+++ b/sharetarget/OWNERS
@@ -1,2 +1,2 @@
-mett@google.com
sunnygoyal@google.com
+pinyaoting@google.com
diff --git a/sharetarget/integration-tests/testapp/lint-baseline.xml b/sharetarget/integration-tests/testapp/lint-baseline.xml
index a692025..e8eb413 100644
--- a/sharetarget/integration-tests/testapp/lint-baseline.xml
+++ b/sharetarget/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="SyntheticAccessor"
diff --git a/sharetarget/sharetarget/lint-baseline.xml b/sharetarget/sharetarget/lint-baseline.xml
index 841949b..d9a42bd 100644
--- a/sharetarget/sharetarget/lint-baseline.xml
+++ b/sharetarget/sharetarget/lint-baseline.xml
@@ -1,5 +1,434 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcutIcon`"
+ errorLine1=" when(mShortcutSaver.getShortcutIcon(any())).thenReturn(mTestIcon);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ChooserTargetServiceCompatTest.java"
+ line="63"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `createExecutorService`"
+ errorLine1=" mCacheUpdateService = ShortcutInfoCompatSaverImpl.createExecutorService();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="80"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `createExecutorService`"
+ errorLine1=" mDiskIoService = ShortcutInfoCompatSaverImpl.createExecutorService();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="81"
+ column="54"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `ShortcutInfoCompatSaverImpl`"
+ errorLine1=" mShortcutInfoSaver = new ShortcutInfoCompatSaverImpl(mContext, mCacheUpdateService,"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="82"
+ column="30"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `removeAllShortcuts`"
+ errorLine1=" catchAsyncExceptions(mShortcutInfoSaver.removeAllShortcuts());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="84"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `removeAllShortcuts`"
+ errorLine1=" mShortcutInfoSaver.removeAllShortcuts().get();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="156"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getInstance`"
+ errorLine1=" ShortcutInfoCompatSaverImpl.getInstance(mContext);"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="239"
+ column="45"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getInstance`"
+ errorLine1=" assertEquals(saver, ShortcutInfoCompatSaverImpl.getInstance(mContext));"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="241"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" List<ShortcutInfoCompat> shortcuts = mShortcutInfoSaver.getShortcuts();"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="246"
+ column="65"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `addShortcuts`"
+ errorLine1=" catchAsyncExceptions(mShortcutInfoSaver.addShortcuts(mTestShortcuts));"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="254"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" assertShortcutsListEquals(testShortcutsWithCategories(), mShortcutInfoSaver.getShortcuts());"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="255"
+ column="85"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `addShortcuts`"
+ errorLine1=" ListenableFuture<?> future = mShortcutInfoSaver.addShortcuts(mTestShortcuts);"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="260"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" assertShortcutsListEquals(testShortcutsWithCategories(), mShortcutInfoSaver.getShortcuts());"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="264"
+ column="85"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `addShortcuts`"
+ errorLine1=" catchAsyncExceptions(mShortcutInfoSaver.addShortcuts(firstBatch));"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="280"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `addShortcuts`"
+ errorLine1=" ListenableFuture<Void> future = mShortcutInfoSaver.addShortcuts(secondBatch);"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="281"
+ column="60"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" assertShortcutsListEquals(allShortcuts, mShortcutInfoSaver.getShortcuts());"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="283"
+ column="68"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" assertShortcutsListEquals(allShortcuts, mShortcutInfoSaver.getShortcuts());"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="286"
+ column="68"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `addShortcuts`"
+ errorLine1=" catchAsyncExceptions(mShortcutInfoSaver.addShortcuts(mTestShortcuts));"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="291"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `removeShortcuts`"
+ errorLine1=" ListenableFuture<?> future = mShortcutInfoSaver.removeShortcuts(removeIds);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="296"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" assertShortcutsListEquals(testShortcutsWithCategories(), mShortcutInfoSaver.getShortcuts());"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="301"
+ column="85"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" assertShortcutsListEquals(testShortcutsWithCategories(), mShortcutInfoSaver.getShortcuts());"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="304"
+ column="85"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `addShortcuts`"
+ errorLine1=" catchAsyncExceptions(mShortcutInfoSaver.addShortcuts(mTestShortcuts));"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="309"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" assertShortcutsListEquals(testShortcutsWithCategories(), mShortcutInfoSaver.getShortcuts());"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="310"
+ column="85"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `removeAllShortcuts`"
+ errorLine1=" ListenableFuture<?> future = mShortcutInfoSaver.removeAllShortcuts();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="312"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" assertTrue(mShortcutInfoSaver.getShortcuts().isEmpty());"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="314"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" assertTrue(mShortcutInfoSaver.getShortcuts().isEmpty());"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="317"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `addShortcuts`"
+ errorLine1=" ListenableFuture<?> future = mShortcutInfoSaver.addShortcuts(mTestShortcuts);"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="322"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" List<ShortcutInfoCompat> shortcuts = mShortcutInfoSaver.getShortcuts();"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="326"
+ column="65"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `addShortcuts`"
+ errorLine1=" catchAsyncExceptions(mShortcutInfoSaver.addShortcuts(mTestShortcuts));"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="334"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" List<ShortcutInfoCompat> shortcuts = mShortcutInfoSaver.getShortcuts();"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="336"
+ column="65"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcutIcon`"
+ errorLine1=" verifyCorrectIconLoaded(item.getId(), mShortcutInfoSaver.getShortcutIcon(item.getId()));"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="338"
+ column="70"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `addShortcuts`"
+ errorLine1=" ListenableFuture<?> future = mShortcutInfoSaver.addShortcuts(mTestShortcuts);"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="344"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcuts`"
+ errorLine1=" List<ShortcutInfoCompat> shortcuts = mShortcutInfoSaver.getShortcuts();"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="348"
+ column="65"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcutIcon`"
+ errorLine1=" verifyCorrectIconLoaded(item.getId(), mShortcutInfoSaver.getShortcutIcon(item.getId()));"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="350"
+ column="70"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `addShortcuts`"
+ errorLine1=" catchAsyncExceptions(mShortcutInfoSaver.addShortcuts(mTestShortcuts));"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="356"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `getShortcutIcon`"
+ errorLine1=" assertNull(mShortcutInfoSaver.getShortcutIcon("unknown-id"));"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="358"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `createExecutorService`"
+ errorLine1=" mCacheUpdateService = ShortcutInfoCompatSaverImpl.createExecutorService();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="400"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `createExecutorService`"
+ errorLine1=" mDiskIoService = ShortcutInfoCompatSaverImpl.createExecutorService();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="401"
+ column="54"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 19 (current min is 14): `ShortcutInfoCompatSaverImpl`"
+ errorLine1=" mShortcutInfoSaver = new ShortcutInfoCompatSaverImpl(mContext, mCacheUpdateService,"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/sharetarget/ShortcutInfoCompatSaverTest.java"
+ line="402"
+ column="30"/>
+ </issue>
<issue
id="UnknownNullness"
diff --git a/sharetarget/sharetarget/src/main/AndroidManifest.xml b/sharetarget/sharetarget/src/main/AndroidManifest.xml
index 5173fa2..044e38f 100644
--- a/sharetarget/sharetarget/src/main/AndroidManifest.xml
+++ b/sharetarget/sharetarget/src/main/AndroidManifest.xml
@@ -19,7 +19,8 @@
<application>
<service android:name=".ChooserTargetServiceCompat"
- android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE">
+ android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE"
+ android:exported="true">
<intent-filter>
<action android:name="android.service.chooser.ChooserTargetService"/>
</intent-filter>
diff --git a/slices/builders/lint-baseline.xml b/slices/builders/lint-baseline.xml
index d679f37..e619929 100644
--- a/slices/builders/lint-baseline.xml
+++ b/slices/builders/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/slices/core/lint-baseline.xml b/slices/core/lint-baseline.xml
index 2861f41..41e354c 100644
--- a/slices/core/lint-baseline.xml
+++ b/slices/core/lint-baseline.xml
@@ -1,5 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 19): `android.content.pm.PackageManager#getPackageUid`"
+ errorLine1=" mTestUid = mContext.getPackageManager().getPackageUid(mTestPkg, 0);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/slice/SlicePermissionTest.java"
+ line="58"
+ column="49"/>
+ </issue>
<issue
id="BanSynchronizedMethods"
@@ -47,7 +58,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" return (int) h.getClass().getDeclaredMethod("getIdentifier").invoke(h);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
diff --git a/slices/test/lint-baseline.xml b/slices/test/lint-baseline.xml
index e6ba8b8..11b0024 100644
--- a/slices/test/lint-baseline.xml
+++ b/slices/test/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/slices/view/lint-baseline.xml b/slices/view/lint-baseline.xml
index 113cd8b..58f5cb5 100644
--- a/slices/view/lint-baseline.xml
+++ b/slices/view/lint-baseline.xml
@@ -1,5 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 20 (current min is 19): `android.app.RemoteInput.Builder#build`"
+ errorLine1=" RemoteInput remoteInput = new RemoteInput.Builder("").build();"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/androidTest/java/androidx/slice/SliceXmlTest.java"
+ line="80"
+ column="63"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 20 (current min is 19): `new android.app.RemoteInput.Builder`"
+ errorLine1=" RemoteInput remoteInput = new RemoteInput.Builder("").build();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/slice/SliceXmlTest.java"
+ line="80"
+ column="35"/>
+ </issue>
<issue
id="BanSynchronizedMethods"
diff --git a/slidingpanelayout/slidingpanelayout/lint-baseline.xml b/slidingpanelayout/slidingpanelayout/lint-baseline.xml
index 5529aaa..cd1e2f1 100644
--- a/slidingpanelayout/slidingpanelayout/lint-baseline.xml
+++ b/slidingpanelayout/slidingpanelayout/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/sqlite/integration-tests/inspection-room-testapp/lint-baseline.xml b/sqlite/integration-tests/inspection-room-testapp/lint-baseline.xml
deleted file mode 100644
index fe92ca3..0000000
--- a/sqlite/integration-tests/inspection-room-testapp/lint-baseline.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
- <issue
- id="MissingTestSizeAnnotation"
- message="Missing test size annotation"
- errorLine1=" fun invalidationHook() = runBlocking<Unit>(testJob) {"
- errorLine2=" ~~~~~~~~~~~~~~~~">
- <location
- file="src/androidTest/java/androidx/sqlite/inspection/RoomInvalidationHookTest.kt"
- line="80"
- column="9"/>
- </issue>
-
-</issues>
diff --git a/sqlite/integration-tests/inspection-sqldelight-testapp/lint-baseline.xml b/sqlite/integration-tests/inspection-sqldelight-testapp/lint-baseline.xml
deleted file mode 100644
index c5d00a5..0000000
--- a/sqlite/integration-tests/inspection-sqldelight-testapp/lint-baseline.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
- <issue
- id="MissingTestSizeAnnotation"
- message="Missing test size annotation"
- errorLine1=" fun test() {"
- errorLine2=" ~~~~">
- <location
- file="src/androidTest/java/androidx/sqlite/inspection/SqlDelightInvalidationTest.kt"
- line="73"
- column="9"/>
- </issue>
-
-</issues>
diff --git a/sqlite/sqlite-framework/lint-baseline.xml b/sqlite/sqlite-framework/lint-baseline.xml
index 6603aec..6e6c458 100644
--- a/sqlite/sqlite-framework/lint-baseline.xml
+++ b/sqlite/sqlite-framework/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanSynchronizedMethods"
@@ -8,7 +8,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteOpenHelper.java"
- line="143"
+ line="149"
column="9"/>
</issue>
@@ -19,7 +19,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteOpenHelper.java"
- line="154"
+ line="160"
column="9"/>
</issue>
@@ -30,7 +30,7 @@
errorLine2=" ^">
<location
file="src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteOpenHelper.java"
- line="199"
+ line="205"
column="9"/>
</issue>
diff --git a/sqlite/sqlite-inspection/lint-baseline.xml b/sqlite/sqlite-inspection/lint-baseline.xml
index d57b4aa..3dabb13 100644
--- a/sqlite/sqlite-inspection/lint-baseline.xml
+++ b/sqlite/sqlite-inspection/lint-baseline.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mRefreshMethod.invoke(instance);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -14,7 +14,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" mNotifyDataChangeMethod.invoke(query);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
diff --git a/sqlite/sqlite/lint-baseline.xml b/sqlite/sqlite/lint-baseline.xml
index 1c02a16..3aab667 100644
--- a/sqlite/sqlite/lint-baseline.xml
+++ b/sqlite/sqlite/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/swiperefreshlayout/swiperefreshlayout/lint-baseline.xml b/swiperefreshlayout/swiperefreshlayout/lint-baseline.xml
index 98a416e..510e9e2c 100644
--- a/swiperefreshlayout/swiperefreshlayout/lint-baseline.xml
+++ b/swiperefreshlayout/swiperefreshlayout/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="KotlinPropertyAccess"
@@ -277,7 +277,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
- line="1014"
+ line="1016"
column="38"/>
</issue>
@@ -288,7 +288,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
- line="1021"
+ line="1023"
column="37"/>
</issue>
@@ -299,7 +299,7 @@
errorLine2=" ~~~~">
<location
file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
- line="1027"
+ line="1029"
column="34"/>
</issue>
@@ -310,7 +310,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
- line="1065"
+ line="1067"
column="31"/>
</issue>
@@ -321,7 +321,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
- line="1071"
+ line="1073"
column="60"/>
</issue>
@@ -332,7 +332,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
- line="1071"
+ line="1073"
column="76"/>
</issue>
@@ -343,7 +343,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
- line="1106"
+ line="1108"
column="31"/>
</issue>
@@ -354,7 +354,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
- line="1112"
+ line="1114"
column="60"/>
</issue>
@@ -365,7 +365,7 @@
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
- line="1112"
+ line="1114"
column="76"/>
</issue>
@@ -376,7 +376,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
- line="1217"
+ line="1219"
column="33"/>
</issue>
diff --git a/testutils/testutils-espresso/lint-baseline.xml b/testutils/testutils-espresso/lint-baseline.xml
index b4cf80d..6955bb6 100644
--- a/testutils/testutils-espresso/lint-baseline.xml
+++ b/testutils/testutils-espresso/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="UnknownNullness"
diff --git a/testutils/testutils-runtime/lint-baseline.xml b/testutils/testutils-runtime/lint-baseline.xml
index 7d270a3..4144abb 100644
--- a/testutils/testutils-runtime/lint-baseline.xml
+++ b/testutils/testutils-runtime/lint-baseline.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" durationSetter.invoke(null, 1.0f)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -14,7 +14,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" private val originalDurationScale = durationGetter.invoke(null) as Float"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -25,7 +25,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" durationSetter.invoke(null, animationDurationScale)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -36,7 +36,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" durationSetter.invoke(null, originalDurationScale)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
diff --git a/textclassifier/integration-tests/testapp/lint-baseline.xml b/textclassifier/integration-tests/testapp/lint-baseline.xml
index f33cca5..d36e58b 100644
--- a/textclassifier/integration-tests/testapp/lint-baseline.xml
+++ b/textclassifier/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="SyntheticAccessor"
diff --git a/textclassifier/textclassifier/lint-baseline.xml b/textclassifier/textclassifier/lint-baseline.xml
index 63494c0..340568b 100644
--- a/textclassifier/textclassifier/lint-baseline.xml
+++ b/textclassifier/textclassifier/lint-baseline.xml
@@ -1,5 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `FLOATING_TOOLBAR_TAG`"
+ errorLine1=" final Object tag = FloatingToolbar.FLOATING_TOOLBAR_TAG;"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/textclassifier/widget/FloatingToolbarEspressoUtils.java"
+ line="45"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `MAIN_PANEL_TAG`"
+ errorLine1=" final Object tag = FloatingToolbar.MAIN_PANEL_TAG;"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/textclassifier/widget/FloatingToolbarEspressoUtils.java"
+ line="61"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `OVERFLOW_PANEL_TAG`"
+ errorLine1=" final Object tag = FloatingToolbar.OVERFLOW_PANEL_TAG;"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/textclassifier/widget/FloatingToolbarEspressoUtils.java"
+ line="66"
+ column="44"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 14): `FLOATING_TOOLBAR_TAG`"
+ errorLine1=" final Object tag = FloatingToolbar.FLOATING_TOOLBAR_TAG;"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/textclassifier/widget/FloatingToolbarEspressoUtils.java"
+ line="71"
+ column="44"/>
+ </issue>
<issue
id="WrongConstant"
diff --git a/tracing/tracing/lint-baseline.xml b/tracing/tracing/lint-baseline.xml
deleted file mode 100644
index ca00e4a..0000000
--- a/tracing/tracing/lint-baseline.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-</issues>
diff --git a/transition/transition/lint-baseline.xml b/transition/transition/lint-baseline.xml
index 1d9f07a..a9da805 100644
--- a/transition/transition/lint-baseline.xml
+++ b/transition/transition/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ResourceType"
@@ -168,7 +168,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" (View) sAddGhostMethod.invoke(null, view, viewGroup, matrix));"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -179,7 +179,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" sRemoveGhostMethod.invoke(null, view);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -190,7 +190,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" sCancelMethod.invoke(t);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -201,7 +201,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" sInvalidateChildInParentFastMethod.invoke(mHostView, left, top, dirty);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -212,7 +212,7 @@
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" sSetFrameMethod.invoke(v, left, top, right, bottom);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
diff --git a/tv-provider/tv-provider/lint-baseline.xml b/tv-provider/tv-provider/lint-baseline.xml
index f9b1035..0196d88 100644
--- a/tv-provider/tv-provider/lint-baseline.xml
+++ b/tv-provider/tv-provider/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/vectordrawable/integration-tests/testapp/lint-baseline.xml b/vectordrawable/integration-tests/testapp/lint-baseline.xml
index 610f5d7..b8cad8e 100644
--- a/vectordrawable/integration-tests/testapp/lint-baseline.xml
+++ b/vectordrawable/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="NewApi"
diff --git a/vectordrawable/vectordrawable-animated/lint-baseline.xml b/vectordrawable/vectordrawable-animated/lint-baseline.xml
index 01cd1086..9ec2eb3 100644
--- a/vectordrawable/vectordrawable-animated/lint-baseline.xml
+++ b/vectordrawable/vectordrawable-animated/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/vectordrawable/vectordrawable/lint-baseline.xml b/vectordrawable/vectordrawable/lint-baseline.xml
index 3a9ced8..2a90505 100644
--- a/vectordrawable/vectordrawable/lint-baseline.xml
+++ b/vectordrawable/vectordrawable/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ResourceType"
diff --git a/versionedparcelable/versionedparcelable-compiler/lint-baseline.xml b/versionedparcelable/versionedparcelable-compiler/lint-baseline.xml
index d4598db..dc618a7 100644
--- a/versionedparcelable/versionedparcelable-compiler/lint-baseline.xml
+++ b/versionedparcelable/versionedparcelable-compiler/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanSynchronizedMethods"
diff --git a/versionedparcelable/versionedparcelable/lint-baseline.xml b/versionedparcelable/versionedparcelable/lint-baseline.xml
index 949938fb..6235886 100644
--- a/versionedparcelable/versionedparcelable/lint-baseline.xml
+++ b/versionedparcelable/versionedparcelable/lint-baseline.xml
@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" return (T) m.invoke(null, versionedParcel);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/versionedparcelable/VersionedParcel.java"
- line="1615"
+ line="1598"
column="24"/>
</issue>
<issue
id="BanUncheckedReflection"
- message="Calling Method.invoke without an SDK check"
+ message="Calling `Method.invoke` without an SDK check"
errorLine1=" m.invoke(null, val, versionedParcel);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/versionedparcelable/VersionedParcel.java"
- line="1642"
+ line="1625"
column="13"/>
</issue>
@@ -30,7 +30,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/versionedparcelable/VersionedParcel.java"
- line="290"
+ line="291"
column="64"/>
</issue>
diff --git a/viewpager/viewpager/lint-baseline.xml b/viewpager/viewpager/lint-baseline.xml
index d331d83..25cc6cd 100644
--- a/viewpager/viewpager/lint-baseline.xml
+++ b/viewpager/viewpager/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="LambdaLast"
diff --git a/viewpager2/integration-tests/testapp/lint-baseline.xml b/viewpager2/integration-tests/testapp/lint-baseline.xml
index a8c267e..7b63883 100644
--- a/viewpager2/integration-tests/testapp/lint-baseline.xml
+++ b/viewpager2/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/viewpager2/viewpager2/lint-baseline.xml b/viewpager2/viewpager2/lint-baseline.xml
index 8c446ed..12c5d61 100644
--- a/viewpager2/viewpager2/lint-baseline.xml
+++ b/viewpager2/viewpager2/lint-baseline.xml
@@ -1,5 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 16 (current min is 14): `android.view.View#setHasTransientState`"
+ errorLine1=" v.setHasTransientState(true)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/viewpager2/widget/TransientStateFragmentTest.kt"
+ line="76"
+ column="19"/>
+ </issue>
<issue
id="ClassVerificationFailure"
diff --git a/wear/compose/material/lint-baseline.xml b/wear/compose/material/lint-baseline.xml
new file mode 100644
index 0000000..25fd2c5
--- /dev/null
+++ b/wear/compose/material/lint-baseline.xml
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonTest.kt"
+ line="588"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonTest.kt"
+ line="608"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonTest.kt"
+ line="628"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonTest.kt"
+ line="648"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonTest.kt"
+ line="807"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonTest.kt"
+ line="887"
+ column="10"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt"
+ line="528"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt"
+ line="549"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt"
+ line="724"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt"
+ line="799"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt"
+ line="888"
+ column="10"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/MaterialThemeTest.kt"
+ line="56"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/MaterialThemeTest.kt"
+ line="75"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/MaterialThemeTest.kt"
+ line="90"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/MaterialThemeTest.kt"
+ line="214"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/MaterialThemeTest.kt"
+ line="219"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/MaterialThemeTest.kt"
+ line="372"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/MaterialThemeTest.kt"
+ line="377"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ToggleButtonTest.kt"
+ line="387"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ToggleButtonTest.kt"
+ line="436"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ToggleButtonTest.kt"
+ line="483"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ToggleButtonTest.kt"
+ line="532"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ToggleButtonTest.kt"
+ line="597"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `captureToImage`"
+ errorLine1=" .captureToImage()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidAndroidTest/kotlin/androidx/wear/compose/material/ToggleButtonTest.kt"
+ line="636"
+ column="10"/>
+ </issue>
+
+</issues>
diff --git a/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt b/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt
index a8173af..db8fd6e 100644
--- a/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt
+++ b/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt
@@ -392,7 +392,7 @@
verifyGradientBackgroundColors(
TestChipColors.PrimaryGradient,
ChipStatus.Enabled,
- { MaterialTheme.colors.onPrimary },
+ { MaterialTheme.colors.onSurface },
)
@Test
diff --git a/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/Chip.kt b/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/Chip.kt
index 4766454..f4fc47e 100644
--- a/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/Chip.kt
+++ b/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/Chip.kt
@@ -430,9 +430,9 @@
*/
@Composable
public fun gradientBackgroundChipColors(
- startBackgroundColor: Color = MaterialTheme.colors.primary,
+ startBackgroundColor: Color = MaterialTheme.colors.primary.copy(alpha = 0.5f),
endBackgroundColor: Color = MaterialTheme.colors.surface,
- contentColor: Color = contentColorFor(startBackgroundColor),
+ contentColor: Color = contentColorFor(endBackgroundColor),
secondaryContentColor: Color = contentColor,
iconTintColor: Color = contentColor,
gradientDirection: LayoutDirection = LocalLayoutDirection.current
@@ -467,8 +467,9 @@
Brush.linearGradient(disabledBackgroundColors)
),
disabledContentColor = contentColor.copy(alpha = ContentAlpha.disabled),
- disabledSecondaryContentColor =
- secondaryContentColor.copy(alpha = ContentAlpha.disabled),
+ disabledSecondaryContentColor = secondaryContentColor.copy(
+ alpha = ContentAlpha.disabled
+ ),
disabledIconTintColor = iconTintColor.copy(alpha = ContentAlpha.disabled),
)
}
@@ -527,7 +528,7 @@
)
}
- private val ChipHorizontalPadding = 16.dp
+ private val ChipHorizontalPadding = 14.dp
private val ChipWithIconHorizontalPadding = 12.dp
private val ChipVerticalPadding = 6.dp
diff --git a/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/Colors.kt b/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/Colors.kt
index b01d38e..fad4fe3 100644
--- a/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/Colors.kt
+++ b/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/Colors.kt
@@ -33,6 +33,9 @@
secondary: Color = Color(0xFFFDE293),
secondaryVariant: Color = Color(0xFF594F33),
error: Color = Color(0xFFEE675C),
+ onPrimary: Color = Color(0xFF202124),
+ onSecondary: Color = Color(0xFF202124),
+ onError: Color = Color(0xFF202124)
) {
public var primary: Color by mutableStateOf(primary, structuralEqualityPolicy())
internal set
@@ -49,13 +52,16 @@
public val surface: Color = Color(0xFF202124)
public var error: Color by mutableStateOf(error, structuralEqualityPolicy())
internal set
- public val onPrimary: Color = Color(0xFF202124)
- public val onSecondary: Color = Color(0xFF202124)
+ public var onPrimary: Color by mutableStateOf(onPrimary, structuralEqualityPolicy())
+ internal set
+ public var onSecondary: Color by mutableStateOf(onSecondary, structuralEqualityPolicy())
+ internal set
public val onBackground: Color = Color.White
public val onSurface: Color = Color.White
public val onSurfaceVariant: Color = Color(0xFFDADCE0)
public val onSurfaceVariant2: Color = Color(0xFFBDC1C6)
- public val onError: Color = Color(0xFF202124)
+ public var onError: Color by mutableStateOf(onError, structuralEqualityPolicy())
+ internal set
/**
* Returns a copy of this Colors, optionally overriding some of the values.
@@ -66,12 +72,18 @@
secondary: Color = this.secondary,
secondaryVariant: Color = this.secondaryVariant,
error: Color = this.error,
+ onPrimary: Color = this.onPrimary,
+ onSecondary: Color = this.onSecondary,
+ onError: Color = this.onError
): Colors = Colors(
- primary,
- primaryVariant,
- secondary,
- secondaryVariant,
- error,
+ primary = primary,
+ primaryVariant = primaryVariant,
+ secondary = secondary,
+ secondaryVariant = secondaryVariant,
+ error = error,
+ onPrimary = onPrimary,
+ onSecondary = onSecondary,
+ onError = onError
)
override fun toString(): String {
@@ -165,6 +177,9 @@
secondary = other.secondary
secondaryVariant = other.secondaryVariant
error = other.error
+ onPrimary = other.onPrimary
+ onSecondary = other.onSecondary
+ onError = other.onError
}
internal val LocalColors = staticCompositionLocalOf<Colors> { Colors() }
diff --git a/wear/tiles/tiles-renderer/lint-baseline.xml b/wear/tiles/tiles-renderer/lint-baseline.xml
deleted file mode 100644
index e161273..0000000
--- a/wear/tiles/tiles-renderer/lint-baseline.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
- <issue
- id="ObsoleteSdkInt"
- message="Unnecessary; SDK_INT is always >= 26"
- errorLine1=" if (Build.VERSION.SDK_INT >= 26 && attributes.mFontVariationSettings != null) {"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/java/androidx/wear/tiles/renderer/internal/WearCurvedTextView.java"
- line="569"
- column="13"/>
- </issue>
-
-</issues>
diff --git a/wear/tiles/tiles/lint-baseline.xml b/wear/tiles/tiles/lint-baseline.xml
new file mode 100644
index 0000000..143fe06
--- /dev/null
+++ b/wear/tiles/tiles/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `java.util.List#of`"
+ errorLine1=" List.of(mFakeUpdateRequester1, mFakeUpdateRequester2));"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/wear/tiles/CompositeTileUpdateRequesterTest.java"
+ line="53"
+ column="30"/>
+ </issue>
+
+</issues>
diff --git a/wear/wear-complications-data/lint-baseline.xml b/wear/wear-complications-data/lint-baseline.xml
index 30ac451..ea1f0bf 100644
--- a/wear/wear-complications-data/lint-baseline.xml
+++ b/wear/wear-complications-data/lint-baseline.xml
@@ -1,5 +1,181 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `retrievePreviewComplicationData`"
+ errorLine1=" providerInfoRetriever.retrievePreviewComplicationData(component, type)!!"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/ProviderInfoRetrieverTest.kt"
+ line="86"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `retrievePreviewComplicationData`"
+ errorLine1=" assertThat(providerInfoRetriever.retrievePreviewComplicationData(component, type))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/ProviderInfoRetrieverTest.kt"
+ line="114"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `retrievePreviewComplicationData`"
+ errorLine1=" assertThat(providerInfoRetriever.retrievePreviewComplicationData(component, type))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/ProviderInfoRetrieverTest.kt"
+ line="127"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `retrievePreviewComplicationData`"
+ errorLine1=" assertThat(providerInfoRetriever.retrievePreviewComplicationData(component, type))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/ProviderInfoRetrieverTest.kt"
+ line="147"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.time.Instant#parse`"
+ errorLine1=" val referenceMillis = Instant.parse("2020-12-30T10:15:30.001Z").toEpochMilli()"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/data/TextTest.kt"
+ line="52"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.time.Instant#toEpochMilli`"
+ errorLine1=" val referenceMillis = Instant.parse("2020-12-30T10:15:30.001Z").toEpochMilli()"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/data/TextTest.kt"
+ line="52"
+ column="73"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.time.Instant#parse`"
+ errorLine1=" val referenceMillis = Instant.parse("2020-12-30T10:15:30.001Z").toEpochMilli()"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/data/TextTest.kt"
+ line="81"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.time.Instant#toEpochMilli`"
+ errorLine1=" val referenceMillis = Instant.parse("2020-12-30T10:15:30.001Z").toEpochMilli()"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/data/TextTest.kt"
+ line="81"
+ column="73"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.time.Instant#parse`"
+ errorLine1=" val startPointMillis = Instant.parse("2020-12-30T10:15:30.001Z").toEpochMilli()"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/data/TextTest.kt"
+ line="145"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.time.Instant#toEpochMilli`"
+ errorLine1=" val startPointMillis = Instant.parse("2020-12-30T10:15:30.001Z").toEpochMilli()"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/data/TextTest.kt"
+ line="145"
+ column="74"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.time.Instant#parse`"
+ errorLine1=" val dateTimeMillis = Instant.parse("2020-12-30T10:15:20.00Z").toEpochMilli()"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/data/TextTest.kt"
+ line="171"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.time.Instant#toEpochMilli`"
+ errorLine1=" val dateTimeMillis = Instant.parse("2020-12-30T10:15:20.00Z").toEpochMilli()"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/data/TextTest.kt"
+ line="171"
+ column="71"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.time.Instant#parse`"
+ errorLine1=" val referenceMillis = Instant.parse("2020-12-30T10:15:30.001Z").toEpochMilli()"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/data/TextTest.kt"
+ line="194"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.time.Instant#toEpochMilli`"
+ errorLine1=" val referenceMillis = Instant.parse("2020-12-30T10:15:30.001Z").toEpochMilli()"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/data/TextTest.kt"
+ line="194"
+ column="73"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.time.Instant#parse`"
+ errorLine1=" val referenceMillis = Instant.parse("2020-12-30T10:15:30.001Z").toEpochMilli()"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/data/TextTest.kt"
+ line="207"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.time.Instant#toEpochMilli`"
+ errorLine1=" val referenceMillis = Instant.parse("2020-12-30T10:15:30.001Z").toEpochMilli()"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/complications/data/TextTest.kt"
+ line="207"
+ column="73"/>
+ </issue>
<issue
id="MissingQuantity"
@@ -8,7 +184,7 @@
errorLine2=" ^">
<location
file="src/main/res/values-fr-rCA/complication_strings.xml"
- line="60"
+ line="4"
column="5"/>
</issue>
diff --git a/wear/wear-ongoing/lint-baseline.xml b/wear/wear-ongoing/lint-baseline.xml
new file mode 100644
index 0000000..f5983a5
--- /dev/null
+++ b/wear/wear-ongoing/lint-baseline.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertEquals(StaticIconResourceId, received.staticIcon.resId)"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/ongoing/OngoingActivityTest.kt"
+ line="64"
+ column="64"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertEquals(AnimatedIconResourceId, received.animatedIcon!!.resId)"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/ongoing/OngoingActivityTest.kt"
+ line="90"
+ column="70"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertEquals(StaticIconResourceId, received.staticIcon.resId)"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/ongoing/OngoingActivityTest.kt"
+ line="91"
+ column="64"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertEquals(AnimatedIconResourceId, received.animatedIcon!!.resId)"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/ongoing/OngoingActivityTest.kt"
+ line="127"
+ column="70"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertEquals(StaticIconResourceId, received.staticIcon.resId)"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/ongoing/OngoingActivityTest.kt"
+ line="128"
+ column="64"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertEquals(AnimatedIconResourceId, received.animatedIcon!!.resId)"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/ongoing/OngoingActivityTest.kt"
+ line="212"
+ column="70"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertEquals(StaticIconResourceId, received.staticIcon.resId)"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/ongoing/OngoingActivityTest.kt"
+ line="213"
+ column="64"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertEquals(AnimatedIconResourceId, received.animatedIcon!!.resId)"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/ongoing/OngoingActivityTest.kt"
+ line="248"
+ column="70"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertEquals(StaticIconResourceId, received.staticIcon.resId)"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/ongoing/OngoingActivityTest.kt"
+ line="249"
+ column="64"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertEquals(StaticIconResourceId, received.staticIcon.resId)"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/ongoing/OngoingActivityTest.kt"
+ line="276"
+ column="64"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertEquals(newAnimatedIconResourceId, received.animatedIcon!!.resId)"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/ongoing/OngoingActivityTest.kt"
+ line="309"
+ column="73"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getResId`"
+ errorLine1=" assertEquals(newStaticIconResourceId, received.staticIcon.resId)"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/ongoing/OngoingActivityTest.kt"
+ line="310"
+ column="67"/>
+ </issue>
+
+</issues>
diff --git a/wear/wear-phone-interactions/lint-baseline.xml b/wear/wear-phone-interactions/lint-baseline.xml
new file mode 100644
index 0000000..6a5a99f
--- /dev/null
+++ b/wear/wear-phone-interactions/lint-baseline.xml
@@ -0,0 +1,906 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val verifier = CodeVerifier()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="29"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" assertEquals(43, verifier.getValue().length)"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="30"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val verifier = CodeVerifier(96)"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="35"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" assertEquals(128, verifier.getValue().length)"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="36"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" CodeVerifier(100)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="42"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val verifier = CodeVerifier()"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="51"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" assertTrue(verifier.equals(CodeVerifier(verifier.getValue())))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="52"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `equals`"
+ errorLine1=" assertTrue(verifier.equals(CodeVerifier(verifier.getValue())))"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="52"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" assertTrue(verifier.equals(CodeVerifier(verifier.getValue())))"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="52"
+ column="58"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" assertFalse(CodeVerifier().equals(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="57"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" assertFalse(CodeVerifier().equals(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="57"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `equals`"
+ errorLine1=" assertFalse(CodeVerifier().equals(CodeVerifier()))"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="57"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" assertFalse(CodeVerifier(50).equals(CodeVerifier(50)))"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="58"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" assertFalse(CodeVerifier(50).equals(CodeVerifier(50)))"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="58"
+ column="45"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `equals`"
+ errorLine1=" assertFalse(CodeVerifier(50).equals(CodeVerifier(50)))"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="58"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" assertFalse(CodeVerifier().equals(null))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="59"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `equals`"
+ errorLine1=" assertFalse(CodeVerifier().equals(null))"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="59"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val verifier = CodeVerifier("dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk")"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="65"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" val challenge = CodeChallenge(verifier)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="66"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" assertEquals("E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM", challenge.getValue())"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="67"
+ column="79"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" CodeChallenge(CodeVerifier(verifierValue)).equals("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="74"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" CodeChallenge(CodeVerifier(verifierValue)).equals("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="74"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `equals`"
+ errorLine1=" CodeChallenge(CodeVerifier(verifierValue)).equals("
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="74"
+ column="56"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" CodeChallenge(CodeVerifier(verifierValue))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="75"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" CodeChallenge(CodeVerifier(verifierValue))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="75"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" assertFalse(CodeChallenge(CodeVerifier()).equals(CodeChallenge(CodeVerifier())))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="82"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" assertFalse(CodeChallenge(CodeVerifier()).equals(CodeChallenge(CodeVerifier())))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="82"
+ column="58"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" assertFalse(CodeChallenge(CodeVerifier()).equals(CodeChallenge(CodeVerifier())))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="82"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" assertFalse(CodeChallenge(CodeVerifier()).equals(CodeChallenge(CodeVerifier())))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="82"
+ column="72"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `equals`"
+ errorLine1=" assertFalse(CodeChallenge(CodeVerifier()).equals(CodeChallenge(CodeVerifier())))"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="82"
+ column="51"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" assertFalse(CodeChallenge(CodeVerifier()).equals(null))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="83"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" assertFalse(CodeChallenge(CodeVerifier()).equals(null))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="83"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `equals`"
+ errorLine1=" assertFalse(CodeChallenge(CodeVerifier()).equals(null))"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt"
+ line="83"
+ column="51"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `build`"
+ errorLine1=" request = builder.build()"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="51"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `build`"
+ errorLine1=" builder.build()"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="67"
+ column="21"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="76"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="76"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" codeChallenge.getValue()"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="87"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="93"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="93"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" codeChallenge.getValue()"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="105"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="111"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="111"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" "&code_challenge=${codeChallenge.getValue()}" +"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="118"
+ column="58"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" codeChallenge.getValue()"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="128"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="136"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="136"
+ column="45"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="148"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="148"
+ column="45"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="164"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="164"
+ column="45"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="177"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="177"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" codeChallenge.getValue()"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="190"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="209"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="209"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" "expect to have the value of '${codeChallenge.getValue()}', but " +"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="220"
+ column="63"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="228"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="228"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" Uri.parse("$authProviderUrl?code_challenge=${codeChallenge.getValue()}")"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="231"
+ column="76"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" codeChallenge.getValue()"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="241"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="252"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="252"
+ column="45"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="265"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="265"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" codeChallenge.getValue()"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="278"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="289"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="289"
+ column="45"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="302"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="302"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `getValue`"
+ errorLine1=" codeChallenge.getValue()"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="315"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="321"
+ column="29"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" val codeChallenge = CodeChallenge(CodeVerifier())"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt"
+ line="321"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt"
+ line="50"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt"
+ line="50"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `build`"
+ errorLine1=" .build()"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt"
+ line="51"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt"
+ line="55"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt"
+ line="55"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `build`"
+ errorLine1=" .build()"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt"
+ line="56"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeChallenge`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt"
+ line="87"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `CodeVerifier`"
+ errorLine1=" .setCodeChallenge(CodeChallenge(CodeVerifier()))"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt"
+ line="87"
+ column="49"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `build`"
+ errorLine1=" .build(),"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt"
+ line="88"
+ column="18"/>
+ </issue>
+
+</issues>
diff --git a/wear/wear-remote-interactions/lint-baseline.xml b/wear/wear-remote-interactions/lint-baseline.xml
new file mode 100644
index 0000000..c7d664e
--- /dev/null
+++ b/wear/wear-remote-interactions/lint-baseline.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `SETTINGS_AUTHORITY_URI`"
+ errorLine1=" PlayStoreAvailability.SETTINGS_AUTHORITY_URI,"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/remote/interactions/PlayStoreAvailabilityTest.kt"
+ line="51"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `SYSTEM_FEATURE_WATCH`"
+ errorLine1=" shadowPackageManager?.setSystemFeature(PlayStoreAvailability.SYSTEM_FEATURE_WATCH, true)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/remote/interactions/PlayStoreAvailabilityTest.kt"
+ line="57"
+ column="70"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `PLAY_STORE_AVAILABLE`"
+ errorLine1=" createFakePlayStoreAvailabilityQuery(PlayStoreAvailability.PLAY_STORE_AVAILABLE)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/remote/interactions/PlayStoreAvailabilityTest.kt"
+ line="63"
+ column="68"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `PLAY_STORE_AVAILABLE`"
+ errorLine1=" PlayStoreAvailability.PLAY_STORE_AVAILABLE"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/remote/interactions/PlayStoreAvailabilityTest.kt"
+ line="68"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `PLAY_STORE_UNAVAILABLE`"
+ errorLine1=" createFakePlayStoreAvailabilityQuery(PlayStoreAvailability.PLAY_STORE_UNAVAILABLE)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/remote/interactions/PlayStoreAvailabilityTest.kt"
+ line="75"
+ column="68"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `PLAY_STORE_UNAVAILABLE`"
+ errorLine1=" PlayStoreAvailability.PLAY_STORE_UNAVAILABLE"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/remote/interactions/PlayStoreAvailabilityTest.kt"
+ line="80"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `PLAY_STORE_ERROR_UNKNOWN`"
+ errorLine1=" PlayStoreAvailability.PLAY_STORE_ERROR_UNKNOWN"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/remote/interactions/PlayStoreAvailabilityTest.kt"
+ line="91"
+ column="35"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `KEY_PLAY_STORE_AVAILABILITY`"
+ errorLine1=" arrayOf<Any>(PlayStoreAvailability.KEY_PLAY_STORE_AVAILABILITY, availability)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/remote/interactions/PlayStoreAvailabilityTest.kt"
+ line="104"
+ column="52"/>
+ </issue>
+
+</issues>
diff --git a/wear/wear-watchface-client/lint-baseline.xml b/wear/wear-watchface-client/lint-baseline.xml
new file mode 100644
index 0000000..5bbd3e0
--- /dev/null
+++ b/wear/wear-watchface-client/lint-baseline.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.util.Base64#getDecoder`"
+ errorLine1=" val bytes = Base64.getDecoder().decode(String(resource.readBytes()))"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/client/test/SerializationTest.kt"
+ line="59"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `java.util.Base64.Decoder#decode`"
+ errorLine1=" val bytes = Base64.getDecoder().decode(String(resource.readBytes()))"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/client/test/SerializationTest.kt"
+ line="59"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `renderWatchFaceToBitmap`"
+ errorLine1=" val bitmap = headlessInstance.renderWatchFaceToBitmap("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/client/test/WatchFaceControlClientTest.kt"
+ line="216"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `renderWatchFaceToBitmap`"
+ errorLine1=" val bitmap = headlessInstance.renderWatchFaceToBitmap("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/client/test/WatchFaceControlClientTest.kt"
+ line="245"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `renderWatchFaceToBitmap`"
+ errorLine1=" val bitmap = headlessInstance.renderWatchFaceToBitmap("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/client/test/WatchFaceControlClientTest.kt"
+ line="278"
+ column="39"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `renderWatchFaceToBitmap`"
+ errorLine1=" val bitmap = interactiveInstance.renderWatchFaceToBitmap("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/client/test/WatchFaceControlClientTest.kt"
+ line="411"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `renderWatchFaceToBitmap`"
+ errorLine1=" val bitmap = interactiveInstance.renderWatchFaceToBitmap("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/client/test/WatchFaceControlClientTest.kt"
+ line="453"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `renderWatchFaceToBitmap`"
+ errorLine1=" val bitmap = interactiveInstance.renderWatchFaceToBitmap("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/client/test/WatchFaceControlClientTest.kt"
+ line="804"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `getApiVersion`"
+ errorLine1=" override fun getApiVersion(): Int = apiVersionOverride ?: super.getApiVersion()"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/client/test/WatchFaceControlTestService.kt"
+ line="44"
+ column="81"/>
+ </issue>
+
+</issues>
diff --git a/wear/wear-watchface-data/lint-baseline.xml b/wear/wear-watchface-data/lint-baseline.xml
deleted file mode 100644
index 70aa352..0000000
--- a/wear/wear-watchface-data/lint-baseline.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
- <issue
- id="BanTargetApiAnnotation"
- message="Uses @TargetApi annotation"
- errorLine1="@TargetApi(VERSION_CODES.KITKAT)"
- errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/java/android/support/wearable/watchface/accessibility/ContentDescriptionLabel.java"
- line="46"
- column="1"/>
- </issue>
-
-</issues>
diff --git a/wear/wear-watchface-editor/lint-baseline.xml b/wear/wear-watchface-editor/lint-baseline.xml
new file mode 100644
index 0000000..b47a5fd
--- /dev/null
+++ b/wear/wear-watchface-editor/lint-baseline.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `EditorRequest`"
+ errorLine1=" EditorRequest(testComponentName, testEditorPackageName, null, watchFaceId)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/editor/EditingSessionTest.kt"
+ line="462"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `watchFaceId`"
+ errorLine1=" assertThat(result.watchFaceId.id).isEqualTo(testInstanceId.id)"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/editor/EditingSessionTest.kt"
+ line="1164"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `watchFaceId`"
+ errorLine1=" assertThat(result.watchFaceId.id).isEmpty()"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/editor/EditingSessionTest.kt"
+ line="1219"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `EditorRequest`"
+ errorLine1=" EditorRequest(testComponentName, testEditorPackageName, null, testInstanceId)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/editor/EditingSessionTest.kt"
+ line="1346"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `EditorRequest`"
+ errorLine1=" EditorRequest("
+ errorLine2=" ^">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/editor/EditingSessionTest.kt"
+ line="1399"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `EditorRequest`"
+ errorLine1=" EditorRequest(testComponentName, testEditorPackageName, null, watchFaceId)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/editor/EditingSessionTest.kt"
+ line="1545"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getType`"
+ errorLine1=" assertThat(actual.icon.type).isEqualTo(expected.icon.type)"
+ errorLine2=" ~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/editor/EditingSessionTest.kt"
+ line="1624"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getType`"
+ errorLine1=" assertThat(actual.icon.type).isEqualTo(expected.icon.type)"
+ errorLine2=" ~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/editor/EditingSessionTest.kt"
+ line="1624"
+ column="66"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `EditorRequest`"
+ errorLine1=" EditorRequest(testComponentName, testEditorPackageName, null, watchFaceId)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/editor/EditorSessionGuavaTest.kt"
+ line="137"
+ column="17"/>
+ </issue>
+
+</issues>
diff --git a/wear/wear-watchface-style/lint-baseline.xml b/wear/wear-watchface-style/lint-baseline.xml
new file mode 100644
index 0000000..6ac7089
--- /dev/null
+++ b/wear/wear-watchface-style/lint-baseline.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(unparceled.icon!!.uri.toString()).isEqualTo("settingIcon")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="80"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(optionArray[0].icon!!.uri.toString()).isEqualTo("icon1")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="87"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(optionArray[1].icon!!.uri.toString()).isEqualTo("icon2")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="90"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(optionArray[2].icon!!.uri.toString()).isEqualTo("icon3")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="93"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(unmarshalled1.icon!!.uri.toString()).isEqualTo("icon1")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="108"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(unmarshalled2.icon!!.uri.toString()).isEqualTo("icon2")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="111"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(unmarshalled3.icon!!.uri.toString()).isEqualTo("icon3")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="114"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(schema.userStyleSettings[0].icon!!.uri.toString()).isEqualTo("settingIcon1")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="172"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(optionArray1[0].icon!!.uri.toString()).isEqualTo("icon1")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="182"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(optionArray1[1].icon!!.uri.toString()).isEqualTo("icon2")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="185"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(schema.userStyleSettings[1].icon!!.uri.toString()).isEqualTo("settingIcon2")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="191"
+ column="55"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(optionArray2[0].icon!!.uri.toString()).isEqualTo("icon3")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="201"
+ column="43"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 25): `android.graphics.drawable.Icon#getUri`"
+ errorLine1=" assertThat(optionArray2[1].icon!!.uri.toString()).isEqualTo("icon4")"
+ errorLine2=" ~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/style/StyleParcelableTest.kt"
+ line="204"
+ column="43"/>
+ </issue>
+
+</issues>
diff --git a/wear/wear-watchface/lint-baseline.xml b/wear/wear-watchface/lint-baseline.xml
index c975b15..440a9f8 100644
--- a/wear/wear-watchface/lint-baseline.xml
+++ b/wear/wear-watchface/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="MissingClass"
@@ -57,14 +57,476 @@
</issue>
<issue
- id="ClassVerificationFailure"
- message="This call references a method added in API level 26; however, the containing class androidx.wear.watchface.Renderer.CanvasRenderer is reachable from earlier API levels and will fail run-time class verification."
- errorLine1=" surfaceHolder.lockHardwareCanvas() // Requires API level 26."
- errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `createInteractiveInstance$lint_module`"
+ errorLine1=" engineWrapper.createInteractiveInstance(initParams, "test")"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
- file="src/main/java/androidx/wear/watchface/Renderer.kt"
- line="325"
- column="35"/>
+ file="src/test/java/androidx/wear/watchface/AsyncWatchFaceInitTest.kt"
+ line="220"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance`"
+ errorLine1=" .getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/AsyncWatchFaceInitTest.kt"
+ line="242"
+ column="18"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `WatchFaceControlService`"
+ errorLine1=" WatchFaceControlService().apply {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="111"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `setContext`"
+ errorLine1=" setContext(ApplicationProvider.getApplicationContext<Context>())"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="112"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `onBind`"
+ errorLine1=" }.onBind("
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="113"
+ column="15"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `ACTION_WATCHFACE_CONTROL_SERVICE`"
+ errorLine1=" Intent(WatchFaceControlService.ACTION_WATCHFACE_CONTROL_SERVICE)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="114"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `WatchFaceControlService`"
+ errorLine1=" WatchFaceControlService().apply {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="137"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `setContext`"
+ errorLine1=" setContext(ApplicationProvider.getApplicationContext<Context>())"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="138"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `onBind`"
+ errorLine1=" }.onBind("
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="139"
+ column="15"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `ACTION_WATCHFACE_CONTROL_SERVICE`"
+ errorLine1=" Intent(WatchFaceControlService.ACTION_WATCHFACE_CONTROL_SERVICE)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="140"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `ashmemReadImageBundle`"
+ errorLine1=" val bitmap = SharedMemoryImage.ashmemReadImageBundle("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="164"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `ashmemReadImageBundle`"
+ errorLine1=" val bitmap = SharedMemoryImage.ashmemReadImageBundle("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="208"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `ashmemReadImageBundle`"
+ errorLine1=" val bitmap = SharedMemoryImage.ashmemReadImageBundle("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="242"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `WatchFaceControlService`"
+ errorLine1=" WatchFaceControlService().apply {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="275"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `setContext`"
+ errorLine1=" setContext(ApplicationProvider.getApplicationContext<Context>())"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="276"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `onBind`"
+ errorLine1=" }.onBind("
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="277"
+ column="15"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `ACTION_WATCHFACE_CONTROL_SERVICE`"
+ errorLine1=" Intent(WatchFaceControlService.ACTION_WATCHFACE_CONTROL_SERVICE)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlServiceTest.kt"
+ line="278"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `android.graphics.SurfaceTexture()`"
+ errorLine1=" private val surfaceTexture = SurfaceTexture(false)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="291"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `android.view.SurfaceHolder#lockHardwareCanvas`"
+ errorLine1=" Mockito.`when`(surfaceHolder.lockHardwareCanvas()).thenReturn(canvas)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="329"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `android.view.SurfaceHolder#lockHardwareCanvas`"
+ errorLine1=" Mockito.`when`(surfaceHolder.lockHardwareCanvas()).thenReturn(canvas)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="367"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance`"
+ errorLine1=" .getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="412"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `setWatchUiState`"
+ errorLine1=" interactiveWatchFaceInstance.setWatchUiState("
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="462"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `release`"
+ errorLine1=" interactiveWatchFaceInstance.release()"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="468"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `ashmemReadImageBundle`"
+ errorLine1=" bitmap = SharedMemoryImage.ashmemReadImageBundle("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="545"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `ashmemReadImageBundle`"
+ errorLine1=" bitmap = SharedMemoryImage.ashmemReadImageBundle("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="579"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `ashmemReadImageBundle`"
+ errorLine1=" bitmap = SharedMemoryImage.ashmemReadImageBundle("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="632"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `ashmemReadImageBundle`"
+ errorLine1=" bitmap = SharedMemoryImage.ashmemReadImageBundle("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="670"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `ashmemReadImageBundle`"
+ errorLine1=" bitmap = SharedMemoryImage.ashmemReadImageBundle("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="732"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 25): `android.view.SurfaceHolder#lockHardwareCanvas`"
+ errorLine1=" Mockito.`when`(surfaceHolder.lockHardwareCanvas()).thenReturn(canvas)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="760"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `sendTouchEvent`"
+ errorLine1=" interactiveWatchFaceInstance.sendTouchEvent("
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="828"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `release`"
+ errorLine1=" interactiveWatchFaceInstance.release()"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt"
+ line="835"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance`"
+ errorLine1=" .getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt"
+ line="430"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance`"
+ errorLine1=" .getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt"
+ line="2654"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 27 (current min is 25): `updateComplicationData`"
+ errorLine1=" interactiveInstance!!.updateComplicationData("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt"
+ line="2720"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 25): `android.view.WindowInsets.Builder#setSystemWindowInsets`"
+ errorLine1=" WindowInsets.Builder().setSystemWindowInsets("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt"
+ line="2754"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 25): `android.view.WindowInsets.Builder()`"
+ errorLine1=" WindowInsets.Builder().setSystemWindowInsets("
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt"
+ line="2754"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 25): `android.graphics.Insets#of`"
+ errorLine1=" Insets.of(0, 0, 0, chinHeight)"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt"
+ line="2755"
+ column="20"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 25): `android.view.WindowInsets.Builder#build`"
+ errorLine1=" ).build()"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt"
+ line="2756"
+ column="11"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 25): `android.view.WindowInsets.Builder()`"
+ errorLine1=" WindowInsets.Builder().setInsets("
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt"
+ line="2759"
+ column="22"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `android.view.WindowInsets.Builder#setInsets`"
+ errorLine1=" WindowInsets.Builder().setInsets("
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt"
+ line="2759"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 25): `android.view.WindowInsets.Type#systemBars`"
+ errorLine1=" WindowInsets.Type.systemBars(),"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt"
+ line="2760"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 25): `android.graphics.Insets#of`"
+ errorLine1=" Insets.of(Rect().apply { bottom = chinHeight })"
+ errorLine2=" ~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt"
+ line="2761"
+ column="20"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 29 (current min is 25): `android.view.WindowInsets.Builder#build`"
+ errorLine1=" ).build()"
+ errorLine2=" ~~~~~">
+ <location
+ file="src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt"
+ line="2762"
+ column="11"/>
</issue>
<issue
@@ -74,7 +536,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/wear/watchface/WatchFace.kt"
- line="573"
+ line="528"
column="44"/>
</issue>
diff --git a/wear/wear-watchface/src/main/java/androidx/wear/watchface/WatchFaceService.kt b/wear/wear-watchface/src/main/java/androidx/wear/watchface/WatchFaceService.kt
index 36fe23a..c158db5 100644
--- a/wear/wear-watchface/src/main/java/androidx/wear/watchface/WatchFaceService.kt
+++ b/wear/wear-watchface/src/main/java/androidx/wear/watchface/WatchFaceService.kt
@@ -288,8 +288,8 @@
* UiThread afterwards. There is a memory barrier between construction and rendering so no
* special threading primitives are required.
*
- * Warning watch face initialization will fail if createWatchFace takes longer than
- * [MAX_CREATE_WATCHFACE_TIME_MILLIS] milliseconds.
+ * Warning the system will likely time out waiting for watch face initialization if it takes
+ * longer than [MAX_CREATE_WATCHFACE_TIME_MILLIS] milliseconds.
*
* @param surfaceHolder The [SurfaceHolder] to pass to the [Renderer]'s constructor.
* @param watchState The [WatchState] for the watch face.
@@ -1368,10 +1368,13 @@
val timeAfter = System.currentTimeMillis()
val timeTaken = timeAfter - timeBefore
- require(timeTaken < MAX_CREATE_WATCHFACE_TIME_MILLIS) {
- "createUserStyleSchema, createComplicationSlotsManager and " +
- "createWatchFace should complete in less than " +
- MAX_CREATE_WATCHFACE_TIME_MILLIS + " milliseconds."
+ if (timeTaken > MAX_CREATE_WATCHFACE_TIME_MILLIS) {
+ Log.e(
+ TAG,
+ "createUserStyleSchema, createComplicationSlotsManager and " +
+ "createWatchFace should complete in less than " +
+ MAX_CREATE_WATCHFACE_TIME_MILLIS + " milliseconds."
+ )
}
// Perform more initialization on the background thread.
diff --git a/wear/wear/lint-baseline.xml b/wear/wear/lint-baseline.xml
index e144009..8d62f0c 100644
--- a/wear/wear/lint-baseline.xml
+++ b/wear/wear/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="KotlinPropertyAccess"
diff --git a/webkit/integration-tests/testapp/lint-baseline.xml b/webkit/integration-tests/testapp/lint-baseline.xml
index 765a6f1..5531cad 100644
--- a/webkit/integration-tests/testapp/lint-baseline.xml
+++ b/webkit/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanSynchronizedMethods"
diff --git a/webkit/webkit/lint-baseline.xml b/webkit/webkit/lint-baseline.xml
deleted file mode 100644
index 42a176b..0000000
--- a/webkit/webkit/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
-
-</issues>
diff --git a/window/window-extensions/lint-baseline.xml b/window/window-extensions/lint-baseline.xml
new file mode 100644
index 0000000..1c39784
--- /dev/null
+++ b/window/window-extensions/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 17 (current min is 14): `android.view.View#generateViewId`"
+ errorLine1=" mRootViewId = View.generateViewId();"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/window/extensions/TestActivity.java"
+ line="37"
+ column="28"/>
+ </issue>
+
+</issues>
diff --git a/window/window/lint-baseline.xml b/window/window/lint-baseline.xml
new file mode 100644
index 0000000..dee0155
--- /dev/null
+++ b/window/window/lint-baseline.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `java.util.Collection#removeIf`"
+ errorLine1=" consumers.removeIf { it.callback == callback }"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/window/WindowInfoRepoImpTest.kt"
+ line="115"
+ column="23"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `android.view.WindowManager#getCurrentWindowMetrics`"
+ errorLine1=" val windowMetricsBounds = activity.windowManager.currentWindowMetrics.bounds"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/window/WindowMetricsCalculatorCompatTest.kt"
+ line="112"
+ column="62"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `android.view.WindowMetrics#getBounds`"
+ errorLine1=" val windowMetricsBounds = activity.windowManager.currentWindowMetrics.bounds"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/window/WindowMetricsCalculatorCompatTest.kt"
+ line="112"
+ column="83"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `android.view.WindowManager#getMaximumWindowMetrics`"
+ errorLine1=" val windowMetricsBounds = activity.windowManager.maximumWindowMetrics.bounds"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/window/WindowMetricsCalculatorCompatTest.kt"
+ line="186"
+ column="62"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 30 (current min is 14): `android.view.WindowMetrics#getBounds`"
+ errorLine1=" val windowMetricsBounds = activity.windowManager.maximumWindowMetrics.bounds"
+ errorLine2=" ~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/window/WindowMetricsCalculatorCompatTest.kt"
+ line="186"
+ column="83"/>
+ </issue>
+
+ <issue
+ id="SyntheticAccessor"
+ message="Access to `private` method `toggleState` of class `Companion` requires synthetic accessor"
+ errorLine1=" lock.withLock { state = toggleState(state) }"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/testUtil/java/androidx/window/SwitchOnUnregisterExtensionInterfaceCompat.kt"
+ line="52"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="SyntheticAccessor"
+ message="Access to `private` method `toggleState` of class `Companion` requires synthetic accessor"
+ errorLine1=" lock.withLock { state = toggleState(state) }"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="src/testUtil/java/androidx/window/SwitchOnUnregisterExtensionInterfaceCompat.kt"
+ line="52"
+ column="33"/>
+ </issue>
+
+</issues>
diff --git a/work/integration-tests/testapp/lint-baseline.xml b/work/integration-tests/testapp/lint-baseline.xml
index 51f735c..a178385 100644
--- a/work/integration-tests/testapp/lint-baseline.xml
+++ b/work/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="ClassVerificationFailure"
diff --git a/work/workmanager-gcm/lint-baseline.xml b/work/workmanager-gcm/lint-baseline.xml
index 76b8bd0..941d71e 100644
--- a/work/workmanager-gcm/lint-baseline.xml
+++ b/work/workmanager-gcm/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
<issue
id="BanKeepAnnotation"
diff --git a/work/workmanager-inspection/lint-baseline.xml b/work/workmanager-inspection/lint-baseline.xml
new file mode 100644
index 0000000..ca920a7
--- /dev/null
+++ b/work/workmanager-inspection/lint-baseline.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="RemoveWorkManagerInitializer"
+ message="Remove androidx.work.WorkManagerInitializer from your AndroidManifest.xml when using on-demand initialization.">
+ <location
+ file="workmanager-inspection"/>
+ </issue>
+
+</issues>
diff --git a/work/workmanager-testing/lint-baseline.xml b/work/workmanager-testing/lint-baseline.xml
index 337ebad..b84652dd 100644
--- a/work/workmanager-testing/lint-baseline.xml
+++ b/work/workmanager-testing/lint-baseline.xml
@@ -1,5 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `setTriggeredContentAuthorities`"
+ errorLine1=" .setTriggeredContentAuthorities(authorities.toList())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/testing/TestWorkerBuilderTest.kt"
+ line="102"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `setTriggeredContentUris`"
+ errorLine1=" .setTriggeredContentUris(contentUris.toList())"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/testing/TestWorkerBuilderTest.kt"
+ line="103"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getTriggeredContentAuthorities`"
+ errorLine1=" assertThat(worker.triggeredContentAuthorities, containsInAnyOrder(*authorities))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/testing/TestWorkerBuilderTest.kt"
+ line="109"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getTriggeredContentUris`"
+ errorLine1=" assertThat(worker.triggeredContentUris, containsInAnyOrder(*contentUris))"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/testing/TestWorkerBuilderTest.kt"
+ line="110"
+ column="27"/>
+ </issue>
<issue
id="KotlinPropertyAccess"
diff --git a/work/workmanager/lint-baseline.xml b/work/workmanager/lint-baseline.xml
index 416895c..a4fedbb 100644
--- a/work/workmanager/lint-baseline.xml
+++ b/work/workmanager/lint-baseline.xml
@@ -1,5 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.0.0-alpha15" type="baseline" client="cli" name="Lint" variant="all" version="7.0.0-alpha15">
+<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 18 (current min is 14): `android.os.HandlerThread#quitSafely`"
+ errorLine1=" mHandlerThread.quitSafely();"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java"
+ line="157"
+ column="24"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `getTriggeredContentAuthorities`"
+ errorLine1=" sTriggeredContentAuthorities = getTriggeredContentAuthorities();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/impl/background/systemjob/SystemJobServiceTest.java"
+ line="304"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `getTriggeredContentUris`"
+ errorLine1=" sTriggeredContentUris = getTriggeredContentUris();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/impl/background/systemjob/SystemJobServiceTest.java"
+ line="305"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 23): `getNetwork`"
+ errorLine1=" sNetwork = getNetwork();"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/impl/background/systemjob/SystemJobServiceTest.java"
+ line="325"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `addContentUriTrigger`"
+ errorLine1=" .addContentUriTrigger(testUri1, true)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/impl/WorkManagerImplTest.java"
+ line="367"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `addContentUriTrigger`"
+ errorLine1=" .addContentUriTrigger(testUri2, false)"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/impl/WorkManagerImplTest.java"
+ line="368"
+ column="34"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `getContentUriTriggers`"
+ errorLine1=" assertThat(constraints.getContentUriTriggers(), is(new ContentUriTriggers()));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/impl/WorkManagerImplTest.java"
+ line="391"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 23): `getContentUriTriggers`"
+ errorLine1=" assertThat(constraints.getContentUriTriggers().size(), is(0));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/impl/WorkManagerImplTest.java"
+ line="401"
+ column="32"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getTriggeredContentAuthorities`"
+ errorLine1=" assertThat(worker.getTriggeredContentAuthorities(),"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/impl/WorkerWrapperTest.java"
+ line="919"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 14): `getTriggeredContentUris`"
+ errorLine1=" assertThat(worker.getTriggeredContentUris(),"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/androidTest/java/androidx/work/impl/WorkerWrapperTest.java"
+ line="921"
+ column="27"/>
+ </issue>
<issue
id="BanSynchronizedMethods"
@@ -239,7 +349,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java"
- line="105"
+ line="104"
column="25"/>
</issue>
@@ -250,7 +360,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java"
- line="112"
+ line="111"
column="25"/>
</issue>
@@ -261,7 +371,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java"
- line="114"
+ line="113"
column="21"/>
</issue>
@@ -272,7 +382,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java"
- line="115"
+ line="114"
column="21"/>
</issue>
@@ -283,7 +393,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java"
- line="122"
+ line="121"
column="21"/>
</issue>
@@ -294,7 +404,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java"
- line="123"
+ line="122"
column="21"/>
</issue>
@@ -305,7 +415,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java"
- line="133"
+ line="132"
column="16"/>
</issue>
@@ -316,7 +426,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java"
- line="152"
+ line="150"
column="21"/>
</issue>
@@ -393,7 +503,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/WorkManagerImpl.java"
- line="759"
+ line="761"
column="71"/>
</issue>
@@ -1774,7 +1884,7 @@
<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 void postToMainThread(Runnable r) {"
+ errorLine1=" public void postToMainThread(Runnable runnable) {"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/utils/taskexecutor/WorkManagerTaskExecutor.java"
@@ -1796,7 +1906,7 @@
<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 void executeOnBackgroundThread(Runnable r) {"
+ errorLine1=" public void executeOnBackgroundThread(Runnable runnable) {"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/utils/taskexecutor/WorkManagerTaskExecutor.java"
@@ -2031,7 +2141,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/model/WorkTypeConverters.java"
- line="199"
+ line="198"
column="40"/>
</issue>
@@ -2042,7 +2152,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/model/WorkTypeConverters.java"
- line="234"
+ line="233"
column="19"/>
</issue>
@@ -2053,7 +2163,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/work/impl/model/WorkTypeConverters.java"
- line="267"
+ line="266"
column="19"/>
</issue>
@@ -2064,7 +2174,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/model/WorkTypeConverters.java"
- line="267"
+ line="266"
column="56"/>
</issue>
@@ -2075,7 +2185,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/work/impl/model/WorkTypeConverters.java"
- line="306"
+ line="305"
column="19"/>
</issue>
@@ -2086,7 +2196,7 @@
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/work/impl/model/WorkTypeConverters.java"
- line="306"
+ line="305"
column="68"/>
</issue>