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>(){}.getType(); List 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>(){}.getType(); List criteriaForISa = gson.fromJson(jsonReader,type1); MyLog.i(TAG,"更新灯光库所有答案部分"); WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getLightAllAnswersDao().insertAll(criteriaForISa); return Result.success(); } }