Status Update
Comments
da...@google.com <da...@google.com>
ap...@google.com <ap...@google.com> #2
This is a particularly hard device to come by - do you happen to have access to the device? If so could you provide us with the output of: adb shell dumpsys media.camera > info.txt
Thanks!
ap...@google.com <ap...@google.com> #3
Stacktrace:
Caused by: java.lang.IllegalArgumentException: Can not get supported output size under supported maximum for the format: 34
at androidx.camera.camera2.internal.SupportedSurfaceCombination.getSupportedOutputSizes(SupportedSurfaceCombination.java:355)
at androidx.camera.camera2.internal.SupportedSurfaceCombination.getSuggestedResolutions(SupportedSurfaceCombination.java:197)
at androidx.camera.camera2.internal.Camera2DeviceSurfaceManager.getSuggestedResolutions(Camera2DeviceSurfaceManager.java:198)
at androidx.camera.core.CameraX.calculateSuggestedResolutions(CameraX.java:943)
at androidx.camera.core.CameraX.bindToLifecycle(CameraX.java:293)
at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:227)
Below are some findings based on our debugging
When Dex is connected
previewConfig.getMaxResolution() is returning "731x411" as maxSize.
Inside Preview.Builder.build() -> Default_MAX_resolution is set to "CameraX.getSurfaceManager().getPreviewSize()" which is 731x411
this is being picked as maxSize.
While rendering maxSize is 731x411 and minSize is 640x480 and below are available outputSizes
0 = {Size@11860} "4032x3024"
1 = {Size@11861} "3984x2988"
2 = {Size@11862} "4032x2268"
3 = {Size@11863} "3024x3024"
4 = {Size@11864} "2976x2976"
5 = {Size@11865} "3840x2160"
6 = {Size@11866} "3264x2448"
7 = {Size@11867} "4032x1960"
8 = {Size@11868} "2880x2160"
9 = {Size@11869} "3264x1836"
10 = {Size@11870} "2160x2160"
11 = {Size@11871} "2560x1440"
12 = {Size@11872} "2224x1080"
13 = {Size@11873} "2048x1152"
14 = {Size@11874} "1920x1080"
15 = {Size@11875} "1440x1080"
16 = {Size@11876} "1088x1088"
17 = {Size@11877} "1280x720"
18 = {Size@11878} "1024x768"
19 = {Size@11879} "1056x704"
20 = {Size@11880} "960x720"
21 = {Size@11881} "960x540"
22 = {Size@11882} "720x720"
23 = {Size@11883} "800x450"
24 = {Size@11884} "720x480"
25 = {Size@11885} "640x480"
26 = {Size@11886} "352x288"
27 = {Size@11887} "320x240"
28 = {Size@11888} "256x144"
29 = {Size@11889} "176x144"
and couldn't find any size in this range.
When Dex not connected
minsize = 640x480
maxsize = 1920x1080
0 = {Size@11836} "4032x3024"
1 = {Size@11837} "3984x2988"
2 = {Size@11838} "4032x2268"
3 = {Size@11839} "3024x3024"
4 = {Size@11840} "2976x2976"
5 = {Size@11841} "3840x2160"
6 = {Size@11842} "3264x2448"
7 = {Size@11843} "4032x1960"
8 = {Size@11844} "2880x2160"
9 = {Size@11845} "3264x1836"
10 = {Size@11846} "2160x2160"
11 = {Size@11847} "2560x1440"
12 = {Size@11848} "2224x1080"
13 = {Size@11849} "2048x1152"
14 = {Size@11850} "1920x1080"
15 = {Size@11851} "1440x1080"
16 = {Size@11852} "1088x1088"
17 = {Size@11853} "1280x720"
18 = {Size@11854} "1024x768"
19 = {Size@11855} "1056x704"
20 = {Size@11856} "960x720"
21 = {Size@11857} "960x540"
22 = {Size@11858} "720x720"
23 = {Size@11859} "800x450"
24 = {Size@11860} "720x480"
25 = {Size@11861} "640x480"
26 = {Size@11862} "352x288"
27 = {Size@11863} "320x240"
28 = {Size@11864} "256x144"
29 = {Size@11865} "176x144"
and we have 12 available sizes in this range
Camera2DeviceSurfaceManager.java:: getPreviewSize()
mCameraSupportedSurfaceCombinationMap.get(cameraId).getSurfaceDefinition().getPreviewSize() = "1920x1080"
cameraId=0
ap...@google.com <ap...@google.com> #4
The issue root cause is that CameraX will default filter out sizes smaller than 640x480. For Preview, the max size will be limited to under display size. I checked the HW spec info for the issue related devices. Display size of FUJITSU F-04J/F-05J is 360x640. That will result int that no size exists in the conditions that is larger or equal to 640x480 and smaller or equal to 360x640.
A temporary workaround for this situation is to use Preview.Builder#setTargetResolution() to set a size smaller than 640x480 to bypass the problem.
For device FUJITSU arrowsM04, I checked its HW spec info and its display size I found is 1280x720. It seems that the problem should not exist in the device.
Could you confirm that the problem exist on arrowsM04 device? What will be the returned value when using Display#getRealSize to obtain the display size?
ap...@google.com <ap...@google.com> #5
> A temporary workaround for this situation is to use Preview.Builder#setTargetResolution() to set a size smaller than 640x480 to bypass the problem.
OK. I will try it.
> Could you confirm that the problem exist on arrowsM04 device?
We receive the crash report (Crashlytics) that this crash has occurred on arrowsM04.
We don't have this device so we can't confirm that the problem really exist on arrowsM04.
> What will be the returned value when using Display#getRealSize to obtain the display size?
We can't investigate it for the same reason.
Thank you.
ap...@google.com <ap...@google.com> #6
This issue happened on devices that the display size is smaller than 640x480. In original auto-resolution mechanism, supported sizes smaller than 640x480 will be default filter out.
The auto-resolution mechanism encodes the guaranteed configurations tables in CameraDevice#createCaptureSession(SessionConfiguration). It defines that the PREVIEW size is the small one of the device display size and 1080p. The PREVIEW size will be the maximal size limitation for Preview use case. The reason it limits the size to display size and 1080p is the stream output in display size or 1080p has been able to provide good enough preview quality. Therefore, auto-resolution mechanism will limit the selected size to be smaller than the small one of the device display size and 1080p.
With above two conditions, in this issue, all sizes smaller than 640x480 have been filter out, therefore, there is no size smaller than the display size 320x240 can be selected to use. And cause the exception.
Solution:
When the display size is smaller than 640x480, auto-resolution mechanism won't filter out those small sizes smaller than 640x480. This makes those small size be left and can be selected for the Preview use case on small display devices.
The solution has been merged and will be included in next CameraX release.
ap...@google.com <ap...@google.com> #7
Hello.
This crash still occurs.
- CAMERAX VERSION: 1.0.0-beta4
- ANDROID OS BUILD NUMBER: Android 7.1.1
- DEVICE NAME: FUJITSU F-02H
We receive following crash report from FUJITSU F-02H. So far We have received this crash report only from F-02H.
java.lang.IllegalArgumentException
Can not get supported output size under supported maximum for the format: 34
androidx.camera.camera2.internal.SupportedSurfaceCombination.getSupportedOutputSizes (SupportedSurfaceCombination.java:349)
androidx.camera.camera2.internal.SupportedSurfaceCombination.getSuggestedResolutions (SupportedSurfaceCombination.java:197)
androidx.camera.camera2.internal.Camera2DeviceSurfaceManager.getSuggestedResolutions (Camera2DeviceSurfaceManager.java:198)
androidx.camera.core.CameraX.calculateSuggestedResolutions (CameraX.java:949)
androidx.camera.core.CameraX.bindToLifecycle (CameraX.java:351)
androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle (ProcessCameraProvider.java:230)
(our application's package name).CameraFragment.bindCameraUseCases (CameraFragment.java:174)
ap...@google.com <ap...@google.com> #8
Could you help to provide the following information to clarify the issue?
1. Is the full name of the device Fujitsu Arrows NX F-02H that has a 1440x2560 display?
2. Please help to provide the supported output sizes of ImageFormat.PRIVATE that is obtained by StreamConfigurationMap#getOutputSizes(int).
ap...@google.com <ap...@google.com> #9
- Is the full name of the device Fujitsu Arrows NX F-02H that has a 1440x2560 display?
Yes
- Please help to provide the supported output sizes of ImageFormat.PRIVATE that is obtained by StreamConfigurationMap#getOutputSizes(int).
Since we don't have this device, we'll try to collect this information in the next version of our app. The next version will be released later this month.
ap...@google.com <ap...@google.com> #10
Hello.
- Please help to provide the supported output sizes of ImageFormat.PRIVATE that is obtained by StreamConfigurationMap#getOutputSizes(int).
We have collected the output of the device where the crash occurs.
Device1
- Model : arrows Be F-05J
- Android Version : 7.1.1
- Supported output sizes of ImageFormat.PRIVATE
CameraId 0: 480x480
CameraId 1: 2048x1536 ,1920x1080 ,1280x720 ,960x720 ,640x480 ,320x240 ,176x144
Device2
- Model : Fujitsu arrows M04
- Android Version : 7.1.1
- Supported output sizes of ImageFormat.PRIVATE
CameraId 0: 480x480
CameraId 1: 2048x1536 ,1920x1080 ,1280x720 ,960x720 ,640x480 ,320x240 ,176x144
Additional Information
CameraX version : 1.0.0-beta04
We collect the supported output sizes by following code.
val errorString = buildString {
append("The supported output sizes of ImageFormat.PRIVATE: ")
(requireContext().getSystemService(Context.CAMERA_SERVICE) as CameraManager).apply {
cameraIdList.forEachIndexed { index, cameraId ->
val msg = if (VERSION.SDK_INT >= VERSION_CODES.M) {
val configurationMap =
getCameraCharacteristics(cameraId).get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP)
val sizes = configurationMap?.getOutputSizes(ImageFormat.PRIVATE)
"CameraId $index: ${sizes?.joinToString(" ,")}"
} else {
"CameraId $index: This device version is under M."
}
append(msg)
}
}
}
ap...@google.com <ap...@google.com> #11
ap...@google.com <ap...@google.com> #12
I tried to find the device specs and both 720x1280
size display. For the camera id 0 device, it is a different case that the display size is larger than 640x480
but the device only supports a 480x480
size. The case also caused the same IllegalArgumentException and was also fixed by 1.0.0-beta04
release. Before 480x480
size would be filtered out and then caused the IllegalArgumentException. After it was merged, the 640x480
size threshold was removed and then the 480x480
size would be kept and selected to use.
It looks like 1.0.0-beta04
release had been used to collect the supported sizes information. But the issue should have been fixed by 1.0.0-beta04
release. Did you only check the device model name to collect the supported sizes information or collect the information when the IllegalArgumentException issue happens again?
CameraX's 1.0.0-beta04
version. Maybe you can also consider to upgrade to the latest 1.0.0-rc01
version for your application. Thanks.
ap...@google.com <ap...@google.com> #13
Did you only check the device model name to collect the supported sizes information or collect the information when the IllegalArgumentException issue happens again?
We collect informations only from the device on which IllegalArgumentException happened.
Our latest app uses CameraX version 1.0.0-beta10
and this issue still occurres.
However we don't receive crash report from Fujitsu arrows Be F-05J
or Fujitsu arrows M04
so far. (This doesn't mean this issue is fixed on these devices because our app is heavily rely on camera so these device's user wouldn't use our app anymore.)
Instead, we receive crash report from
- Model : Fujitsu F-03K
- Android Version : 7.1.2
- Supported output sizes of ImageFormat.PRIVATE
CameraId 0 : 480x480
CameraId 1 : 2048x1536 ,1920x1080 ,1280x720 ,960x720 ,640x480 ,320x240 ,176x144
ap...@google.com <ap...@google.com> #14
I missed some settings when I simulated the issue by robolectric test so that I was not able to reproduce it. Now, I can reproduce the issue if the device only supports one 480x480 resolution. I'm working on the solution and target to make it included in next release.
ap...@google.com <ap...@google.com> #15
Branch: androidx-main
commit 69d15dff7bb857ee33a0f643ff42a0f8bc475ab2
Author: charcoalchen <charcoalchen@google.com>
Date: Fri Jan 08 18:30:03 2021
Fixed IllegalArgumentException issue happened when all preview supported sizes are smaller than 640x480 and display size is larger than 640x480.
Do not filter out sizes smaller than 640x480 when all preview supported sizes are smaller than 640x480 and display size is larger than 640x480.
Relnote:"Fixed IllegalArgumentException issue happened when all preview supported sizes are smaller than 640x480 and display size is larger than 640x480."
Bug: 150506192
Test: SupportedSurfaceCombinationTest
Change-Id: I2a63ce8e2ad42a9cc060c8635ac3603bf440b1ec
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/SupportedSurfaceCombination.java
M camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/SupportedSurfaceCombinationTest.java
ap...@google.com <ap...@google.com> #16
ap...@google.com <ap...@google.com> #17
Project: platform/frameworks/support
Branch: androidx-main
Author: Kuan-Ying Chou <
Link:
Update Kotlin and KSP to 2.1.0-Beta1 in room-compiler-processing-testing
Expand for full commit details
Update Kotlin and KSP to 2.1.0-Beta1 in room-compiler-processing-testing
Update Kotlin Compiler Embeddable and KSP used by XProcessing testing to 2.1.0-Beta1 and 2.1.0-Beta1-1.0.25. This only affects users of XProcessing testing and not users of Room or Dagger. Some other changes include:
- Pass JVM module name to KSP2 as its processing is separated from Kotlin compilation and its default module name is an empty string instead of "main".
- Explicitly disable K2 KAPT for XProcessing testing. This can be enabled by XProcesing testing users by passing `-Xuse-k2-kapt` to kotlinc arguments.
- Add `isKSP2` to XTestInvocation.
- Add a test for K2 related flags.
- Update FieldProcessorTest for covariant Java array in KSP2.
- Remove the 1.9 language-version flag from some tests as the related issues have been fixed in KSP2.
Bug: 314151707
Test: existing tests still pass
Change-Id: If80933c113f9b31dabe49acf4a32c3e4381467f5
Files:
- M
room/room-compiler-processing-testing/build.gradle
- M
room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/CompilationResultSubject.kt
- M
room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/XTestInvocation.kt
- M
room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/KotlinCliRunner.kt
- M
room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/Ksp2Compilation.kt
- M
room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/TestDefaultOptions.kt
- M
room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestRunnerTest.kt
- M
room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/FallbackLocationInformationTest.kt
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/KotlinMetadataTest.kt
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XAnnotationBoxTest.kt
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XAnnotationTest.kt
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XAnnotationValueTest.kt
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XElementTest.kt
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XMessagerTest.kt
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeElementTest.kt
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeTest.kt
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/compat/XConvertersTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/FieldProcessorTest.kt
Hash: c42f580c795db5d708b4f6fcfff1bc58b93d067f
Date: Thu Sep 19 20:47:26 2024
ap...@google.com <ap...@google.com> #18
Project: platform/frameworks/support
Branch: androidx-main
Author: Kuan-Ying Chou <
Link:
Remove ordering check in XTypeElementTest.declaredAndInstancemethods
Expand for full commit details
Remove ordering check in XTypeElementTest.declaredAndInstancemethods
Removing the ordering check in KSP2 as it can't restore the declaration order in companion objects for now.
Bug: 314151707
Test: XTypeElementTest.declaredAndInstancemethods
Change-Id: I1e28575f9fcc6595fac10ed1266dff917a8fd873
Files:
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeElementTest.kt
Hash: 6710458dc0acbe3a7bc90a68fde6dcf6c2665640
Date: Tue Oct 15 14:58:02 2024
ap...@google.com <ap...@google.com> #19
Project: platform/frameworks/support
Branch: androidx-main
Author: Kuan-Ying Chou <
Link:
Fix kotlin.Unit
in KSP2
Expand for full commit details
Fix `kotlin.Unit` in KSP2
We convert kotlin.* types to Java equivalents in KSDeclaration.asJTypeName() by calling KSP's `Resolver.mapToJvmSignature()`. However, this function now (with 2.0.21-1.0.26-SNAPSHOT) maps `kotlin.Unit` to "V"(void) instead of "Lkotlin/Unit;" and this change breaks our code. This CL fixes that by not calling this function as we shouldn't convert `kotlin.Unit` for most cases in the first place.
There are only few cases we need `void` when getting Java typename:
1. `void` as the return type of a method in Java.
2. `kotlin.Unit` as the return type of a function in Kotlin directly (not a type variable).
3. `kotlin.Unit` as the return type of a Kotlin property setter.
And we use KspVoidType to cover these. From now on KspVoidType is only used when its Java typename should be 'void'. This also fixes an issue that sometimes we return 'void' when a parameter type is `kotlin.Unit`.
Test: XTypeNameTest.kt
Bug: 314151707
Change-Id: I08b4799ee9901b1e50cd61c84d4f8a6913af81e3
Files:
- M
room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSFunctionExt.kt
- M
room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeJavaPoetExt.kt
- M
room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspProcessingEnv.kt
- M
room/room-compiler-processing/src/test/java/androidx/room/compiler/codegen/XTypeNameTest.kt
Hash: fc64dffe4a1ae6e4ef5721201bf44fc00eba41d5
Date: Mon Oct 21 15:03:46 2024
ap...@google.com <ap...@google.com> #20
Project: platform/prebuilts/androidx/external
Branch: androidx-main
Author: Kuan-Ying Chou <
Link:
Add KSP 2.0.21-1.0.28 artifacts
Expand for full commit details
Add KSP 2.0.21-1.0.28 artifacts
Bug: 314151707
Test: existing tests still pass
Change-Id: I518dbb6fdac219163cf6f806f8f4386964a2dff1
Files:
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/LICENSE
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28-sources.jar
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28-sources.jar.asc
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28-sources.jar.asc.md5
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28-sources.jar.asc.sha1
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28-sources.jar.md5
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28-sources.jar.sha1
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28.jar
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28.jar.asc
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28.jar.asc.md5
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28.jar.asc.sha1
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28.jar.md5
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28.jar.sha1
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28.pom
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28.pom.asc
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28.pom.asc.md5
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28.pom.asc.sha1
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28.pom.md5
- A
com/google/devtools/ksp/symbol-processing-aa-embeddable/2.0.21-1.0.28/symbol-processing-aa-embeddable-2.0.21-1.0.28.pom.sha1
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/LICENSE
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28-sources.jar
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28-sources.jar.asc
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28-sources.jar.asc.md5
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28-sources.jar.asc.sha1
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28-sources.jar.md5
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28-sources.jar.sha1
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.jar
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.jar.asc
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.jar.asc.md5
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.jar.asc.sha1
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.jar.md5
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.jar.sha1
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.module
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.module.asc
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.module.asc.md5
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.module.asc.sha1
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.module.md5
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.module.sha1
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.pom
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.pom.asc
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.pom.asc.md5
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.pom.asc.sha1
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.pom.md5
- A
com/google/devtools/ksp/symbol-processing-api/2.0.21-1.0.28/symbol-processing-api-2.0.21-1.0.28.pom.sha1
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/LICENSE
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28-sources.jar
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28-sources.jar.asc
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28-sources.jar.asc.md5
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28-sources.jar.asc.sha1
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28-sources.jar.md5
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28-sources.jar.sha1
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.jar
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.jar.asc
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.jar.asc.md5
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.jar.asc.sha1
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.jar.md5
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.jar.sha1
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.module
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.module.asc
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.module.asc.md5
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.module.asc.sha1
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.module.md5
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.module.sha1
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.pom
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.pom.asc
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.pom.asc.md5
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.pom.asc.sha1
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.pom.md5
- A
com/google/devtools/ksp/symbol-processing-common-deps/2.0.21-1.0.28/symbol-processing-common-deps-2.0.21-1.0.28.pom.sha1
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/LICENSE
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28-sources.jar
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28-sources.jar.asc
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28-sources.jar.asc.md5
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28-sources.jar.asc.sha1
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28-sources.jar.md5
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28-sources.jar.sha1
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28.jar
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28.jar.asc
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28.jar.asc.md5
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28.jar.asc.sha1
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28.jar.md5
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28.jar.sha1
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28.pom
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28.pom.asc
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28.pom.asc.md5
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28.pom.asc.sha1
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28.pom.md5
- A
com/google/devtools/ksp/symbol-processing/2.0.21-1.0.28/symbol-processing-2.0.21-1.0.28.pom.sha1
Hash: 3c140afec1b7103d6f6b879cc6d7edfa96b5f501
Date: Tue Nov 19 15:07:57 2024
ap...@google.com <ap...@google.com> #21
Project: platform/frameworks/support
Branch: androidx-main
Author: Kuan-Ying Chou <
Link:
Update KSP to 2.0.21-1.0.28
Expand for full commit details
Update KSP to 2.0.21-1.0.28
Bug: 314151707
Test: existing tests still pass
Change-Id: I7ebc4535b4cf407f9edd04f2694e023c9c28bcae
Files:
- M
room/room-compiler-processing-testing/build.gradle
- M
room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/TestKspRegistrar.kt
Hash: 853f95402b61632b9fe28d7ac76e6304439174ab
Date: Tue Nov 19 15:04:54 2024
da...@google.com <da...@google.com> #22
Marking this as fixed - The main changes for XProcessing processors to support KSP2 (such as Room and Dagger) is done and XProcessing-Testing also supports running tests with KSP2. All XProcessing tests are passing with KSP2 and 98% of Room tests are in KSP2, the remaining pending KSP fixes. Remaining issues presents when running KSP2 vs KSP1 are regular KSP or XProcessing issues and we'll work towards fixing them, I think the stability is in a decent place to mark this as fixed and continue with regular maintenance and stability improvements.
ap...@google.com <ap...@google.com> #23
Project: platform/frameworks/support
Branch: androidx-main
Author: Daniel Santiago Rivera <
Link:
Move remaining Room compilation tests to KSP2
Expand for full commit details
Move remaining Room compilation tests to KSP2
Some intended tests changes where done:
* InsertOrUpsertShortcutFunctionProcessorTest and DeleteOrUpdateShortcutFunctionProcessorTest - Array types in KSP2 are covariant. This aligns with Java's array types behaviour and was one of the noted changes from KSP1 to KSP2
* DataClassProcessorTest - Accessor (getter or setter) JVM name is slightly different in KSP2. This doesn't really affect code generation or Room as the names used are those provided by the AST so the test was adjusted for KSP2.
* TableEntityProcessorTest - Order of synthetic accessors (getter or setter) in KSP2 are consistent, getters followed by setters. This also doesn't affect Room and only affected the error message in the test when displaying multiple getter / setter for a property column. The test source was simply adjusted to match KSP2 and Java.
Bug: 314151707
Test: ./gradlew :room:room-compiler:test
Change-Id: If0cdf6cf01661d747e8c131865effbdfdaef610a
Files:
- D
room/room-compiler/src/test/kotlin/androidx/room/ProcessorTestWrapper.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/ext/ElementExtTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/parser/SQLTypeAffinityTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/AutoMigrationProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/BaseDaoTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/BaseEntityParserTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/BaseFtsEntityParserTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/CustomConverterProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/DaoProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/DataClassProcessorTargetFunctionTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/DataClassProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/DatabaseConstructorProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/DatabaseProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/DatabaseViewProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/DeleteOrUpdateShortcutFunctionProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/FieldProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/Fts4TableEntityProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/GeneratedCustomConverterTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/InsertOrUpsertShortcutFunctionProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/ProjectionExpanderTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/QueryFunctionProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/RawQueryFunctionProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/RemoveUnusedColumnsTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/TableEntityProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/TransactionFunctionProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegateTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/solver/BuiltInConverterFlagsTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/solver/CustomTypeConverterResolutionTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/solver/NullabilityAwareTypeConverterStoreTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/solver/TypeAdapterStoreTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/solver/TypeAssignmentTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/solver/TypeConverterStoreTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/solver/query/QueryWriterTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/testing/InProcessorTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/writer/AutoMigrationWriterTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/writer/BaseDaoKotlinCodeGenTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/writer/DaoWriterTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/writer/DatabaseObjectConstructorWriterKotlinCodeGenTest.kt
- M
room/room-compiler/src/test/kotlin/androidx/room/writer/OpenDelegateWriterTest.kt
Hash: 097a642be66db27285ce0988559650a1078e3925
Date: Fri Jan 24 11:37:13 2025
pr...@google.com <pr...@google.com> #24
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.room:room-compiler:2.7.0-beta01
Description
Currently we use KAPT3 infra which does not work with K2 and FIR (front-end intermediate representation) light mode hence xprocessing-testing Kotlin compilation is forced to Kotlin language version 1.9.
Moreover go over the KSP 2 differences and make workarounds for xprocessing. See