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