package com.basic.security.fragment;
|
|
import android.os.Bundle;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.BaseAdapter;
|
import android.widget.Button;
|
import android.widget.ImageView;
|
import android.widget.ListView;
|
import android.widget.TextView;
|
|
import com.basic.security.base.BaseFragment;
|
import com.basic.security.manager.BusinessListManager;
|
import com.basic.security.model.ModelAdapter;
|
import com.basic.security.utils.DateUtil;
|
import com.basic.security.utils.ResolutionAdaptation;
|
import com.basic.security.utils.SocketUtil;
|
import com.basic.security.widget.ConfirmDialog;
|
|
import org.androidannotations.annotations.AfterViews;
|
import org.androidannotations.annotations.Click;
|
import org.androidannotations.annotations.EFragment;
|
import org.androidannotations.annotations.UiThread;
|
import org.androidannotations.annotations.ViewById;
|
|
import java.util.List;
|
|
@EFragment
|
public class RuleListFragment extends BaseFragment {
|
@ViewById
|
Button rule_list_btn_add_rule;
|
@ViewById
|
ListView rule_list_lv_add_rule;
|
private List<ModelAdapter> businessList;
|
private BusinessListAdapter adapter;
|
private ConfirmDialog confirmDialog;
|
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
return inflater.inflate(ResolutionAdaptation.fragment_rule_list(), container, false);
|
}
|
|
@AfterViews
|
public void init() {
|
businessList = BusinessListManager.getBusinessList();
|
rule_list_lv_add_rule.addHeaderView(View.inflate(getContext(), com.basic.security.utils.ResolutionAdaptation.add_rule_head(), null));
|
adapter = new BusinessListAdapter();
|
rule_list_lv_add_rule.setAdapter(adapter);
|
}
|
|
@Click
|
void rule_list_btn_add_rule() { // 点击了新增规则按钮
|
mainActivity().showFragment((mainActivity()).fragment_rule_detail);
|
mainActivity().fragment_rule_detail.setBusinessDetailDocument(null, true);
|
}
|
|
public void show() {
|
super.show();
|
businessList = BusinessListManager.getBusinessList();
|
refreshList();
|
}
|
|
@UiThread
|
public void refreshList() {
|
adapter.notifyDataSetChanged();
|
}
|
|
public void hide() {
|
super.hide();
|
if (mainActivity().currentFragment != mainActivity().fragment_rule_list) {
|
if (confirmDialog != null) {
|
confirmDialog.dismiss();
|
}
|
}
|
}
|
|
private class BusinessListAdapter extends BaseAdapter {
|
public int getCount() {
|
return businessList == null ? 0 : businessList.size();
|
}
|
|
public Object getItem(int position) {
|
return businessList.get(position);
|
}
|
|
public long getItemId(int position) {
|
return position;
|
}
|
|
public View getView(int position, View convertView, ViewGroup parent) {
|
View layout;
|
ViewHolder viewHolder;
|
if (convertView == null) {
|
layout = View.inflate(getContext(), com.basic.security.utils.ResolutionAdaptation.add_rule_item(), null);
|
viewHolder = new ViewHolder();// 当前Item 的布局的子控件的引用的集合
|
viewHolder.name = layout.findViewById(com.basic.security.utils.RUtils.R_id_add_rule_tv_name);
|
viewHolder.time = layout.findViewById(com.basic.security.utils.RUtils.R_id_add_rule_tv_time);
|
viewHolder.delete = layout.findViewById(com.basic.security.utils.RUtils.R_id_add_rule_iv_delete);
|
viewHolder.manage = layout.findViewById(com.basic.security.utils.RUtils.R_id_add_rule_iv_manage);
|
viewHolder.edit = layout.findViewById(com.basic.security.utils.RUtils.R_id_add_rule_iv_edit);
|
layout.setTag(viewHolder);//把该布局的 子控件的引用 绑定到该布局上
|
} else {
|
viewHolder = (ViewHolder) convertView.getTag();
|
layout = convertView;
|
}
|
final ModelAdapter business = businessList.get(position);
|
viewHolder.name.setText(business.getString("business_name"));
|
// 仅允许
|
if ("1".equals(business.getString("only_allow"))) {
|
String start_time = DateUtil.formatTime(Long.parseLong(business.getString("only_allow_start")), "yyyy/MM/dd HH:mm");
|
String end_time = DateUtil.formatTime(Long.parseLong(business.getString("only_allow_end")), "yyyy/MM/dd HH:mm");
|
viewHolder.time.setText(start_time + " " + "" + "— " + end_time);
|
} else {// 从时间规则中选取的时间段
|
viewHolder.time.setText("————");
|
}
|
viewHolder.edit.setOnClickListener(v -> {
|
mainActivity().fragment_rule_detail.setBusinessDetailDocument(business, false);
|
mainActivity().showFragment((mainActivity()).fragment_rule_detail);
|
});
|
viewHolder.delete.setOnClickListener(view -> {
|
confirmDialog = new ConfirmDialog(mainActivity(), "确定要删除规则 " + business.getString("business_name") + " 吗?", "确认删除", "取消");
|
confirmDialog.show();
|
confirmDialog.setClickListener(new ConfirmDialog.ClickListenerInterface() {
|
public void doConfirm() {
|
BusinessListManager.deleteBusiness(business);
|
SocketUtil.rpcCallAsyncDeleteBusinessRule(business);
|
businessList.remove(position);
|
adapter.notifyDataSetChanged();
|
confirmDialog.dismiss();
|
}
|
|
public void doCancel() {
|
confirmDialog.dismiss();
|
}
|
});
|
});
|
viewHolder.manage.setOnClickListener(v -> {
|
mainActivity().fragment_business_person.BusinessPersonData(business);
|
mainActivity().showFragment(mainActivity().fragment_business_person);
|
});
|
return layout;
|
}
|
|
class ViewHolder {
|
private TextView name, time;
|
private ImageView edit, delete, manage;
|
}
|
}
|
}
|