Explorar el Código

中兴8寸主机增加是否同步NTP服务器时间开关

weizhengliang hace 2 años
padre
commit
6406dbe66c

+ 17 - 3
android_host_manager/src/main/zk_h10_wke_1h/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHomeActivity.kt

@@ -280,6 +280,14 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
 
         //检查服务器地址接口是否可用,可用则进入下一步获取设备信息,不可用则稍后再次尝试
         checkServer()
+
+        Thread {
+            if (SettingConfig.getSyncNtpTime(activity)) {
+                AppUtil.setAutoSyncNtpTime(true)
+            } else {
+                AppUtil.setAutoSyncNtpTime(false)
+            }
+        }.start()
     }
 
     private fun checkServer() {
@@ -1499,11 +1507,11 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
             val date = TimeTransition.getDateTime("yyyy-MM-dd")
             val dayStartTimeStamp = TimeTransition.dateToStamp(date+" "+SettingConfig.getInitialDayTime(activity)+":00")
             //白天结束时间戳
-            var endOfDayTimeStamp = TimeTransition.dateToStamp(date+" "+SettingConfig.getEndOfDay(activity)+":00")
+            val endOfDayTimeStamp = TimeTransition.dateToStamp(date+" "+SettingConfig.getEndOfDay(activity)+":00")
+            val curInday = dayStartTimeStamp < currentTimestamp && currentTimestamp < endOfDayTimeStamp
 
-            Log.e(TAG,"dayStartTimeStamp: " + dayStartTimeStamp + "----endOfDayTimeStamp: " + endOfDayTimeStamp + "----currentTimestamp: " + currentTimestamp)
+            Log.e(TAG, "dayStartTimeStamp: $dayStartTimeStamp----endOfDayTimeStamp: $endOfDayTimeStamp" + "----currentTimestamp: $currentTimestamp==>curInday=$curInday")
 
-            val curInday = dayStartTimeStamp < currentTimestamp && currentTimestamp < endOfDayTimeStamp
             if (curInday) {
                 //当前是白天并且原来不是白天
                 if (Constants.day_state != 0 || forceSet) {
@@ -1926,6 +1934,12 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                     }
                 } else if (tcpModel.type == TcpType.TIME) {
                     if (tcpModel.action == TcpAction.TimeAction.SYNC) {
+                        if ("YUNPAI_H6".equals(Build.MODEL)) {
+                            if (SettingConfig.getSyncNtpTime(activity)) {
+                                return
+                            }
+                        }
+
                         var time = 0L
                         var timeZone="Asia/Shanghai"
                         if (canParseJson(tcpModel.data.toString())) {

+ 12 - 8
android_host_manager/src/main/zk_h10_wke_1h/java/com/wdkl/ncs/android/component/nursehome/fragment/SystemSettingsFragment.kt

@@ -96,11 +96,13 @@ class SystemSettingsFragment:BaseFragment<SystemSettingsPresenter,FragmentSystem
             radio_sos_name_off.isChecked = true
         }
 
-        //是否开启视频通话录制
-        if (SettingConfig.getRecording(activity)) {
-            radio_record_on.isChecked = true
+        if ("YUNPAI_H6".equals(Build.MODEL)) {
+            ll_sync_ntp_time.visibility = View.VISIBLE
+        }
+        if (SettingConfig.getSyncNtpTime(activity)) {
+            radio_sync_ntp_on.isChecked = true
         } else {
-            radio_record_off.isChecked = true
+            radio_sync_ntp_off.isChecked = true
         }
 
         //语音播报次数
@@ -350,11 +352,13 @@ class SystemSettingsFragment:BaseFragment<SystemSettingsPresenter,FragmentSystem
             }
         }
 
-        group_record.setOnCheckedChangeListener { group, checkedId ->
-            if (checkedId == R.id.radio_record_on) {
-                SettingConfig.setRecording(activity, true)
+        group_sync_ntp.setOnCheckedChangeListener { group, checkedId ->
+            if (checkedId == R.id.radio_sync_ntp_on) {
+                SettingConfig.setSyncNtpTime(activity, true)
+                AppUtil.setAutoSyncNtpTime(true)
             } else {
-                SettingConfig.setRecording(activity, false)
+                SettingConfig.setSyncNtpTime(activity, false)
+                AppUtil.setAutoSyncNtpTime(false)
             }
         }
 

+ 10 - 0
android_host_manager/src/main/zk_h10_wke_1h/java/com/wdkl/ncs/android/component/nursehome/settingconfig/SettingConfig.java

@@ -137,6 +137,16 @@ public class SettingConfig {
     private static final String KEY_LANGUAGE_ID = "KEY_LANGUAGE_ID";
     private static final String KEY_LANGUAGE_MODE = "KEY_LANGUAGE_MODE";
 
+    private static final String KEY_SP_SYNC_NTP_TIME = "KEY_SP_SYNC_NTP_TIME";
+
+    public static boolean getSyncNtpTime(Context context) {
+        return getSP(context).getBoolean(KEY_SP_SYNC_NTP_TIME, true);
+    }
+
+    public static void setSyncNtpTime(Context context, boolean enable) {
+        getEditor(context).putBoolean(KEY_SP_SYNC_NTP_TIME, enable).apply();
+    }
+
     public static boolean getRecordEnable(Context context) {
         return getSP(context).getBoolean(KEY_SP_RECORD_ENABLE, false);
     }

+ 19 - 0
android_host_manager/src/main/zk_h10_wke_1h/java/com/wdkl/ncs/android/component/nursehome/util/AppUtil.java

@@ -36,6 +36,25 @@ public class AppUtil {
         }
     }
 
+    public static void setAutoSyncNtpTime(boolean enable) {
+        try {
+            Process process = Runtime.getRuntime().exec("su");
+            if (null == process) return;
+            DataOutputStream os = new DataOutputStream(process.getOutputStream());
+            if (enable) {
+                os.writeBytes("settings put global auto_time_zone 1\n");
+                os.writeBytes("settings put global auto_time 1\n");
+            } else {
+                os.writeBytes("settings put global auto_time_zone 0\n");
+                os.writeBytes("settings put global auto_time 0\n");
+            }
+            os.writeBytes("exit\n");
+            os.flush();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
     public static String changeTimeForm(String t) {
         if (!TextUtils.isEmpty(t) && t.length() >= 15) {
             String yyyy = substringByLengh(t, 0, 4);

+ 5 - 4
android_host_manager/src/main/zk_h10_wke_1h/res/layout/fragment_system_settings.xml

@@ -179,6 +179,7 @@
                     </LinearLayout>
 
                     <LinearLayout
+                        android:id="@+id/ll_sync_ntp_time"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="2dp"
@@ -190,25 +191,25 @@
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:layout_gravity="center_vertical"
-                            android:text="视频通话录制:"
+                            android:text="同步NTP时间:"
                             android:textColor="#000000"
                             android:textSize="14px" />
 
                         <RadioGroup
-                            android:id="@+id/group_record"
+                            android:id="@+id/group_sync_ntp"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:orientation="horizontal">
 
                             <RadioButton
-                                android:id="@+id/radio_record_on"
+                                android:id="@+id/radio_sync_ntp_on"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:text="开启"
                                 android:textSize="14px" />
 
                             <RadioButton
-                                android:id="@+id/radio_record_off"
+                                android:id="@+id/radio_sync_ntp_off"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:text="关闭"