@Override protected void before() { Context context = InstrumentationRegistry.getTargetContext(); Executor executor = new Executor() { @Override public void execute(@NonNull Runnable command) { command.run(); } }; WorkManagerTestInitHelper.initializeTestWorkManager(context, new Configuration.Builder().setExecutor(executor).build()); JobConfig.setJobReschedulePause(0, TimeUnit.MILLISECONDS); JobConfig.setSkipJobReschedule(true); JobConfig.forceApi(JobApi.WORK_MANAGER); mManager = JobManager.create(context); mManager.cancelAll(); }
@Override public void onCreate() { sApplication = this; WorkManager.initialize(this, new Configuration.Builder().build()); super.onCreate(); if(preferences.getLogDebug()) { Timber.plant(new DebugFileLogTree(this)); } else if (BuildConfig.DEBUG) { Timber.plant(new Timber.DebugTree() { @Override protected String createStackElementTag(@NonNull StackTraceElement element) { return super.createStackElementTag(element) + "/" + element.getMethodName() + "/" + element.getLineNumber(); } }); } preferences.checkFirstStart(); // Running this on a background thread will deadlock FirebaseJobDispatcher. // Initialize will call Scheduler to connect off the main thread anyway. runner.postOnMainHandlerDelayed(new Runnable() { @Override public void run() { messageProcessor.initialize(); } }, 510); }
private WorkManager getWorkManager() { // don't cache the instance, it could change under the hood, e.g. during tests WorkManager workManager; try { workManager = WorkManager.getInstance(); } catch (Throwable t) { workManager = null; } if (workManager == null) { try { WorkManager.initialize(mContext, new Configuration.Builder().build()); workManager = WorkManager.getInstance(); } catch (Throwable ignored) { } CAT.w("WorkManager getInstance() returned null, now: %s", workManager); } return workManager; }