Status Update
Comments
al...@google.com <al...@google.com> #2
jsjeon@ do you know why that might be?
al...@google.com <al...@google.com> #3
Any concrete examples I can take a look at?
One possibility is, as explained at property
use-site target has a higher priority over field
, and
but the property itself in Metalava's output is not.
here Metalava's output should be Java field and accessor methods, so I guess @Deprecated
could be not properly propagated to field
.
ap...@google.com <ap...@google.com> #4
and
al...@google.com <al...@google.com> #5
Branch: metalava-main
commit ac6b7a3779511b5be53c4f8dfbdfcdf1508764e6
Author: Jinseong Jeon <jsjeon@google.com>
Date: Thu Mar 02 23:37:39 2023
Propagate deprecation of containing class to property
...in the same way method/field are deprecated
Bug: 271441831
Test: unit test added
Change-Id: I899b80a484866a44be9aa244d00552ebce148335
M src/main/java/com/android/tools/metalava/ApiAnalyzer.kt
M src/test/java/com/android/tools/metalava/ApiFileTest.kt
ia...@gmail.com <ia...@gmail.com> #6
Branch: androidx-main
commit b712ab052930d4900a7f060d67bbd3cee2933970
Author: Jinseong Jeon <jsjeon@google.com>
Date: Sun Mar 05 22:51:50 2023
Update Metalava for build ID 9692962
./development/importMaven/importMaven.sh \
--metalava-build-id 9692962 \
--redownload com.android.tools.metalava:metalava:1.0.0-alpha07
Bug: 271441831
Bug: 271662790
Change-Id: Ide5946ed2a6b4248ffe5e822c760ed0b05034afd
M com/android/tools/metalava/metalava/1.0.0-alpha07/metalava-1.0.0-alpha07.jar
M com/android/tools/metalava/metalava/1.0.0-alpha07/metalava-1.0.0-alpha07.jar.md5
M com/android/tools/metalava/metalava/1.0.0-alpha07/metalava-1.0.0-alpha07.jar.sha1
M com/android/tools/metalava/metalava/1.0.0-alpha07/metalava-1.0.0-alpha07.module
M com/android/tools/metalava/metalava/1.0.0-alpha07/metalava-1.0.0-alpha07.module.md5
M com/android/tools/metalava/metalava/1.0.0-alpha07/metalava-1.0.0-alpha07.module.sha1
M com/android/tools/metalava/metalava/1.0.0-alpha07/metalava-1.0.0-alpha07.pom
M com/android/tools/metalava/metalava/1.0.0-alpha07/metalava-1.0.0-alpha07.pom.md5
M com/android/tools/metalava/metalava/1.0.0-alpha07/metalava-1.0.0-alpha07.pom.sha1
al...@google.com <al...@google.com> #7
Branch: androidx-main
commit 5d6108703fa3db420dde7b7ee805ca4172ed44fa
Author: Jinseong Jeon <jsjeon@google.com>
Date: Sun Mar 05 23:03:10 2023
Update current API signature after Metalava update
Relnote: propagation of @Deprecated class to property
Bug: 271441831
Test: ./gradlew updateApi
Change-Id: I882d15d1d0d17f2227262e682d05d9dc7d082e8a
M annotation/annotation-experimental/api/current.txt
M annotation/annotation-experimental/api/public_plus_experimental_current.txt
M annotation/annotation-experimental/api/restricted_current.txt
M compose/ui/ui-test/api/current.txt
M compose/ui/ui-test/api/public_plus_experimental_current.txt
M compose/ui/ui-test/api/restricted_current.txt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
M paging/paging-common/api/current.txt
M paging/paging-common/api/public_plus_experimental_current.txt
M paging/paging-common/api/restricted_current.txt
M paging/paging-runtime/api/current.txt
M paging/paging-runtime/api/public_plus_experimental_current.txt
M paging/paging-runtime/api/restricted_current.txt
M wear/compose/compose-material/api/current.txt
M wear/compose/compose-material/api/public_plus_experimental_current.txt
M wear/compose/compose-material/api/restricted_current.txt
M wear/watchface/watchface-client/api/current.txt
M wear/watchface/watchface-client/api/public_plus_experimental_current.txt
M wear/watchface/watchface-client/api/restricted_current.txt
M wear/watchface/watchface/api/current.txt
M wear/watchface/watchface/api/public_plus_experimental_current.txt
M wear/watchface/watchface/api/restricted_current.txt
al...@google.com <al...@google.com>
al...@google.com <al...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.wear.compose:compose-material:1.2.0-alpha07
ia...@gmail.com <ia...@gmail.com> #9
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.wear.watchface:watchface:1.2.0-alpha08
androidx.wear.watchface:watchface-client:1.2.0-alpha08
Description
Component used: Wear-Watchface
Version used: 1.2.0-alpha08 or higher
After upgrading to Wear Watchface 1.2.0-alpha08 or higher, I noticed an error in Android Studio on both the
WatchFaceType
andCanvasType
integers that they should only be used within the androidx.wear.watchface library:It appears this is an unintended side effect of this CL that marked those annotation classes as
@RestrictTo(RestrictTo.Scope.LIBRARY)
.Would it be possible to separate the constants (which really could just be on a regular Kotlin
object
, rather than as part of acompanion object
of a restricted class) from the restricted annotation class (which it doesn't matter what the class name of that annotation actually is)?It is really annoying to have the red underlines in Android Studio and associated lint failures.
FWIW, I noticed that this does not apply to constants such as
WatchFaceStyle.PROTECT_STATUS_BAR
, but only to constants within apublic annotation class
that is restricted.From this search , it appears this issue affects:
WatchFaceType
constantsCanvasType
constantsTapType
constantsComplicationsSlotBoundsType
constants