SettingFragment.java 6.18 KB
package com.huaheng.wms.fragment;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

import com.huaheng.wms.LoginActivity;
import com.huaheng.wms.MainActivity;
import com.huaheng.wms.R;
import com.huaheng.wms.download.DownloadUtils;
import com.huaheng.wms.https.HttpInterface;
import com.huaheng.wms.util.Constant;
import com.huaheng.wms.util.MenuLayout;
import com.huaheng.wms.util.WMSUtils;
import com.huaheng.wms.work.login.CompanyInfo;
import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;
import rx.Subscriber;

public class SettingFragment extends BaseFragment {

    @BindView(R.id.exitLayout)
    MenuLayout exitLayout;
//    @BindView(R.id.upgradeLayout)
//    MenuLayout upgradeLayout;
    @BindView(R.id.versionLayout)
    MenuLayout versionLayout;
    Unbinder unbinder;
    @BindView(R.id.warehouseLayout)
    MenuLayout warehouseLayout;
    @BindView(R.id.companyLayout)
    MenuLayout companyLayout;
//    @BindView(R.id.stationLayout)
//    MenuLayout stationLayout;
    private String[] companyCodes;
    private int[] companyIds;
    private String[] ports;
    private boolean isDownload = false;

    @Override
    public View layout(LayoutInflater inflater) {
        View view = inflater.inflate(R.layout.fragment_settings, null);
        return view;
    }

    @Override
    public void releaseMemory() {

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        // TODO: inflate a fragment view
        View rootView = super.onCreateView(inflater, container, savedInstanceState);
        unbinder = ButterKnife.bind(this, rootView);
        ports = new String[2];
        ports[0] = "1";
        ports[1] = "2";
//        upgradeLayout.setMenuTitle(getString(R.string.upgrade));
//        upgradeLayout.setIconVisible(View.VISIBLE);
        versionLayout.setMenuTitle(getString(R.string.version));
        versionLayout.setMenuContent(WMSUtils.getVersionName());
        exitLayout.setMenuTitle(getString(R.string.exit));
        exitLayout.setIconVisible(View.VISIBLE);
        warehouseLayout.setMenuTitle(getString(R.string.current_warehouse));
        warehouseLayout.setMenuContent(WMSUtils.getData(Constant.CURREN_WAREHOUSE));
//        companyLayout.setMenuTitle(getString(R.string.current_company));
//        companyLayout.setMenuContent(WMSUtils.getData(Constant.CURREN_COMPANY_CODE, Constant.DEFAULT_COMPANY_CODE));
//        stationLayout.setMenuTitle(getString(R.string.out_port));
//        stationLayout.setMenuContent(WMSUtils.getData(Constant.OUT_PORT, Constant.DEFAULT_OUT_PORT));
        getCompanyInfo();
        return rootView;
    }

    @Override
    public void onHiddenChanged(boolean hidden) {
        super.onHiddenChanged(hidden);
        isDownload = false;
    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        unbinder.unbind();
    }

    @OnClick({R.id.exitLayout,  R.id.versionLayout, R.id.companyLayout})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.exitLayout:
                getActivity().finish();
                WMSUtils.startActivity(getContext(), LoginActivity.class);
                break;
            case R.id.companyLayout:
                showListDialog();
                break;
//            case R.id.upgradeLayout:
//                if(!isDownload) {
//                    DownloadUtils.as(getContext()).startDownload();
//                    isDownload = true;
//                }
//                break;
            case R.id.versionLayout:
                break;
        }
    }

    private void showListDialog() {
        if(companyCodes == null) {
            WMSUtils.showShort(getContext().getString(R.string.choose_current_company_error));
        }
        AlertDialog.Builder listDialog =
                new AlertDialog.Builder(getContext());
        listDialog.setTitle(getContext().getString(R.string.enter_current_company));
        listDialog.setItems(companyCodes, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                String currentCompany =  companyCodes[which];
                int currentId = companyIds[which];
                WMSUtils.saveData(Constant.CURREN_COMPANY_CODE, currentCompany);
                WMSUtils.saveData(Constant.CURREN_COMPANY_ID, String.valueOf(currentId));
                companyLayout.setMenuContent(WMSUtils.getData(Constant.CURREN_COMPANY_CODE, Constant.DEFAULT_COMPANY_CODE));
            }
        });
        listDialog.show();
    }

//    private void showStationDialog() {
//        AlertDialog.Builder listDialog =
//                new AlertDialog.Builder(getContext());
//        listDialog.setTitle(getContext().getString(R.string.enter_out_port));
//        listDialog.setItems(ports, new DialogInterface.OnClickListener() {
//            @Override
//            public void onClick(DialogInterface dialog, int which) {
//                String port =  ports[which];
//                WMSUtils.saveData(Constant.OUT_PORT, port);
//                stationLayout.setMenuContent(WMSUtils.getData(Constant.OUT_PORT, Constant.DEFAULT_OUT_PORT));
//            }
//        });
//        listDialog.show();
//    }

    private void getCompanyInfo() {
        HttpInterface.getInsstance().getCompanyInfo(new Subscriber<List<CompanyInfo>>() {
            @Override
            public void onCompleted() {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(List<CompanyInfo> companyInfos) {
                companyCodes = new String[companyInfos.size()];
                companyIds = new int[companyInfos.size()];
                for(int i=0; i < companyInfos.size(); i++) {
                    companyCodes[i] = companyInfos.get(i).getCompanyCode();
                    companyIds[i] = companyInfos.get(i).getCompanyId();
                }
            }
        });
    }

}