package com.application.zhangshi_app_android.ui.function;
|
import android.graphics.drawable.ColorDrawable;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.PopupWindow;
|
|
import androidx.databinding.library.baseAdapters.BR;
|
import androidx.lifecycle.Observer;
|
|
import com.android.app_base.utils.ScreenSizeUtils;
|
import com.android.app_base.widget.LinearItemDecoration;
|
import com.application.zhangshi_app_android.R;
|
|
import com.application.zhangshi_app_android.adapter.ContactsRvAdapter;
|
import com.application.zhangshi_app_android.bean.ContactsBean;
|
import com.application.zhangshi_app_android.bean.ContactsDetailBean;
|
import com.application.zhangshi_app_android.databinding.ActivityContactsBinding;
|
;
|
import com.application.zhangshi_app_android.ui.DLBaseActivity;
|
|
import java.util.ArrayList;
|
import java.util.HashSet;
|
import java.util.List;
|
import java.util.Set;
|
|
/**
|
* @author Gss
|
* @date 2023.04.18. 20:33
|
* @desc 通讯录
|
*/
|
public class ContactsActivity extends DLBaseActivity<ActivityContactsBinding,ContactsActivityViewModel> {
|
private ContactsRvAdapter adapter;
|
private PopupWindow mOperatePopupWindow;
|
@Override
|
public int getLayoutId() {
|
return R.layout.activity_contacts;
|
}
|
|
@Override
|
public int getVariableId() {
|
return BR.viewModel;
|
}
|
|
@Override
|
public void initParam() {
|
|
}
|
|
@Override
|
public void initView() {
|
adapter = new ContactsRvAdapter(this);
|
LinearItemDecoration itemDecoration = new LinearItemDecoration();
|
itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
|
itemDecoration.setHorizontalSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
|
itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
|
binding.recyclerView.addItemDecoration(itemDecoration);
|
binding.recyclerView.setAdapter(adapter);
|
|
mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_contacts_import,null));
|
|
binding.ivOperate.setOnClickListener(v -> {
|
mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
|
});
|
}
|
|
@Override
|
public void initData() {
|
viewModel.getContacts();
|
}
|
|
@Override
|
public void initLiveDataObserve() {
|
viewModel.getDataListLiveData().observe(this, contactsDetailBeans -> {
|
//根据名字分组
|
Set<String> maNames = new HashSet<>();
|
for (ContactsDetailBean bean : contactsDetailBeans) {
|
maNames.add(bean.getMyName());
|
}
|
List<ContactsBean> list = new ArrayList<>();
|
for (String name : maNames) {
|
ContactsBean bean = new ContactsBean();
|
bean.setMyName(name);
|
List<ContactsDetailBean> detailBeans = new ArrayList<>();
|
for (ContactsDetailBean detailBean : contactsDetailBeans) {
|
if (name.equals(detailBean.getMyName())) {
|
detailBeans.add(detailBean);
|
}
|
}
|
bean.setContactsDetailBeans(detailBeans);
|
list.add(bean);
|
}
|
adapter.setData(list);
|
});
|
}
|
|
@Override
|
public void onClick(View v) {
|
super.onClick(v);
|
if (v.getId() == R.id.layout_contacts_import){
|
mOperatePopupWindow.dismiss();
|
}
|
}
|
}
|