PrinterSettingsFrag.java 5.96 KB
package etelligens.com.foodsafety.fragments;

import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.printservice.PrintService;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*;
import androidx.annotation.Nullable;
import com.android.volley.DefaultRetryPolicy;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.gainscha.sdk2.Printer;
import com.gainscha.sdk2.PrinterResponse;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import com.printer.sdk.serial.MainActivity;
import com.printer.sdk.serial.ScanningActivity;
import etelligens.com.foodsafety.R;
import etelligens.com.foodsafety.activities.dashboard.Dashboard;
import etelligens.com.foodsafety.activities.dashboard.SharedHelper;
import etelligens.com.foodsafety.activities.lables.frontEnd.MasterLabelCategoryFrontEnd;
import etelligens.com.foodsafety.activities.sidemenu.AddNewOutletAct;
import etelligens.com.foodsafety.fragments.userslist.PrinterCallback;
import etelligens.com.foodsafety.model.MacAddressModal;
import etelligens.com.foodsafety.utils.BaseFragment;
import etelligens.com.foodsafety.utils.CommonUtil;
import etelligens.com.foodsafety.utils.hardwareEncryption;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

import static etelligens.com.foodsafety.utils.EndPoint.*;
import static etelligens.com.foodsafety.utils.Keyword.MY_SOCKET_TIMEOUT;


public class PrinterSettingsFrag extends BaseFragment implements View.OnClickListener {

    TextView tvWidth, tvDpi;
    Spinner spinnerDrop;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    View view;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        view = inflater.inflate(R.layout.fragment_settings_printer, container, false);
        tvWidth = view.findViewById(R.id.tv_choose_width);
        tvDpi = view.findViewById(R.id.tv_choose_dpi);
        spinnerDrop = view.findViewById(R.id.spinner_print);
        String paperWidth = SharedHelper.getKey(container.getContext(), "PaperWidth");
        if (TextUtils.isEmpty(paperWidth)) {
            paperWidth = "72";
        }
        tvWidth.setText("Paper width:" + paperWidth + " mm");

        String printerDpi = SharedHelper.getKey(container.getContext(), "PrinterDpi");
        if (TextUtils.isEmpty(printerDpi)) {
            printerDpi = "203";
        }
        tvDpi.setText("Resolution:" + printerDpi + " dpi");

        view.findViewById(R.id.tv_paper_30).setOnClickListener(this);
        view.findViewById(R.id.tv_paper_48).setOnClickListener(this);
        view.findViewById(R.id.tv_paper_72).setOnClickListener(this);
        view.findViewById(R.id.tv_paper_104).setOnClickListener(this);
        view.findViewById(R.id.tv_dpi_203).setOnClickListener(this);
        view.findViewById(R.id.tv_dpi_300).setOnClickListener(this);

        String[] options = {"打印机品牌 1", "打印机品牌 2", "打印机品牌 3"};
        // 创建 ArrayAdapter 适配器,并将数据源绑定到 Spinner 上
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(),R.layout.support_simple_spinner_dropdown_item, options);
        // 设置下拉菜单的样式
        //adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        // 将适配器设置给 Spinner

        spinnerDrop.setAdapter(adapter);
        // 处理 Spinner 的选中事件
        spinnerDrop.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                // 获取选中的值
                String selectedOption = options[position];
                // 可以在这里处理选中的值
                Toast.makeText(getContext(), "你选择了: " + selectedOption, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                // 没有选中任何项时的逻辑处理
            }
        });
        return view;
    }


    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.tv_paper_30: {
                tvWidth.setText("Paper width:30 mm");
                SharedHelper.putKey(getActivity(), "PaperWidth", "30");
            }
            break;
            case R.id.tv_paper_48: {
                tvWidth.setText("Paper width:48 mm");
                SharedHelper.putKey(getActivity(), "PaperWidth", "48");
            }
            break;

            case R.id.tv_paper_72: {
                tvWidth.setText("Paper width:72 mm");
                SharedHelper.putKey(getActivity(), "PaperWidth", "72");
            }
            break;

            case R.id.tv_paper_104: {
                tvWidth.setText("Paper width:104 mm");
                SharedHelper.putKey(getActivity(), "PaperWidth", "104");
            }
            break;
            case R.id.tv_dpi_203: {
                tvDpi.setText("Resolution:203 dpi");
                SharedHelper.putKey(getActivity(), "PrinterDpi", "203");
            }
            break;
            case R.id.tv_dpi_300: {
                tvDpi.setText("Resolution:300 dpi");
                SharedHelper.putKey(getActivity(), "PrinterDpi", "300");
            }
            break;
        }
    }
}