예제 #1
0
    protected void onPostExecute(Integer res) {
      if (httpConnector != null) httpConnector.close();

      if (pDialog.isShowing()) pDialog.dismiss();

      if (res == 2) {
        Toast.makeText(activity, "No Internet Connection", Toast.LENGTH_SHORT).show();
      } else if (res == 1) {
        parseResult(responseString);
        mealItems.clear();
        listView = (ListView) view.findViewById(R.id.listView);
        for (int i = 0; i < itemNames.size(); i++) {
          mealItems.add(new MealDrawerItem(itemNames.get(i), itemPrices.get(i).intValue()));
        }
        mealAdapter = new MealAdapter(activity, mealItems);
        listView.setAdapter(mealAdapter);
        listView.setTextFilterEnabled(true);
        listView.setOnItemClickListener(new DrawerItemClickListener());
        Log.e("tag_check", "After Setting Adapter");
        communicator.setMealAdapter(mealAdapter);
      } else {
        Log.e("TAG", "Failed to fetch data!");
      }
    }
  public void getEtiquette(
      final Context context,
      String url,
      ListView lv,
      EtiquetteListAdapter ad,
      ArrayList<Etiquette> list,
      Map<String, String> params,
      boolean dialog) {
    listView = lv;
    etiquetteListAdapter = ad;
    etiquetteArrayList = list;
    parameters = params;
    showDialog = dialog;

    StringRequest postRequest =
        new StringRequest(
            Request.Method.POST,
            url,
            new Response.Listener<String>() {
              @Override
              public void onResponse(String response) {
                try {
                  if (showDialog) {
                    progressDialog.dismiss();
                    progressDialog = null;
                  }

                  if (MainActivity.gps.canGetLocation()) {
                    // MainActivity.location = MainActivity.gps.getLocation();

                  } else {
                    // Can't get location.
                    // GPS or network is not enabled.
                    // Ask user to enable GPS/network in settings.
                    if (MainActivity.askGps) {
                      MainActivity.askGps = false;
                      MainActivity.gps.showSettingsAlert();
                    }
                  }

                  JSONObject jsonResponse = new JSONObject(response);
                  String msg = jsonResponse.getString("status");

                  if (msg.equals("success")) {
                    Gson gson = new Gson();
                    Etiquette[] result =
                        gson.fromJson(jsonResponse.getString("data"), Etiquette[].class);
                    etiquetteArrayList.clear();
                    etiquetteListAdapter.clear();
                    etiquetteArrayList.addAll(Arrays.asList(result));
                    etiquetteListAdapter.notifyDataSetChanged();
                    MainActivity.showDialog = false;
                  } else {
                    etiquetteListAdapter.clear();
                    etiquetteListAdapter.notifyDataSetChanged();
                  }

                } catch (JSONException e) {
                  e.printStackTrace();
                }
              }
            },
            new Response.ErrorListener() {
              @Override
              public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
                if (showDialog) {
                  progressDialog.dismiss();
                  progressDialog = null;
                }
                if (MainActivity.gps.canGetLocation()) {
                  // MainActivity.location = MainActivity.gps.getLocation();

                } else {
                  // Can't get location.
                  // GPS or network is not enabled.
                  // Ask user to enable GPS/network in settings.
                  if (MainActivity.askGps) {
                    MainActivity.gps.showSettingsAlert();
                    MainActivity.askGps = false;
                  }
                }
                Toast.makeText(context, "Check internet connection", Toast.LENGTH_SHORT).show();
              }
            }) {
          @Override
          protected Map<String, String> getParams() {
            return parameters;
          }
        };

    RetryPolicy policy =
        new DefaultRetryPolicy(
            30000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
    postRequest.setRetryPolicy(policy);

    if (showDialog) {
      progressDialog = new TransparentProgressDialog(context, R.drawable.loading3);
      progressDialog.show();
    }

    MainActivity.networkQueue.add(postRequest);
  }
예제 #3
0
 protected void onPreExecute() {
   pDialog =
       new TransparentProgressDialog(
           getActivity(), R.drawable.spinner, "Retrieving Yummy Meals..");
   pDialog.show();
 }