From efafbbf142c81c233c71de636a2d3ce9dc2124f0 Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期二, 12 九月 2023 19:20:05 +0800
Subject: [PATCH] 修复bug

---
 app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java |   84 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 81 insertions(+), 3 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java
index a44e4f2..d5c7235 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java
@@ -1,9 +1,17 @@
 package com.application.zhangshi_app_android.ui.main;
 
 
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
 import android.view.MenuItem;
+import android.view.View;
 
 import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+import androidx.lifecycle.Observer;
 import androidx.viewpager2.widget.ViewPager2;
 
 import com.android.app_base.base.adapter.BaseVp2FragmentAdapter;
@@ -11,14 +19,24 @@
 import com.android.app_base.base.view.BaseFragment;
 import com.android.app_base.helper.DoubleClickHelper;
 import com.android.app_base.manager.AppManager;
+import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.rxbus.MessageEvent;
+import com.android.app_base.utils.rxbus.RxBus;
 import com.application.zhangshi_app_android.BR;
 import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean;
+import com.application.zhangshi_app_android.bean.UpdateVersionBean;
 import com.application.zhangshi_app_android.databinding.ActivityMainBinding;
+import com.application.zhangshi_app_android.ui.dialog.UpdateDialog;
+import com.application.zhangshi_app_android.ui.dialog.VersionUpdateDialog;
 import com.application.zhangshi_app_android.ui.function.FunctionFragment;
 import com.application.zhangshi_app_android.ui.home.HomeFragment;
 import com.application.zhangshi_app_android.ui.personal_center.PersonalCenterFragment;
+import com.blankj.utilcode.util.AppUtils;
 import com.blankj.utilcode.util.ToastUtils;
 import com.google.android.material.navigation.NavigationBarView;
+
+import java.io.Serializable;
 
 /**
  * @author Ljj
@@ -26,6 +44,7 @@
  * @desc app涓婚〉
  */
 public class MainActivity extends BaseActivity<ActivityMainBinding, MainViewModel> {
+    BaseVp2FragmentAdapter<BaseFragment> mPagerAdapter;
     @Override
     public int getLayoutId() {
         return R.layout.activity_main;
@@ -42,7 +61,7 @@
 
     @Override
     public void initView() {
-        BaseVp2FragmentAdapter<BaseFragment> mPagerAdapter = new BaseVp2FragmentAdapter<>(this);
+        mPagerAdapter = new BaseVp2FragmentAdapter<>(this);
         mPagerAdapter.addFragment(HomeFragment.newInstance());
         mPagerAdapter.addFragment(FunctionFragment.newInstance());
         mPagerAdapter.addFragment(PersonalCenterFragment.newInstance());
@@ -55,7 +74,7 @@
             }
         });
         binding.mainVp.setUserInputEnabled(false);
-
+        binding.mainVp.setOffscreenPageLimit(3);
         // 涓嶄娇鐢ㄥ浘鏍囬粯璁ゅ彉鑹�
         binding.mainBnv.setItemIconTintList(null);
         binding.mainBnv.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() {
@@ -81,11 +100,53 @@
 
     @Override
     public void initData() {
-
+        viewModel.getUpdateVersion();
+        if (TextUtils.isEmpty(UserManager.getInstance().getUserName()) || TextUtils.isEmpty(UserManager.getInstance().getUserAvatar())) {
+            viewModel.getInfo();
+        }
     }
 
     @Override
     public void initLiveDataObserve() {
+        viewModel.getUpdateVersionBeanLiveData().observe(this, new Observer<UpdateVersionBean>() {
+            @Override
+            public void onChanged(UpdateVersionBean updateVersionBean) {
+                if(updateVersionBean != null && updateVersionBean.getVersionCode()> AppUtils.getAppVersionCode()&&!TextUtils.isEmpty(updateVersionBean.getAppUrl())){
+//                    VersionUpdateDialog.Builder dialogBuilder = new VersionUpdateDialog.Builder(getSelfActivity())
+//                            .setContent(updateVersionBean.getContent())
+//                            .setDownloadUrl(updateVersionBean.getAppUrl())
+//                    ;
+//                    if(updateVersionBean.getForceUpdate() == 1){
+//                        dialogBuilder.setCancelable(false);
+//                        dialogBuilder.setCanceledOnTouchOutside(false);
+//                    }
+//                    dialogBuilder.show();
+
+                    new UpdateDialog.Builder(getSelfActivity())
+                            // 鐗堟湰鍚�
+                            .setVersionName(updateVersionBean.getVersionName())
+                            // 鏄惁寮哄埗鏇存柊
+                            .setForceUpdate(updateVersionBean.getForceUpdate()==1)
+                            // 鏇存柊鏃ュ織
+                            .setUpdateLog(updateVersionBean.getContent())
+                            // 涓嬭浇 URL
+                            .setDownloadUrl(updateVersionBean.getAppUrl())
+                            .show();
+                }
+            }
+        });
+
+        viewModel.getInfoLiveData().observe(this, new Observer<GrowthExperienceInformationBean>() {
+            @Override
+            public void onChanged(GrowthExperienceInformationBean informationBean) {
+                if(informationBean != null){
+                    UserManager.getInstance().setUserName(informationBean.getNickName());
+                    UserManager.getInstance().setUserAvatar(informationBean.getUrl());
+                    RxBus.getInstance().post(new MessageEvent(MessageEvent.EVENT_UPDATE_USER_INFO,informationBean));
+                }
+
+            }
+        });
 
     }
 
@@ -106,4 +167,21 @@
             ToastUtils.showShort("鍐嶆寜涓�娆¢��鍑�");
         }
     }
+
+    private static final String INTENT_KEY_IN_FRAGMENT_INDEX = "fragmentIndex";
+    private static final String INTENT_KEY_IN_FRAGMENT_CLASS = "fragmentClass";
+
+    public static void start(Context context) {
+        start(context, HomeFragment.class);
+    }
+
+    public static void start(Context context, Class<? extends BaseFragment> fragmentClass) {
+        Intent intent = new Intent(context, MainActivity.class);
+        intent.putExtra(INTENT_KEY_IN_FRAGMENT_CLASS, fragmentClass);
+        if (!(context instanceof Activity)) {
+            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        }
+        context.startActivity(intent);
+    }
+
 }

--
Gitblit v1.9.1