Fixed
Status Update
Comments
al...@google.com <al...@google.com>
ap...@google.com <ap...@google.com> #2
Thanks for filing the issue.
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!
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!
al...@google.com <al...@google.com> #3
Similar stacktrace reported to the email group
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
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
Hi virifi129,
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?
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?
Description
The following lint check is baseline suppressed in your project. Please remove all instances of this suppression from
core/core/lint-baseline.xml
and address the associated issues before your next stable release.55 instance(s) of
ClassVerificationFailure
This call references a method added in API level 19; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 92:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 92:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 92:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 94:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 95:This call references a method added in API level 19; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 98:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 98:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 98:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 100:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 100:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 102:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 103:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 105:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 107:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 111:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 127:This call references a method added in API level 26; however, the containing class androidx.core.graphics.ColorUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/ColorUtils.java
at line 127:This call references a method added in API level 19; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 79:This call references a method added in API level 19; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 96:This call references a method added in API level 21; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 111:This call references a method added in API level 21; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 124:This call references a method added in API level 21; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 136:This call references a method added in API level 21; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 150:This call references a method added in API level 21; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 164:This call references a method added in API level 19; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 178:This call references a method added in API level 21; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 189:This call references a method added in API level 21; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 198:This call references a method added in API level 21; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 211:This call references a method added in API level 19; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 232:This call references a method added in API level 19; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 242:This call references a method added in API level 21; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 269:This call references a method added in API level 23; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 355:This call references a method added in API level 23; however, the containing class androidx.core.graphics.drawable.DrawableCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/DrawableCompat.java
at line 392:This call references a method added in API level 23; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 546:This call references a method added in API level 26; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 550:This call references a method added in API level 23; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 552:This call references a method added in API level 23; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 557:This call references a method added in API level 23; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 560:This call references a method added in API level 23; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 563:This call references a method added in API level 26; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 580:This call references a method added in API level 23; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 582:This call references a method added in API level 23; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 590:This call references a method added in API level 23; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 593:This call references a method added in API level 23; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 641:This call references a method added in API level 26; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 694:This call references a method added in API level 28; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 1101:This call references a method added in API level 28; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 1129:This call references a method added in API level 28; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 1158:This call references a method added in API level 28; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 1186:This call references a method added in API level 30; however, the containing class androidx.core.graphics.drawable.IconCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/drawable/IconCompat.java
at line 567:This call references a method added in API level 29; however, the containing class androidx.core.graphics.Insets is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/Insets.java
at line 198:This call references a method added in API level 23; however, the containing class androidx.core.graphics.PaintCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/PaintCompat.java
at line 52:This call references a method added in API level 29; however, the containing class androidx.core.graphics.PaintCompat is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/PaintCompat.java
at line 127:This call references a method added in API level 26; however, the containing class androidx.core.graphics.PathUtils is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/PathUtils.java
at line 60:This call references a method added in API level 19; however, the containing class androidx.core.graphics.TypefaceCompatUtil is reachable from earlier API levels and will fail run-time class verification.
Found in
src/main/java/androidx/core/graphics/TypefaceCompatUtil.java
at line 110: