MessageDialog.java 5.13 KB
package com.naji.xiaotao.tangshi.ui;

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.util.DisplayMetrics;
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.common.dialog.RightDialog;
import com.naji.xiaotao.cookbook.ui.CookBookMainActivity;
import com.naji.xiaotao.http.RetrofitClient;
import com.naji.xiaotao.message.entity.Message;
import com.naji.xiaotao.order.ui.OrderActivity;
import com.naji.xiaotao.order.ui.OrderAffirmActivity;
import com.naji.xiaotao.order.ui.OrderRetireActivity;
import com.naji.xiaotao.receipt.entity.ReceiptEntity;
import com.naji.xiaotao.receipt.service.ReceipApiService;
import com.naji.xiaotao.receipt.ui.ReceiptActivity;
import com.naji.xiaotao.tangshi.adapter.MessageAdapter;
import com.naji.xiaotao.tangshi.entity.PrintEntity;
import com.naji.xiaotao.tangshi.service.TangshiApiService;
import com.naji.xiaotao.util.DialogUtil;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import me.goldze.mvvmhabit.http.BaseResponse;
import me.goldze.mvvmhabit.http.ResponseThrowable;
import me.goldze.mvvmhabit.utils.MaterialDialogUtils;
import me.goldze.mvvmhabit.utils.RxUtils;
import me.goldze.mvvmhabit.utils.SPUtils;
import me.goldze.mvvmhabit.utils.ToastUtils;

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

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

    private String pid;//票据id

    private Context mContext;
    private String orderid;
    private String tableid;
    private String tablename;

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

    @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.layout_message,container);
        ((TextView)view.findViewById(R.id.tablename)).setText(tablename);
        mRecyclerview=view.findViewById(R.id.recyclerview);
        mRecyclerview.setLayoutManager(new LinearLayoutManager(mContext,LinearLayoutManager.VERTICAL,false));
        mAdapter=new MessageAdapter(mContext,mDatas,null,getArguments().getBoolean("isWaitingSure",false));
        mAdapter.setOnOperationClickListener(this);
        mRecyclerview.setAdapter(mAdapter);
        initListener(view);
        return view;
    }

    private void initListener(View view){
        view.findViewById(R.id.close).setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.close://关闭
                dismiss();
                break;
        }
    }

    @Override
    public void onStart() {
        super.onStart();
        // 设置宽度为屏宽, 靠近屏幕底部。
        Window window=getDialog().getWindow();
        WindowManager.LayoutParams lp=window.getAttributes();
        DisplayMetrics dm=new DisplayMetrics();
        window.getWindowManager().getDefaultDisplay().getMetrics(dm);
        window.setLayout((int) (dm.widthPixels*0.5),ViewGroup.LayoutParams.WRAP_CONTENT);
    }

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