package safeluck.drive.evaluation.DB.appstatusdb; import android.content.Context; import android.util.Log; import androidx.annotation.NonNull; import androidx.work.Worker; import androidx.work.WorkerParameters; import com.anyun.exam.lib.MyLog; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import org.json.JSONException; import org.json.JSONObject; import java.lang.reflect.Type; import safeluck.drive.evaluation.Constant; import safeluck.drive.evaluation.DB.WorkRoomDataBase; import safeluck.drive.evaluation.platformMessage.PlatFormConstant; public class AppStatusWorker extends Worker { private static final String TAG = "AppStatusWorker"; private AppStatusDao appStatusDao; public AppStatusWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) { super(context, workerParams); MyLog.i("初始化AppStatusWorker"); appStatusDao = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getAppStatusDao(); } @NonNull @Override public Result doWork() { String[] str = getInputData().getStringArray(Constant.APP_STATUS); JSONObject jsonObject = null; MyLog.i("AppStatusWorker:"+str[0]+": "+str[1]); try { jsonObject = new JSONObject(str[1]); switch (str[0]) { case Constant.RTK_LOGIN_CODE_COLUMN: int login =jsonObject.getInt("login_code"); appStatusDao.updateRTKLoginCode(login); break; case Constant.RTK_CONN_STATUS_COLUMN: int conn =jsonObject.getInt("connected"); appStatusDao.updateRTKConnectStatus(conn); break; case Constant.WORK_PLATFORM_STATUS_COLUMN: int workconn =jsonObject.getInt("work_platform"); appStatusDao.updatework_platformStatus(workconn); break; case Constant.RTK_INFO_SAT_QF: int qf = jsonObject.getInt("qf"); int satNum = jsonObject.getInt("sat_num"); appStatusDao.updatedQf(qf); appStatusDao.updatedSatNum(satNum); break; } return Result.success(); } catch (JSONException e) { e.printStackTrace(); return Result.failure(); } } }