mirror of
https://github.com/oxen-io/session-android.git
synced 2025-12-24 18:17:20 +00:00
Disable default CameraX initializer.
CameraX was initializing Camera2 API stuff on API < 21, causing crashes at boot. To handle this, we disable the default ContentProvider initializer and initialize things ourselves for appropriate API levels.
This commit is contained in:
@@ -17,6 +17,9 @@
|
||||
package org.thoughtcrime.securesms;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
|
||||
import androidx.camera.camera2.Camera2AppConfig;
|
||||
import androidx.camera.core.CameraX;
|
||||
import androidx.lifecycle.DefaultLifecycleObserver;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.ProcessLifecycleOwner;
|
||||
@@ -126,6 +129,7 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc
|
||||
initializePendingMessages();
|
||||
initializeUnidentifiedDeliveryAbilityRefresh();
|
||||
initializeBlobProvider();
|
||||
initializeCameraX();
|
||||
NotificationChannels.create(this);
|
||||
ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
|
||||
}
|
||||
@@ -357,6 +361,17 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc
|
||||
});
|
||||
}
|
||||
|
||||
@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.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void attachBaseContext(Context base) {
|
||||
super.attachBaseContext(DynamicLanguageContextWrapper.updateContext(base, TextSecurePreferences.getLanguage(base)));
|
||||
|
||||
Reference in New Issue
Block a user