Browse Source

增加进入系统设置按钮,增加启动三代系统app按钮

weizhengliang 2 năm trước cách đây
mục cha
commit
3749034e7b

+ 19 - 3
app/src/main/java/com/wdkl/callingdoor/ui/CallingDoorActivity.java

@@ -28,6 +28,7 @@ import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import com.google.gson.Gson;
 import com.vvsip.ansip.IVvsipServiceListener;
@@ -1982,7 +1983,7 @@ public class CallingDoorActivity extends BaseActivity implements SerialPortUtil.
     @OnClick(R.id.activity_calling_door_layout_imageView_logo)
     public void clickLogoView(View view) {
         getAllData();
-        showDialog(CallingDoorActivity.this, "温馨提示", StringUtils.getAllVersionName(), "取消", "确定", "查询异常日志");
+        showDialog(CallingDoorActivity.this, "温馨提示", StringUtils.getAllVersionName(), "取消", "启动新app", "进入设置");
     }
 
     @OnLongClick(R.id.activity_calling_door_layout_imageView_logo)
@@ -2010,10 +2011,25 @@ public class CallingDoorActivity extends BaseActivity implements SerialPortUtil.
     }
 
     @Override
+    public void onClickButtonTwo() {
+        Intent intent = AutoRebootUtil.getNewAppIntent(MyApplication.getAppContext());
+        if (intent != null) {
+            Toast.makeText(CallingDoorActivity.this, "新V3系统app已安装,即将启动...", Toast.LENGTH_SHORT).show();
+            startActivity(intent);
+        } else {
+            Toast.makeText(CallingDoorActivity.this, "新V3系统app未安装,请先安装新系统app...", Toast.LENGTH_SHORT).show();
+        }
+
+        super.onClickButtonTwo();
+    }
+
+    @Override
     public void onClickButtonThree() {
+        startActivity(new Intent(Settings.ACTION_SETTINGS));
+
         super.onClickButtonThree();
 
-        View dialogView = View.inflate(context, R.layout.dialog_error_log, null);
+        /*View dialogView = View.inflate(context, R.layout.dialog_error_log, null);
         final EditText pwd = dialogView.findViewById(R.id.edit_password);
         AlertDialog.Builder builder = new AlertDialog.Builder(context);
         builder.setTitle("查询异常日志");
@@ -2036,7 +2052,7 @@ public class CallingDoorActivity extends BaseActivity implements SerialPortUtil.
 
         AlertDialog pwdDialog = builder.create();
         pwdDialog.setView(dialogView);
-        pwdDialog.show();
+        pwdDialog.show();*/
     }
 
     /**

+ 18 - 0
app/src/main/java/com/wdkl/callingdoor/ui/InitActivity.java

@@ -647,6 +647,24 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.IForBro
                     Toast.makeText(InitActivity.this, "发送注册信息: " + str, Toast.LENGTH_SHORT).show();
                 }
             });
+
+            Button btnNewApp = dialogView.findViewById(R.id.btn_new_app);
+            btnNewApp.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    Intent intent = AutoRebootUtil.getNewAppIntent(MyApplication.getAppContext());
+                    if (intent != null) {
+                        Toast.makeText(InitActivity.this, "新V3系统app已安装,即将启动...", Toast.LENGTH_SHORT).show();
+                        startActivity(intent);
+                    } else {
+                        Toast.makeText(InitActivity.this, "新V3系统app未安装,请先安装新系统app...", Toast.LENGTH_SHORT).show();
+                    }
+
+                    if (testDialog != null) {
+                        testDialog.dismiss();
+                    }
+                }
+            });
             testDialog.setView(dialogView);
         }
 

+ 26 - 0
app/src/main/java/com/wdkl/callingdoor/util/AutoRebootUtil.java

@@ -1,13 +1,17 @@
 package com.wdkl.callingdoor.util;
 
+import android.content.ActivityNotFoundException;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
 import android.os.SystemProperties;
 import android.util.Log;
 
 import com.wdkl.callingdoor.MyApplication;
 
 import java.util.Calendar;
+import java.util.List;
 
 import serialporttest.utils.SerialPortUtil;
 
@@ -188,4 +192,26 @@ public class AutoRebootUtil {
             return "网络自检启动:系统将在" + countDownMinute + "分钟后重新启动";
         } else return "";
     }
+
+
+    public static Intent getNewAppIntent(Context context) {
+        Intent intent = null;
+        try {
+            String newAppName = "com.wdkl.app.ncs.callingdoor";
+            List<PackageInfo> packageInfos = context.getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES |
+                    PackageManager.GET_SERVICES);
+            for (PackageInfo info : packageInfos) {
+                String pkg = info.packageName;
+                if (newAppName.equals(pkg)) {
+                    intent = context.getPackageManager().getLaunchIntentForPackage(pkg);
+                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                    return intent;
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return intent;
+    }
 }

+ 13 - 1
app/src/main/java/com/wdkl/callingdoor/widget/loading/VaryViewHelperController.java

@@ -1,7 +1,9 @@
 package com.wdkl.callingdoor.widget.loading;
 
 
+import android.content.Intent;
 import android.graphics.drawable.AnimationDrawable;
+import android.provider.Settings;
 import android.text.TextUtils;
 import android.view.View;
 import android.widget.Button;
@@ -17,7 +19,7 @@ import com.wdkl.callingdoor.util.UdpSendUtil;
 import serialporttest.utils.SerialPortUtil;
 
 
-public class VaryViewHelperController implements View.OnClickListener {
+public class VaryViewHelperController implements View.OnClickListener, View.OnLongClickListener {
 
     private IVaryViewHelper helper;
 
@@ -45,6 +47,7 @@ public class VaryViewHelperController implements View.OnClickListener {
         }
         helper.showLayout(layout);
         layout.setOnClickListener(this);
+        layout.setOnLongClickListener(this);
     }
 
     public void showNetworkError(View.OnClickListener onClickListener, String str, View.OnClickListener onClickListenerTest) {
@@ -61,6 +64,7 @@ public class VaryViewHelperController implements View.OnClickListener {
         }
         helper.showLayout(layout);
         layout.setOnClickListener(this);
+        layout.setOnLongClickListener(this);
     }
 
     public void showEmpty(String emptyMsg) {
@@ -71,12 +75,14 @@ public class VaryViewHelperController implements View.OnClickListener {
         }
         helper.showLayout(layout);
         layout.setOnClickListener(this);
+        layout.setOnLongClickListener(this);
     }
 
     public void showLoading() {
         layout = helper.inflate(R.layout.view_loading_loading);
         helper.showLayout(layout);
         layout.setOnClickListener(this);
+        layout.setOnLongClickListener(this);
     }
 
     public void restore() {
@@ -90,4 +96,10 @@ public class VaryViewHelperController implements View.OnClickListener {
         UdpSendUtil.sendOpenSerial(str);
         Toast.makeText(MyApplication.getAppContext(), "发送注册信息", Toast.LENGTH_SHORT).show();*/
     }
+
+    @Override
+    public boolean onLongClick(View view) {
+        MyApplication.getAppContext().startActivity(new Intent(Settings.ACTION_SETTINGS));
+        return true;
+    }
 }

+ 7 - 0
app/src/main/res/layout/dialog_test.xml

@@ -26,4 +26,11 @@
         android:layout_marginLeft="20dp"
         android:layout_weight="1"
         android:text="设备注册"/>
+    <Button
+        android:id="@+id/btn_new_app"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="20dp"
+        android:layout_weight="1"
+        android:text="启动新版本"/>
 </LinearLayout>