Fixed
Status Update
Comments
ki...@google.com <ki...@google.com>
pk...@google.com <pk...@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)
to...@google.com <to...@google.com> #4
ch...@google.com <ch...@google.com>
ap...@google.com <ap...@google.com> #5
Project: platform/prebuilts/androidx/external
Branch: androidx-master-dev
commit 4899d733d629672ccf72ec2cdb41dbf26a3697a6
Author: Winson <chiuwinson@google.com>
Date: Mon Sep 28 11:35:42 2020
Add dexmaker-mockito-inline
Used for mocking final classes when there is no available alternative
to test platform APIs.
Bug: 159831205
Change-Id: Ib52e3f3c5dee75b059cc32e9924ce312f88881a2
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/LICENSE
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0-sources.jar
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0-sources.jar.md5
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0-sources.jar.sha1
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0.aar
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0.aar.md5
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0.aar.sha1
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0.pom
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0.pom.md5
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0.pom.sha1
M com/linkedin/dexmaker/dexmaker/2.25.0/LICENSE
M org/mockito/mockito-core/2.25.0/LICENSE
https://android-review.googlesource.com/1441255
Branch: androidx-master-dev
commit 4899d733d629672ccf72ec2cdb41dbf26a3697a6
Author: Winson <chiuwinson@google.com>
Date: Mon Sep 28 11:35:42 2020
Add dexmaker-mockito-inline
Used for mocking final classes when there is no available alternative
to test platform APIs.
Bug: 159831205
Change-Id: Ib52e3f3c5dee75b059cc32e9924ce312f88881a2
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/LICENSE
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0-sources.jar
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0-sources.jar.md5
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0-sources.jar.sha1
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0.aar
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0.aar.md5
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0.aar.sha1
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0.pom
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0.pom.md5
A com/linkedin/dexmaker/dexmaker-mockito-inline/2.25.0/dexmaker-mockito-inline-2.25.0.pom.sha1
M com/linkedin/dexmaker/dexmaker/2.25.0/LICENSE
M org/mockito/mockito-core/2.25.0/LICENSE
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-master-dev
commit b309cdeb976c33a91306dbc6ff7851398b4f71c6
Author: Winson <chiuwinson@google.com>
Date: Wed Sep 23 10:52:42 2020
Add PackageInfoCompat signature verification APIs
Create methods for retrieving the Signature[] for a package on device,
as well as verifying that a package has a set of certificates.
Checking by app UID is not supported. Callers must use package name.
This is done to ensure the system doesn't arbitrarily choose a package
to check against.
A matchExact parameter is provided to address compatibility for
un-patched devices that are affected by the certificate reference fake
ID vulnerability. For such devices, all certificates of the package
being checked must be verified.
Bug: 159831205
Test: androidx.core.content.pm.PackageInfoCompatSignaturesTest
Test: androidx.core.content.pm.PackageInfoCompatTest
Relnote: "Added PackageInfoCompat#getSignatures for retrieving the
certificate array for a package"
Relnote: "Added PackageInfoCompat#hasSignatures for verifying package
ceritificates"
Change-Id: I8e9a3ece2d45416abbcbaaa0cf2a0485180997d3
M buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
M core/core/api/current.txt
M core/core/api/public_plus_experimental_current.txt
M core/core/api/restricted_current.txt
M core/core/build.gradle
A core/core/src/androidTest/java/androidx/core/content/pm/PackageInfoCompatHasSignaturesTest.kt
M core/core/src/androidTest/java/androidx/core/content/pm/PackageInfoCompatTest.java
A core/core/src/androidTest/java/androidx/core/util/mockito/CustomMockMaker.kt
A core/core/src/androidTest/java/androidx/core/util/mockito/CustomStackTraceCleaner.kt
A core/core/src/androidTest/resources/mockito-extensions/org.mockito.plugins.MockMaker
A core/core/src/androidTest/resources/mockito-extensions/org.mockito.plugins.StackTraceCleaner
M core/core/src/main/java/androidx/core/content/pm/PackageInfoCompat.java
M settings.gradle
A testutils/testutils-mockito/build.gradle
A testutils/testutils-mockito/src/main/AndroidManifest.xml
A testutils/testutils-mockito/src/main/java/androidx/testutils/mockito/MockitoUtils.kt
https://android-review.googlesource.com/1439137
Branch: androidx-master-dev
commit b309cdeb976c33a91306dbc6ff7851398b4f71c6
Author: Winson <chiuwinson@google.com>
Date: Wed Sep 23 10:52:42 2020
Add PackageInfoCompat signature verification APIs
Create methods for retrieving the Signature[] for a package on device,
as well as verifying that a package has a set of certificates.
Checking by app UID is not supported. Callers must use package name.
This is done to ensure the system doesn't arbitrarily choose a package
to check against.
A matchExact parameter is provided to address compatibility for
un-patched devices that are affected by the certificate reference fake
ID vulnerability. For such devices, all certificates of the package
being checked must be verified.
Bug: 159831205
Test: androidx.core.content.pm.PackageInfoCompatSignaturesTest
Test: androidx.core.content.pm.PackageInfoCompatTest
Relnote: "Added PackageInfoCompat#getSignatures for retrieving the
certificate array for a package"
Relnote: "Added PackageInfoCompat#hasSignatures for verifying package
ceritificates"
Change-Id: I8e9a3ece2d45416abbcbaaa0cf2a0485180997d3
M buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
M core/core/api/current.txt
M core/core/api/public_plus_experimental_current.txt
M core/core/api/restricted_current.txt
M core/core/build.gradle
A core/core/src/androidTest/java/androidx/core/content/pm/PackageInfoCompatHasSignaturesTest.kt
M core/core/src/androidTest/java/androidx/core/content/pm/PackageInfoCompatTest.java
A core/core/src/androidTest/java/androidx/core/util/mockito/CustomMockMaker.kt
A core/core/src/androidTest/java/androidx/core/util/mockito/CustomStackTraceCleaner.kt
A core/core/src/androidTest/resources/mockito-extensions/org.mockito.plugins.MockMaker
A core/core/src/androidTest/resources/mockito-extensions/org.mockito.plugins.StackTraceCleaner
M core/core/src/main/java/androidx/core/content/pm/PackageInfoCompat.java
M settings.gradle
A testutils/testutils-mockito/build.gradle
A testutils/testutils-mockito/src/main/AndroidManifest.xml
A testutils/testutils-mockito/src/main/java/androidx/testutils/mockito/MockitoUtils.kt
Description
In API 28+,
PackageInfo
hassigningInfo
andsignatures
is deprecated.Add methods to
PackageInfoCompat
to access commonly available signature info in an API independant way.