package etelligens.com.foodsafety.activities; import static etelligens.com.foodsafety.utils.EndPoint.ETE_BASE_URL; import static etelligens.com.foodsafety.utils.EndPoint.ETE_GET_ALL_CHOOSE_OUTLETS; import static etelligens.com.foodsafety.utils.EndPoint.ETE_GET_ALL_PARTNER; import static etelligens.com.foodsafety.utils.Keyword.DB_LOGIN_USER_DATA; import static etelligens.com.foodsafety.utils.Keyword.ETE_DATA; import static etelligens.com.foodsafety.utils.Keyword.ETE_MSG; import static etelligens.com.foodsafety.utils.Keyword.ETE_STATUS; import static etelligens.com.foodsafety.utils.Keyword.MY_SOCKET_TIMEOUT; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ImageView; import android.widget.Toast; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.android.volley.AuthFailureError; import com.android.volley.DefaultRetryPolicy; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; import com.google.gson.Gson; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.Objects; import etelligens.com.foodsafety.R; import etelligens.com.foodsafety.activities.dashboard.SharedHelper; import etelligens.com.foodsafety.adapter.ItemSelectionAdapter; import etelligens.com.foodsafety.adapter.ItemSelectionAdapter2; import etelligens.com.foodsafety.model.ItemSelectionM; import etelligens.com.foodsafety.utils.BaseActivity; import etelligens.com.foodsafety.utils.Tools; public class ItemSelection extends BaseActivity implements View.OnClickListener { RecyclerView rvItemSelecction; ImageView imgBack; ArrayList itemSelectionMS = new ArrayList<>(); ItemSelectionAdapter itemSelectionAdapter; ItemSelectionAdapter2 itemSelectionAdapter2; String selectionType = "", idValue = "0"; SharedPreferences.Editor spEdit; SharedPreferences userData; String newPartID = ""; String parent_id = ""; String pId = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_item_selection); getSavedData(); getselectedLanguage(); userData = Objects.requireNonNull(getApplicationContext()).getSharedPreferences(DB_LOGIN_USER_DATA, Context.MODE_PRIVATE); spEdit = userData.edit(); newPartID = SharedHelper.getKey(this, "newPartID"); Intent extras = getIntent(); if (extras != null) { if (extras.getStringExtra("selection_type") != null) { selectionType = extras.getStringExtra("selection_type"); } } if (extras != null) { idValue = extras.getStringExtra("idValue"); pId=extras.getStringExtra("id"); } rvItemSelecction = findViewById(R.id.rv_item_selection); imgBack = findViewById(R.id.img_back); imgBack.setOnClickListener(this); rvItemSelecction.setHasFixedSize(true); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getApplicationContext(), LinearLayoutManager.VERTICAL, true); rvItemSelecction.setLayoutManager(linearLayoutManager); if (selectionType != null) { if (selectionType.equalsIgnoreCase(getString(R.string.tv_patner))) { partnerListMethod(); } if (selectionType.equalsIgnoreCase(getString(R.string.tv_outlet))) { outletListMethod(); } } } private void partnerListMethod() { loadershow(); String pUrl = null; if (currentLang != null) { pUrl = ETE_GET_ALL_PARTNER + "?" + "language=" + currentLang + "&is_navigate=1"; } else { pUrl = ETE_GET_ALL_PARTNER + "?is_navigate=1"; } Log.e("ekfqkljgl: ", pUrl); System.out.println(pUrl); StringRequest stringRequest = new StringRequest(Request.Method.GET, pUrl, response -> { try { JSONObject jsonResponse = new JSONObject(response); int status = jsonResponse.getInt(ETE_STATUS); String msg = jsonResponse.getString(ETE_MSG); if (status == 1) { Gson gson = new Gson(); JSONArray jsonArray = jsonResponse.getJSONArray(ETE_DATA); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonData = jsonArray.getJSONObject(i); ItemSelectionM itemSelectionM = gson.fromJson(String.valueOf(jsonData), ItemSelectionM.class); itemSelectionMS.add(itemSelectionM); } itemSelectionAdapter = new ItemSelectionAdapter(getApplicationContext(), itemSelectionMS, ItemSelection.this, new ItemSelectionAdapter.PassData() { @Override public void descriptionData(ItemSelectionM itemSelectionM) { } @Override public void catgorydata(ItemSelectionM itemSelectionM) { } @Override public void getSelectedPartnerID(String id) { SharedHelper.putKey(getApplicationContext(), "parent_id", id); } }); rvItemSelecction.setAdapter(itemSelectionAdapter); } else { if (msg.equals(R.string.token_expired)) { Tools.clearData(ItemSelection.this); } Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); } loaderHide(); } catch (JSONException e) { e.printStackTrace(); } }, error -> loaderHide()) { @Override public Map getHeaders() throws AuthFailureError { HashMap headers = new HashMap(); headers.put("Authorization", "Bearer " + loginToken); return headers; } }; stringRequest.setRetryPolicy(new DefaultRetryPolicy(MY_SOCKET_TIMEOUT, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); final RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); requestQueue.add(stringRequest); requestQueue.addRequestFinishedListener(request -> requestQueue.getCache().clear()); } private void outletListMethod() { loadershow(); String pUrl = null; if (currentLang != null) { if (idValue == null || idValue.equals("") || idValue.equals("0") || idValue.equals("null")) { pUrl = ETE_GET_ALL_CHOOSE_OUTLETS + pId + "?" + "language=" + currentLang; } else pUrl = ETE_GET_ALL_CHOOSE_OUTLETS + idValue + "?" + "language=" + currentLang; } else { if (newPartID.equals("") || newPartID.equals("0") || newPartID.equals("null") || newPartID.equals(null)) { if (parent_id.equals("")) { pUrl = ETE_GET_ALL_CHOOSE_OUTLETS + pId + "?" + "language=" + "en"; } else { pUrl = ETE_GET_ALL_CHOOSE_OUTLETS + SharedHelper.getKey(getApplicationContext(), "parent_ids") + "?" + "language=" + "en"; } } else { pUrl = ETE_GET_ALL_CHOOSE_OUTLETS + SharedHelper.getKey(getApplicationContext(), "newPartID") + "?" + "language=" + "en"; } } System.out.println(pUrl); Log.e("ekfqkljgl: ", "outlet: " + pUrl); Log.e("ekfqkljgl: ", ": " + SharedHelper.getKey(getApplicationContext(), "ids")); StringRequest stringRequest = new StringRequest(Request.Method.GET, pUrl, response -> { try { JSONObject jsonResponse = new JSONObject(response); int status = jsonResponse.getInt(ETE_STATUS); String msg = jsonResponse.getString(ETE_MSG); if (status == 1) { Gson gson = new Gson(); JSONArray jsonArray = jsonResponse.getJSONArray(ETE_DATA); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonData = jsonArray.getJSONObject(i); parent_id = jsonData.getString("parent_id"); SharedHelper.putKey(getApplicationContext(), "parent_ids", parent_id); ItemSelectionM itemSelectionM = gson.fromJson(String.valueOf(jsonData), ItemSelectionM.class); itemSelectionMS.add(itemSelectionM); } itemSelectionAdapter2 = new ItemSelectionAdapter2(getApplicationContext(), itemSelectionMS, ItemSelection.this, new ItemSelectionAdapter2.PassData2() { @Override public void descriptionData(ItemSelectionM itemSelectionM) { } @Override public void catgorydata(ItemSelectionM itemSelectionM) { } @Override public void getSelectedPartnerID(String id) { SharedHelper.putKey(getApplicationContext(), "parent_id", id); } }); rvItemSelecction.setAdapter(itemSelectionAdapter2); } else { if (msg.equals(R.string.token_expired)) { Tools.clearData(ItemSelection.this); } Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); } loaderHide(); } catch (JSONException e) { e.printStackTrace(); } }, error -> loaderHide()) { @Override public Map getHeaders() throws AuthFailureError { HashMap headers = new HashMap(); headers.put("Authorization", "Bearer " + loginToken); return headers; } }; stringRequest.setRetryPolicy(new DefaultRetryPolicy(MY_SOCKET_TIMEOUT, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); final RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); requestQueue.add(stringRequest); requestQueue.addRequestFinishedListener(request -> requestQueue.getCache().clear()); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.img_back: { finish(); } break; } } }