From 2dd6fa41c2391ae53569260e671402a900a7a143 Mon Sep 17 00:00:00 2001 From: fctom1215 <fctom1215@outlook.com> Date: 星期三, 28 四月 2021 22:49:27 +0800 Subject: [PATCH] routeline放在包名下,在设置里进行手动更新线路 --- app/src/main/java/safeluck/drive/evaluation/DB/route/RouteInitWorker.java | 22 +++++++++++++++++++--- app/src/main/java/safeluck/drive/evaluation/DB/Constant.java | 1 + app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java | 18 ++++++++++++++++++ app/src/main/res/layout/layout_base_datas.xml | 8 ++++++++ 4 files changed, 46 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java b/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java index 99b9dfe..c97faf3 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/Constant.java @@ -27,4 +27,5 @@ public static final int BEGIN_ITEM = 1;//璇ラ」鑰冭瘯寮�濮嬭繘鍏ュ満鍦� public static final int EXAM_STATUS_MAP_ID = -1; public static final String CRITERIA_JSON = "criteria.json"; + public static final String ROUTELINE_JSON = "routeline.json"; } diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteInitWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteInitWorker.java index 9006ca0..f4f3b63 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteInitWorker.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteInitWorker.java @@ -1,6 +1,7 @@ package safeluck.drive.evaluation.DB.route; import android.content.Context; +import android.os.Environment; import android.util.Log; import androidx.annotation.NonNull; @@ -11,6 +12,8 @@ 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; @@ -18,6 +21,7 @@ import java.util.List; import okhttp3.Route; +import safeluck.drive.evaluation.DB.Constant; import safeluck.drive.evaluation.DB.Student; import safeluck.drive.evaluation.DB.WorkRoomDataBase; import safeluck.drive.evaluation.bean.RouteCollect; @@ -39,9 +43,21 @@ public Result doWork() { Log.i(TAG, "doWork: "+Thread.currentThread().getId()); try { - InputStream inputStream = getApplicationContext().getAssets().open("routeline.json"); + File file = new File(Environment.getExternalStorageDirectory()+File.separator+getApplicationContext().getPackageName()+ + File.separator+ Constant.ROUTELINE_JSON); + + if (!file.exists()){ + return Result.failure(); + } + InputStream inputStream = null; + try { + inputStream =new FileInputStream(file); + } catch (IOException e) { + e.printStackTrace(); + } InputStreamReader inputStreamReader = new InputStreamReader(inputStream); JsonReader jsonReader = new JsonReader(inputStreamReader); + Gson gson = new Gson(); Type type = new TypeToken<List<RouteCollect>>(){}.getType(); @@ -71,7 +87,7 @@ routeCross.setActive(bean.getActive()); routeCross.setIdx(bean.getIdx()); routeCross.setRoad(bean.getRoad()); - routeCross.setRouteline_id(i+1); + routeCross.setRouteline_id(route.getId()); WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getRouteCrooDao().insertRouteCross(routeCross); } } @@ -79,7 +95,7 @@ } - } catch (IOException e) { + } catch (Exception e) { e.printStackTrace(); return Result.failure(); } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java index ad9762f..6d8578b 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java @@ -49,6 +49,7 @@ import safeluck.drive.evaluation.DB.appstatusdb.AppStatusViewModel; import safeluck.drive.evaluation.DB.criterias.CriteriaUpgradeWorker; import safeluck.drive.evaluation.DB.lightdb.LightsQuestAnswersUpgradeWorker; +import safeluck.drive.evaluation.DB.route.RouteInitWorker; import safeluck.drive.evaluation.DB.rtktb.RTKConfig; import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel; import safeluck.drive.evaluation.MainActivity; @@ -175,6 +176,7 @@ view.findViewById(R.id.btn_road_update).setOnClickListener(this); view.findViewById(R.id.btn_road_mmpk).setOnClickListener(this); view.findViewById(R.id.btn_yard_mmpk).setOnClickListener(this); + view.findViewById(R.id.btn_routeline_upgrade).setOnClickListener(this); btn_mcu_upgrade.setOnClickListener(this); btn_map_select.setOnClickListener(this); btn_config_signal = view.findViewById(R.id.btn_signal_conf); @@ -293,6 +295,22 @@ DataInitKt.getMap(ExamPlatformData.getInstance().getPhone(),"road"); UserOpStatus.getInstance().resetRoadFileSelectState(); break; + case R.id.btn_routeline_upgrade: + Toast.makeText(_mActivity, "鏇存柊閲囬泦绾胯矾", Toast.LENGTH_SHORT).show(); + OneTimeWorkRequest routeWorkRequest = OneTimeWorkRequest.from(RouteInitWorker.class); + + WorkManager.getInstance(_mActivity).getWorkInfoByIdLiveData(routeWorkRequest.getId()).observe(this, new Observer<WorkInfo>() { + @Override + public void onChanged(WorkInfo workInfo) { + if (workInfo.getState()== WorkInfo.State.FAILED){ + Toast.makeText(_mActivity, "閲囬泦绾胯矾鏂囦欢涓嶅瓨鍦�", Toast.LENGTH_SHORT).show(); + }else if (workInfo.getState() == WorkInfo.State.SUCCEEDED){ + Toast.makeText(_mActivity, "閲囬泦绾胯矾鏇存柊鎴愬姛", Toast.LENGTH_SHORT).show(); + } + } + }); + WorkManager.getInstance(_mActivity).enqueue(routeWorkRequest); + break; case R.id.btn_judgedata_upgrade: Toast.makeText(_mActivity, "鏇存柊璇勫垽琛�", Toast.LENGTH_SHORT).show(); OneTimeWorkRequest oneTimeWorkRequest = OneTimeWorkRequest.from(CriteriaUpgradeWorker.class); diff --git a/app/src/main/res/layout/layout_base_datas.xml b/app/src/main/res/layout/layout_base_datas.xml index c90b531..8242ae4 100644 --- a/app/src/main/res/layout/layout_base_datas.xml +++ b/app/src/main/res/layout/layout_base_datas.xml @@ -282,6 +282,14 @@ android:textSize="@dimen/network_train_textsize21px" android:layout_marginLeft="60dp" android:id="@+id/btn_judgedata_upgrade" + android:background="@drawable/btn_bg_baseset"/> <Button android:layout_width="129dp" + android:layout_height="@dimen/ui_margin_50dp" + android:text="閬撹矾椤圭洰鏇存柊" + android:padding="5dp" + android:textColor="@android:color/white" + android:textSize="@dimen/network_train_textsize21px" + android:layout_marginLeft="8dp" + android:id="@+id/btn_routeline_upgrade" android:background="@drawable/btn_bg_baseset"/> <Button android:layout_width="129dp" android:layout_height="@dimen/ui_margin_50dp" -- Gitblit v1.8.0