Status Update
Comments
ma...@gmail.com <ma...@gmail.com> #2
Tentatively, the annotation should be something use-case-specific like @OutlinedNewApi
that allows alternative build systems (e.g. not R8/D8) to make their own decisions. We'll provide a default Proguard configuration for R8, but it's not guaranteed this will work as intended -- outlining is automatic in newer versions, but it may be disabled.
al...@android.com <al...@android.com> #3
Just as an FYI, this was enabled in AGP 2 years ago (AGP 7.3 as far as I remember), ag/18426192, so for AGP users it might fine to just remove the rule for @DoNotInline
. I like the @OutlinedNewApi
to make it clear what this is for other consumers to handle it as they see fit.
ma...@gmail.com <ma...@gmail.com> #4
Given the failure mode can include run-time crashes, that's not an acceptable level of usage.
ma...@gmail.com <ma...@gmail.com> #5
I think you can still include a top-level proguard.txt
, and it will be used by versions that do not support the com.android.tools
format. E.g.
ba...@gmail.com <ba...@gmail.com> #7
Looping in from offline, any new libraries require a high enough compileSdk
that we're going to see a recent-enough AGP. So, we should just remove our manual outlining and use of @DoNotInline
.
[Deleted User] <[Deleted User]> #8
Branch: androidx-main
commit 0c5446468c1e1fc08b1cea04dc57b05c52417ce8
Author: Alan Viverette <alanv@google.com>
Date: Tue Jul 02 13:50:59 2024
Disable class verification failure lint checks
They are no longer needed since we transitively require AGP 8.1.
Bug: 345472586
Test: ./gradlew lintDebug
Change-Id: Icb6ad18297fef4a23071cd849b6e84855d2becd0
M lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt
dr...@gmail.com <dr...@gmail.com> #9
Branch: androidx-main
commit 722ebe758557abaf7409c052bb2f326782369c84
Author: Alan Viverette <alanv@google.com>
Date: Tue Jul 02 14:05:38 2024
Remove usage of @DoNotInline for manual NewApi outlines (R thru W)
We no longer need manual NewApi outlines, so we can start by letting the
compiler inline the static methods.
Relnote: """Removed manual outlining of access to new platform APIs
since this happens automatically via API modeling when using R8 with
AGP 7.3 or later (e.g. R8 version 3.3) and for all builds when using
AGP 8.1 or later (e.g. D8 version 8.1). Clients who are not using
AGP are advised to update to D8 version 8.1 or later. See
[this article](
for more details."""
Bug: 345472586
Test: ./gradlew bOS
Change-Id: Ia60e0ab9f0fd613883a772c8aa34e27cc986cae8
M recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/GridLayoutManager.java
M samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/activities/MainActivity.java
M samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/activities/systemrouting/source/AudioManagerSystemRoutesSource.java
M samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/player/Player.java
M samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/providers/SampleMediaRouteProvider.java
M security/security-crypto/src/main/java/androidx/security/crypto/MasterKey.java
M security/security-identity-credential/src/main/java/androidx/security/identity/HardwareIdentityCredential.java
M slice/slice-core/src/main/java/androidx/slice/Slice.java
M slice/slice-core/src/main/java/androidx/slice/compat/SliceProviderCompat.java
M sqlite/sqlite-framework/src/androidMain/kotlin/androidx/sqlite/db/framework/FrameworkSQLiteDatabase.android.kt
M test/uiautomator/uiautomator/src/main/java/androidx/test/uiautomator/AccessibilityNodeInfoDumper.java
M test/uiautomator/uiautomator/src/main/java/androidx/test/uiautomator/ByMatcher.java
M test/uiautomator/uiautomator/src/main/java/androidx/test/uiautomator/UiDevice.java
M test/uiautomator/uiautomator/src/main/java/androidx/test/uiautomator/UiObject2.java
M testutils/testutils-runtime/src/main/java/androidx/testutils/AndroidFontScaleHelper.kt
M text/text/src/main/java/androidx/compose/ui/text/android/BoringLayoutFactory.android.kt
M text/text/src/main/java/androidx/compose/ui/text/android/PaintExtensions.android.kt
M text/text/src/main/java/androidx/compose/ui/text/android/StaticLayoutFactory.android.kt
M text/text/src/main/java/androidx/compose/ui/text/android/TextAndroidCanvas.android.kt
M text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.android.kt
M text/text/src/main/java/androidx/compose/ui/text/android/selection/SegmentFinder.android.kt
M tracing/tracing/src/main/java/androidx/tracing/TraceApi29Impl.java
M transition/transition/src/main/java/androidx/transition/CanvasUtils.java
M transition/transition/src/main/java/androidx/transition/GhostViewHolder.java
M transition/transition/src/main/java/androidx/transition/ImageViewUtils.java
M transition/transition/src/main/java/androidx/transition/ObjectAnimatorUtils.java
M transition/transition/src/main/java/androidx/transition/PropertyValuesHolderUtils.java
M transition/transition/src/main/java/androidx/transition/Transition.java
M transition/transition/src/main/java/androidx/transition/TransitionUtils.java
M transition/transition/src/main/java/androidx/transition/ViewGroupUtils.java
M transition/transition/src/main/java/androidx/transition/ViewUtilsApi19.java
M transition/transition/src/main/java/androidx/transition/ViewUtilsApi21.java
M transition/transition/src/main/java/androidx/transition/ViewUtilsApi22.java
M transition/transition/src/main/java/androidx/transition/ViewUtilsApi23.java
M vectordrawable/vectordrawable-animated/src/main/java/androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat.java
M versionedparcelable/versionedparcelable/src/main/java/androidx/versionedparcelable/VersionedParcel.java
M wear/protolayout/protolayout-expression-pipeline/src/main/java/androidx/wear/protolayout/expression/pipeline/NumberFormatter.java
M wear/tiles/tiles/src/main/java/androidx/wear/tiles/TileService.java
M wear/watchface/watchface-complications-data/src/main/java/androidx/wear/watchface/utility/TraceEvent.kt
M wear/wear-remote-interactions/src/main/java/androidx/wear/remote/interactions/RemoteInteractionsUtil.kt
M webkit/webkit/src/main/java/androidx/webkit/internal/ApiHelperForM.java
M webkit/webkit/src/main/java/androidx/webkit/internal/ApiHelperForN.java
M webkit/webkit/src/main/java/androidx/webkit/internal/ApiHelperForO.java
M webkit/webkit/src/main/java/androidx/webkit/internal/ApiHelperForOMR1.java
M webkit/webkit/src/main/java/androidx/webkit/internal/ApiHelperForP.java
M webkit/webkit/src/main/java/androidx/webkit/internal/ApiHelperForQ.java
M webkit/webkit/src/main/java/androidx/webkit/internal/ApiHelperForTiramisu.java
M window/window/src/main/java/androidx/window/embedding/ExtensionEmbeddingBackend.kt
M window/window/src/main/java/androidx/window/embedding/SplitRule.kt
M window/window/src/main/java/androidx/window/layout/util/ContextCompatHelper.kt
M work/work-multiprocess/src/main/java/androidx/work/multiprocess/parcelable/ParcelableRuntimeExtras.java
M work/work-runtime/src/main/java/androidx/work/impl/WorkDatabasePathHelper.kt
M work/work-runtime/src/main/java/androidx/work/impl/WorkManagerImpl.java
M work/work-runtime/src/main/java/androidx/work/impl/background/systemjob/SystemJobService.java
M work/work-runtime/src/main/java/androidx/work/impl/foreground/SystemForegroundService.java
M work/work-runtime/src/main/java/androidx/work/impl/utils/DurationApi26.kt
M work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkApi21.kt
M work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkApi23.kt
M work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkApi24.kt
M work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkRequestCompat.kt
M work/work-runtime/src/main/java/androidx/work/impl/utils/ProcessUtils.kt
co...@gmail.com <co...@gmail.com> #10
Branch: androidx-main
commit a3c2cdfa79630ce1b6ccfae79068b331bd86889f
Author: Alan Viverette <alanv@google.com>
Date: Tue Jul 02 14:07:44 2024
Remove fully-qualified usages of @DoNotInline for manual NewApi outlines
We no longer need manual NewApi outlines, so we can start by letting the
compiler inline the static methods.
Relnote: """Removed manual outlining of access to new platform APIs
since this happens automatically via API modeling when using R8 with
AGP 7.3 or later (e.g. R8 version 3.3) and for all builds when using
AGP 8.1 or later (e.g. D8 version 8.1). Clients who are not using
AGP are advised to update to D8 version 8.1 or later. See
[this article](
for more details."""
Bug: 345472586
Test: ./gradlew bOS
Change-Id: I5921633fee80fcbc2c6ee05cb94f5fab0b9a6daf
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidGraphicsContext.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidPaint.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidRenderEffect.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayer.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayerV23.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayerV29.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsViewLayer.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/LayerManager.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/LayerSnapshot.android.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeApi23.android.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeApi29.android.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt
M graphics/graphics-core/src/main/java/androidx/graphics/CanvasBufferedRendererV29.kt
M graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferTransformHintResolver.kt
M graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferUtils.kt
M graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/LowLatencyCanvasView.kt
M graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlCompat.kt
M graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlV33.kt
M graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceCompat.kt
M leanback/leanback/src/main/java/androidx/leanback/widget/GuidedActionsStylist.java
Description
After using the CoordinateLayout + AppBar layout with parallex effect, if we scroll down then up the ripple effect on the pressed state of the toolbar items will no longer appear again.
Attached sample code to reproduce the issue.