Browse Source

解决webview activity崩溃问题,部分ui优化,解决libc库冲突导致sip通话失败问题等

weizhengliang 1 year ago
parent
commit
b919375c8e
21 changed files with 375 additions and 296 deletions
  1. 6 7
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/CallingHostActivationActivity.kt
  2. 7 0
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHomeActivity.kt
  3. 0 0
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/RegisterActivity.kt.bak
  4. 7 6
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/WebviewActivity.kt
  5. 0 3
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/adapter/DeviceMenuapter.kt
  6. 1 1
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/di/NurseHomeComponent.kt
  7. 14 0
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dialog/Network2DialogHelper.java
  8. 16 1
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dialog/ServicesDialogHelper.java
  9. 16 6
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dialog/SystemDialogHelper.java
  10. 2 2
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/util/AppUpdateHelper.java
  11. 14 0
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/util/AppUtil.java
  12. 2 2
      android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/util/XCrashUtils.java
  13. 1 1
      android_host/src/main/res/layout/callinghost_activation.xml
  14. 3 4
      android_host/src/main/res/layout/item_icon_lay.xml
  15. 143 130
      android_host/src/main/res/layout/main_network_two_dialog.xml
  16. 69 65
      android_host/src/main/res/layout/main_password_dialog.xml
  17. 71 67
      android_host/src/main/res/layout/main_server_dialog.xml
  18. 1 1
      app/build.gradle
  19. 1 0
      app/src/main/AndroidManifest.xml
  20. 1 0
      app/src/main/sharedUserId/AndroidManifest.xml
  21. BIN
      gstream/libs/armeabi-v7a/libc++_shared.so

+ 6 - 7
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/CallingHostActivationActivity.kt

@@ -113,7 +113,8 @@ class CallingHostActivationActivity  : BaseActivity<DevicePresenter, Callinghost
         //设备重启
         activation_settings_button.setOnClickListener {
             HardWareFactroy.getHardTools().toggleStatusBar(activity,true)
-            RebootDialogHelper.showDialog(activity)
+            //RebootDialogHelper.showDialog(activity)
+            AppUpdateHelper.restartApp(activity)
         }
         //系统设置
         activation_system_button.setOnClickListener {
@@ -141,9 +142,7 @@ class CallingHostActivationActivity  : BaseActivity<DevicePresenter, Callinghost
     }
 
     private fun showUI(){
-        //设置二维码
-        setQrcode()
-        val isActivation = SPUtils.get(this, Constant.APP_ACTIVATION, "");
+        val isActivation = SPUtils.get(this, Constant.APP_ACTIVATION, "")
         if (isActivation.equals("已激活")){
             activation_title.setText("系统连接失败")
             activation_title.setTextColor(resources.getColor(R.color.red_color))
@@ -172,6 +171,9 @@ class CallingHostActivationActivity  : BaseActivity<DevicePresenter, Callinghost
         activation_zcm.text=  Constant.DEVICE_REGISTER_ID
         val buildUrl = UrlManager.build()
         activation_fuq.text=   buildUrl.buyer.substringAfterLast("//").substringBefore(":")
+
+        //设置二维码
+        setQrcode()
     }
 
      fun setfuq(){
@@ -329,9 +331,6 @@ class CallingHostActivationActivity  : BaseActivity<DevicePresenter, Callinghost
          if (data.hospitalId != null) {
              Constant.hospital_id = data.hospitalId
          }
-         if (data.sipIp != null) {
-             Constant.sip_ip = data.sipIp
-         }
 
          Constant.DEVICE_CODE = data.code
          Constant.DEVICE_MODEL =  data.model

+ 7 - 0
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHomeActivity.kt

@@ -638,6 +638,13 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter,ActivityNewNu
         Constant.TCP_PORT = data.tcpPort
         Constant.reader_idle_time = data.tcpIdleSeconds
 
+        if (data.sipIp != null) {
+            Constant.sip_ip = data.sipIp
+        }
+        if (data.sipPort != null) {
+            Constant.sip_port = data.sipPort
+        }
+
         JanusConstant.JANUS_URL = "ws://" + data.rtcLocalIp + ":" + data.rtcPort
         JanusConstant.STUN_SERVER = arrayOf<String>(data.stunServer)
         //JanusConstant.TURN_SERVER = data.turnServer

android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/RegisterActivity.kt → android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/RegisterActivity.kt.bak


+ 7 - 6
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/WebviewActivity.kt

@@ -28,6 +28,13 @@ import org.greenrobot.eventbus.ThreadMode
 class WebviewActivity :BaseActivity<BedWebviewActivityPresenter, WebciewLayBinding>(), BedWebViewActivityContract.View{
     private val TAG = "WebviewActivity"
     override fun getLayId(): Int {
+        // 解决共用system uid时报
+        // Caused by: java.lang.UnsupportedOperationException: For security reasons, WebView is not allowed in privileged processes 错误
+        val uid = android.os.Process.myUid()
+        if (uid == android.os.Process.ROOT_UID || uid == android.os.Process.SYSTEM_UID) {
+            hookWebView()
+        }
+
         return R.layout.webciew_lay
     }
 
@@ -44,23 +51,17 @@ class WebviewActivity :BaseActivity<BedWebviewActivityPresenter, WebciewLayBindi
         }
         val url = intent.getStringExtra("url") ?: ""
         val key = intent.getStringExtra("key") ?: ""
-//        // 输出结果
-//        showMessage(url+key)
 
         if (url!=null && key!=null){
             val result = key.replace("&amp;", "&")
             Log.d(TAG, "更新后的 url_params_temp 值为:"+url+"?"+result)
             webview.loadUrl(url+"?"+result);
         }
-//        webview.loadUrl("https://www.baidu.com/");
-        //带参数
-//        webview.loadDataWithBaseURL(HttpConstant.PATH, content, "text/html", "UTF-8", null);
     }
 
     override fun bindEvent() {
         back_btn.setOnClickListener {
             finish()
-//            push("/callingbed/main")
         }
     }
     override fun onStart() {

+ 0 - 3
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/adapter/DeviceMenuapter.kt

@@ -57,12 +57,9 @@ class DeviceMenuapter : RecyclerView.Adapter<DeviceMenuapter.ViewHolder>{
                     .load( data?.get(position).icon_src)
                     .diskCacheStrategy(DiskCacheStrategy.ALL)
                     .into(holder.imageView)
-        }else{
-            holder.imageView.visibility=View.GONE
         }
         holder.actionView.setOnClickListener {
             onItemClickListener?.onItemClick(holder.itemView, position)
-//            onItemClickListener?.onItemClick(holder.itemView, data?.get(position).id)
         }
     }
 

+ 1 - 1
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/di/NurseHomeComponent.kt

@@ -10,7 +10,7 @@ import dagger.Component
  */
 @Component(dependencies = arrayOf(ApplicationComponent::class))
 interface NurseHomeComponent{
-    fun inject(activity: RegisterActivity)
+    //fun inject(activity: RegisterActivity)
     fun inject(activity: NurseHomeActivity)
     fun inject(activity: FramePartFragment)
     fun inject(activity: BroadcastFragment)

+ 14 - 0
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dialog/Network2DialogHelper.java

@@ -6,10 +6,12 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
+import android.widget.LinearLayout;
 import android.widget.TextView;
 
 
 import com.wdkl.ncs.android.component.nursehome.R;
+import com.wdkl.ncs.android.component.nursehome.util.AppUtil;
 import com.wdkl.ncs.android.component.nursehome.util.NetHelper;
 import com.wdkl.ncs.android.lib.utils.EthernetUtils;
 import com.wdkl.ncs.android.lib.utils.NetParam;
@@ -29,6 +31,7 @@ public class Network2DialogHelper {
         View contentView = LayoutInflater.from(activity).inflate(R.layout.main_network_two_dialog, null);
         AlertDialog.Builder builder = new AlertDialog.Builder(activity);
         builder.setView(contentView);
+        LinearLayout layout = contentView.findViewById(R.id.ll_net_config_view);
         EditText network2_ip = contentView.findViewById(R.id.network2_ip);
         EditText network2_wg = contentView.findViewById(R.id.network2_wg);
         EditText network2_ym = contentView.findViewById(R.id.network2_ym);
@@ -38,6 +41,17 @@ public class Network2DialogHelper {
 
         TextView server_determine_button = contentView.findViewById(R.id.server_determine_button);
 
+        layout.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                try {
+                    AppUtil.hideInputKeyboard(alertDialog.getWindow().getDecorView().getWindowToken());
+                } catch (Exception e) {
+                    //
+                }
+            }
+        });
+
         network2_ip.setText(NetHelper.getInstance().getLocalIP());
         NetParam netParam = NetHelper.getNetInfo(activity);
         if (netParam != null) {

+ 16 - 1
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dialog/ServicesDialogHelper.java

@@ -10,9 +10,11 @@ import android.view.Window;
 import android.view.WindowManager;
 import android.widget.Button;
 import android.widget.EditText;
+import android.widget.LinearLayout;
 
 
 import com.wdkl.ncs.android.component.nursehome.R;
+import com.wdkl.ncs.android.component.nursehome.util.AppUtil;
 import com.wdkl.ncs.android.lib.base.BaseApplication;
 import com.wdkl.ncs.android.middleware.model.vo.FrameBedVO;
 import com.wdkl.ncs.android.middleware.utils.CommonUtils;
@@ -23,15 +25,28 @@ public class ServicesDialogHelper {
 
     private static AlertDialog alertDialog;
 
-    public static void showDialog(Activity activity, ClickListener clickListener) {
+    public static void showDialog(final Activity activity, ClickListener clickListener) {
 
         View contentView = LayoutInflater.from(activity).inflate(R.layout.main_server_dialog, null);
         AlertDialog.Builder builder = new AlertDialog.Builder(activity);
         builder.setView(contentView);
 
+        LinearLayout layout = contentView.findViewById(R.id.ll_server_config_view);
         Button server_determine_button = contentView.findViewById(R.id.server_determine_button);
         Button server_cancel_button = contentView.findViewById(R.id.server_cancel_button);
         EditText server_ed = contentView.findViewById(R.id.server_ed);
+
+        layout.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                try {
+                    AppUtil.hideInputKeyboard(alertDialog.getWindow().getDecorView().getWindowToken());
+                } catch (Exception e) {
+                    //
+                }
+            }
+        });
+
         server_determine_button.setOnClickListener(v -> {
             if (alertDialog != null && alertDialog.isShowing()) {
                 if(server_ed.getText().toString().equals("")){

+ 16 - 6
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/dialog/SystemDialogHelper.java

@@ -3,20 +3,17 @@ package com.wdkl.ncs.android.component.nursehome.dialog;
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.content.Intent;
-import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.Window;
-import android.view.WindowManager;
 import android.widget.Button;
 import android.widget.EditText;
+import android.widget.LinearLayout;
 
 
 import com.wdkl.ncs.android.component.nursehome.R;
-import com.wdkl.ncs.android.lib.base.BaseApplication;
-import com.wdkl.ncs.android.middleware.utils.CommonUtils;
+import com.wdkl.ncs.android.component.nursehome.activity.SystemActivity;
+import com.wdkl.ncs.android.component.nursehome.util.AppUtil;
 
-import static com.wdkl.ncs.android.lib.utils.ExtendMethodsKt.push;
 import static com.wdkl.ncs.android.lib.utils.ExtendMethodsKt.showMessage;
 
 public class SystemDialogHelper {
@@ -29,8 +26,21 @@ public class SystemDialogHelper {
         AlertDialog.Builder builder = new AlertDialog.Builder(activity);
         builder.setView(contentView);
 
+        LinearLayout layout = contentView.findViewById(R.id.ll_password_view);
         Button password_cancel_button = contentView.findViewById(R.id.password_cancel_button);
         Button password_determine_button = contentView.findViewById(R.id.password_determine_button);
+
+        layout.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                try {
+                    AppUtil.hideInputKeyboard(alertDialog.getWindow().getDecorView().getWindowToken());
+                } catch (Exception e) {
+                    //
+                }
+            }
+        });
+
         EditText password_ed = contentView.findViewById(R.id.password_ed);
         password_cancel_button.setOnClickListener(v -> {
             if (alertDialog != null && alertDialog.isShowing()) {

+ 2 - 2
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/util/AppUpdateHelper.java

@@ -13,7 +13,7 @@ import android.os.Environment;
 
 import android.util.Log;
 
-import com.wdkl.ncs.android.component.nursehome.activity.RegisterActivity;
+import com.wdkl.ncs.android.component.nursehome.activity.CallingHostActivationActivity;
 import com.wdkl.ncs.android.component.nursehome.service.WdklSipService;
 import com.wdkl.ncs.android.component.nursehome.settingconfig.SettingConfig;
 
@@ -247,7 +247,7 @@ public class AppUpdateHelper {
         }
 
         //重新启动app
-        Intent mStartActivity = new Intent(context.getApplicationContext(), RegisterActivity.class);
+        Intent mStartActivity = new Intent(context.getApplicationContext(), CallingHostActivationActivity.class);
         mStartActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
         int mPendingIntentId = 123456;
         PendingIntent mPendingIntent = PendingIntent.getActivity(context.getApplicationContext(), mPendingIntentId, mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT);

+ 14 - 0
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/util/AppUtil.java

@@ -3,9 +3,12 @@ package com.wdkl.ncs.android.component.nursehome.util;
 import android.app.AlarmManager;
 import android.content.Context;
 import android.hardware.Camera;
+import android.os.IBinder;
 import android.text.TextUtils;
 import android.util.Log;
+import android.view.inputmethod.InputMethodManager;
 
+import com.wdkl.ncs.android.lib.base.BaseApplication;
 import com.wdkl.ncs.android.middleware.common.Constant;
 
 import java.io.DataOutputStream;
@@ -146,4 +149,15 @@ public class AppUtil {
 
         return false;
     }
+
+    //隐藏软键盘
+    public static void hideInputKeyboard(IBinder token) {
+        try {
+            Log.d("keyboard", "hide input keyboard ===== ");
+            InputMethodManager mInputKeyBoard = (InputMethodManager) BaseApplication.appContext.getSystemService(Context.INPUT_METHOD_SERVICE);
+            mInputKeyBoard.hideSoftInputFromWindow(token, 0);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }

+ 2 - 2
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/util/XCrashUtils.java

@@ -8,7 +8,7 @@ import android.content.Intent;
 import android.util.Log;
 
 import com.wdkl.ncs.android.component.nursehome.BuildConfig;
-import com.wdkl.ncs.android.component.nursehome.activity.RegisterActivity;
+import com.wdkl.ncs.android.component.nursehome.activity.CallingHostActivationActivity;
 import com.wdkl.ncs.android.middleware.api.UrlManager;
 
 import org.json.JSONObject;
@@ -224,7 +224,7 @@ public class XCrashUtils {
 
     private void restartApp() {
         //重新启动app
-        Intent mStartActivity = new Intent(app.getApplicationContext(), RegisterActivity.class);
+        Intent mStartActivity = new Intent(app.getApplicationContext(), CallingHostActivationActivity.class);
         mStartActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
         int mPendingIntentId = 123456;
         PendingIntent mPendingIntent = PendingIntent.getActivity(app.getApplicationContext(), mPendingIntentId, mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT);

+ 1 - 1
android_host/src/main/res/layout/callinghost_activation.xml

@@ -234,7 +234,7 @@
                         android:layout_weight="1"
                         android:gravity="center"
                         android:background="@drawable/shape_main_hos_txt_bg"
-                        android:text="设备重启"
+                        android:text="重启"
                         android:textSize="16sp"
                         android:textColor="@drawable/selector_bottom_btn_text_color" />
 

+ 3 - 4
android_host/src/main/res/layout/item_icon_lay.xml

@@ -10,13 +10,12 @@
         android:layout_height="wrap_content"
         android:layout_marginRight="@dimen/d20"
         android:layout_marginTop="@dimen/d20"
-        android:background="@drawable/shape_bed_bg"
-        >
+        android:background="@drawable/shape_bed_bg">
 
         <LinearLayout
             android:id="@+id/ll_menu_bt"
             android:layout_width="320dp"
-            android:layout_height="140dp"
+            android:layout_height="120dp"
             android:clickable="true"
             android:orientation="horizontal"
             android:gravity="center_vertical"
@@ -27,7 +26,7 @@
                 android:layout_width="@dimen/d80"
                 android:layout_height="@dimen/d80"
                 android:layout_marginLeft="@dimen/d34"
-                />
+                android:src="@drawable/ic_device"/>
 
             <TextView
                 android:id="@+id/tx_menu"

+ 143 - 130
android_host/src/main/res/layout/main_network_two_dialog.xml

@@ -6,151 +6,164 @@
     android:background="@android:color/transparent">
 
     <LinearLayout
+        android:id="@+id/ll_net_config_view"
         android:layout_width="481dp"
         android:layout_height="441dp"
+        android:background="@color/white"
         android:gravity="center"
-        android:orientation="vertical"
-        android:background="@color/white">
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="23dp"
-        android:text="请设置静态网络"
-        android:textColor="@color/black"
-        android:textStyle="bold"
-        android:textSize="@dimen/font_size_18"
-        android:gravity="center" />
+        android:orientation="vertical">
 
-    <LinearLayout
-        android:layout_width="@dimen/d383"
-        android:layout_height="@dimen/d52"
-        android:layout_marginTop="@dimen/d24"
-        android:gravity="center_vertical"
-        android:orientation="horizontal">
         <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="IP地址"
-            android:textColor="@color/black"
-            android:textStyle="bold"
-            android:textSize="@dimen/font_size_18" />
-        <EditText
-            android:id="@+id/network2_ip"
             android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginLeft="@dimen/d20"
-            android:background="@drawable/selector_nuser_ed_d"
-            android:hint="请输入IP地址"
-            android:paddingLeft="@dimen/d30"
-            android:textSize="@dimen/font_size_18"
-            android:textStyle="bold" />
-
-    </LinearLayout>
-    <LinearLayout
-        android:layout_width="@dimen/d383"
-        android:layout_height="@dimen/d52"
-        android:layout_marginTop="@dimen/d10"
-        android:gravity="center_vertical"
-        android:orientation="horizontal">
-        <TextView
-            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="网关"
+            android:layout_marginTop="23dp"
+            android:gravity="center"
+            android:text="请设置静态网络"
             android:textColor="@color/black"
-            android:textStyle="bold"
-            android:textSize="@dimen/font_size_18" />
-        <EditText
-            android:id="@+id/network2_wg"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginLeft="@dimen/d35"
-            android:background="@drawable/selector_nuser_ed_d"
-            android:hint="请输入网关"
-            android:paddingLeft="@dimen/d30"
             android:textSize="@dimen/font_size_18"
             android:textStyle="bold" />
 
-    </LinearLayout>
+        <LinearLayout
+            android:layout_width="@dimen/d383"
+            android:layout_height="@dimen/d52"
+            android:layout_marginTop="@dimen/d24"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
 
-    <LinearLayout
-        android:layout_width="@dimen/d383"
-        android:layout_height="@dimen/d52"
-        android:layout_marginTop="@dimen/d10"
-        android:gravity="center_vertical"
-        android:orientation="horizontal">
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="掩码"
-            android:textColor="@color/black"
-            android:textStyle="bold"
-            android:textSize="@dimen/font_size_18" />
-        <EditText
-            android:id="@+id/network2_ym"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginLeft="@dimen/d35"
-            android:background="@drawable/selector_nuser_ed_d"
-            android:hint="请输入掩码"
-            android:paddingLeft="@dimen/d30"
-            android:textSize="@dimen/font_size_18"
-            android:textStyle="bold" />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="IP地址"
+                android:textColor="@color/black"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
 
-    </LinearLayout>
-    <LinearLayout
-        android:layout_width="@dimen/d383"
-        android:layout_height="@dimen/d52"
-        android:layout_marginTop="@dimen/d10"
-        android:gravity="center_vertical"
-        android:orientation="horizontal">
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="DNS"
-            android:textColor="@color/black"
-            android:textStyle="bold"
-            android:textSize="@dimen/font_size_18" />
-        <EditText
-            android:id="@+id/network2_dns"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginLeft="@dimen/d35"
-            android:background="@drawable/selector_nuser_ed_d"
-            android:hint="请输入DNS"
-            android:paddingLeft="@dimen/d30"
-            android:textSize="@dimen/font_size_18"
-            android:textStyle="bold" />
+            <EditText
+                android:id="@+id/network2_ip"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="@dimen/d20"
+                android:background="@drawable/selector_nuser_ed_d"
+                android:hint="请输入IP地址"
+                android:paddingLeft="@dimen/d30"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
 
-    </LinearLayout>
+        </LinearLayout>
 
-    <LinearLayout
-        android:layout_width="@dimen/d383"
-        android:layout_height="@dimen/d52"
-        android:layout_marginTop="@dimen/d24"
-        android:layout_marginBottom="@dimen/d40"
-        android:gravity="center_vertical"
-        android:orientation="horizontal">
-
-        <Button
-            android:id="@+id/network2_cancel_button"
-            android:layout_width="@dimen/d176"
-            android:layout_height="@dimen/d48"
-            android:gravity="center"
-            android:background="@drawable/shape_password_bt_bg"
-            android:text="关闭"
-            android:textSize="16sp"
-            android:textColor="@drawable/selector_bottom_btn_text_color"/>
-        <Button
-            android:id="@+id/network2_determine_button"
-            android:layout_width="@dimen/d176"
-            android:layout_height="@dimen/d48"
-            android:gravity="center"
-            android:background="@drawable/shape_main_hos_txt_bg"
-            android:text="确定"
-            android:textSize="16sp"
-            android:layout_marginLeft="@dimen/d31"
-            android:textColor="@drawable/selector_bottom_btn_text_color"/>
-    </LinearLayout>
+        <LinearLayout
+            android:layout_width="@dimen/d383"
+            android:layout_height="@dimen/d52"
+            android:layout_marginTop="@dimen/d10"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="网关"
+                android:textColor="@color/black"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
+
+            <EditText
+                android:id="@+id/network2_wg"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="@dimen/d35"
+                android:background="@drawable/selector_nuser_ed_d"
+                android:hint="请输入网关"
+                android:paddingLeft="@dimen/d30"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="@dimen/d383"
+            android:layout_height="@dimen/d52"
+            android:layout_marginTop="@dimen/d10"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="掩码"
+                android:textColor="@color/black"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
+
+            <EditText
+                android:id="@+id/network2_ym"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="@dimen/d35"
+                android:background="@drawable/selector_nuser_ed_d"
+                android:hint="请输入掩码"
+                android:paddingLeft="@dimen/d30"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="@dimen/d383"
+            android:layout_height="@dimen/d52"
+            android:layout_marginTop="@dimen/d10"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="DNS"
+                android:textColor="@color/black"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
+
+            <EditText
+                android:id="@+id/network2_dns"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="@dimen/d35"
+                android:background="@drawable/selector_nuser_ed_d"
+                android:hint="请输入DNS"
+                android:paddingLeft="@dimen/d30"
+                android:textSize="@dimen/font_size_18"
+                android:textStyle="bold" />
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="@dimen/d383"
+            android:layout_height="@dimen/d52"
+            android:layout_marginTop="@dimen/d24"
+            android:layout_marginBottom="@dimen/d40"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <Button
+                android:id="@+id/network2_cancel_button"
+                android:layout_width="@dimen/d176"
+                android:layout_height="@dimen/d48"
+                android:background="@drawable/shape_password_bt_bg"
+                android:gravity="center"
+                android:text="关闭"
+                android:textColor="@drawable/selector_bottom_btn_text_color"
+                android:textSize="16sp" />
+
+            <Button
+                android:id="@+id/network2_determine_button"
+                android:layout_width="@dimen/d176"
+                android:layout_height="@dimen/d48"
+                android:layout_marginLeft="@dimen/d31"
+                android:background="@drawable/shape_main_hos_txt_bg"
+                android:gravity="center"
+                android:text="确定"
+                android:textColor="@drawable/selector_bottom_btn_text_color"
+                android:textSize="16sp" />
+        </LinearLayout>
     </LinearLayout>
 
 </LinearLayout>

+ 69 - 65
android_host/src/main/res/layout/main_password_dialog.xml

@@ -6,78 +6,82 @@
     android:background="@android:color/transparent">
 
     <LinearLayout
+        android:id="@+id/ll_password_view"
         android:layout_width="481dp"
         android:layout_height="441dp"
-        android:gravity="center"
-        android:orientation="vertical"
         android:background="@color/white"
-        >
-    <ImageView
-        android:layout_width="@dimen/d88"
-        android:layout_height="@dimen/d88"
-        android:src="@mipmap/hedimg"
-        android:layout_marginTop="@dimen/d32" />
+        android:gravity="center"
+        android:orientation="vertical">
 
-    <TextView
-        android:id="@+id/positioning_tip_text"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="20dp"
-        android:text="请输入管理员密码"
-        android:textColor="@color/black"
-        android:textStyle="bold"
-        android:textSize="@dimen/font_size_18"
-        android:gravity="center" />
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="@dimen/d7"
-        android:text="查看设备信息需管理权限"
-        android:textColor="#7D7D7D"
-        android:textSize="@dimen/font_size_18"
-        android:gravity="center" />
+        <ImageView
+            android:layout_width="@dimen/d88"
+            android:layout_height="@dimen/d88"
+            android:layout_marginTop="@dimen/d32"
+            android:src="@mipmap/hedimg" />
 
-    <EditText
-        android:id="@+id/password_ed"
-        android:layout_width="@dimen/d383"
-        android:layout_height="@dimen/d52"
-        android:hint="请输入管理密码"
-        android:paddingLeft="@dimen/d26"
-        android:textSize="@dimen/font_size_18"
-        android:gravity="center_vertical"
-        android:layout_below="@+id/nurse_msg_tx_1"
-        android:inputType="number"
-        android:textStyle="bold"
-        android:background="@drawable/shape_n_login_ed_bg2"
-        android:layout_marginTop="@dimen/d16" />
-    <LinearLayout
-        android:layout_width="@dimen/d383"
-        android:layout_height="@dimen/d52"
-        android:layout_marginTop="@dimen/d24"
-        android:layout_marginBottom="@dimen/d32"
-        android:gravity="center_vertical"
-        android:orientation="horizontal">
-
-        <Button
-            android:id="@+id/password_cancel_button"
-            android:layout_width="@dimen/d176"
-            android:layout_height="@dimen/d48"
+        <TextView
+            android:id="@+id/positioning_tip_text"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
             android:gravity="center"
-            android:background="@drawable/shape_password_bt_bg"
-            android:text="关闭"
-            android:textSize="16sp"
-            android:textColor="@drawable/selector_bottom_btn_text_color"/>
-        <Button
-            android:id="@+id/password_determine_button"
-            android:layout_width="@dimen/d176"
-            android:layout_height="@dimen/d48"
+            android:text="请输入管理员密码"
+            android:textColor="@color/black"
+            android:textSize="@dimen/font_size_18"
+            android:textStyle="bold" />
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d7"
             android:gravity="center"
-            android:background="@drawable/shape_main_hos_txt_bg"
-            android:text="确定"
-            android:textSize="16sp"
-            android:layout_marginLeft="@dimen/d31"
-            android:textColor="@drawable/selector_bottom_btn_text_color"/>
-    </LinearLayout>
+            android:text="查看设备信息需管理权限"
+            android:textColor="#7D7D7D"
+            android:textSize="@dimen/font_size_18" />
+
+        <EditText
+            android:id="@+id/password_ed"
+            android:layout_width="@dimen/d383"
+            android:layout_height="@dimen/d52"
+            android:layout_below="@+id/nurse_msg_tx_1"
+            android:layout_marginTop="@dimen/d16"
+            android:background="@drawable/shape_n_login_ed_bg2"
+            android:gravity="center_vertical"
+            android:hint="请输入管理密码"
+            android:inputType="number"
+            android:paddingLeft="@dimen/d26"
+            android:textSize="@dimen/font_size_18"
+            android:textStyle="bold" />
+
+        <LinearLayout
+            android:layout_width="@dimen/d383"
+            android:layout_height="@dimen/d52"
+            android:layout_marginTop="@dimen/d24"
+            android:layout_marginBottom="@dimen/d32"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <Button
+                android:id="@+id/password_cancel_button"
+                android:layout_width="@dimen/d176"
+                android:layout_height="@dimen/d48"
+                android:background="@drawable/shape_password_bt_bg"
+                android:gravity="center"
+                android:text="关闭"
+                android:textColor="@drawable/selector_bottom_btn_text_color"
+                android:textSize="16sp" />
+
+            <Button
+                android:id="@+id/password_determine_button"
+                android:layout_width="@dimen/d176"
+                android:layout_height="@dimen/d48"
+                android:layout_marginLeft="@dimen/d31"
+                android:background="@drawable/shape_main_hos_txt_bg"
+                android:gravity="center"
+                android:text="确定"
+                android:textColor="@drawable/selector_bottom_btn_text_color"
+                android:textSize="16sp" />
+        </LinearLayout>
 
     </LinearLayout>
 </LinearLayout>

+ 71 - 67
android_host/src/main/res/layout/main_server_dialog.xml

@@ -4,81 +4,85 @@
     android:layout_height="match_parent"
     android:gravity="center"
     android:background="@android:color/transparent">
+
     <LinearLayout
+        android:id="@+id/ll_server_config_view"
         android:layout_width="481dp"
         android:layout_height="441dp"
-        android:gravity="center"
-        android:orientation="vertical"
         android:background="@color/white"
-        >
-    <ImageView
-        android:layout_width="@dimen/d88"
-        android:layout_height="@dimen/d88"
-        android:src="@mipmap/hedimg"
-        android:layout_marginTop="@dimen/d42" />
-
-    <TextView
-        android:id="@+id/positioning_tip_text"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="20dp"
-        android:text="请设置服务器地址"
-        android:textColor="@color/black"
-        android:textStyle="bold"
-        android:textSize="@dimen/font_size_18"
-        android:gravity="center" />
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="@dimen/d6"
-        android:text="只可输入数字和小数点"
-        android:textColor="#7D7D7D"
-        android:textSize="@dimen/font_size_18"
-        android:gravity="center" />
-
-    <EditText
-        android:id="@+id/server_ed"
-        android:layout_width="@dimen/d375"
-        android:layout_height="@dimen/d52"
-        android:hint="请输入服务器地址"
-        android:paddingLeft="@dimen/d26"
-        android:textSize="@dimen/font_size_18"
-        android:gravity="center_vertical"
-        android:layout_below="@+id/nurse_msg_tx_1"
-        android:textStyle="bold"
-        android:digits="1234567890."
-        android:background="@drawable/shape_n_login_ed_bg2"
-        android:layout_marginTop="@dimen/d22"
-        />
-    <LinearLayout
-        android:layout_width="@dimen/d383"
-        android:layout_height="@dimen/d52"
-        android:layout_marginTop="@dimen/d30"
-        android:layout_marginBottom="@dimen/d88"
-        android:gravity="center_vertical"
-        android:orientation="horizontal">
+        android:gravity="center"
+        android:orientation="vertical">
 
-        <Button
+        <ImageView
+            android:layout_width="@dimen/d88"
+            android:layout_height="@dimen/d88"
+            android:layout_marginTop="@dimen/d42"
+            android:src="@mipmap/hedimg" />
 
-            android:id="@+id/server_determine_button"
-            android:layout_width="@dimen/d176"
-            android:layout_height="@dimen/d48"
+        <TextView
+            android:id="@+id/positioning_tip_text"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
             android:gravity="center"
-            android:background="@drawable/shape_main_hos_txt_bg"
-            android:text="确定"
-            android:textSize="16sp"
-            android:textColor="@drawable/selector_bottom_btn_text_color"/>
-        <Button
-            android:id="@+id/server_cancel_button"
-            android:layout_width="@dimen/d176"
-            android:layout_height="@dimen/d48"
+            android:text="请设置服务器地址"
+            android:textColor="@color/black"
+            android:textSize="@dimen/font_size_18"
+            android:textStyle="bold" />
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d6"
             android:gravity="center"
-            android:background="@drawable/shape_main_hos_txt_bg"
-            android:text="重置"
-            android:textSize="16sp"
-            android:layout_marginLeft="@dimen/d31"
-            android:textColor="@drawable/selector_bottom_btn_text_color"/>
-    </LinearLayout>
+            android:text="只可输入数字和小数点"
+            android:textColor="#7D7D7D"
+            android:textSize="@dimen/font_size_18" />
+
+        <EditText
+            android:id="@+id/server_ed"
+            android:layout_width="@dimen/d375"
+            android:layout_height="@dimen/d52"
+            android:layout_below="@+id/nurse_msg_tx_1"
+            android:layout_marginTop="@dimen/d22"
+            android:background="@drawable/shape_n_login_ed_bg2"
+            android:digits="1234567890."
+            android:gravity="center_vertical"
+            android:hint="请输入服务器地址"
+            android:paddingLeft="@dimen/d26"
+            android:textSize="@dimen/font_size_18"
+            android:textStyle="bold" />
+
+        <LinearLayout
+            android:layout_width="@dimen/d383"
+            android:layout_height="@dimen/d52"
+            android:layout_marginTop="@dimen/d30"
+            android:layout_marginBottom="@dimen/d88"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <Button
+
+                android:id="@+id/server_determine_button"
+                android:layout_width="@dimen/d176"
+                android:layout_height="@dimen/d48"
+                android:background="@drawable/shape_main_hos_txt_bg"
+                android:gravity="center"
+                android:text="确定"
+                android:textColor="@drawable/selector_bottom_btn_text_color"
+                android:textSize="16sp" />
+
+            <Button
+                android:id="@+id/server_cancel_button"
+                android:layout_width="@dimen/d176"
+                android:layout_height="@dimen/d48"
+                android:layout_marginLeft="@dimen/d31"
+                android:background="@drawable/shape_main_hos_txt_bg"
+                android:gravity="center"
+                android:text="重置"
+                android:textColor="@drawable/selector_bottom_btn_text_color"
+                android:textSize="16sp" />
+        </LinearLayout>
 
     </LinearLayout>
 </LinearLayout>

+ 1 - 1
app/build.gradle

@@ -41,7 +41,7 @@ android {
         targetSdkVersion target_sdk_version
         versionCode app_version_code
         versionName app_version
-
+        multiDexEnabled true
 
         flavorDimensions "app"
         dataBinding {

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -30,6 +30,7 @@
         android:icon="@drawable/ic_launch_48"
         android:label="@string/wdkl_app_name"
         android:supportsRtl="true"
+        android:extractNativeLibs="true"
         tools:replace="android:label"
         tools:remove="android:requestLegacyExternalStorage"
         android:networkSecurityConfig="@xml/network_security_config"

+ 1 - 0
app/src/main/sharedUserId/AndroidManifest.xml

@@ -30,6 +30,7 @@
         android:icon="@drawable/ic_launch_48"
         android:label="@string/wdkl_app_name"
         android:supportsRtl="true"
+        android:extractNativeLibs="true"
         tools:replace="android:label"
         tools:remove="android:requestLegacyExternalStorage"
         android:networkSecurityConfig="@xml/network_security_config"

BIN
gstream/libs/armeabi-v7a/libc++_shared.so