Linjiajia
2024-01-29 b17b9aa59bae6d03055f14d937821655dfaffa1f
app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java
@@ -10,21 +10,16 @@
import com.android.app_base.base.view.BaseActivity;
import com.android.app_base.manager.UserManager;
import com.android.app_base.utils.SPUtils;
import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
import com.application.zhangshi_app_android.adapter.ElectronicFileAddAdapter;
import com.application.zhangshi_app_android.databinding.ActivityLoginBgChangeBinding;
import com.hjq.bar.TitleBar;
import com.luck.picture.lib.entity.LocalMedia;
import com.luck.picture.lib.interfaces.OnResultCallbackListener;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
@@ -33,7 +28,7 @@
 * @desc 登录背景更换 Activity
 */
public class LoginBgChangeActivity extends BaseActivity<ActivityLoginBgChangeBinding,LoginBgChangeActivityViewModel> {
    private ImageRvAdapter adapter;
    private ElectronicFileAddAdapter adapter;
    private Set<String> loginBackgrounds;
    private String selectLoginBackground;
    @Override
@@ -53,17 +48,29 @@
    @Override
    public void initView() {
        adapter = new ImageRvAdapter(this);
        adapter = new ElectronicFileAddAdapter(this);
        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
        binding.rvImage.setLayoutManager(gridLayoutManager);
        binding.rvImage.setNestedScrollingEnabled(false);
        View footerView = View.inflate(this,R.layout.item_image_footer,null);
        binding.rvImage.addFooterView(footerView);
        binding.rvImage.requestLayout();
        footerView.setOnClickListener(new View.OnClickListener() {
        adapter.setShowSelectIcon(true);
        adapter.setItemAndAddClickListener(new ElectronicFileAddAdapter.OnItemAndAddClickListener() {
            @Override
            public void onClick(View v) {
                UserManager.getInstance().selectImage(getSelfActivity(), 9, new OnResultCallbackListener<LocalMedia>() {
            public void onItemClick(View itemView, int position) {
                if (selectLoginBackground != null && selectLoginBackground.equals(adapter.getItem(position))){
                    selectLoginBackground = null;
                    adapter.clearSelectedItems();
                }else {
                    selectLoginBackground = adapter.getItem(position);
                    adapter.changeSingleSelected(selectLoginBackground);
                }
                SPUtils.getInstance("loginBackground").put("selectLoginBackground",selectLoginBackground);
            }
            @Override
            public void onAddClick() {
                UserManager.getInstance().selectImage(getSelfActivity(), 1,9, new OnResultCallbackListener<LocalMedia>() {
                    @Override
                    public void onResult(ArrayList<LocalMedia> result) {
                        if (result.size() == 0) return;
@@ -90,25 +97,15 @@
            @Override
            public void onChildClick(RecyclerView recyclerView, View childView, int position) {
                if (Boolean.TRUE.equals(viewModel.getTypeLiveData().getValue())){
                    //TODO 删除图片
//                    viewModel.deleteFile(adapter.getItem(position));
                    loginBackgrounds.remove(adapter.getItem(position));
                    adapter.removeItem(position);
                    SPUtils.getInstance("loginBackground").put("loginBackgrounds",loginBackgrounds);
                    if (!loginBackgrounds.contains(selectLoginBackground)){
                        selectLoginBackground = null;
                        adapter.clearSelectedItems();
                        SPUtils.getInstance("loginBackground").put("selectLoginBackground",selectLoginBackground);
                    }
                }
            }
        });
        adapter.setIsEdited(true);
        adapter.setOnItemClickListener(new BaseRVAdapter.OnItemClickListener() {
            @Override
            public void onItemClick(RecyclerView recyclerView, View itemView, int position) {
                selectLoginBackground = adapter.getItem(position);
                adapter.setSelectPosition(selectLoginBackground);
                SPUtils.getInstance("loginBackground").put("selectLoginBackground",selectLoginBackground);
            }
        });
        binding.rvImage.setAdapter(adapter);
@@ -131,7 +128,7 @@
            for (String loginBackground : loginBackgrounds) {
                adapter.addItem(loginBackground);
            }
            adapter.setSelectPosition(selectLoginBackground);
            adapter.changeSingleSelected(selectLoginBackground);
        }else {
            loginBackgrounds = new HashSet<>();
        }
@@ -142,7 +139,8 @@
        viewModel.getTypeLiveData().observe(this, new Observer<Boolean>() {
            @Override
            public void onChanged(Boolean aBoolean) {
                adapter.setIsSelected(!aBoolean);
                adapter.setIsEdited(aBoolean);
                adapter.setPreview(!aBoolean);
                binding.ivOperate.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {