From 603cb36a5123e46656b06a5deb8d7ac7ff81307f Mon Sep 17 00:00:00 2001
From: 554325746@qq.com <554325746@qq.com>
Date: 星期三, 25 十二月 2019 08:48:51 +0800
Subject: [PATCH] a

---
 app/src/main/java/com/basic/security/manager/UserManager.java |  179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 179 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/basic/security/manager/UserManager.java b/app/src/main/java/com/basic/security/manager/UserManager.java
index 947b023..a1d8710 100644
--- a/app/src/main/java/com/basic/security/manager/UserManager.java
+++ b/app/src/main/java/com/basic/security/manager/UserManager.java
@@ -1,9 +1,188 @@
 package com.basic.security.manager;
 
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffXfermode;
+import android.graphics.Rect;
+import android.text.TextUtils;
+import android.widget.ImageView;
+
+import com.basic.security.activity.MainActivity;
+import com.basic.security.base.BaseApplication;
 import com.basic.security.model.ModelAdapter;
+import com.basic.security.model.Person;
+import com.basic.security.model.User;
+import com.basic.security.utils.Constants;
 
 public class UserManager extends BaseManager {
+    public static boolean isBasic = false;
+    public static ModelAdapter loginPerson;
+    private static ModelAdapter adminUser;
+
+    public static Bitmap getCroppedBitmap(Bitmap bitmap) {
+        Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
+                bitmap.getHeight(), Bitmap.Config.ARGB_8888);
+        Canvas canvas = new Canvas(output);
+        final int color = 0xff424242;
+        final Paint paint = new Paint();
+        final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
+        paint.setAntiAlias(true);
+        canvas.drawARGB(0, 0, 0, 0);
+        paint.setColor(color);
+        canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2,
+                bitmap.getWidth() / 2, paint);
+        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
+        canvas.drawBitmap(bitmap, rect, rect, paint);
+        return output;
+    }
+
+    public static void setIsBasic(boolean isBasic) {
+        UserManager.isBasic = isBasic;
+        try {
+            BaseApplication.getApplication().activity.runOnUiThread(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        ImageView login_photo = BaseApplication.getApplication().activity.fragment_toolbar.login_photo;
+                        if (isBasic) {
+                            BaseApplication.getApplication().activity.fragment_toolbar.login_name.setText("璐濇�濈");
+                            login_photo.setImageResource(com.basic.security.utils.RUtils.R_drawable_basic);
+                        }
+//                        System1.out.println("AccountManager.run 0 isBasic=" + isBasic);
+                        if (!isBasic) {
+                            BaseApplication.getApplication().activity.fragment_toolbar.login_name.setText("绠$悊鍛�");
+                            login_photo.setImageResource(com.basic.security.utils.RUtils.R_drawable_yuyin);
+                            try {
+                                if (loginPerson != null) {
+                                    byte[] camera_image_path = loginPerson.getBlob(Person.camera_image_path);
+                                    if (camera_image_path != null) {
+                                        Bitmap camera_image_path_bitmap = BitmapFactory.decodeByteArray(camera_image_path, 0, camera_image_path.length);
+                                        camera_image_path_bitmap = getCroppedBitmap(camera_image_path_bitmap);
+                                        login_photo.setImageBitmap(camera_image_path_bitmap);
+                                    }
+                                    String loginName = loginPerson.getString(Person.name);
+                                    if (!TextUtils.isEmpty(loginName)) {
+                                        // BaseApplication.getApplication().activity.fragment_toolbar.login_name.setText(loginName);
+                                    }
+                                }
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                            }
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static ModelAdapter adminUser() {
+        return adminUser;
+    }
+
+    public static void setAdminUser(ModelAdapter admin) {
+        if (Constants.indoorOutdoorInOne && admin == null) {
+            return;
+        }
+        if (admin != null) {
+            try {
+                BaseApplication.getApplication().activity.lastAdminClickTime = System.currentTimeMillis();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        UserManager.adminUser = admin;
+        if (adminUser != null) {
+            setAdminPhoto();
+        }
+    }
+
+    public static void setAdminUser1(ModelAdapter admin) {
+        if (admin != null) {
+            try {
+                BaseApplication.getApplication().activity.lastAdminClickTime = System.currentTimeMillis();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        UserManager.adminUser = admin;
+        if (adminUser != null) {
+            setAdminPhoto();
+        }
+    }
+
+    private static void setAdminPhoto() {
+        try {
+            MainActivity activity = BaseApplication.getApplication().activity;
+            if (activity == null) {
+                return;
+            }
+            String a = adminUser.getString("person_id");
+            ModelAdapter admin_person = PersonManager.findPersonById(a);
+            if (admin_person == null) {
+                return;
+            }
+            if (!"person".equals(admin_person.getString("table"))) {
+                return;
+            }
+            String name = admin_person.getString("name");
+            Bitmap b = null;
+            byte[] blob = admin_person.getBlob("camera_image_path");
+            byte[] data;
+            if (blob != null) {
+                data = blob;
+                if (data != null) {
+                    b = BitmapFactory.decodeByteArray(data, 0, data.length);
+                }
+            }
+            if (b == null) {
+                b = BitmapFactory.decodeResource(activity.getResources(), com.basic.security.utils.RUtils.R_drawable_u1280);
+            }
+            if (b != null) {
+                //activity.fragment_toolbar.login_photo.setImageBitmap(b);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static ModelAdapter getUser(String account, String password) {
+        return findOne("select * from user where username='" + account + "'" + " and password='" + password + "'");
+    }
+
+    public static ModelAdapter getUserByName(String username) {
+        return findOne("select * from user where 1=1 and " + User.username + "='" + username + "'");
+    }
+
     public static void saveUser(ModelAdapter admin_user_table) {
         save(admin_user_table);
     }
+
+    // 绠$悊鍛樻槸鍚﹀凡缁忕櫥褰�
+    public static boolean adminLoggedIn() {
+        return adminUser != null;
+    }
+
+    public static boolean isBasic() {
+        return isBasic;
+    }
+
+    public static String getCurrentAdminPassword() {
+        return adminUser.getString("password");
+    }
+
+    public static void setAdminId(String person_id) {
+        ModelAdapter admin_user_table = BaseManager.findById("user", DeviceManager.getDeviceId() + "admin_user");
+        setAdminUser(admin_user_table);
+    }
+
+    public static void saveAccount(ModelAdapter modelAdapter) {
+        save(modelAdapter);
+    }
 }

--
Gitblit v1.8.0