From 82e57df230ecb744af6c8865f80870ba03c86d89 Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期二, 25 七月 2023 22:18:27 +0800
Subject: [PATCH] 基本功能完成

---
 app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 50 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..6875b77 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;
@@ -13,12 +21,17 @@
 import com.android.app_base.manager.AppManager;
 import com.application.zhangshi_app_android.BR;
 import com.application.zhangshi_app_android.R;
+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.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 +39,7 @@
  * @desc app涓婚〉
  */
 public class MainActivity extends BaseActivity<ActivityMainBinding, MainViewModel> {
+    BaseVp2FragmentAdapter<BaseFragment> mPagerAdapter;
     @Override
     public int getLayoutId() {
         return R.layout.activity_main;
@@ -42,7 +56,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 +69,7 @@
             }
         });
         binding.mainVp.setUserInputEnabled(false);
-
+        binding.mainVp.setOffscreenPageLimit(3);
         // 涓嶄娇鐢ㄥ浘鏍囬粯璁ゅ彉鑹�
         binding.mainBnv.setItemIconTintList(null);
         binding.mainBnv.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() {
@@ -81,12 +95,28 @@
 
     @Override
     public void initData() {
-
+        viewModel.getUpdateVersion();
     }
 
     @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.isForceUpdate()){
+                        dialogBuilder.setCancelable(false);
+                        dialogBuilder.setCanceledOnTouchOutside(false);
 
+                    }
+                    dialogBuilder.show();
+                }
+            }
+        });
     }
 
     @Override
@@ -106,4 +136,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