From 99c0c488ead4baf7a709a6ee4620bee6d3dcc2e2 Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期一, 09 九月 2019 18:53:32 +0800
Subject: [PATCH] 加入viewmodel和Dimenutil

---
 app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java |   33 ++++++++++++++++
 app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java           |   75 +++++++++++++++++++++++++++++++++++++
 2 files changed, 108 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java b/app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java
new file mode 100644
index 0000000..0f8b220
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java
@@ -0,0 +1,75 @@
+package safeluck.drive.evaluation.util;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.telephony.TelephonyManager;
+import android.util.DisplayMetrics;
+import android.view.Surface;
+
+import com.google.zxing.BarcodeFormat;
+import com.google.zxing.EncodeHintType;
+import com.google.zxing.MultiFormatWriter;
+import com.google.zxing.WriterException;
+import com.google.zxing.common.BitMatrix;
+
+import java.util.Hashtable;
+
+import static android.graphics.Color.BLACK;
+
+
+public final class DimenUtil {
+
+    public static int getScreenWidth(Context context ) {
+        final Resources resources = context.getResources();
+        final DisplayMetrics dm = resources.getDisplayMetrics();
+        return dm.widthPixels;
+    }
+
+    public static int getScreenHeight(Context context) {
+        final Resources resources = context.getResources();
+        final DisplayMetrics dm = resources.getDisplayMetrics();
+        return dm.heightPixels;
+    }
+
+    public static int getDisplayRotation(Activity activity) {
+        int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
+        switch (rotation) {
+            case Surface.ROTATION_0:
+                return 0;
+            case Surface.ROTATION_90:
+                return 90;
+            case Surface.ROTATION_180:
+                return 180;
+            case Surface.ROTATION_270:
+                return 270;
+        }
+        return 0;
+    }
+
+    public static Bitmap createQRCode(String str, int widthAndHeight)
+            throws WriterException {
+        Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();
+        hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
+        BitMatrix matrix = new MultiFormatWriter().encode(str,
+                BarcodeFormat.QR_CODE, widthAndHeight, widthAndHeight);
+
+        int width = matrix.getWidth();
+        int height = matrix.getHeight();
+        int[] pixels = new int[width * height];
+        //鐢婚粦鐐�
+        for (int y = 0; y < height; y++) {
+            for (int x = 0; x < width; x++) {
+                if (matrix.get(x, y)) {
+                    pixels[y * width + x] = BLACK; //0xff000000
+                }
+            }
+        }
+        Bitmap bitmap = Bitmap.createBitmap(width, height,
+                Bitmap.Config.ARGB_8888);
+        bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
+        return bitmap;
+    }
+
+}
diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java b/app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java
new file mode 100644
index 0000000..44a397b
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java
@@ -0,0 +1,33 @@
+package safeluck.drive.evaluation.viewmodels;
+
+
+import android.arch.lifecycle.LiveData;
+import android.arch.lifecycle.MutableLiveData;
+import android.arch.lifecycle.ViewModel;
+
+import safeluck.drive.evaluation.util.MyLog;
+
+public class MainViewModel extends ViewModel {
+    private MutableLiveData<String> json = new MutableLiveData<>();
+    public LiveData<String> getJson(){
+        //寰�json瀛楃涓插啓鍏ユ暟鎹�
+        loadJson();
+        return json;
+    }
+
+    private void  loadJson() {
+        MyLog.i("loadJson");
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    Thread.sleep(10*1000);
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+                json.postValue("鎴戠埍浣燡etPack锛侊紒");
+            }
+        }).start();
+    }
+
+}

--
Gitblit v1.8.0