Linjiajia
2023-08-27 1df231fd6aafa221aef3532d069c7e27d4331be7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package com.application.zhangshi_app_android.ui.personal_center;
 
import android.content.Intent;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.PopupWindow;
 
import com.android.app_base.base.dialog.BaseDialog;
import com.android.app_base.base.dialog.UIDialog;
import com.android.app_base.base.view.BaseFragment;
import com.android.app_base.manager.AppManager;
import com.android.app_base.manager.UserManager;
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.BR;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean;
import com.application.zhangshi_app_android.databinding.FragmentPersonalCenterBinding;
import com.application.zhangshi_app_android.ui.DLBaseFragment;
import com.application.zhangshi_app_android.ui.dialog.PetOwnerInfoDialog;
import com.application.zhangshi_app_android.ui.function.PetMemoActivity;
import com.application.zhangshi_app_android.ui.login.LoginActivity;
 
import io.reactivex.Observer;
import io.reactivex.functions.Consumer;
 
/**
 * @author Ljj
 * @date 2023.03.15. 20:19
 * @desc 个人中心 Fragment
 */
public class PersonalCenterFragment extends DLBaseFragment<FragmentPersonalCenterBinding,PersonalCenterFragmentViewModel> {
    private PopupWindow popupWindow;
 
    public PersonalCenterFragment() {
    }
 
    public static PersonalCenterFragment newInstance() {
        PersonalCenterFragment fragment = new PersonalCenterFragment();
        Bundle args = new Bundle();
        fragment.setArguments(args);
        return fragment;
    }
    @Override
    protected int getLayoutId() {
        return R.layout.fragment_personal_center;
    }
 
    @Override
    protected int getVariableId() {
        return BR.viewModel;
    }
 
    @Override
    protected void initParam() {
 
    }
 
    @Override
    protected void initView() {
        View view = View.inflate(getSelfActivity(),R.layout.pop_operate_person_center,null);
        popupWindow = initPopUpWindow(view);
        setOnClickListener(
                view.findViewById(R.id.tv_basic_info),
                view.findViewById(R.id.tv_change_login_bg)
        );
 
        binding.ivOperate.setOnClickListener(v -> {
            popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(getSelfActivity(),85) +binding.ivOperate.getWidth(),0);
        });
 
        binding.tvLoginOut.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new UIDialog.Builder(getSelfActivity())
                        .setTitle("提示")
                        .setContent("确定要退出登录吗?")
                        .setConfirm("确定")
                        .setCancel("取消")
                        .setListener(new UIDialog.OnListener() {
                            @Override
                            public void onConfirm(BaseDialog dialog) {
                                UserManager.getInstance().loginOut();
                                AppManager.getAppManager().startActivity(new Intent(getSelfActivity(), LoginActivity.class));
                                getSelfActivity().finish();
                            }
                        })
                        .show();
 
            }
        });
    }
 
    @Override
    protected void initData() {
        viewModel.getInfo();
    }
 
    @Override
    public void onResume() {
        super.onResume();
        initData();
    }
 
    @Override
    protected void initLiveDataObserve() {
 
    }
 
    @Override
    public void onClick(View v) {
        super.onClick(v);
        int id = v.getId();
        if (id == R.id.tv_basic_info){
            popupWindow.dismiss();
            AppManager.getAppManager().startActivity(new Intent(getSelfActivity(),BasicInfoActivity.class)
                    .putExtra("bean",viewModel.getInfoLiveData().getValue()));
        }else if (id == R.id.tv_change_login_bg){
            popupWindow.dismiss();
            AppManager.getAppManager().startActivity(LoginBgChangeActivity.class);
        }
    }
 
    @Override
    protected boolean isStatusBarImmersionEnabled() {
        return true;
    }
}