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