Android Open Source - expo-connect Restaurant List Activity






From Project

Back to project page expo-connect.

License

The source code is released under:

GNU General Public License

If you think the Android project expo-connect listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package it.polimi.camparollo.expoconnect.recommendations;
//  www  . ja  v  a2s  .  c om
import it.polimi.camparollo.expoconnect.R;
import it.polimi.camparollo.expoconnect.datatransfer.RESTClient;
import android.os.Bundle;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.PopupMenu;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.PopupMenu.OnMenuItemClickListener;

import java.util.ArrayList;
import java.util.HashMap;

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

public class RestaurantListActivity extends ListActivity {

  private ProgressDialog pDialog;

  // JSON Node names
  private static final String TAG_RESTAURANTS = "restaurants";

  // restaurants JSONArray
  JSONArray restaurants = null;

  // Hashmap for ListView
  ArrayList<HashMap<String, String>> restaurantList;
  

  public void setRestaurantList(ArrayList<HashMap<String, String>> restaurantList) {
    this.restaurantList = restaurantList;
  }


  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_restaurant_list);

    ListView lv = getListView();

    // Listview on item click listener
    lv.setOnItemClickListener(new OnItemClickListener() {

      @Override
      public void onItemClick(AdapterView<?> parent, View view,
          int position, long id) {

        HashMap<String, String> r = restaurantList.get(position);
        // Starting single restaurant activity
        Intent in = new Intent(getApplicationContext(),
            SingleRestaurant.class);

        in.putExtra("restaurantMap", r);
        in.putExtra("DataShare", getIntent().getStringExtra("Data"));

        startActivity(in);

      }
    });

    // Calling async task to get json
    // Data from Wifi Direct that we have to parse and use here
    String data = getIntent().getStringExtra("Data");
    String json = data.split("!")[0];
    int index;
    try{
      index = Integer.parseInt(data.split("!")[1]);
    } catch (IndexOutOfBoundsException e) {
      index = -1;
    }

    RESTClient rc = new RESTClient(this);
    try {
      rc.setRequestBody(new JSONArray(json));
      rc.setIndex(index);
      rc.executeQuery();
    } catch (JSONException e) {
      e.printStackTrace();
    }

  }
  
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu items for use in the action bar
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.recommender, menu);
        return super.onCreateOptionsMenu(menu);
    }
    
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle presses on the action bar items
        switch (item.getItemId()) {
            case R.id.menu_item_share_rec:
                showMenu(findViewById(R.id.menu_item_share_rec));;
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

    public void showMenu(View v) {
        PopupMenu popup = new PopupMenu(this, v);
        MenuInflater inflater = popup.getMenuInflater();
        inflater.inflate(R.menu.recommender, popup.getMenu());
        popup.setOnMenuItemClickListener(new OnMenuItemClickListener() {
      
      @Override
      public boolean onMenuItemClick(MenuItem item) {
        try {
          
          Intent intent = new Intent("com.google.zxing.client.android.ENCODE");
                  intent.addCategory(Intent.CATEGORY_DEFAULT);
                  intent.putExtra("ENCODE_TYPE", "TEXT_TYPE");
                  intent.putExtra("ENCODE_DATA", getIntent().getStringExtra("Data").split("!")[0]);
                  startActivity(intent);
        
        } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
          Toast.makeText(getApplicationContext(), "ERROR:" + e, Toast.LENGTH_SHORT).show();
          return false;

        }
        return true;
        }

    });
        popup.show();
    }
    
  public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == 0) {
      
      ListAdapter adapterRestaurantList = new RestaurantListAdapter(this, restaurantList);
      setListAdapter(adapterRestaurantList);
    }
  }
}




Java Source Code List

it.polimi.camparollo.expoconnect.datatransfer.IPAddressSender.java
it.polimi.camparollo.expoconnect.datatransfer.RESTClient.java
it.polimi.camparollo.expoconnect.datatransfer.Restaurant.java
it.polimi.camparollo.expoconnect.datatransfer.ScreenDataReceiver.java
it.polimi.camparollo.expoconnect.exceptions.CannotEnableWifiP2pException.java
it.polimi.camparollo.expoconnect.recommendations.RestaurantListActivity.java
it.polimi.camparollo.expoconnect.recommendations.RestaurantListAdapter.java
it.polimi.camparollo.expoconnect.recommendations.SingleRestaurant.java
it.polimi.camparollo.expoconnect.uilisteners.ConnectionInfo.java
it.polimi.camparollo.expoconnect.uilisteners.PeersListUpdater.java
it.polimi.camparollo.expoconnect.utils.ScalingUtilities.java
it.polimi.camparollo.expoconnect.wifi.CustomWifiP2pManager.java
it.polimi.camparollo.expoconnect.wifi.InfoActionListener.java
it.polimi.camparollo.expoconnect.wifi.StartActivity.java
it.polimi.camparollo.expoconnect.wifi.WiFiDirectBroadcastReceiver.java
it.polimi.camparollo.expoconnectserver.CommandReceiver.java
it.polimi.camparollo.expoconnectserver.InfoActionListener.java
it.polimi.camparollo.expoconnectserver.ServiceStarterActivity.java
it.polimi.camparollo.expoconnectserver.uilisteners.ConnectionInfo.java
it.polimi.camparollo.expoconnectserver.uilisteners.PeersListUpdater.java
it.polimi.camparollo.expoconnectserver.wifi.ConnectService.java
it.polimi.camparollo.expoconnectserver.wifi.IPAddressReceiver.java
it.polimi.camparollo.expoconnectserver.wifi.ScreenDataSender.java
it.polimi.camparollo.expoconnectserver.wifi.WiFiDirectBroadcastReceiver.java