| | |
| | | import androidx.room.migration.Migration; |
| | | import androidx.sqlite.db.SupportSQLiteDatabase; |
| | | import androidx.work.OneTimeWorkRequest; |
| | | import androidx.work.WorkContinuation; |
| | | import androidx.work.WorkManager; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.concurrent.ExecutorService; |
| | | import java.util.concurrent.Executors; |
| | | |
| | |
| | | OneTimeWorkRequest examStatusInitWorker = OneTimeWorkRequest.from(ExamStatusInitWorker.class); |
| | | OneTimeWorkRequest signalConigInitWorker = OneTimeWorkRequest.from(SignalConfigInitWorker.class); |
| | | Log.i(TAG, "onCreate: 创建数据库后建立数据表插入数据"); |
| | | WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest); |
| | | WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest1); |
| | | WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest2); |
| | | WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest3); |
| | | WorkManager.getInstance(mContext).enqueue(mCriteriaForIIIWorker); |
| | | WorkManager.getInstance(mContext).enqueue(RTKConfigWorkRequest); |
| | | WorkManager.getInstance(mContext).enqueue(appStatusInitWork); |
| | | WorkManager.getInstance(mContext).enqueue(examStatusInitWorker); |
| | | WorkManager.getInstance(mContext).enqueue(signalConigInitWorker); |
| | | // WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest); |
| | | // WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest1); |
| | | // WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest2); |
| | | // WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest3); |
| | | // WorkManager.getInstance(mContext).enqueue(mCriteriaForIIIWorker); |
| | | // WorkManager.getInstance(mContext).enqueue(RTKConfigWorkRequest); |
| | | // WorkManager.getInstance(mContext).enqueue(appStatusInitWork); |
| | | // WorkManager.getInstance(mContext).enqueue(examStatusInitWorker); |
| | | // WorkManager.getInstance(mContext).enqueue(signalConigInitWorker); |
| | | |
| | | //单路径执行,可以实现更加复杂的多路径执行方式 |
| | | WorkContinuation chain1= WorkManager.getInstance(mContext).beginWith(Arrays.asList(oneTimeWorkRequest,oneTimeWorkRequest1)) |
| | | .then(mCriteriaForIIIWorker).then(oneTimeWorkRequest3); |
| | | WorkContinuation chain2 = WorkManager.getInstance(mContext).beginWith(Arrays.asList(RTKConfigWorkRequest,appStatusInitWork,signalConigInitWorker)) |
| | | .then(oneTimeWorkRequest2).then(examStatusInitWorker); |
| | | |
| | | WorkContinuation chain3 = WorkContinuation.combine(Arrays.asList(chain1,chain2)); |
| | | chain3.enqueue(); |
| | | } |
| | | |
| | | @Override |