Fixed
Status Update
Comments
al...@google.com <al...@google.com> #2
Trying to reproduce this on my 4.2.2 (v17) Nexus 4. Added this drawable:
<transition xmlns:android="http://schemas.android.com/apk/res/android " >
<item android:drawable="@drawable/test_drawable_blue"/>
<item android:drawable="@drawable/test_drawable_green"/>
</transition>
where blue/green drawables look like this:
<shape
xmlns:android="http://schemas.android.com/apk/res/android "
android:shape="rectangle">
<size
android:width="@dimen/drawable_large_size"
android:height="@dimen/drawable_small_size" />
<solid
android:color="@color/test_blue" />
</shape>
Then added this test:
@Test
public void testMutateTransitionDrawable() {
Drawable drawable = ResourcesCompat.getDrawable(mResources,
R.drawable.test_transition_drawable, null);
assertTrue(drawable instanceof TransitionDrawable);
Drawable mutated = drawable.mutate();
assertTrue(drawable instanceof TransitionDrawable);
assertTrue(mutated instanceof TransitionDrawable);
}
It passes on the device. Going to also try on other earlier devices a bit later in the day once they are charged.
<transition xmlns:android="
<item android:drawable="@drawable/test_drawable_blue"/>
<item android:drawable="@drawable/test_drawable_green"/>
</transition>
where blue/green drawables look like this:
<shape
xmlns:android="
android:shape="rectangle">
<size
android:width="@dimen/drawable_large_size"
android:height="@dimen/drawable_small_size" />
<solid
android:color="@color/test_blue" />
</shape>
Then added this test:
@Test
public void testMutateTransitionDrawable() {
Drawable drawable = ResourcesCompat.getDrawable(mResources,
R.drawable.test_transition_drawable, null);
assertTrue(drawable instanceof TransitionDrawable);
Drawable mutated = drawable.mutate();
assertTrue(drawable instanceof TransitionDrawable);
assertTrue(mutated instanceof TransitionDrawable);
}
It passes on the device. Going to also try on other earlier devices a bit later in the day once they are charged.
al...@google.com <al...@google.com> #3
Also not reproducible on Galaxy Nexus running 4.0.1 (v14), 4.0.4 (v15) and 4.2.2 (v17)
ya...@google.com <ya...@google.com> #4
ti...@google.com <ti...@google.com> #5
Doris, can I make this PathParser public? I see your comment from 5 years ago that this should be public.
Yes. Please make PathParser
class and createPathFromPathData
method public. Please also make the methods that are currently public in that class package private if possible, so that we can minimize the public API surface. Thank you, Yuichi.
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 910e6e724f9ab568c2c41fcfa2770b72ab7f164b
Author: Yuichi Araki <yaraki@google.com>
Date: Fri Sep 29 13:56:56 2023
Fix RestrictedApiAndroidX in transition
Relnote: "Make PathParser public. The class can create a Path instance from SVG path strings."
Bug: 302376846
Test: ./gradlew :transition:transition:lintDebug
Change-Id: Ic7af2e7ea294ed43e8ebcf41852d2c1618816655
M core/core-animation/build.gradle
M core/core/api/api_lint.ignore
M core/core/api/current.txt
M core/core/api/restricted_current.txt
M core/core/src/main/java/androidx/core/graphics/PathParser.java
M fragment/fragment-testing/build.gradle
M transition/transition/build.gradle
M transition/transition/lint-baseline.xml
M vectordrawable/vectordrawable-animated/build.gradle
M vectordrawable/vectordrawable/build.gradle
M vectordrawable/vectordrawable/src/main/java/androidx/vectordrawable/graphics/drawable/VectorDrawableCompat.java
https://android-review.googlesource.com/2769138
Branch: androidx-main
commit 910e6e724f9ab568c2c41fcfa2770b72ab7f164b
Author: Yuichi Araki <yaraki@google.com>
Date: Fri Sep 29 13:56:56 2023
Fix RestrictedApiAndroidX in transition
Relnote: "Make PathParser public. The class can create a Path instance from SVG path strings."
Bug: 302376846
Test: ./gradlew :transition:transition:lintDebug
Change-Id: Ic7af2e7ea294ed43e8ebcf41852d2c1618816655
M core/core-animation/build.gradle
M core/core/api/api_lint.ignore
M core/core/api/current.txt
M core/core/api/restricted_current.txt
M core/core/src/main/java/androidx/core/graphics/PathParser.java
M fragment/fragment-testing/build.gradle
M transition/transition/build.gradle
M transition/transition/lint-baseline.xml
M vectordrawable/vectordrawable-animated/build.gradle
M vectordrawable/vectordrawable/build.gradle
M vectordrawable/vectordrawable/src/main/java/androidx/vectordrawable/graphics/drawable/VectorDrawableCompat.java
ya...@google.com <ya...@google.com>
pr...@google.com <pr...@google.com> #7
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.core:core:1.13.0-alpha01
pr...@google.com <pr...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.fragment:fragment-testing:1.7.0-alpha07
androidx.transition:transition:1.5.0-alpha05
Description
The following lint check is baseline suppressed in your project. Please remove all instances of this suppression from
transition/transition/lint-baseline.xml
and address the associated issues before your next stable release.1 instance(s) of
RestrictedApiAndroidX
PathParser.createPathFromPathData can only be called from within the same library (androidx.core:core)
Found in
src/main/java/androidx/transition/PatternPathMotion.java
at line 0: