MessageOperationDialogSimple.java 6.03 KB
package com.naji.xiaotao.tangshi.ui;

import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;

import com.naji.xiaotao.R;
import com.naji.xiaotao.cart.ui.CartActivity;
import com.naji.xiaotao.order.ui.OrderAffirmActivity;
import com.naji.xiaotao.receipt.ui.ReceiptActivity;
import com.naji.xiaotao.tangshi.adapter.MessageAdapter;
import com.naji.xiaotao.message.entity.Message;

import java.util.ArrayList;
import java.util.List;

import me.goldze.mvvmhabit.utils.KLog;
import me.goldze.mvvmhabit.utils.SPUtils;

public class MessageOperationDialogSimple extends DialogFragment implements View.OnClickListener,MessageAdapter.onOperationClickListener {

    private RecyclerView mRecyclerview;
    private List<Message> mDatas=new ArrayList<>();
    private MessageAdapter mAdapter;

    private String orderid;
    private String tableid;
    private boolean isWaitingSure;

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mDatas=getArguments().getParcelableArrayList("message");
        isWaitingSure=getArguments().getBoolean("isWaitingSure");
        orderid=getArguments().getString("orderid");
        tableid=getArguments().getString("tableid");
    }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
        getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        getDialog().setCanceledOnTouchOutside(true);
        View view=inflater.inflate(R.layout.dialog_message_operation_simple,container);
        if(isWaitingSure){//待确认订单没有继续点菜
            view.findViewById(R.id.jixujiacai).setVisibility(View.GONE);
        }else{
            view.findViewById(R.id.jixujiacai).setVisibility(View.VISIBLE);
        }
        ((TextView)view.findViewById(R.id.tablename)).setText(getArguments().getString("tablename"));
        if(mDatas.size()<=0){
            view.findViewById(R.id.layout_message).setVisibility(View.GONE);
        }else{
            view.findViewById(R.id.layout_message).setVisibility(View.VISIBLE);
        }
        mRecyclerview=view.findViewById(R.id.recyclerview);
        mRecyclerview.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false));
        mAdapter=new MessageAdapter(getContext(),mDatas,null,isWaitingSure);
        mAdapter.setOnOperationClickListener(this);
        mRecyclerview.setAdapter(mAdapter);
        initListener(view);
        return view;
    }

    private void initListener(View view){
        view.findViewById(R.id.close).setOnClickListener(this);
        view.findViewById(R.id.jixujiacai).setOnClickListener(this);
        view.findViewById(R.id.qingtai).setOnClickListener(this);
        view.findViewById(R.id.bingtai).setOnClickListener(this);
        view.findViewById(R.id.zhuantai).setOnClickListener(this);
    }
    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.close://关闭
                break;
            case R.id.jixujiacai://继续加菜
                Intent intent=new Intent(getContext(), CartActivity.class);
                    intent.putExtra("orderid",orderid);
                    intent.putExtra("sellerid", SPUtils.getInstance("user_info").getString("sellerid"));
                    startActivity(intent);
                    dismiss();
                break;
            case R.id.qingtai://清台
                QingtaiDialog dialog=new QingtaiDialog();
                Bundle bundle=new Bundle();
                bundle.putString("tableid",tableid);
                dialog.setArguments(bundle);
                dialog.show(getActivity().getSupportFragmentManager(),"qingtaiFragmnetDislog");
                break;
            case R.id.bingtai://并台

                break;
            case R.id.zhuantai://转台
                Intent intent4=new Intent(getContext(), TableListActivity.class);
                intent4.putExtra("orderid",orderid);
                intent4.putExtra("tableid",tableid);
                startActivity(intent4);
                break;
        }
        dismiss();
    }


    @Override
    public void onStart() {
        super.onStart();
        // 设置宽度为屏宽, 靠近屏幕底部。
        Window window = getDialog().getWindow();WindowManager.LayoutParams lp = window.getAttributes();
        lp.gravity = Gravity.BOTTOM; // 紧贴底部
        lp.width = WindowManager.LayoutParams.MATCH_PARENT; // 宽度持平
        window.setAttributes(lp);
        window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
    }

    @Override
    public void onOperationClick(int type,String messageid) {
        switch (type){
            case 1://呼叫服务
                break;
            case 2://加减菜,审核
                Intent intent=new Intent(getContext(),OrderAffirmActivity.class);
                intent.putExtra("orderid",orderid);
                intent.putExtra("messageid",messageid);
                startActivity(intent);
                break;
            case 3://开发票
                Intent intent1=new Intent(getContext(), ReceiptActivity.class);
                Bundle bundle=new Bundle();
                bundle.putString("orderid",orderid);
                bundle.putBoolean("isWaitingSure",isWaitingSure);
                intent1.putExtras(bundle);
                startActivity(intent1);
                break;
        }
        dismiss();
    }
}