Fixed
Status Update
Comments
tr...@google.com <tr...@google.com>
tr...@google.com <tr...@google.com>
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 604c75c9f497d5b0462042ecac31a6d9d8f97db0
Author: Trevor McGuire <trevormcguire@google.com>
Date: Wed Jul 15 19:26:24 2020
Retrieve Application context safely
No longer makes assumption that Context.getApplicationContext() can be
cast to an Application object. Instead, attempts to retrieve the
Application from the base context if getApplicationContext() does not
return an Application.
For initialization, this will attempt to fall back to resources
(default initialization) if an Application object can't be retrieved.
Relnote: "Initialization should no longer crash when using a Context
that does not return an Application object from
Context.getApplicationContext()."
Bug: 160817073
Test: ./gradlew camera:camera-lifecycle:connectedCheck
Change-Id: I3d3c9880c24264e2b78f367777d675002f2126d3
M camera/camera-core/src/main/java/androidx/camera/core/CameraX.java
M camera/camera-extensions/src/main/java/androidx/camera/extensions/CameraUtil.java
M camera/camera-extensions/src/main/java/androidx/camera/extensions/ExtensionsManager.java
M camera/camera-extensions/src/main/java/androidx/camera/extensions/ImageCaptureExtender.java
M camera/camera-extensions/src/main/java/androidx/camera/extensions/PreviewExtender.java
M camera/camera-lifecycle/build.gradle
M camera/camera-lifecycle/src/androidTest/java/androidx/camera/lifecycle/ProcessCameraProviderTest.kt
M camera/camera-testing/src/main/java/androidx/camera/testing/activity/CameraXTestActivity.java
M camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeAppConfig.java
https://android-review.googlesource.com/1363345
Branch: androidx-master-dev
commit 604c75c9f497d5b0462042ecac31a6d9d8f97db0
Author: Trevor McGuire <trevormcguire@google.com>
Date: Wed Jul 15 19:26:24 2020
Retrieve Application context safely
No longer makes assumption that Context.getApplicationContext() can be
cast to an Application object. Instead, attempts to retrieve the
Application from the base context if getApplicationContext() does not
return an Application.
For initialization, this will attempt to fall back to resources
(default initialization) if an Application object can't be retrieved.
Relnote: "Initialization should no longer crash when using a Context
that does not return an Application object from
Context.getApplicationContext()."
Bug: 160817073
Test: ./gradlew camera:camera-lifecycle:connectedCheck
Change-Id: I3d3c9880c24264e2b78f367777d675002f2126d3
M camera/camera-core/src/main/java/androidx/camera/core/CameraX.java
M camera/camera-extensions/src/main/java/androidx/camera/extensions/CameraUtil.java
M camera/camera-extensions/src/main/java/androidx/camera/extensions/ExtensionsManager.java
M camera/camera-extensions/src/main/java/androidx/camera/extensions/ImageCaptureExtender.java
M camera/camera-extensions/src/main/java/androidx/camera/extensions/PreviewExtender.java
M camera/camera-lifecycle/build.gradle
M camera/camera-lifecycle/src/androidTest/java/androidx/camera/lifecycle/ProcessCameraProviderTest.kt
M camera/camera-testing/src/main/java/androidx/camera/testing/activity/CameraXTestActivity.java
M camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeAppConfig.java
Description
Since Context.getApplicationContext() returns a Context object and not an Application object, we shouldn't assume it will be an Application. This is causing a ClassCastException here:https://cs.android.com/androidx/platform/frameworks/support/+/androidx-master-dev:camera/camera-core/src/main/java/androidx/camera/core/CameraX.java;l=784;drc=8da3cb94d3e0725afc06cc039f809feaa290d743