From 63608b5dca9eebb6fa2cb1a8652b395f1d910c3e Mon Sep 17 00:00:00 2001
From: 张钢 <floatgang@163.com>
Date: 星期一, 02 九月 2024 13:52:17 +0800
Subject: [PATCH] 对新接口进行了适配

---
 app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java |  124 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 102 insertions(+), 22 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 6875b77..36e1f8b 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
@@ -4,10 +4,11 @@
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
-import android.os.Bundle;
 import android.text.TextUtils;
+import android.util.Log;
+import android.util.TypedValue;
+import android.view.Menu;
 import android.view.MenuItem;
-import android.view.View;
 
 import androidx.annotation.NonNull;
 import androidx.fragment.app.Fragment;
@@ -15,31 +16,39 @@
 import androidx.viewpager2.widget.ViewPager2;
 
 import com.android.app_base.base.adapter.BaseVp2FragmentAdapter;
-import com.android.app_base.base.view.BaseActivity;
 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.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.DLBaseActivity;
+import com.application.zhangshi_app_android.ui.dialog.UpdateDialog;
+import com.application.zhangshi_app_android.ui.function.HomeFragment;
+import com.application.zhangshi_app_android.ui.home.TreeFragment;
 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
  * @date 2023.3.15
  * @desc app涓婚〉
  */
-public class MainActivity extends BaseActivity<ActivityMainBinding, MainViewModel> {
+public class MainActivity extends DLBaseActivity<ActivityMainBinding, MainViewModel> {
     BaseVp2FragmentAdapter<BaseFragment> mPagerAdapter;
+
+    @Override
+    protected boolean isDrawerLayoutEnabled() {
+        return false;
+    }
+
     @Override
     public int getLayoutId() {
         return R.layout.activity_main;
@@ -52,13 +61,15 @@
 
     @Override
     public void initParam() {
+
     }
+
 
     @Override
     public void initView() {
         mPagerAdapter = new BaseVp2FragmentAdapter<>(this);
         mPagerAdapter.addFragment(HomeFragment.newInstance());
-        mPagerAdapter.addFragment(FunctionFragment.newInstance());
+        mPagerAdapter.addFragment(TreeFragment.newInstance());
         mPagerAdapter.addFragment(PersonalCenterFragment.newInstance());
         binding.mainVp.setAdapter(mPagerAdapter);
         binding.mainVp.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@@ -79,7 +90,7 @@
                     case R.id.navigation_home:
                         binding.mainVp.setCurrentItem(0);
                         return true;
-                    case R.id.navigation_function:
+                    case R.id.navigation_tree:
                         binding.mainVp.setCurrentItem(1);
                         return true;
                     case R.id.navigation_personal_center:
@@ -91,11 +102,29 @@
                 return false;
             }
         });
+        Menu menu = binding.mainBnv.getMenu();
+        // 鑾峰彇褰撳墠涓婚涓殑鑿滃崟鍥炬爣璧勬簮
+        TypedValue typedValue1 = new TypedValue();
+        getTheme().resolveAttribute(R.attr.menuIconHome, typedValue1, true);
+        int icon1ResId = typedValue1.resourceId;
+        TypedValue typedValue2 = new TypedValue();
+        getTheme().resolveAttribute(R.attr.menuIconTree, typedValue2, true);
+        int icon2ResId = typedValue2.resourceId;
+        TypedValue typedValue3 = new TypedValue();
+        getTheme().resolveAttribute(R.attr.menuIconUser, typedValue3, true);
+        int icon3ResId = typedValue3.resourceId;
+        // 璁剧疆鑿滃崟椤瑰浘鏍�
+        menu.findItem(R.id.navigation_home).setIcon(icon1ResId);
+        menu.findItem(R.id.navigation_tree).setIcon(icon2ResId);
+        menu.findItem(R.id.navigation_personal_center).setIcon(icon3ResId);
     }
 
     @Override
     public void initData() {
         viewModel.getUpdateVersion();
+        if (TextUtils.isEmpty(UserManager.getInstance().getUserName()) || TextUtils.isEmpty(UserManager.getInstance().getUserAvatar())) {
+            viewModel.getInfo();
+        }
     }
 
     @Override
@@ -104,20 +133,71 @@
             @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.isForceUpdate()){
-                        dialogBuilder.setCancelable(false);
-                        dialogBuilder.setCanceledOnTouchOutside(false);
+//                    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();
 
-                    }
-                    dialogBuilder.show();
+                    new UpdateDialog.Builder(getSelfActivity())
+                            // 鐗堟湰鍚�
+                            .setVersionName(updateVersionBean.getVersionName())
+                            // 鏄惁寮哄埗鏇存柊
+                            .setForceUpdate(updateVersionBean.getForceUpdate()==1)
+                            // 鏇存柊鏃ュ織
+                            .setUpdateLog(updateVersionBean.getContent())
+                            // 涓嬭浇 URL
+                            .setDownloadUrl(updateVersionBean.getAppUrl())
+                            // 鏂囦欢 MD5
+                            .setFileMd5(updateVersionBean.getMd5())
+                            .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.getImg());
+                    UserManager.getInstance().setClanId(informationBean.getClanId());
+                    RxBus.getInstance().post(new MessageEvent(MessageEvent.EVENT_UPDATE_USER_INFO,informationBean));
+                }
+
+            }
+        });
+
     }
+
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+        switchFragment(mPagerAdapter.getFragmentIndex((Class<? extends Fragment>) intent.getSerializableExtra(INTENT_KEY_IN_FRAGMENT_CLASS)));
+    }
+
+    private void switchFragment(int fragmentIndex) {
+        if (fragmentIndex == -1) {
+            return;
+        }
+
+        switch (fragmentIndex) {
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+                binding.mainVp.setCurrentItem(fragmentIndex);
+                binding.mainBnv.setSelectedItemId(binding.mainBnv.getMenu().getItem(fragmentIndex).getItemId());
+                break;
+            default:
+                break;
+        }
+    }
+
 
     @Override
     protected void onDestroy() {
@@ -141,10 +221,10 @@
     private static final String INTENT_KEY_IN_FRAGMENT_CLASS = "fragmentClass";
 
     public static void start(Context context) {
-        start(context, HomeFragment.class);
+        start(context, TreeFragment.class);
     }
 
-    public static void start(Context context, Class<? extends BaseFragment> fragmentClass) {
+    public static void start(Context context, Class<? extends Fragment> fragmentClass) {
         Intent intent = new Intent(context, MainActivity.class);
         intent.putExtra(INTENT_KEY_IN_FRAGMENT_CLASS, fragmentClass);
         if (!(context instanceof Activity)) {

--
Gitblit v1.9.1