mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-13 11:19:04 +01:00
Replace default methods with helper classes.
This is a workaround for AbstractMethodErrors thrown by on-device tests.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
package org.briarproject.briar.android;
|
||||
|
||||
import org.briarproject.bramble.BrambleAndroidModule;
|
||||
import org.briarproject.bramble.BrambleCoreModule;
|
||||
import org.briarproject.briar.BriarCoreModule;
|
||||
import org.briarproject.bramble.BrambleAndroidEagerSingletons;
|
||||
import org.briarproject.bramble.BrambleCoreEagerSingletons;
|
||||
import org.briarproject.briar.BriarCoreEagerSingletons;
|
||||
|
||||
public class BriarTestComponentApplication extends BriarApplicationImpl {
|
||||
|
||||
@@ -12,10 +12,10 @@ public class BriarTestComponentApplication extends BriarApplicationImpl {
|
||||
.appModule(new AppModule(this)).build();
|
||||
// We need to load the eager singletons directly after making the
|
||||
// dependency graphs
|
||||
BrambleCoreModule.initEagerSingletons(component); // FIXME AbstractMethodError
|
||||
BrambleAndroidModule.initEagerSingletons(component);
|
||||
BriarCoreModule.initEagerSingletons(component);
|
||||
AndroidEagerSingletons.initEagerSingletons(component);
|
||||
BrambleCoreEagerSingletons.Helper.injectEagerSingletons(component);
|
||||
BrambleAndroidEagerSingletons.Helper.injectEagerSingletons(component);
|
||||
BriarCoreEagerSingletons.Helper.injectEagerSingletons(component);
|
||||
AndroidEagerSingletons.Helper.injectEagerSingletons(component);
|
||||
return component;
|
||||
}
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ import dagger.Component;
|
||||
})
|
||||
public interface AndroidComponent
|
||||
extends BrambleCoreEagerSingletons, BrambleAndroidEagerSingletons,
|
||||
BriarCoreEagerSingletons {
|
||||
BriarCoreEagerSingletons, AndroidEagerSingletons {
|
||||
|
||||
// Exposed objects
|
||||
@CryptoExecutor
|
||||
@@ -176,7 +176,4 @@ public interface AndroidComponent
|
||||
void inject(EmojiTextInputView textInputView);
|
||||
|
||||
void inject(BriarModelLoader briarModelLoader);
|
||||
|
||||
// Eager singleton load
|
||||
void inject(AppModule.EagerSingletons init);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
package org.briarproject.briar.android;
|
||||
|
||||
class AndroidEagerSingletons {
|
||||
interface AndroidEagerSingletons {
|
||||
|
||||
static void initEagerSingletons(AndroidComponent c) {
|
||||
c.inject(new AppModule.EagerSingletons());
|
||||
void inject(AppModule.EagerSingletons init);
|
||||
|
||||
class Helper {
|
||||
|
||||
static void injectEagerSingletons(AndroidEagerSingletons c) {
|
||||
c.inject(new AppModule.EagerSingletons());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,9 +17,9 @@ import com.vanniktech.emoji.google.GoogleEmojiProvider;
|
||||
import org.acra.ACRA;
|
||||
import org.acra.ReportingInteractionMode;
|
||||
import org.acra.annotation.ReportsCrashes;
|
||||
import org.briarproject.bramble.BrambleAndroidModule;
|
||||
import org.briarproject.bramble.BrambleCoreModule;
|
||||
import org.briarproject.briar.BriarCoreModule;
|
||||
import org.briarproject.bramble.BrambleAndroidEagerSingletons;
|
||||
import org.briarproject.bramble.BrambleCoreEagerSingletons;
|
||||
import org.briarproject.briar.BriarCoreEagerSingletons;
|
||||
import org.briarproject.briar.BuildConfig;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.logging.CachingLogHandler;
|
||||
@@ -133,10 +133,12 @@ public class BriarApplicationImpl extends Application
|
||||
|
||||
// We need to load the eager singletons directly after making the
|
||||
// dependency graphs
|
||||
BrambleCoreModule.initEagerSingletons(androidComponent);
|
||||
BrambleAndroidModule.initEagerSingletons(androidComponent);
|
||||
BriarCoreModule.initEagerSingletons(androidComponent);
|
||||
AndroidEagerSingletons.initEagerSingletons(androidComponent);
|
||||
BrambleCoreEagerSingletons.Helper
|
||||
.injectEagerSingletons(androidComponent);
|
||||
BrambleAndroidEagerSingletons.Helper
|
||||
.injectEagerSingletons(androidComponent);
|
||||
BriarCoreEagerSingletons.Helper.injectEagerSingletons(androidComponent);
|
||||
AndroidEagerSingletons.Helper.injectEagerSingletons(androidComponent);
|
||||
return androidComponent;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ import android.preference.PreferenceManager;
|
||||
import com.vanniktech.emoji.EmojiManager;
|
||||
import com.vanniktech.emoji.google.GoogleEmojiProvider;
|
||||
|
||||
import org.briarproject.bramble.BrambleAndroidModule;
|
||||
import org.briarproject.bramble.BrambleCoreModule;
|
||||
import org.briarproject.briar.BriarCoreModule;
|
||||
import org.briarproject.bramble.BrambleAndroidEagerSingletons;
|
||||
import org.briarproject.bramble.BrambleCoreEagerSingletons;
|
||||
import org.briarproject.briar.BriarCoreEagerSingletons;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.logging.LogRecord;
|
||||
@@ -42,10 +42,14 @@ public class TestBriarApplication extends Application
|
||||
|
||||
// We need to load the eager singletons directly after making the
|
||||
// dependency graphs
|
||||
BrambleCoreModule.initEagerSingletons(applicationComponent);
|
||||
BrambleAndroidModule.initEagerSingletons(applicationComponent);
|
||||
BriarCoreModule.initEagerSingletons(applicationComponent);
|
||||
AndroidEagerSingletons.initEagerSingletons(applicationComponent);
|
||||
BrambleCoreEagerSingletons.Helper
|
||||
.injectEagerSingletons(applicationComponent);
|
||||
BrambleAndroidEagerSingletons.Helper
|
||||
.injectEagerSingletons(applicationComponent);
|
||||
BriarCoreEagerSingletons.Helper
|
||||
.injectEagerSingletons(applicationComponent);
|
||||
AndroidEagerSingletons.Helper
|
||||
.injectEagerSingletons(applicationComponent);
|
||||
EmojiManager.install(new GoogleEmojiProvider());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user