Advertisement
Raditya48

LaporanPenagihanTabelActivity.java

Mar 29th, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.80 KB | None | 0 0
  1. package waruagung.com.ksuapplicationKolektor.LaporanPenagihan;
  2.  
  3. import android.app.Activity;
  4. import android.app.DatePickerDialog;
  5. import android.app.ProgressDialog;
  6. import android.content.Context;
  7. import android.content.Intent;
  8. import android.net.ConnectivityManager;
  9. import android.net.NetworkInfo;
  10. import android.net.Uri;
  11. import android.os.Bundle;
  12. import android.text.Editable;
  13. import android.text.InputType;
  14. import android.text.TextWatcher;
  15. import android.util.Log;
  16. import android.view.KeyEvent;
  17. import android.view.MenuItem;
  18. import android.view.View;
  19. import android.view.inputmethod.EditorInfo;
  20. import android.view.inputmethod.InputMethodManager;
  21. import android.widget.AdapterView;
  22. import android.widget.ArrayAdapter;
  23. import android.widget.DatePicker;
  24. import android.widget.EditText;
  25. import android.widget.LinearLayout;
  26. import android.widget.Spinner;
  27. import android.widget.TextView;
  28. import android.widget.Toast;
  29.  
  30. import androidx.annotation.NonNull;
  31. import androidx.appcompat.app.AppCompatActivity;
  32. import androidx.appcompat.widget.Toolbar;
  33. import androidx.recyclerview.widget.LinearLayoutManager;
  34. import androidx.recyclerview.widget.RecyclerView;
  35. import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
  36.  
  37. import com.android.volley.AuthFailureError;
  38. import com.android.volley.DefaultRetryPolicy;
  39. import com.android.volley.NetworkResponse;
  40. import com.android.volley.Request;
  41. import com.android.volley.RequestQueue;
  42. import com.android.volley.Response;
  43. import com.android.volley.VolleyError;
  44. import com.android.volley.toolbox.StringRequest;
  45. import com.android.volley.toolbox.Volley;
  46. import com.google.android.material.bottomnavigation.BottomNavigationView;
  47. import com.google.android.material.snackbar.Snackbar;
  48. import com.google.gson.Gson;
  49. import com.google.gson.reflect.TypeToken;
  50.  
  51. import java.text.SimpleDateFormat;
  52. import java.util.ArrayList;
  53. import java.util.Calendar;
  54. import java.util.HashMap;
  55. import java.util.List;
  56. import java.util.Locale;
  57. import java.util.Map;
  58.  
  59. import butterknife.BindView;
  60. import butterknife.ButterKnife;
  61. import retrofit2.Call;
  62. import retrofit2.Callback;
  63. import waruagung.com.ksuapplicationKolektor.API.APIClient;
  64. import waruagung.com.ksuapplicationKolektor.API.APIInterface;
  65. import waruagung.com.ksuapplicationKolektor.API.model.ModelStatusBayar;
  66. import waruagung.com.ksuapplicationKolektor.Cari_Nama_AnggotaActivity;
  67. import waruagung.com.ksuapplicationKolektor.Helper.Http;
  68. import waruagung.com.ksuapplicationKolektor.Helper.SessionManager;
  69. import waruagung.com.ksuapplicationKolektor.Helper.VolleyErrorHelper;
  70. import waruagung.com.ksuapplicationKolektor.LaporanPenagihan.Adapter.AdapterReportKolektorTabel;
  71. import waruagung.com.ksuapplicationKolektor.LaporanPenagihan.Model.ModelReportKolektor;
  72. import waruagung.com.ksuapplicationKolektor.MainActivity;
  73. import waruagung.com.ksuapplicationKolektor.Model.ModelUserRole;
  74. import waruagung.com.ksuapplicationKolektor.R;
  75.  
  76. public class LaporanPenagihanTabelActivity extends AppCompatActivity {
  77. public static final String TAG = LaporanPenagihanTabelActivity.class.getSimpleName();
  78. @BindView(R.id.toolbar)
  79. Toolbar toolbar;
  80. @BindView(R.id.cari)
  81. EditText cari;
  82. @BindView(R.id.rvcari_laporan)
  83. RecyclerView rvcariLaporan;
  84. @BindView(R.id.swiperefresh)
  85. SwipeRefreshLayout swiperefresh;
  86. @BindView(R.id.bn_main)
  87. BottomNavigationView bnMain;
  88. @BindView(R.id.tanggalawal)
  89. EditText tanggalawal;
  90. @BindView(R.id.tanggal_awal)
  91. LinearLayout tanggalAwal;
  92. @BindView(R.id.tanggalakhir)
  93. EditText tanggalakhir;
  94. @BindView(R.id.tanggal_akhir)
  95. LinearLayout tanggalAkhir;
  96. @BindView(R.id.status_penagihan)
  97. Spinner statusPenagihan;
  98. Context mContext;
  99. // @BindView(R.id.CariTanggal)
  100. // TextView CariTanggal;
  101. private DatePickerDialog picker;
  102. private View view;
  103. private Intent intent;
  104. private SessionManager sessionManager;
  105. private Boolean APP_REPORT_ADMCOLL = false, APP_KOLEKTOR_TAGIH = false, APP_APPR_KABAG_COLL = false, APP_REPORT_COLL = false;
  106. private List<ModelReportKolektor> itemlist;
  107. private String liststatusbayar;
  108. private APIInterface apiInterface;
  109. private APIClient ApiClient;
  110. private ArrayList<Uri> arrayList = new ArrayList<>();
  111. // private String statusbayar;
  112. //
  113. // private String[] liststatusbayar = {
  114. // "Sudah Bayar",
  115. // "Janji Bayar",
  116. // "Belum Ketemu"
  117. //
  118. // };
  119.  
  120. @Override
  121. protected void onCreate(Bundle savedInstanceState) {
  122. super.onCreate(savedInstanceState);
  123. setContentView(R.layout.activity_laporan_penagihan_tabel);
  124. ButterKnife.bind(this);
  125. sessionManager = new SessionManager(LaporanPenagihanTabelActivity.this);
  126.  
  127. // final ArrayAdapter<String> adapterSpinnerstatusbayar = new ArrayAdapter<>(this,
  128. // R.layout.spinner_item, liststatusbayar);
  129. // statusPenagihan.setAdapter(adapterSpinnerstatusbayar);
  130. // Log.e(TAG, "onCreate: " + statusbayar);
  131.  
  132. liststatusbayar();
  133.  
  134. statusPenagihan.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  135. @Override
  136. public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
  137. liststatusbayar = parent.getItemAtPosition(position).toString();
  138. // String selectedName = parent.getItemAtPosition(position).toString();
  139. // Toast.makeText(getBaseContext(), "Kamu memilih " + selectedName, Toast.LENGTH_SHORT).show();
  140. }
  141.  
  142. @Override
  143. public void onNothingSelected(AdapterView<?> parent) {
  144.  
  145. }
  146. });
  147.  
  148. //tanggal otomatis sekarang
  149. Calendar calendar = Calendar.getInstance();
  150. // calendar.add(Calendar.DATE, -90); // number of days to add
  151. String currentDate = new SimpleDateFormat("dd/MM/yyyy").format(calendar.getTime());
  152. TextView textViewDate = findViewById(R.id.tanggalawal);
  153. textViewDate.setText(currentDate);
  154.  
  155. // calendar.add(Calendar.DATE, -90); // number of days to add
  156. String currentDate2 = new SimpleDateFormat("dd/MM/yyyy").format(calendar.getTime());
  157. TextView textViewDate2 = findViewById(R.id.tanggalakhir);
  158. textViewDate2.setText(currentDate2);
  159.  
  160. settingDatePicker();
  161. try {
  162. List<ModelUserRole> modelRole = new Gson().fromJson(sessionManager.getRole(), new TypeToken<List<ModelUserRole>>() {
  163. }.getType());
  164.  
  165. for (ModelUserRole m : modelRole) {
  166. if (m.getFORMADDRESS().equals("APP_REPORT_ADMCOLL")) {
  167. APP_REPORT_ADMCOLL = true;
  168. }
  169. if (m.getFORMADDRESS().equals("APP_KOLEKTOR_TAGIH")) {
  170. APP_KOLEKTOR_TAGIH = true;
  171. }
  172. if (m.getFORMADDRESS().equals("APP_APPR_KABAG_COLL")) {
  173. APP_APPR_KABAG_COLL = true;
  174. }
  175. if (m.getFORMADDRESS().equals("APP_REPORT_COLL")) {
  176. APP_REPORT_COLL = true;
  177. }
  178. }
  179. } catch (Exception e) {
  180. e.printStackTrace();
  181. }
  182. rvlaporan("");
  183. cari.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  184. @Override
  185. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  186. if (actionId == EditorInfo.IME_ACTION_SEARCH
  187. || actionId == EditorInfo.IME_ACTION_DONE
  188. || event.getAction() == KeyEvent.ACTION_DOWN
  189. && event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
  190. rvlaporan(cari.getText().toString().trim());
  191. //keyboard otomatis hilang jika sudah cari nama/item selesai
  192. InputMethodManager inputMethodManager1 = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
  193. inputMethodManager1.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
  194.  
  195. return true;
  196. }
  197. // Return true if you have consumed the action, else false.
  198. return false;
  199. }
  200. });
  201.  
  202. // rvlaporan("");
  203. restoreActionBar();
  204. swiperefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
  205. @Override
  206. public void onRefresh() {
  207. rvlaporan("");
  208. swiperefresh.setRefreshing(false);
  209.  
  210. }
  211. });
  212. }
  213.  
  214. private void liststatusbayar() {
  215. apiInterface = APIClient.getClient(Http.getUrl()).create(APIInterface.class);
  216. Call<List<ModelStatusBayar>> call = apiInterface.doGetAPIListStatusBayar("KSP11");
  217. call.enqueue(new Callback<List<ModelStatusBayar>>() {
  218. @Override
  219. public void onResponse(Call<List<ModelStatusBayar>> call, retrofit2.Response<List<ModelStatusBayar>> response) {
  220. if (response.isSuccessful() && response.body() != null) {
  221. Log.e(TAG, "onResponse: " + response.toString());
  222. List<String> listSpinner = new ArrayList<String>();
  223. for (int i = 0; i < response.body().size(); i++) {
  224. listSpinner.add(response.body().get(i).getValue());
  225. }
  226. // Set hasil result json ke dalam adapter spinner
  227. ArrayAdapter<String> adapter = new ArrayAdapter<String>(getBaseContext(),
  228. android.R.layout.simple_spinner_item, listSpinner);
  229. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  230. statusPenagihan.setAdapter(adapter);
  231. }
  232. }
  233.  
  234. @Override
  235. public void onFailure(Call<List<ModelStatusBayar>> call, Throwable t) {
  236. Toast.makeText(getBaseContext(), t.toString(), Toast.LENGTH_SHORT).show();
  237. }
  238. });
  239. }
  240.  
  241.  
  242. private void settingDatePicker() {
  243. SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");// HH:mm:ss");
  244. tanggalawal.setInputType(InputType.TYPE_NULL);
  245. tanggalawal.setOnClickListener(new View.OnClickListener() {
  246. @Override
  247. public void onClick(View v) {
  248. final Calendar cldr = Calendar.getInstance();
  249. int day = cldr.get(Calendar.DAY_OF_MONTH);
  250. int month = cldr.get(Calendar.MONTH);
  251. int year = cldr.get(Calendar.YEAR);
  252. picker = new DatePickerDialog(v.getContext(),
  253. new DatePickerDialog.OnDateSetListener() {
  254. @Override
  255. public void onDateSet(DatePicker view, int dayOfMonth, int monthOfYear, int year) {
  256. Calendar newDate = Calendar.getInstance();
  257. // newDate.set(year, monthOfYear, dayOfMonth);
  258. newDate.set(dayOfMonth, monthOfYear, year);
  259. SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());
  260. String formatted = dateFormat.format(newDate.getTime());
  261. tanggalawal.setText(formatted);
  262. }
  263. }, year, month, day);
  264. picker.show();
  265. }
  266. });
  267.  
  268.  
  269. tanggalakhir.setInputType(InputType.TYPE_NULL);
  270. tanggalakhir.setOnClickListener(new View.OnClickListener() {
  271. @Override
  272. public void onClick(View v) {
  273. final Calendar cldr = Calendar.getInstance();
  274. // cldr.add(Calendar.DATE, -90); // number of days to add
  275. int day = cldr.get(Calendar.DAY_OF_MONTH);
  276. int month = cldr.get(Calendar.MONTH);
  277. int year = cldr.get(Calendar.YEAR);
  278. picker = new DatePickerDialog(v.getContext(),
  279. new DatePickerDialog.OnDateSetListener() {
  280. @Override
  281. public void onDateSet(DatePicker view, int dayOfMonth, int monthOfYear, int year) {
  282. Calendar newDate = Calendar.getInstance();
  283. // newDate.set(year, monthOfYear, dayOfMonth);
  284. newDate.set(dayOfMonth, monthOfYear, year);
  285. SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());
  286. String formatted = dateFormat.format(newDate.getTime());
  287. tanggalakhir.setText(formatted);
  288. }
  289. }, year, month, day);
  290. picker.show();
  291. }
  292. });
  293.  
  294. tanggalawal.addTextChangedListener(new TextWatcher() {
  295. @Override
  296. public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  297.  
  298. }
  299.  
  300. @Override
  301. public void onTextChanged(CharSequence s, int start, int before, int count) {
  302. String cariTanggal = tanggalawal.getText().toString();
  303. if (cariTanggal.length() > 3) {
  304. if (isOnline()) {
  305. String caritanggal = cari.getText().toString().toUpperCase();
  306. rvlaporan(caritanggal);
  307. } else {
  308. Snack("Tidak ada koneksi internet");
  309. }
  310. }
  311. }
  312.  
  313. @Override
  314. public void afterTextChanged(Editable s) {
  315.  
  316. }
  317. });
  318.  
  319.  
  320. tanggalakhir.addTextChangedListener(new TextWatcher() {
  321. @Override
  322. public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  323.  
  324. }
  325.  
  326. @Override
  327. public void onTextChanged(CharSequence s, int start, int before, int count) {
  328. String cariTanggal = tanggalawal.getText().toString();
  329. if (cariTanggal.length() > 3) {
  330. if (isOnline()) {
  331. String caritanggal = cari.getText().toString().toUpperCase();
  332. rvlaporan(caritanggal);
  333. } else {
  334. Snack("Tidak ada koneksi internet");
  335. }
  336. }
  337. }
  338.  
  339. @Override
  340. public void afterTextChanged(Editable s) {
  341.  
  342. }
  343. });
  344.  
  345.  
  346. }
  347.  
  348. private boolean isOnline() {
  349. ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
  350. NetworkInfo netInfo = cm.getActiveNetworkInfo();
  351. return netInfo != null && netInfo.isConnectedOrConnecting();
  352. }
  353.  
  354. private void Snack(String string) {
  355. Snackbar snackbar = Snackbar.make(cari, string, Snackbar.LENGTH_LONG)
  356. .setAction("Action", null);
  357. View snackBarView = snackbar.getView();
  358. snackBarView.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
  359. snackbar.show();
  360. }
  361.  
  362. private void restoreActionBar() {
  363. setSupportActionBar(toolbar);
  364. // toolbarTitle.setText("Keranjang");
  365. // toolbarTitle.setTextColor(Color.BLACK);
  366. getSupportActionBar().setTitle("");
  367. getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  368. getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_chevron_left_black_24dp);
  369. // getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.BLUE));
  370. getSupportActionBar().setDisplayShowTitleEnabled(true);
  371. // toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_arrow_back_black_24dp));
  372. toolbar.setNavigationOnClickListener(new View.OnClickListener() {
  373. @Override
  374. public void onClick(View v) {
  375. finish();
  376. }
  377. });
  378.  
  379. if (APP_REPORT_ADMCOLL) {
  380. bnMain.setVisibility(View.GONE);
  381. }
  382. bnMain.getMenu().getItem(0).setCheckable(false);
  383. bnMain.getMenu().getItem(2).setChecked(true);
  384. bnMain.getMenu().getItem(0).setCheckable(false);
  385. bnMain.getMenu().getItem(2).setCheckable(true);
  386. bnMain.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
  387. @Override
  388. public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
  389. switch (menuItem.getItemId()) {
  390. case R.id.home_menu:
  391. Intent intent = new Intent(getApplicationContext(), MainActivity.class);
  392. startActivity(intent);
  393. break;
  394. case R.id.Pembayaran:
  395. Intent intent2 = new Intent(getApplicationContext(), Cari_Nama_AnggotaActivity.class);
  396. startActivity(intent2);
  397. break;
  398. // case R.id.Laporan:
  399. // Intent intent3 = new Intent(getApplicationContext(), CariLaporanActivity.class);
  400. // startActivity(intent3);
  401. // break;
  402.  
  403. case R.id.Laporan:
  404. Intent intent3 = new Intent(getApplicationContext(), LaporanPenagihanTabelActivity.class);
  405. startActivity(intent3);
  406. break;
  407.  
  408. // case R.id.Riwayat:
  409. // Intent intent3 = new Intent(getApplicationContext(), Riwayat_pembayaranActivity.class);
  410. // startActivity(intent3);
  411. // break;
  412. }
  413. return false;
  414. }
  415. });
  416. }
  417.  
  418. @Override
  419. protected void onRestart() {
  420. super.onRestart();
  421. rvlaporan("");
  422.  
  423. }
  424.  
  425. private void rvlaporan(String cariMember) {
  426. String searchDate = tanggalawal.getText().toString();
  427. String endDate = tanggalakhir.getText().toString();
  428.  
  429. LinearLayoutManager linearLayoutManager = new LinearLayoutManager(LaporanPenagihanTabelActivity.this);
  430. rvcariLaporan.setLayoutManager(linearLayoutManager);
  431. rvcariLaporan.setHasFixedSize(true);
  432. rvcariLaporan.setNestedScrollingEnabled(false);
  433. rvcariLaporan.setOnScrollChangeListener(new View.OnScrollChangeListener() {
  434. @Override
  435. public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
  436. swiperefresh.setEnabled(linearLayoutManager.findFirstCompletelyVisibleItemPosition() == 0);
  437. }
  438. });
  439.  
  440. String url = Http.getUrl() + "Kolektor_Report_Pimpinan?sCmp=" + Http.getsCmp() + "&membername=" + cari.getText().toString() + "&kolektor=";
  441. if (APP_REPORT_COLL && !APP_APPR_KABAG_COLL | !APP_REPORT_ADMCOLL) {
  442. url = Http.getUrl() + "Kolektor_Report?sCmp=" + Http.getsCmp() + "&datestart=" + searchDate + "&dateend=" + endDate + "&StatusBayar=" + "&membername=" + cariMember + "&userid=" + sessionManager.getPID();
  443. } else {
  444. // url = Http.getUrl() + "Kolektor_Report_Pimpinan?sCmp=" + Http.getsCmp() + "&datestart=" + "&dateend=" + "&StatusBayar=" + "&membername=" + cariMember;
  445. url = Http.getUrl() + "Kolektor_Report_Pimpinan?sCmp=" + Http.getsCmp() + "&datestart=" + searchDate + "&dateend=" + endDate + "&StatusBayar=" + "&membername=" + cariMember + "&kolektor=";
  446. }
  447. Log.e(TAG, "sendCheckIn: " + url);
  448. final ProgressDialog dialog1 = new ProgressDialog(LaporanPenagihanTabelActivity.this);
  449. dialog1.setCancelable(false);
  450. dialog1.setCanceledOnTouchOutside(false);
  451. dialog1.setMessage("Memuat data...");
  452. dialog1.show();
  453. RequestQueue mQueue = Volley.newRequestQueue(LaporanPenagihanTabelActivity.this);
  454. // Log.e(TAG, "accessWebService: Katalog Start with Token " + sessionManager.getKeyToken());
  455. StringRequest jsonObjectRequest = new StringRequest(Request.Method.GET, url,
  456. new Response.Listener<String>() {
  457. @Override
  458. public void onResponse(String response) {
  459. try {
  460.  
  461. dialog1.dismiss();
  462. Log.d(TAG, "onResponse() called with: response = " + response);
  463. if (response != null) {
  464. // Gson gson = new Gson();
  465. // ModelName modelName = gson.fromJson(String.valueOf(response), ModelName.class)
  466.  
  467. if (response.equals("[]")) {
  468. Toast.makeText(LaporanPenagihanTabelActivity.this, "Data Kosong", Toast.LENGTH_SHORT).show();
  469. } else {
  470.  
  471.  
  472. itemlist = new Gson().fromJson(response, new TypeToken<List<ModelReportKolektor>>() {
  473. }.getType());
  474.  
  475. if (!itemlist.isEmpty()) {
  476. List<ModelReportKolektor> userData = new ArrayList<>();
  477. for (int i = 0; i < itemlist.size(); i++) {
  478. if (liststatusbayar.equals("All")) {
  479. userData.add(itemlist.get(i));
  480. } else {
  481. if (itemlist.get(i).getStatusBayar().equals(liststatusbayar)) {
  482. userData.add(itemlist.get(i));
  483. }
  484. }
  485. }
  486. AdapterReportKolektorTabel adapterReportKolektorTabel = new AdapterReportKolektorTabel(LaporanPenagihanTabelActivity.this, -1, userData);
  487. rvcariLaporan.setAdapter(adapterReportKolektorTabel);
  488. }
  489.  
  490.  
  491. }
  492.  
  493.  
  494. }
  495. } catch (Exception e) {
  496. Log.e(TAG, "onResponse() called with: response = [" + e.getMessage() + "]");
  497. }
  498.  
  499. }
  500. }, new Response.ErrorListener() {
  501. @Override
  502. public void onErrorResponse(VolleyError error) {
  503. dialog1.dismiss();
  504. try {
  505. String bodyError = VolleyErrorHelper.getMessage(error, LaporanPenagihanTabelActivity.this);
  506. Toast.makeText(LaporanPenagihanTabelActivity.this, bodyError, Toast.LENGTH_SHORT).show();
  507.  
  508. } catch (Exception e) {
  509. Log.e(TAG, "onErrorResponse: " + e.getMessage());
  510. }
  511. }
  512. }) {
  513. @Override
  514. public Map<String, String> getHeaders() throws AuthFailureError {
  515. Map<String, String> params = new HashMap<String, String>();
  516. // params.put("Content-Type", "application/x-www-form-urlencoded");
  517. // params.put("Authorization", "Bearer " + sessionManager.getKeyToken());
  518. return params;
  519. }
  520.  
  521. @Override
  522. protected Response<String> parseNetworkResponse(NetworkResponse response) {
  523. return super.parseNetworkResponse(response);
  524. }
  525. };
  526.  
  527. jsonObjectRequest.setRetryPolicy(new DefaultRetryPolicy(5000,
  528. DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
  529. DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
  530. mQueue.add(jsonObjectRequest);
  531. }
  532. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement