From d3fcef0d3d3b7c6c7380c4343f8d061a2766eee2 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期四, 16 四月 2020 13:06:27 +0800
Subject: [PATCH] http请求等待loading,二维码生成,dialog展示

---
 app/src/main/res/drawable/qrcode.jpg                                            |    0 
 app/src/androidTest/java/safeluck/drive/evaluation/ExampleInstrumentedTest.java |    5 
 app/src/main/res/layout/layout_dialog_loading.xml                               |   40 ++++++++
 app/src/main/res/values/styles.xml                                              |    5 +
 app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java          |    9 +
 app/src/main/res/drawable/dialog_round.xml                                      |    6 +
 app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java        |   84 ++++++++++++++++
 app/src/main/java/safeluck/drive/evaluation/customview/LoadProgressDialog.java  |   73 ++++++++++++++
 app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java  |   25 ++++-
 app/src/main/res/drawable/anim_loading.xml                                      |    7 +
 app/src/main/res/layout/layout_dialog_qrcode.xml                                |   36 +++++++
 app/src/main/res/drawable/icon_loading.png                                      |    0 
 12 files changed, 279 insertions(+), 11 deletions(-)

diff --git a/app/src/androidTest/java/safeluck/drive/evaluation/ExampleInstrumentedTest.java b/app/src/androidTest/java/safeluck/drive/evaluation/ExampleInstrumentedTest.java
index 30135cd..9357019 100644
--- a/app/src/androidTest/java/safeluck/drive/evaluation/ExampleInstrumentedTest.java
+++ b/app/src/androidTest/java/safeluck/drive/evaluation/ExampleInstrumentedTest.java
@@ -1,8 +1,9 @@
 package safeluck.drive.evaluation;
 
 import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/LoadProgressDialog.java b/app/src/main/java/safeluck/drive/evaluation/customview/LoadProgressDialog.java
new file mode 100644
index 0000000..b89fcda
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/customview/LoadProgressDialog.java
@@ -0,0 +1,73 @@
+package safeluck.drive.evaluation.customview;
+
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.DialogFragment;
+
+import safeluck.drive.evaluation.R;
+
+/**
+ * @ProjectName: DriveJudge
+ * @Package: safeluck.drive.evaluation.customview
+ * @ClassName: LoadProgressDialog
+ * @Description: java绫讳綔鐢ㄦ弿杩�
+ * @Author: 鏉庡崰浼�
+ * @CreateDate: 2020-04-16 09:57
+ * @UpdateUser: 鏇存柊鑰�
+ * @UpdateDate: 2020-04-16 09:57
+ * @UpdateRemark: 鏇存柊璇存槑
+ * @Version: 1.0
+ */
+
+public class LoadProgressDialog extends DialogFragment {
+    private String message="姝e湪鍔犺浇...";
+    private boolean canCancel= false;
+    private TextView textView;
+
+    private Handler handler = new Handler(Looper.getMainLooper()){
+        @Override
+        public void handleMessage(Message msg) {
+            super.handleMessage(msg);
+            if (msg.what==1)
+            dismiss();
+        }
+    };
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View view = inflater.inflate(R.layout.layout_dialog_loading,container,false);
+        initView(view);
+        setCancelable(canCancel);
+        Message message = Message.obtain();
+        message.what = 1;
+        handler.sendMessageDelayed(message,10*1000);
+        return view;
+    }
+
+    private void initView(View view) {
+        textView =view.findViewById(R.id.tv_message);
+    }
+
+    public static LoadProgressDialog newInstance(String message){
+        LoadProgressDialog fragment = new LoadProgressDialog();
+        Bundle bundle = new Bundle();
+        bundle.putString("tittle", message);
+        fragment.setArguments(bundle);
+        return fragment;
+    }
+
+    @Override
+    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+        message = getArguments().getString("title");
+        textView.setText(message);
+    }
+}
diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java b/app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java
new file mode 100644
index 0000000..9c6d241
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java
@@ -0,0 +1,84 @@
+package safeluck.drive.evaluation.customview;
+
+import android.app.Dialog;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+
+import java.nio.charset.Charset;
+
+import safeluck.drive.evaluation.R;
+import safeluck.drive.evaluation.util.QRCodeUtil;
+
+/**
+ * @ProjectName: DriveJudge
+ * @Package: safeluck.drive.evaluation.customview
+ * @ClassName: LoadProgressDialog
+ * @Description: java绫讳綔鐢ㄦ弿杩�
+ * @Author: 鏉庡崰浼�
+ * @CreateDate: 2020-04-16 09:57
+ * @UpdateUser: 鏇存柊鑰�
+ * @UpdateDate: 2020-04-16 09:57
+ * @UpdateRemark: 鏇存柊璇存槑
+ * @Version: 1.0
+ */
+
+public class QRCodeDialog extends DialogFragment {
+    private String message="姝e湪鍔犺浇...";
+    private boolean canCancel= true;
+    private ImageView iv_qrCode;
+    private Button btn;
+
+    private Handler handler = new Handler(Looper.getMainLooper()){
+        @Override
+        public void handleMessage(Message msg) {
+            super.handleMessage(msg);
+            if (msg.what==1)
+            dismiss();
+        }
+    };
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View view = inflater.inflate(R.layout.layout_dialog_qrcode,container,false);
+        initView(view);
+        setCancelable(canCancel);
+        Bundle bundle =getArguments();
+        message = bundle.getString("title");
+        Message message = Message.obtain();
+        message.what = 1;
+        handler.sendMessageDelayed(message,15*1000);
+        return view;
+    }
+
+    private void initView(View view) {
+        btn = view.findViewById(R.id.btn_qr_sure);
+        btn.setOnClickListener(v -> {
+            dismiss();
+        });
+    }
+
+
+    public static QRCodeDialog newInstance(String message){
+        QRCodeDialog fragment = new QRCodeDialog();
+        Bundle bundle = new Bundle();
+        bundle.putString("tittle", message);
+        fragment.setArguments(bundle);
+        return fragment;
+    }
+
+
+
+}
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 2fa1dfe..78f59ae 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
@@ -15,6 +15,7 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
 
 
 import com.anyun.exam.lib.AYSdk;
@@ -24,6 +25,7 @@
 import safeluck.drive.evaluation.BuildConfig;
 import safeluck.drive.evaluation.R;
 import safeluck.drive.evaluation.bean.ExamPlatformData;
+import safeluck.drive.evaluation.customview.LoadProgressDialog;
 
 
 /**
@@ -82,6 +84,8 @@
                     }
                 }
 
+
+
                 break;
             case R.id.network_train:
                 if (ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.TRAINING_MODE){
@@ -106,11 +110,8 @@
                     public void onClick(DialogInterface dialog, int which) {
                         _mActivity.finish();
                     }
-                }).setNegativeButton("鍙栨秷", new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
+                }).setNegativeButton("鍙栨秷", (DialogInterface dialog, int which)-> {
                         dialog.dismiss();
-                    }
                 }).show();
 
                 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 e4ee2f4..982c815 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -21,6 +21,7 @@
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.fragment.app.DialogFragment;
 import androidx.lifecycle.Observer;
 import androidx.lifecycle.ViewModelProviders;
 import androidx.work.OneTimeWorkRequest;
@@ -58,11 +59,15 @@
 import safeluck.drive.evaluation.cEventCenter.ICEventListener;
 import safeluck.drive.evaluation.customview.ArrowView;
 import safeluck.drive.evaluation.customview.HouseView;
+import safeluck.drive.evaluation.customview.LoadProgressDialog;
 import safeluck.drive.evaluation.customview.MyDialogFragment;
+import safeluck.drive.evaluation.customview.QRCodeDialog;
+import safeluck.drive.evaluation.httpmodule.RetrofitCreator;
 import safeluck.drive.evaluation.im.MessageProcessor;
 import safeluck.drive.evaluation.platformMessage.JKMessage0201;
 import safeluck.drive.evaluation.platformMessage.JKMessage0202;
 import safeluck.drive.evaluation.platformMessage.JKMessage0204;
+import safeluck.drive.evaluation.platformMessage.PlatFormConstant;
 import safeluck.drive.evaluation.util.Utils;
 import safeluck.drive.evaluation.viewmodels.TimeViewModel;
 
@@ -108,6 +113,8 @@
     public static SupportFragment newInstance() {
         return new NetWorkTrainFragment();
     }
+
+
 
 
     private Handler mHandler = new Handler(new Handler.Callback() {
@@ -586,9 +593,8 @@
 
     }
 
-
+private LoadProgressDialog loadProgressDialog;
 MyDialogFragment myDialogFragment;
-    SimulateNightBean simulateNightBean = null;
     @Override
     public void onClick(View v) {
         switch (v.getId()) {
@@ -642,13 +648,20 @@
 
                 break;
             case R.id.btn_return:
-                _mActivity.onBackPressed();
+//                _mActivity.onBackPressed();
+                QRCodeDialog qrCodeDialog = QRCodeDialog.newInstance("f");
+                qrCodeDialog.setStyle(DialogFragment.STYLE_NORMAL,R.style.Dialog_FullScreen);
+                qrCodeDialog.show(getFragmentManager(),"qrcode");
                 break;
             case R.id.iv_head:
-                MyLog.i(TAG,"绛惧埌锛岃幏鍙栬韩浠借瘉鐗╃悊鍗″彿");
-                AYSdk.getInstance().sendCmd(Constant.READ_PHYSICAL_ID,"");
+                MyLog.i(PlatFormConstant.HTTPTAG,"绛惧埌");
+//                AYSdk.getInstance().sendCmd(Constant.READ_PHYSICAL_ID,"");
                 //TODO 鑾峰緱鐗╃悊鍗″彿 鍙戦�丣KMessage0201缁欏钩鍙帮紝鑾峰彇濮撳悕銆佽韩浠借瘉銆乭ead_url
+                loadProgressDialog = LoadProgressDialog.newInstance("璇风◢鍚�...");
+                loadProgressDialog.setStyle(DialogFragment.STYLE_NORMAL,R.style.Dialog_FullScreen);
+                loadProgressDialog.showNow(getFragmentManager(),"loadingdiaolog");
 
+                //浠庢湇鍔″櫒鑾峰彇鐢ㄤ簬鐢熸垚绛惧埌浜岀淮鐮佺殑url
                 break;
         }
     }
@@ -756,4 +769,6 @@
         super.onDetach();
         CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_SPEED_TOPIC);
     }
+
+
 }
diff --git a/app/src/main/res/drawable/anim_loading.xml b/app/src/main/res/drawable/anim_loading.xml
new file mode 100644
index 0000000..125d033
--- /dev/null
+++ b/app/src/main/res/drawable/anim_loading.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
+            android:drawable="@drawable/icon_loading"
+            android:fromDegrees="0.0"
+            android:pivotX="50.0%"
+            android:pivotY="50.0%"
+            android:toDegrees="360.0" />
\ No newline at end of file
diff --git a/app/src/main/res/drawable/dialog_round.xml b/app/src/main/res/drawable/dialog_round.xml
new file mode 100644
index 0000000..4810941
--- /dev/null
+++ b/app/src/main/res/drawable/dialog_round.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape  xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle" >
+<solid android:color="#333333"/>
+    <corners android:radius="8dp"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/icon_loading.png b/app/src/main/res/drawable/icon_loading.png
new file mode 100644
index 0000000..e04c045
--- /dev/null
+++ b/app/src/main/res/drawable/icon_loading.png
Binary files differ
diff --git a/app/src/main/res/drawable/qrcode.jpg b/app/src/main/res/drawable/qrcode.jpg
new file mode 100644
index 0000000..1ca9b6d
--- /dev/null
+++ b/app/src/main/res/drawable/qrcode.jpg
Binary files differ
diff --git a/app/src/main/res/layout/layout_dialog_loading.xml b/app/src/main/res/layout/layout_dialog_loading.xml
new file mode 100644
index 0000000..1cb7cb9
--- /dev/null
+++ b/app/src/main/res/layout/layout_dialog_loading.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    android:background="@android:color/transparent"
+    android:gravity="center"
+    android:orientation="vertical" >
+
+    <LinearLayout
+        android:id="@+id/linearLayout"
+        android:layout_width="100dp"
+        android:layout_height="100dp"
+        android:background="#333333"
+        android:gravity="center"
+        android:orientation="vertical" >
+
+        <ProgressBar
+            android:id="@+id/progressBar1"
+            style="?android:attr/progressBarStyleInverse"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:indeterminateBehavior="repeat"
+            android:indeterminateDrawable="@drawable/anim_loading"
+            android:background="@android:color/transparent" />
+
+        <TextView
+            android:id="@+id/tv_message"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:paddingTop="5dp"
+            android:text="Message"
+            android:visibility="gone"
+            android:textColor="@android:color/holo_red_dark"
+           />
+    </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_dialog_qrcode.xml b/app/src/main/res/layout/layout_dialog_qrcode.xml
new file mode 100644
index 0000000..fd6494c
--- /dev/null
+++ b/app/src/main/res/layout/layout_dialog_qrcode.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    android:background="@android:color/transparent"
+    android:gravity="center"
+    android:orientation="vertical" >
+
+    <LinearLayout
+        android:id="@+id/linearLayout"
+        android:layout_width="210dp"
+        android:layout_height="210dp"
+        android:gravity="center"
+        android:background="@android:color/white"
+        android:orientation="vertical" >
+
+        <ImageView
+            android:id="@+id/iv_qr_code"
+            android:layout_width="125dp"
+            android:layout_height="125dp"
+            android:layout_margin="10dp"
+            android:scaleType="fitCenter"
+            android:src="@drawable/qrcode"
+             />
+    <Button
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="纭畾"
+        android:padding="10dp"
+        android:background="@drawable/ic_btn_daikao"
+        android:textColor="@android:color/white"
+        android:id="@+id/btn_qr_sure"/>
+
+    </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 0bbdc2b..16fc81d 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -52,4 +52,9 @@
         <item name="android:ems">6</item>
         <item name="android:background">@android:drawable/edit_text</item>
     </style>
+
+    <style name="Dialog.FullScreen" parent="Theme.AppCompat.Dialog">
+        <item name="android:padding">0dp</item>
+        <item name="android:windowBackground">@android:color/transparent</item>
+    </style>
 </resources>

--
Gitblit v1.8.0