package safeluck.drive.evaluation.DB.lightdb;
|
|
import android.content.Context;
|
import android.os.Environment;
|
|
import androidx.annotation.NonNull;
|
import androidx.work.Worker;
|
import androidx.work.WorkerParameters;
|
|
import com.anyun.basecommonlib.MyLog;
|
import com.google.gson.Gson;
|
import com.google.gson.reflect.TypeToken;
|
import com.google.gson.stream.JsonReader;
|
|
import java.io.File;
|
import java.io.FileInputStream;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.io.InputStreamReader;
|
import java.lang.reflect.Type;
|
import java.util.List;
|
|
import safeluck.drive.evaluation.Constant;
|
import safeluck.drive.evaluation.DB.WorkRoomDataBase;
|
import safeluck.drive.evaluation.DB.criterias.Criteria;
|
|
/**
|
* MyApplication2
|
* Created by lzw on 2019/11/26. 11:59:25
|
* 邮箱:632393724@qq.com
|
* All Rights Saved! Chongqing AnYun Tech co. LTD
|
*/
|
public class LightsQuestAnswersUpgradeWorker extends Worker {
|
|
private static final String TAG = "CriteriaForIWorker";
|
|
public LightsQuestAnswersUpgradeWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
|
super(context, workerParams);
|
}
|
|
@NonNull
|
@Override
|
public Result doWork() {
|
|
File file = new File(Environment.getExternalStorageDirectory()+File.separator+getApplicationContext().getPackageName()+
|
File.separator+ Constant.LIGHT_ALL_ANSWER_JSON);
|
|
File fileQuest = new File(Environment.getExternalStorageDirectory()+File.separator+getApplicationContext().getPackageName()+
|
File.separator+ Constant.LIGHT_ALL_DEFAULT_JSON);
|
|
if (!file.exists()){
|
return Result.failure();
|
}
|
if (!fileQuest.exists()){
|
return Result.failure();
|
}
|
InputStream inputStream = null;
|
try {
|
inputStream =new FileInputStream(fileQuest);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
|
JsonReader jsonReader = new JsonReader(inputStreamReader);
|
Gson gson = new Gson();
|
Type type = new TypeToken<List<LightQuestion>>(){}.getType();
|
|
List<LightQuestion> criteriaForIS = gson.fromJson(jsonReader,type);
|
MyLog.i(TAG,"更新灯光库所有问题部分");
|
WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getLightAllQuestionsDao().insertAll(criteriaForIS);
|
|
|
|
try {
|
inputStream =new FileInputStream(file);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
inputStreamReader = new InputStreamReader(inputStream);
|
jsonReader = new JsonReader(inputStreamReader);
|
|
Type type1 = new TypeToken<List<LightAnswers>>(){}.getType();
|
|
List<LightAnswers> criteriaForISa = gson.fromJson(jsonReader,type1);
|
MyLog.i(TAG,"更新灯光库所有答案部分");
|
WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getLightAllAnswersDao().insertAll(criteriaForISa);
|
return Result.success();
|
}
|
}
|