From caead5ad019c24b9a7958f01fa663ea8159aee6c Mon Sep 17 00:00:00 2001
From: guoshen <3129367635@qq.com>
Date: 星期一, 01 七月 2024 16:16:04 +0800
Subject: [PATCH] 修复会议申请的闪退bgg(starttime,endtime字段的划分和修改)

---
 app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java |  236 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 212 insertions(+), 24 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java
index 5579045..cba1cb2 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java
@@ -1,9 +1,15 @@
 package com.application.zhangshi_app_android.ui;
 
+
 import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.util.TypedValue;
+import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
+import android.widget.PopupWindow;
 import android.widget.TextView;
 
 import androidx.annotation.Nullable;
@@ -11,17 +17,53 @@
 import androidx.databinding.ViewDataBinding;
 import androidx.drawerlayout.widget.DrawerLayout;
 
+import com.android.app_base.base.BaseConfig;
 import com.android.app_base.base.view.BaseActivity;
 import com.android.app_base.base.viewmodel.BaseViewModel;
 import com.android.app_base.manager.AppManager;
+import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.GlideUtil;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.rxbus.MessageEvent;
+import com.android.app_base.utils.rxbus.RxBus;
 import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.ui.function.AnnualHealthStatusActivity;
+import com.application.zhangshi_app_android.ui.function.CertificateOfHonorActivity;
+import com.application.zhangshi_app_android.ui.function.CleanStorageActivity;
+import com.application.zhangshi_app_android.ui.function.ContactsActivity;
 import com.application.zhangshi_app_android.ui.function.FamilyAssetsActivity;
 import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivity;
 import com.application.zhangshi_app_android.ui.function.HomeDevicesActivity;
+import com.application.zhangshi_app_android.ui.function.HonorCollectionActivity;
+import com.application.zhangshi_app_android.ui.function.HundredWishActivity;
+import com.application.zhangshi_app_android.ui.function.IncomeAndExpensesActivity;
+import com.application.zhangshi_app_android.ui.function.LittleDoctorActivity;
+import com.application.zhangshi_app_android.ui.function.MarriageActivity;
+import com.application.zhangshi_app_android.ui.function.MeetingActivity;
+import com.application.zhangshi_app_android.ui.function.PersonalNotepadActivity;
+import com.application.zhangshi_app_android.ui.function.PetActivity;
+import com.application.zhangshi_app_android.ui.function.PrivacyActivity;
+import com.application.zhangshi_app_android.ui.function.PropertyActivity;
+import com.application.zhangshi_app_android.ui.function.TourismActivity;
+import com.application.zhangshi_app_android.ui.home.TreeFragment;
+import com.application.zhangshi_app_android.ui.main.MainActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.OptionPicker;
+import com.github.gzuliyujiang.wheelpicker.TimePicker;
+import com.github.gzuliyujiang.wheelpicker.entity.DateEntity;
+import com.github.gzuliyujiang.wheelpicker.impl.UnitDateFormatter;
+import com.github.gzuliyujiang.wheelpicker.impl.UnitTimeFormatter;
+import com.github.gzuliyujiang.wheelpicker.widget.DateWheelLayout;
+import com.github.gzuliyujiang.wheelpicker.widget.OptionWheelLayout;
+import com.github.gzuliyujiang.wheelpicker.widget.TimeWheelLayout;
 import com.hjq.bar.TitleBar;
 
+import java.util.Calendar;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+
+import io.reactivex.functions.Consumer;
 
 /**
  * @author Ljj
@@ -66,37 +108,85 @@
         return R.layout.layout_drawer;
     };
 
+
     @Override
-    protected void onResume() {
-        super.onResume();
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+
+        //璁剧疆涓婚
+        if (UserManager.getInstance().getNightModeState()) {
+            setTheme(R.style.AppTheme_Night);
+        } else {
+            setTheme(R.style.AppTheme_Normal);
+        }
+
+        super.onCreate(savedInstanceState);
 
         if (mDrawerLayout != null) {
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_home_root_net));
+            classMap.put(TreeFragment.class,(LinearLayout) findViewById(R.id.dl_home_root_net));
             classMap.put(FamilyMemorabiliaActivity.class,(LinearLayout) findViewById(R.id.dl_family_memorabilia));
+            classMap.put(MeetingActivity.class,(LinearLayout) findViewById(R.id.dl_family_meeting));
             classMap.put(FamilyAssetsActivity.class,(LinearLayout) findViewById(R.id.dl_family_assets));
             classMap.put(HomeDevicesActivity.class,(LinearLayout) findViewById(R.id.dl_home_devices));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_honor_collection));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_little_doctor));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_clean_storage));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_contacts));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_pet));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_income_and_expenses));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_growing_up));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_marriage));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_property));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_hundred_wish));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_health_care));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_certificate_of_honor));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_privacy));
+            classMap.put(HonorCollectionActivity.class,(LinearLayout) findViewById(R.id.dl_honor_collection));
+            classMap.put(LittleDoctorActivity.class,(LinearLayout) findViewById(R.id.dl_little_doctor));
+            classMap.put(CleanStorageActivity.class,(LinearLayout) findViewById(R.id.dl_clean_storage));
+            classMap.put(ContactsActivity.class,(LinearLayout) findViewById(R.id.dl_contacts));
+            classMap.put(PetActivity.class,(LinearLayout) findViewById(R.id.dl_pet));
+            classMap.put(IncomeAndExpensesActivity.class,(LinearLayout) findViewById(R.id.dl_income_and_expenses));
+            classMap.put(PersonalNotepadActivity.class,(LinearLayout) findViewById(R.id.dl_growing_up));
+            classMap.put(MarriageActivity.class,(LinearLayout) findViewById(R.id.dl_marriage));
+            classMap.put(PropertyActivity.class,(LinearLayout) findViewById(R.id.dl_property));
+            classMap.put(HundredWishActivity.class,(LinearLayout) findViewById(R.id.dl_hundred_wish));
+            classMap.put(AnnualHealthStatusActivity.class,(LinearLayout) findViewById(R.id.dl_health_care));
+            classMap.put(CertificateOfHonorActivity.class,(LinearLayout) findViewById(R.id.dl_certificate_of_honor));
+            classMap.put(PrivacyActivity.class,(LinearLayout) findViewById(R.id.dl_privacy));
+            classMap.put(TourismActivity.class,(LinearLayout) findViewById(R.id.dl_tourism));
+
             setSelectItem(classMap.get(getClass()));
             for (Map.Entry<Class, LinearLayout> set : classMap.entrySet()) {
-                set.getValue().setOnClickListener(v -> {
-                    if (set.getKey() != null){
-                        AppManager.getAppManager().startActivity(set.getKey());
-                    }
-                });
+                LinearLayout linearLayout = set.getValue();
+                if (linearLayout != null) {
+                    linearLayout.setOnClickListener(v -> {
+                        if (set.getKey() != null){
+                            if (set.getKey() == TreeFragment.class) {
+                                MainActivity.start(this, TreeFragment.class);
+                            }else{
+                                if(this.getClass() != set.getKey()){
+                                    AppManager.getAppManager().startActivity(set.getKey());
+                                }
+                            }
+                            mDrawerLayout.close();
+                        }
+                    });
+                } else {
+
+                }
             }
             mDrawerLayout.setScrimColor(getResources().getColor(R.color.color_shadow));
+
+        }
+
+        setNameAndAvatar(UserManager.getInstance().getUserName(),UserManager.getInstance().getUserAvatar());
+        RxBus.getInstance().toObservable(this, MessageEvent.class).subscribe(new Consumer<MessageEvent>() {
+            @Override
+            public void accept(MessageEvent event) throws Exception {
+                if(event.getMessageEventCode() == MessageEvent.EVENT_UPDATE_USER_INFO){
+                    setNameAndAvatar(UserManager.getInstance().getUserName(),UserManager.getInstance().getUserAvatar());
+                }
+            }
+        });
+    }
+
+    public void setNameAndAvatar(String name,String avatar){
+        if (mDrawerLayout != null){
+            if (avatar.contains("profile/upload")) {//濡傛灉鏄笂浼犲埌鏈嶅姟鍣ㄧ殑鍥剧墖
+                //鍙彇profile/upload浠ュ悗鐨勯儴鍒�
+                avatar = avatar.substring(avatar.indexOf("profile/upload"));
+                avatar = BaseConfig.BASE_URL_DOMAIN + "/" + avatar;
+            }
+            GlideUtil.loadImage(avatar, findViewById(R.id.dl_home_user_avatar));
+            TextView userNameTv = findViewById(R.id.dl_home_user_name);
+            userNameTv.setText(name);
         }
     }
     private void setSelectItem(LinearLayout linearLayout) {
@@ -105,8 +195,12 @@
         }
         TextView textView = (TextView) linearLayout.getChildAt(1);
         ImageView imageView = (ImageView) linearLayout.getChildAt(2);
-        textView.setTextColor(Color.parseColor("#FFF6739F"));
-        imageView.setBackgroundResource(R.drawable.ic_vector_pink);
+        TypedValue textColor = new TypedValue();
+        getTheme().resolveAttribute(R.attr.drawerTextColor, textColor, true);
+        textView.setTextColor(textColor.data);
+        TypedValue icon = new TypedValue();
+        getTheme().resolveAttribute(R.attr.drawerSelectIcon, icon, true);
+        imageView.setBackgroundResource(icon.resourceId);
     }
 
 
@@ -120,7 +214,101 @@
 
     @Override
     public void onLeftClick(TitleBar titleBar) {
-        super.onRightClick(titleBar);
+        super.onLeftClick(titleBar);
         mDrawerLayout.open();
     }
+
+    public PopupWindow initPopUpWindow(View view){
+        PopupWindow popupWindow = new PopupWindow(this);
+        // 璁剧疆甯冨眬鏂囦欢
+        popupWindow.setContentView(view);
+        // 涓轰簡閬垮厤閮ㄥ垎鏈哄瀷涓嶆樉绀猴紝闇�瑕侀噸鏂拌缃竴涓嬪楂�
+        popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
+        popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
+        // 璁剧疆pop閫忔槑鏁堟灉
+        popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
+        // 璁剧疆pop鍑哄叆鍔ㄧ敾
+        popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_operate);
+        // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
+        popupWindow.setFocusable(true);
+        // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
+        popupWindow.setTouchable(true);
+        // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶�
+        popupWindow.setOutsideTouchable(false);
+        return popupWindow;
+    }
+
+    public DatePicker getDatePicker(){
+        DatePicker datePicker = new DatePicker(this);
+        DateWheelLayout wheelLayout = datePicker.getWheelLayout();
+        wheelLayout.getMonthWheelView().setCurtainCorner(0);//鑳屾櫙鏃犲渾瑙�
+        wheelLayout.getDayWheelView().setCurtainCorner(5);//鑳屾櫙鍙宠竟鏈夊渾瑙�
+        wheelLayout.getYearWheelView().setCurtainCorner(4);//鑳屾櫙宸﹁竟鏈夊渾瑙�
+        wheelLayout.setDateFormatter(new UnitDateFormatter());
+        wheelLayout.setPadding(50, 0, 50, 0);
+        wheelLayout.setItemSpace(ScreenSizeUtils.dip2px(getSelfActivity(), 20));
+        wheelLayout.setCurtainEnabled(true);
+        wheelLayout.setCurtainColor(Color.parseColor("#4D2F63F8"));
+        wheelLayout.setCurtainRadius(ScreenSizeUtils.dip2px(getSelfActivity(),4));
+        wheelLayout.setSelectedTextColor(Color.parseColor("#FF2F63F8"));
+        wheelLayout.setTextColor(Color.parseColor("#FF999999"));
+        wheelLayout.setIndicatorEnabled(false);
+        //鏃ユ湡鍙�夎寖鍥�
+        wheelLayout.setRange(DateEntity.target(1900, 1, 1), DateEntity.target(2500, 12, 31),DateEntity.target(Calendar.getInstance()));
+
+        datePicker.getWheelLayout().setResetWhenLinkage(false);
+        return datePicker;
+    }
+
+
+
+    public TimePicker getTimePicker(){
+        TimePicker timePicker = new TimePicker(this);
+        TimeWheelLayout wheelLayout = timePicker.getWheelLayout();
+        wheelLayout.getHourWheelView().setCurtainCorner(0);//鑳屾櫙鏃犲渾瑙�
+        wheelLayout.getMinuteWheelView().setCurtainCorner(5);//鑳屾櫙鍙宠竟鏈夊渾瑙�
+        wheelLayout.getSecondWheelView().setCurtainCorner(4);//鑳屾櫙宸﹁竟鏈夊渾瑙�
+        wheelLayout.setTimeFormatter(new UnitTimeFormatter());
+        wheelLayout.setPadding(50, 0, 50, 0);
+        wheelLayout.setItemSpace(ScreenSizeUtils.dip2px(getSelfActivity(), 20));
+        wheelLayout.setCurtainEnabled(true);
+        wheelLayout.setCurtainColor(Color.parseColor("#4D2F63F8"));
+        wheelLayout.setCurtainRadius(ScreenSizeUtils.dip2px(getSelfActivity(),4));
+        wheelLayout.setSelectedTextColor(Color.parseColor("#FF2F63F8"));
+        wheelLayout.setTextColor(Color.parseColor("#FF999999"));
+        wheelLayout.setIndicatorEnabled(false);
+        //鏃ユ湡鍙�夎寖鍥�
+//        wheelLayout.setRange(DateEntity.target(1900, 1, 1), DateEntity.target(2500, 12, 31),DateEntity.target(Calendar.getInstance()));
+
+        timePicker.getWheelLayout().setResetWhenLinkage(false);
+        return timePicker;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public OptionPicker getOptionPicker(List<String> list){
+        OptionPicker picker = new OptionPicker(this);
+        OptionWheelLayout wheelLayout = picker.getWheelLayout();
+        wheelLayout.setCurtainCorner(1);//鑳屾櫙鏃犲渾瑙�
+        wheelLayout.setPadding(50, 0, 50, 0);
+        wheelLayout.setItemSpace(ScreenSizeUtils.dip2px(getSelfActivity(), 20));
+        wheelLayout.setCurtainEnabled(true);
+        wheelLayout.setCurtainColor(Color.parseColor("#4D2F63F8"));
+        wheelLayout.setCurtainRadius(ScreenSizeUtils.dip2px(getSelfActivity(),4));
+        wheelLayout.setSelectedTextColor(Color.parseColor("#FF2F63F8"));
+        wheelLayout.setTextColor(Color.parseColor("#FF999999"));
+        wheelLayout.setIndicatorEnabled(false);
+        picker.setData(list);
+        return picker;
+    }
 }

--
Gitblit v1.9.1