package safeluck.drive.evaluation.DB.rtktb; import android.app.Application; import androidx.lifecycle.LiveData; import com.anyun.exam.lib.MyLog; import safeluck.drive.evaluation.DB.WorkRoomDataBase; public class RTKWorkRepository { private static final String TAG = "RTKWorkRepository"; private RTKConfigDao rtkConfigDao; private LiveData rtkConfig; private RTKConfig rtkConfig1; public RTKWorkRepository(Application application) { rtkConfigDao = WorkRoomDataBase.getWorkRoomDataBase(application).getRTKConfigDao(); rtkConfig = rtkConfigDao.getRTKConfig(); WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() { @Override public void run() { MyLog.d(TAG,"获取RTK配置信息表"); rtkConfig1 = rtkConfigDao.getRTKConfigNoLive(); } }); } public void insertRTKConfig(final RTKConfig rtkConfig){ WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() { @Override public void run() { rtkConfigDao.insert(rtkConfig); } }); } public LiveData getRTKConfig(){ return rtkConfig; } public void update(final RTKConfig rtkConfig){ WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() { @Override public void run() { rtkConfigDao.update(rtkConfig); } }); } public RTKConfig getRTKConfigNoLive() { if (rtkConfig1 == null){ WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() { @Override public void run() { MyLog.d(TAG,"再次获取RTK配置信息表"); rtkConfig1 = rtkConfigDao.getRTKConfigNoLive(); } }); } return rtkConfig1; } }