From 2a08cb47d9f0e85d0f20e3eb9cf0fef8f120b424 Mon Sep 17 00:00:00 2001 From: Chris Narkiewicz Date: Tue, 16 Apr 2019 15:36:14 +0100 Subject: [PATCH] Initialize global context before MainApp.onCreate() Initialize global context just after attaching base context. ContentProvider depend on MainApp.getAppContext(), but ContentProvider.onCreate() is called *before* Application.onCreate(). This hack should improve stability of ContentProviders at process bring-up time until we address this with a proper DI. Signed-off-by: Chris Narkiewicz --- src/main/java/com/owncloud/android/MainApp.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/owncloud/android/MainApp.java b/src/main/java/com/owncloud/android/MainApp.java index 9dce6bb6bead..c54db07e165d 100644 --- a/src/main/java/com/owncloud/android/MainApp.java +++ b/src/main/java/com/owncloud/android/MainApp.java @@ -49,7 +49,6 @@ import com.nextcloud.client.di.DaggerAppComponent; import com.nextcloud.client.preferences.AppPreferences; import com.nextcloud.client.preferences.AppPreferencesImpl; -import com.owncloud.android.authentication.AccountUtils; import com.owncloud.android.authentication.PassCodeManager; import com.owncloud.android.datamodel.ArbitraryDataProvider; import com.owncloud.android.datamodel.MediaFolder; @@ -163,9 +162,17 @@ public class MainApp extends MultiDexApplication implements @SuppressWarnings("unused") private boolean mBound; + /** + * Temporary hack + */ + private static void initGlobalContext(Context context) { + mContext = context; + } + @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); + initGlobalContext(this); DaggerAppComponent.builder() .application(this) .build() @@ -187,7 +194,6 @@ public void onCreate() { uploadsStorageManager ) ); - MainApp.mContext = getApplicationContext(); new SecurityUtils(); DisplayUtils.useCompatVectorIfNeeded();