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