| <?xml version="1.0" encoding="UTF-8"?> |
| <issues format="6" by="lint 8.1.0-beta02" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0-beta02)" variant="all" version="8.1.0-beta02"> |
| |
| <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("2020-05-14T19:57:00-07:00[US/Pacific]");" |
| 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("2020-05-14T19:57:00-07:00[US/Pacific]");" |
| 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("2020-05-14T19:57:00-07:00[US/Pacific]");" |
| 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="Calling `Method.invoke` without an SDK check" |
| errorLine1=" enumName = (String) nameMethod.invoke(obj);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/car/app/serialization/Bundler.java"/> |
| </issue> |
| |
| <issue |
| id="BanUncheckedReflection" |
| message="Calling `Method.invoke` without an SDK check" |
| errorLine1=" Object obj = converter.invoke(null, binder);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/car/app/serialization/Bundler.java"/> |
| </issue> |
| |
| <issue |
| id="BanUncheckedReflection" |
| message="Calling `Method.invoke` without an SDK check" |
| errorLine1=" return nameMethod.invoke(null, enumName);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/car/app/serialization/Bundler.java"/> |
| </issue> |
| |
| <issue |
| id="NullabilityAnnotationsDetector" |
| message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`" |
| errorLine1=" public void sendPanModeChanged(boolean isInPanMode, @NonNull @NotNull OnDoneCallback callback) {" |
| errorLine2=" ~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/car/app/navigation/model/PanModeDelegateImpl.java"/> |
| </issue> |
| |
| <issue |
| id="PrivateConstructorForUtilityClass" |
| message="Utility class is missing private constructor" |
| errorLine1="class PersonsEqualityHelper {" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/car/app/messaging/model/PersonsEqualityHelper.java"/> |
| </issue> |
| |
| <issue |
| id="SupportAnnotationUsage" |
| message="This annotation does not apply for type java.util.List<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<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<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> |