SettingsFrag.java 5.94 KB
package etelligens.com.foodsafety.fragments;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.google.gson.Gson;

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

import java.util.ArrayList;

import etelligens.com.foodsafety.R;
import etelligens.com.foodsafety.activities.ItemSelection;
import etelligens.com.foodsafety.activities.settings.NotificationSettingsActivity;
import etelligens.com.foodsafety.adapter.SettingsA;
import etelligens.com.foodsafety.model.SettingsM;
import etelligens.com.foodsafety.utils.BaseFragment;


public class SettingsFrag extends BaseFragment implements View.OnClickListener {

    RecyclerView recyclerView;
    ArrayList<SettingsM> settingsModels = new ArrayList<>();
    SettingsA settingsAdapter;
    TextView tvchoosepartner, tvchooseOutlet, dashboardtxt;


    String mySettingsArra[] = {"Notification"};
    String childArra[] = {"Choose One"};
    private static int REQUEST_PATNER=1;
    private static int REQUEST_OUTLET=2;
    String keyButton, oID = "empty", pID = "empty", idValue, itemName, ooID, ppID;


    @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, container, false);
        getSavedData();
        recyclerView = view.findViewById(R.id.settings_recylerview);
        tvchoosepartner = view.findViewById(R.id.tv_choose_partner);
        tvchooseOutlet = view.findViewById(R.id.tv_choose_outlet);
        dashboardtxt = view.findViewById(R.id.dashboard_txt);

        recyclerView.setHasFixedSize(true);
        LinearLayoutManager layoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
        recyclerView.setLayoutManager(layoutManager);

        if (roleID.equals("3")) {
            pID = partnerID;
            idValue = partnerID;
            tvchoosepartner.setVisibility(View.INVISIBLE);

        }

        settingsAdapter = new SettingsA(getContext(), settingsModels, m -> {
            if (!oID.equals("empty")) {
                Intent i = new Intent(getContext(), NotificationSettingsActivity.class);
                i.putExtra("outID", oID);
                i.putExtra("partID", pID);
                //  i.putExtra("partName",)
                startActivity(i);
            } else {
                Toast.makeText(getContext(), getString(R.string.choose_patner_n_outlet), Toast.LENGTH_SHORT).show();
            }
        });
        recyclerView.setAdapter(settingsAdapter);

        for (int i = 0; i < mySettingsArra.length; i++) {
            String name = mySettingsArra[i];
            String subname = childArra[i];
            int id = i + 1;
            settingArr(id, name, subname);
        }

        tvchoosepartner.setOnClickListener(this);
        tvchooseOutlet.setOnClickListener(this);
        dashboardtxt.setOnClickListener(this);



        return view;
    }

    private void settingArr(final int id, final String name, final String subname) {
        JSONObject jsonObject = new JSONObject();
        try {
            jsonObject.put("id", id);
            jsonObject.put("name", name);
            jsonObject.put("subname", subname);
            Gson gson = new Gson();
            SettingsM settingsModel = gson.fromJson(String.valueOf(jsonObject), SettingsM.class);
            settingsModels.add(settingsModel);
            settingsAdapter.notifyDataSetChanged();

        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (resultCode == Activity.RESULT_OK) {

            if (requestCode==REQUEST_PATNER) {
                idValue = data.getStringExtra("idValue");
                itemName = data.getStringExtra("itemName");
                tvchoosepartner.setText(itemName);
                pID = idValue;
                ppID = pID;
            }

            if (requestCode==REQUEST_OUTLET) {
                idValue = data.getStringExtra("idValue");
                itemName = data.getStringExtra("itemName");
                tvchooseOutlet.setText(itemName);
                oID = idValue;
                ooID = oID;
            }
        }
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.tv_choose_partner: {
                Intent i = new Intent(getContext(), ItemSelection.class);
                /*i.putExtra("change_type", "locationList");*/
                i.putExtra("selection_type",getString(R.string.tv_patner));
                startActivityForResult(i, REQUEST_PATNER);
            }
            break;

            case R.id.tv_choose_outlet: {
                if (!pID.equals("empty")) {
                    System.out.println(idValue + "  ....iddd");
                    Intent i = new Intent(getContext(), ItemSelection.class);
                    i.putExtra("selection_type", getString(R.string.tv_outlet));
                    i.putExtra("id", pID);
                    startActivityForResult(i, REQUEST_OUTLET);

                } else {
                    Toast.makeText(getContext(), R.string.choose_partner, Toast.LENGTH_SHORT).show();
                }
            }
            break;

            case R.id.dashboard_txt: {
                gotoDashboard(getActivity());
            }
            break;
        }
    }
}