| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | * @desc 登录背景更换 Activity |
| | | */ |
| | | public class LoginBgChangeActivity extends BaseActivity<ActivityLoginBgChangeBinding,LoginBgChangeActivityViewModel> { |
| | | private ImageRvAdapter adapter; |
| | | private ElectronicFileAddAdapter adapter; |
| | | private Set<String> loginBackgrounds; |
| | | private String selectLoginBackground; |
| | | @Override |
| | |
| | | |
| | | @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; |
| | |
| | | @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); |
| | |
| | | for (String loginBackground : loginBackgrounds) { |
| | | adapter.addItem(loginBackground); |
| | | } |
| | | adapter.setSelectPosition(selectLoginBackground); |
| | | adapter.changeSingleSelected(selectLoginBackground); |
| | | }else { |
| | | loginBackgrounds = new HashSet<>(); |
| | | } |
| | |
| | | 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) { |