Initialize CameraX on a background thread.

We saw a situation where CameraX initialization could lock up when
trying to obtain system resource. We already fallback to the
Camera1Fragment when CameraX isn't initialized, so it should be safe to
do this initialization on its own thread.
fork-5.53.8
Greyson Parrelli 2019-09-25 15:17:35 -04:00
rodzic 709ce7e9de
commit c5767b07a7
1 zmienionych plików z 7 dodań i 5 usunięć

Wyświetl plik

@ -386,11 +386,13 @@ public class ApplicationContext extends MultiDexApplication implements DefaultLi
@SuppressLint("RestrictedApi")
private void initializeCameraX() {
if (Build.VERSION.SDK_INT >= 21) {
try {
CameraX.init(this, Camera2AppConfig.create(this));
} catch (Throwable t) {
Log.w(TAG, "Failed to initialize CameraX.");
}
new Thread(() -> {
try {
CameraX.init(this, Camera2AppConfig.create(this));
} catch (Throwable t) {
Log.w(TAG, "Failed to initialize CameraX.");
}
}, "signal-camerax-initialization").start();
}
}