From 1c6b112a32c0986904abd714f8b651c3b44cbcac Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期五, 10 一月 2020 15:07:13 +0800
Subject: [PATCH] 1,暂时删除驾校信息页;2,删除输入密码页,直接打开设置 ;3,写了一个viewmodel用来监听连接状态,结果不能跨页面传递,observe到数据变化
---
app/src/main/java/safeluck/drive/evaluation/fragment/BaseSettingFragment.java | 2
app/src/main/java/safeluck/drive/evaluation/Constant.java | 1
app/src/main/res/values/strings.xml | 6 +
app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java | 10 +-
app/src/main/res/layout/layout_rtk_setting.xml | 67 +++++++++++++
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 2
app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java | 47 +++++++++
app/src/main/java/safeluck/drive/evaluation/app.java | 21 ---
app/src/main/java/safeluck/drive/evaluation/MainActivity.java | 39 +++++++
app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java | 17 ++-
app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLoginViewModel.java | 15 +++
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 2
app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLogin.java | 32 ++++++
13 files changed, 226 insertions(+), 35 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/Constant.java b/app/src/main/java/safeluck/drive/evaluation/Constant.java
index b54bbc3..ac559cd 100644
--- a/app/src/main/java/safeluck/drive/evaluation/Constant.java
+++ b/app/src/main/java/safeluck/drive/evaluation/Constant.java
@@ -54,4 +54,5 @@
public static final String VEHICLE = "vehiclemodel.json";
public static final String BIND_RTKCONFIG_TOPIC = "rtkconfig_topic";
+ public static final String BIND_CONNECT_RTK_TOPIC = "rtk_connect_login_topic";
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index 282cd33..6c43669 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -36,6 +36,8 @@
import safeluck.drive.evaluation.util.PermissionManager;
import safeluck.drive.evaluation.viewmodels.MainViewModel;
+import safeluck.drive.evaluation.viewmodels.RTKConnAndLogin;
+import safeluck.drive.evaluation.viewmodels.RTKConnAndLoginViewModel;
public class MainActivity extends SupportActivity {
@@ -46,7 +48,8 @@
private RTKConfig mRTKConfig;//RTK閰嶇疆淇℃伅
private Gson gson = new Gson();
String[] PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA};
-
+ RTKConnAndLoginViewModel rtkConnAndLoginViewModel;
+ RTKConnAndLogin rtkConnAndLogin;
private ICEventListener icEventListener = new ICEventListener() {
@Override
@@ -70,6 +73,32 @@
}else{
MyLog.d(TAG,"RTKConfig鏈彇鍒版暟鎹�");
}
+ }
+ if (msgCode == Constant.RTK_PLATFORM_CONNECT_STATUS||msgCode== Constant.RTK_PLATFORM_REGISTER_RESULT){
+ if (msgCode == Constant.RTK_PLATFORM_REGISTER_RESULT){
+ try {
+ JSONObject jsonObject3 = new JSONObject((String) obj);
+ int loginCode = jsonObject3.getInt("login_code");
+ MyLog.d(TAG,"RTK骞冲彴鐧诲綍缁撴灉锛�"+loginCode);
+ rtkConnAndLogin.setLogin_code(loginCode);
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }else{
+ try {
+ JSONObject jsonObject3 = new JSONObject((String) obj);
+ int connect_status = jsonObject3.getInt("connected");
+ MyLog.i(TAG,"RTK骞冲彴杩炴帴鐘舵�侊細"+connect_status);
+ rtkConnAndLogin.setLogin_code(connect_status);
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+ rtkConnAndLoginViewModel.getRtkConnAndLogin().postValue(rtkConnAndLogin);
}
}
};
@@ -100,6 +129,9 @@
mRTKConfig = rtkConfig;
}
});
+
+ rtkConnAndLoginViewModel= ViewModelProviders.of(this).get(RTKConnAndLoginViewModel.class);
+ rtkConnAndLogin = new RTKConnAndLogin();
mPermissionsManager = new PermissionManager(this) {
@@ -147,7 +179,8 @@
loadRootFragment(R.id.fl_container,HomeFragment.newInstance());
}
- CEventCenter.onBindEvent(true,icEventListener,Constant.BIND_RTKCONFIG_TOPIC);
+ CEventCenter.onBindEvent(true,icEventListener,Constant.BIND_RTKCONFIG_TOPIC);//鍙戦�乺tk閰嶇疆娑堟伅
+ CEventCenter.onBindEvent(true,icEventListener, Constant.BIND_CONNECT_RTK_TOPIC);//鏀跺埌rtk杩炴帴 鐧诲綍缁撴灉
}
@@ -155,6 +188,8 @@
protected void onDestroy() {
super.onDestroy();
CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_RTKCONFIG_TOPIC);
+
+ CEventCenter.onBindEvent(false,icEventListener, Constant.BIND_CONNECT_RTK_TOPIC);
Log.i(TAG, "onDestroy: ");
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java b/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java
index 746513c..5b04a49 100644
--- a/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java
+++ b/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java
@@ -21,7 +21,7 @@
* All Rights Saved! Chongqing AnYun Tech co. LTD
*/
public class SimpleFragmentAdapter extends FragmentPagerAdapter {
- private String[] mTitles = new String[]{"鍩虹鏁版嵁","RTK閰嶇疆","椹炬牎淇℃伅","GPS淇℃伅"};
+ private String[] mTitles = new String[]{"鍩虹鏁版嵁","RTK閰嶇疆","GPS淇℃伅"};
public SimpleFragmentAdapter(FragmentManager fm) {
super(fm);
}
@@ -38,11 +38,11 @@
supportFragment = RTKConfigFragment.newInstance();
//ftp
break;
+// case 2:
+// supportFragment = JiaXiaoFragment.newInstance();
+// //椹炬牎淇℃伅
+// break;
case 2:
- supportFragment = JiaXiaoFragment.newInstance();
- //椹炬牎淇℃伅
- break;
- case 3:
supportFragment = GpsInfoFragment.newInstance();
break;
default:break;
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index a2b63fc..dee03d5 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -120,12 +120,7 @@
case Constant.RTK_PLATFORM_REGISTER_RESULT:
//RTK骞冲彴鐧诲綍缁撴灉
- try {
- JSONObject jsonObject = new JSONObject(json);
- int rtklogincode = jsonObject.getInt("login_code");
- } catch (JSONException e) {
- e.printStackTrace();
- }
+ CEventCenter.dispatchEvent(Constant.BIND_CONNECT_RTK_TOPIC,cmd,0,json);
break;
@@ -150,20 +145,8 @@
failedProjRepository.deleteAll();
break;
case Constant.RTK_PLATFORM_CONNECT_STATUS:
- rtkConfig = rtkWorkRepository.getRTKConfigNoLive();
- try {
- JSONObject jsonObject3 = new JSONObject(json);
- String ip = jsonObject3.getString("ip");
- int port = jsonObject3.getInt("port");
- int reg_code = jsonObject3.getInt("connected");
- rtkConfig.setRegistered(reg_code);
- rtkConfig.setIp(ip);
- rtkConfig.setPort(port);
- } catch (JSONException e) {
- e.printStackTrace();
- }
- rtkWorkRepository.insertRTKConfig(rtkConfig);
+ CEventCenter.dispatchEvent(Constant.BIND_CONNECT_RTK_TOPIC,cmd,0,json);
break;
case Constant.FETCH_MAP_INFO:
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseSettingFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseSettingFragment.java
index c235d12..20f7fc7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseSettingFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseSettingFragment.java
@@ -59,7 +59,7 @@
tabLayout.addTab(tabLayout.newTab());
tabLayout.addTab(tabLayout.newTab());
tabLayout.addTab(tabLayout.newTab());
- tabLayout.addTab(tabLayout.newTab());
+// tabLayout.addTab(tabLayout.newTab());
tb = view.findViewById(R.id.toolbar);
tb.setNavigationIcon(R.drawable.ic_arrow_back_white_24dp);
tb.setNavigationOnClickListener(new View.OnClickListener() {
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
index abd31ce..7c11237 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
@@ -99,13 +99,18 @@
break;
case R.id.system_setting:
//鎵撳紑杈撳叆瀵嗙爜鐣岄潰
- PasswordFragment passwordFragment = findFragment(PasswordFragment.class);
- if (passwordFragment == null) {
- passwordFragment = (PasswordFragment) PasswordFragment.newInstance();
- start(passwordFragment);
- } else {
- start(passwordFragment);
+// PasswordFragment passwordFragment = findFragment(PasswordFragment.class);
+// if (passwordFragment == null) {
+// passwordFragment = (PasswordFragment) PasswordFragment.newInstance();
+// start(passwordFragment);
+// } else {
+// start(passwordFragment);
+// }
+ BaseSettingFragment sysSetingFragment = findFragment(BaseSettingFragment.class);
+ if (sysSetingFragment == null) {
+ sysSetingFragment = (BaseSettingFragment) BaseSettingFragment.newInstance();
}
+ startWithPop(sysSetingFragment);
break;
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
index f1efb47..f239c8a 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -101,7 +101,7 @@
}
private void sendRTKConfig2RemoteService() {
MyLog.d(TAG,"涓诲姩鎺ㄩ�丷TKConfig");
- CEventCenter.dispatchEvent(Constant.BIND_RTKCONFIG_TOPIC,Constant.PUSH_RTK_PLATFORM_INFO,0,"");
+ CEventCenter.dispatchEvent(Constant.BIND_RTKCONFIG_TOPIC,Constant.FETCH_RTK_PLATFORM_INFO,0,"");
}
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java
index e6506df..4d424ba 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java
@@ -1,5 +1,6 @@
package safeluck.drive.evaluation.fragment;
+import android.content.Context;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -11,13 +12,20 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
+import android.widget.TextView;
+import com.anyun.exam.lib.MyLog;
import com.google.gson.Gson;
import me.yokeyword.fragmentation.SupportFragment;
+import safeluck.drive.evaluation.Constant;
import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.DB.rtktb.RTKConfig;
+import safeluck.drive.evaluation.cEventCenter.CEventCenter;
+import safeluck.drive.evaluation.cEventCenter.ICEventListener;
+import safeluck.drive.evaluation.viewmodels.RTKConnAndLogin;
+import safeluck.drive.evaluation.viewmodels.RTKConnAndLoginViewModel;
/**FTP閰嶇疆UI
* MyApplication2
@@ -30,6 +38,8 @@
private static final String TAG = "RTKConfigFragment";
private EditText et_ip,et_port,et_city_id,et_city_province,et_phone;
+ // RTK娉ㄥ唽鐘舵�併�丷TK杩炴帴鐘舵�併��
+ private TextView tv_reg,tv_connect,tv_model,tv_sn,tv_imei,tv_login;
private RTKConfigViewModel rtkConfigViewModel;
private RTKConfig mRtkConfig;
@@ -55,8 +65,25 @@
et_city_province.setText(String.valueOf(rtkConfig.getProvince()));
et_port.setText(String.valueOf(rtkConfig.getPort()));
et_phone.setText(rtkConfig.getPhone());
+ tv_sn.setText(getResources().getString(R.string.rtk_config_sn,rtkConfig.getSn()));
+ tv_model.setText(getResources().getString(R.string.rtk_config_model,rtkConfig.getModel()));
+ tv_imei.setText(getResources().getString(R.string.rtk_config_imei,rtkConfig.getImei()));
+ tv_reg.setText(getResources().getString(R.string.rtk_register_status,rtkConfig.getRegistered()));
+
}
});
+
+
+ RTKConnAndLoginViewModel rtkConnAndLoginViewModel = ViewModelProviders.of(this).get(RTKConnAndLoginViewModel.class);
+ rtkConnAndLoginViewModel.getRtkConnAndLogin().observe(this, new Observer<RTKConnAndLogin>() {
+ @Override
+ public void onChanged(RTKConnAndLogin rtkConnAndLogin) {
+ MyLog.i(TAG,"骞冲彴鐧诲綍缁撴灉鍙婅繛鎺ョ姸鎬�"+rtkConnAndLogin.toString());
+ tv_connect.setText(getResources().getString(R.string.rtk_connect_status,rtkConnAndLogin.getConnect_status()));
+ tv_connect.setText(getResources().getString(R.string.rtk_config_login,rtkConnAndLogin.getLogin_code()));
+ }
+ });
+
return view;
}
@@ -67,6 +94,13 @@
et_city_province = view.findViewById(R.id.et_provice_id);
et_phone = view.findViewById(R.id.et_phone);
et_port = view.findViewById(R.id.rtk_addr_port);
+
+ tv_connect = view.findViewById(R.id.tv_rtk_connect);//RTK骞冲彴杩炴帴鐘舵��
+ tv_imei = view.findViewById(R.id.tv_rtk_imei);
+ tv_login = view.findViewById(R.id.tv_rtk_login);//RTK骞冲彴鐧诲綍缁撴灉
+ tv_model = view.findViewById(R.id.tv_rtk_model);
+ tv_reg = view.findViewById(R.id.tv_rtk_reg);//RTK骞冲彴娉ㄥ唽鐘舵��
+ tv_sn = view.findViewById(R.id.tv_rtk_sn);
}
@Override
@@ -84,4 +118,17 @@
break;
}
}
+
+
+
+ @Override
+ public void onAttach(Context context) {
+ super.onAttach(context);
+
+ }
+
+ @Override
+ public void onDetach() {
+ super.onDetach();
+ }
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
index 127c355..e51a495 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -119,7 +119,7 @@
private void sendRTKConfig2RemoteService() {
MyLog.d(TAG,"涓诲姩鎺ㄩ�丷TKConfig");
- CEventCenter.dispatchEvent(Constant.BIND_RTKCONFIG_TOPIC,Constant.PUSH_RTK_PLATFORM_INFO,0,"");
+ CEventCenter.dispatchEvent(Constant.BIND_RTKCONFIG_TOPIC,Constant.FETCH_RTK_PLATFORM_INFO,0,"");
}
@Override
diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLogin.java b/app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLogin.java
new file mode 100644
index 0000000..b80d107
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLogin.java
@@ -0,0 +1,32 @@
+package safeluck.drive.evaluation.viewmodels;
+
+import androidx.annotation.NonNull;
+
+public class RTKConnAndLogin {
+ private int login_code = 1;//RTK骞冲彴鐧诲綍缁撴灉 0-鎴愬姛 鍏朵粬澶辫触
+ private int connect_status;//RTK骞冲彴杩炴帴鐘舵��
+
+ public int getLogin_code() {
+ return login_code;
+ }
+
+ public void setLogin_code(int login_code) {
+ this.login_code = login_code;
+ }
+
+ public int getConnect_status() {
+ return connect_status;
+ }
+
+ public void setConnect_status(int connect_status) {
+ this.connect_status = connect_status;
+ }
+
+ @Override
+ public String toString() {
+ return "RTKConnAndLogin{" +
+ "login_code=" + login_code +
+ ", connect_status=" + connect_status +
+ '}';
+ }
+}
diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLoginViewModel.java b/app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLoginViewModel.java
new file mode 100644
index 0000000..5604021
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/RTKConnAndLoginViewModel.java
@@ -0,0 +1,15 @@
+package safeluck.drive.evaluation.viewmodels;
+
+import androidx.lifecycle.MutableLiveData;
+import androidx.lifecycle.ViewModel;
+
+public class RTKConnAndLoginViewModel extends ViewModel {
+ private MutableLiveData<RTKConnAndLogin> rtkConnAndLogin;
+
+ public MutableLiveData<RTKConnAndLogin> getRtkConnAndLogin(){
+ if (rtkConnAndLogin == null){
+ rtkConnAndLogin = new MutableLiveData<>();
+ }
+ return rtkConnAndLogin;
+ }
+}
diff --git a/app/src/main/res/layout/layout_rtk_setting.xml b/app/src/main/res/layout/layout_rtk_setting.xml
index 7be4603..83faf92 100644
--- a/app/src/main/res/layout/layout_rtk_setting.xml
+++ b/app/src/main/res/layout/layout_rtk_setting.xml
@@ -98,6 +98,73 @@
android:layout_marginBottom="10dp"
android:background="@color/colorAccent"
/>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+ <TextView
+ android:textColor="@android:color/black"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:id="@+id/tv_rtk_reg"
+ android:text="@string/rtk_register_status"
+ android:layout_weight="1"/>
+ <TextView
+ android:textColor="@android:color/black"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:id="@+id/tv_rtk_connect"
+ android:text="@string/rtk_connect_status"
+ android:layout_weight="1"/>
+ <TextView
+ android:textColor="@android:color/black"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:id="@+id/tv_rtk_imei"
+ android:text="@string/rtk_config_imei"
+ android:layout_weight="1"/>
+
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1px"
+ android:layout_marginTop="10dp"
+ android:layout_marginBottom="10dp"
+ android:background="@color/colorAccent"
+ />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+ <TextView
+ android:textColor="@android:color/black"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:id="@+id/tv_rtk_login"
+ android:text="@string/rtk_config_login"
+ android:layout_weight="1"/> <TextView
+ android:textColor="@android:color/black"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:id="@+id/tv_rtk_model"
+ android:text="@string/rtk_config_model"
+ android:layout_weight="1"/>
+ <TextView
+ android:textColor="@android:color/black"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:id="@+id/tv_rtk_sn"
+ android:text="@string/rtk_config_sn"
+ android:layout_weight="1"/>
+
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1px"
+ android:layout_marginTop="10dp"
+ android:layout_marginBottom="10dp"
+ android:background="@color/colorAccent"
+ />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 47b5726..6865919 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -18,4 +18,10 @@
<string name="request_permission">This sample needs camera permission.</string>
<string name="camera_error">This device doesn\'t support Camera2 API.</string>
<string name="rtk_addr_des">RTK骞冲彴鍦板潃锛�</string>
+ <string name="rtk_register_status">RTK娉ㄥ唽鐘舵�侊細%1$d</string>
+ <string name="rtk_config_imei">IMEI:%1$s</string>
+ <string name="rtk_config_model">Model:%1$s</string>
+ <string name="rtk_config_sn">SN:%1$s</string>
+ <string name="rtk_connect_status">RTK杩炴帴鐘舵�侊細%1$d</string>
+ <string name="rtk_config_login">RTK鐧诲綍缁撴灉锛�%1$d</string>
</resources>
--
Gitblit v1.8.0