QingtaiDialog.java 4.85 KB
package com.naji.xiaotao.tangshi.ui;

import android.content.Context;
import android.content.Intent;
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.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;

import com.naji.xiaotao.App;
import com.naji.xiaotao.R;
import com.naji.xiaotao.common.dialog.RightDialog;
import com.naji.xiaotao.http.RetrofitClient;
import com.naji.xiaotao.tangshi.service.TangshiApiService;
import com.naji.xiaotao.util.DialogUtil;

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.bus.RxBus;
import me.goldze.mvvmhabit.http.BaseResponse;
import me.goldze.mvvmhabit.http.ResponseThrowable;
import me.goldze.mvvmhabit.utils.RxUtils;
import me.goldze.mvvmhabit.utils.SPUtils;
import me.goldze.mvvmhabit.utils.ToastUtils;

public class QingtaiDialog extends DialogFragment{

    private Context mContext;
    private String tableid;

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

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.layout_qingtai_dialog,container);
        view.findViewById(R.id.cancelBn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dismiss();
            }
        });
        view.findViewById(R.id.sureBn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dismiss();
                setClearTable();
            }
        });
        return view;
    }

    private void setClearTable(){
        Map<String,String> params=new HashMap<>();
        params.put("sellerid", SPUtils.getInstance("user_info").getString("sellerid"));
        params.put("tableid",tableid);
        RetrofitClient.getInstance().create(TangshiApiService.class)
                .setClearTable(params)
                .compose(RxUtils.<List<String>>exceptionTransformer())
                .compose(RxUtils.schedulersTransformer())
                .doOnSubscribe(new Consumer<Disposable>() {
                    @Override
                    public void accept(Disposable disposable) throws Exception {
                        DialogUtil.showDialog(mContext);
                    }
                })
                .subscribe(new Consumer<BaseResponse<List<String>>>() {
                    @Override
                    public void accept(BaseResponse<List<String>> listBaseResponse) throws Exception {
                        DialogUtil.dismissDialog();
                        if(listBaseResponse.getRet()==200){
                            final RightDialog dialog=new RightDialog();
                            Bundle bundle=new Bundle();
                            bundle.putString("msg","清台成功");
                            dialog.setArguments(bundle);
                            new Handler().postDelayed(new Runnable() {
                                @Override
                                public void run() {
                                    dialog.dismiss();
                                    RxBus.getDefault().post("refresh");
                                }
                            }, 1000);
                            dialog.show(((AppCompatActivity)mContext).getSupportFragmentManager(),"rightDialog");
                        }else{
                            ToastUtils.showShort(listBaseResponse.getMsg());
                        }
                    }

                }, new Consumer<ResponseThrowable>() {
                    @Override
                    public void accept(ResponseThrowable responseThrowable) throws Exception {
                       DialogUtil.dismissDialog();
                        responseThrowable.printStackTrace();
                        ToastUtils.showShort(responseThrowable.msg);
                    }

                });

    }

    @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.8),ViewGroup.LayoutParams.WRAP_CONTENT);
    }
}