blob: e10674d081abb174e6f62ff0a82666f16a111b36 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 8.4.0-alpha12" type="baseline" client="gradle" dependencies="false" name="AGP (8.4.0-alpha12)" variant="all" version="8.4.0-alpha12">
<issue
id="MissingPermission"
message="Missing permissions required by LocationManager.removeUpdates: 1..22;android.permission.ACCESS_COARSE_LOCATION or 1..22;android.permission.ACCESS_FINE_LOCATION"
errorLine1=" locationManager.removeUpdates(mLocationListener);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/AppManager.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 24 (current min is 21): `android.content.res.Configuration#getLocales`"
errorLine1=" assertThat(mCarContext.getResources().getConfiguration().getLocales().get(0)).isEqualTo("
errorLine2=" ~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/CarContextTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 24 (current min is 21): `android.os.LocaleList#get`"
errorLine1=" assertThat(mCarContext.getResources().getConfiguration().getLocales().get(0)).isEqualTo("
errorLine2=" ~~~">
<location
file="src/test/java/androidx/car/app/CarContextTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `android.app.Notification#getChannelId`"
errorLine1=" assertThat(changed.getChannelId()).isEqualTo(EXTENDED_CHANNEL);"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/notification/CarNotificationManagerTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `android.app.Notification#getChannelId`"
errorLine1=" assertThat(output.getChannelId()).isEqualTo(DEFAULT_CHANNEL);"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/notification/CarNotificationManagerTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `android.app.Notification#getChannelId`"
errorLine1=" assertThat(output.getChannelId()).isEqualTo(DEFAULT_CHANNEL);"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/notification/CarNotificationManagerTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.ZonedDateTime#parse`"
errorLine1=" ZonedDateTime zonedDateTime = ZonedDateTime.parse(&quot;2020-05-14T19:57:00-07:00[US/Pacific]&quot;);"
errorLine2=" ~~~~~">
<location
file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `create`"
errorLine1=" DateTimeWithZone dateTimeWithZone = DateTimeWithZone.create(zonedDateTime);"
errorLine2=" ~~~~~~">
<location
file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `assertDateTimeWithZoneEquals`"
errorLine1=" assertDateTimeWithZoneEquals(zonedDateTime, dateTimeWithZone);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `create`"
errorLine1=" DateTimeWithZone.create(null);"
errorLine2=" ~~~~~~">
<location
file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.Duration#getSeconds`"
errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
errorLine2=" ~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.Duration#ofMillis`"
errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
errorLine2=" ~~~~~~~~">
<location
file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.Duration#getSeconds`"
errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
errorLine2=" ~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.Duration#ofMillis`"
errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
errorLine2=" ~~~~~~~~">
<location
file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.Duration#getSeconds`"
errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
errorLine2=" ~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.Duration#ofMillis`"
errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
errorLine2=" ~~~~~~~~">
<location
file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.Duration#getSeconds`"
errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
errorLine2=" ~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.Duration#ofMillis`"
errorLine1=" Duration.ofMillis(timeZone.getOffset(timeSinceEpochMillis)).getSeconds();"
errorLine2=" ~~~~~~~~">
<location
file="src/test/java/androidx/car/app/model/DateTimeWithZoneTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 24 (current min is 21): `java.util.Collection#stream`"
errorLine1=" .stream()"
errorLine2=" ~~~~~~">
<location
file="src/test/java/androidx/car/app/validation/HostValidatorTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 24 (current min is 21): `java.util.stream.Stream#mapToLong`"
errorLine1=" .mapToLong(List::size)"
errorLine2=" ~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/validation/HostValidatorTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 24 (current min is 21): `java.util.stream.LongStream#sum`"
errorLine1=" .sum()).isEqualTo(6);"
errorLine2=" ~~~">
<location
file="src/test/java/androidx/car/app/validation/HostValidatorTest.java"/>
</issue>
<issue
id="NewApi"
message="Class requires API level 28 (current min is 21): `android.content.pm.SigningInfo`"
errorLine1=" packageInfo.signingInfo = mock(SigningInfo.class);"
errorLine2=" ~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/validation/HostValidatorTestApi28.java"/>
</issue>
<issue
id="NewApi"
message="Field requires API level 28 (current min is 21): `android.content.pm.PackageInfo#signingInfo`"
errorLine1=" packageInfo.signingInfo = mock(SigningInfo.class);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/validation/HostValidatorTestApi28.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 28 (current min is 21): `android.content.pm.SigningInfo#getSigningCertificateHistory`"
errorLine1=" when(packageInfo.signingInfo.getSigningCertificateHistory()).thenReturn(signatures);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/validation/HostValidatorTestApi28.java"/>
</issue>
<issue
id="NewApi"
message="Field requires API level 28 (current min is 21): `android.content.pm.PackageInfo#signingInfo`"
errorLine1=" when(packageInfo.signingInfo.getSigningCertificateHistory()).thenReturn(signatures);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/validation/HostValidatorTestApi28.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.ZonedDateTime#parse`"
errorLine1=" ZonedDateTime arrivalTime = ZonedDateTime.parse(&quot;2020-05-14T19:57:00-07:00[US/Pacific]&quot;);"
errorLine2=" ~~~~~">
<location
file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.Duration#ofHours`"
errorLine1=" Duration remainingTime = Duration.ofHours(10);"
errorLine2=" ~~~~~~~">
<location
file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `Builder`"
errorLine1=" new TravelEstimate.Builder(mRemainingDistance, arrivalTime).setRemainingTime("
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `setRemainingTime`"
errorLine1=" new TravelEstimate.Builder(mRemainingDistance, arrivalTime).setRemainingTime("
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.Duration#getSeconds`"
errorLine1=" assertThat(travelEstimate.getRemainingTimeSeconds()).isEqualTo(remainingTime.getSeconds());"
errorLine2=" ~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `assertDateTimeWithZoneEquals`"
errorLine1=" assertDateTimeWithZoneEquals(arrivalTime, travelEstimate.getArrivalTimeAtDestination());"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.ZonedDateTime#parse`"
errorLine1=" ZonedDateTime arrivalTime = ZonedDateTime.parse(&quot;2020-05-14T19:57:00-07:00[US/Pacific]&quot;);"
errorLine2=" ~~~~~">
<location
file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `Builder`"
errorLine1=" new TravelEstimate.Builder("
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `setRemainingTime`"
errorLine1=" remainingDistance, arrivalTime).setRemainingTime("
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `java.time.Duration#ofSeconds`"
errorLine1=" Duration.ofSeconds(REMAINING_TIME_UNKNOWN)).build();"
errorLine2=" ~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 26 (current min is 21): `assertDateTimeWithZoneEquals`"
errorLine1=" assertDateTimeWithZoneEquals(arrivalTime, travelEstimate.getArrivalTimeAtDestination());"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/test/java/androidx/car/app/navigation/model/TravelEstimateTest.java"/>
</issue>
<issue
id="WrongConstant"
message="Must be one of: CarAppApiLevels.UNKNOWN, CarAppApiLevels.LEVEL_1, CarAppApiLevels.LEVEL_2, CarAppApiLevels.LEVEL_3, CarAppApiLevels.LEVEL_4, CarAppApiLevels.LEVEL_5, CarAppApiLevels.LEVEL_6, CarAppApiLevels.LEVEL_7"
errorLine1=" mCarAppApiLevel = handshakeInfo.getHostCarAppApiLevel();"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/CarContext.java"/>
</issue>
<issue
id="BanUncheckedReflection"
message="Method.invoke requires both an upper and lower SDK bounds checks to be safe, and the upper bound must be below SdkVersionInfo.HIGHEST_KNOWN_API."
errorLine1=" enumName = (String) nameMethod.invoke(obj);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/serialization/Bundler.java"/>
</issue>
<issue
id="BanUncheckedReflection"
message="Method.invoke requires both an upper and lower SDK bounds checks to be safe, and the upper bound must be below SdkVersionInfo.HIGHEST_KNOWN_API."
errorLine1=" Object obj = converter.invoke(null, binder);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/serialization/Bundler.java"/>
</issue>
<issue
id="BanUncheckedReflection"
message="Method.invoke requires both an upper and lower SDK bounds checks to be safe, and the upper bound must be below SdkVersionInfo.HIGHEST_KNOWN_API."
errorLine1=" return nameMethod.invoke(null, enumName);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/serialization/Bundler.java"/>
</issue>
<issue
id="UnspecifiedRegisterReceiverFlag"
message="`mBroadcastReceiver` is missing `RECEIVER_EXPORTED` or `RECEIVER_NOT_EXPORTED` flag for unprotected broadcasts registered for androidx.car.app.connection.action.CAR_CONNECTION_UPDATED"
errorLine1=" mContext.registerReceiver(mBroadcastReceiver, filter);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/connection/CarConnectionTypeLiveData.java"/>
</issue>
<issue
id="UnsafeOptInUsageError"
message="This declaration is opt-in and its usage should be marked with `@androidx.car.app.annotations.ExperimentalCarApi` or `@OptIn(markerClass = androidx.car.app.annotations.ExperimentalCarApi.class)`"
errorLine1=" private final List&lt;CarZone> mCarZones;"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/car/app/hardware/common/CarValue.java"/>
</issue>
<issue
id="UnsafeOptInUsageError"
message="This declaration is opt-in and its usage should be marked with `@androidx.car.app.annotations.ExperimentalCarApi` or `@OptIn(markerClass = androidx.car.app.annotations.ExperimentalCarApi.class)`"
errorLine1=" private final Badge mBadge;"
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/car/app/model/GridItem.java"/>
</issue>
<issue
id="UnsafeOptInUsageError"
message="This declaration is opt-in and its usage should be marked with `@androidx.car.app.annotations.ExperimentalCarApi` or `@OptIn(markerClass = androidx.car.app.annotations.ExperimentalCarApi.class)`"
errorLine1=" Badge mBadge;"
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/car/app/model/GridItem.java"/>
</issue>
<issue
id="UnsafeOptInUsageError"
message="This declaration is opt-in and its usage should be marked with `@androidx.car.app.annotations.ExperimentalCarApi` or `@OptIn(markerClass = androidx.car.app.annotations.ExperimentalCarApi.class)`"
errorLine1=" } else if (rowObj instanceof ConversationItem) {"
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/model/constraints/RowListConstraints.java"/>
</issue>
<issue
id="SupportAnnotationUsage"
message="This annotation does not apply for type java.util.List&lt;androidx.car.app.hardware.climate.CarClimateFeature>; expected int"
errorLine1=" @ClimateProfileRequest.ClimateProfileFeature"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/hardware/climate/RegisterClimateStateRequest.java"/>
</issue>
<issue
id="SupportAnnotationUsage"
message="This annotation does not apply for type java.util.List&lt;androidx.car.app.hardware.climate.CarClimateFeature>; expected int"
errorLine1=" @ClimateProfileRequest.ClimateProfileFeature"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/hardware/climate/RegisterClimateStateRequest.java"/>
</issue>
<issue
id="SupportAnnotationUsage"
message="This annotation does not apply for type java.util.List&lt;androidx.car.app.hardware.climate.CarClimateFeature>; expected int"
errorLine1=" @ClimateProfileRequest.ClimateProfileFeature"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/hardware/climate/RegisterClimateStateRequest.java"/>
</issue>
<issue
id="SupportAnnotationUsage"
message="This annotation does not apply for type androidx.car.app.model.Row.Builder; expected int or long"
errorLine1=" @IntRange(from = 0)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/car/app/model/Row.java"/>
</issue>
</issues>