package com.mgreau.gae.booking.client;
import java.io.IOException;
import com.appspot.api.services.bookingendpoint.Bookingendpoint;
import com.appspot.api.services.bookingendpoint.model.CollectionResponseHotel;
import com.appspot.api.services.bookingendpoint.model.Hotel;
import com.google.api.client.extensions.android.http.AndroidHttp;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson.JacksonFactory;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.Layout;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
public class HotelActivity extends Activity {
final HttpTransport transport = AndroidHttp.newCompatibleTransport();
final JsonFactory jsonFactory = new JacksonFactory();
Bookingendpoint service;
public ImageLoader imageLoader;
private String hotelId = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.hotel_detail);
service = new Bookingendpoint(transport, jsonFactory, null);
imageLoader = new ImageLoader(this.getApplicationContext());
Intent i = getIntent();
// getting attached intent data
hotelId = i.getStringExtra("hotel");
new HotelTask(this).execute();
}
private class HotelTask extends AsyncTask<Void, Void, Void> {
Context context;
private Hotel hotel;
public HotelTask(Context context) {
this.context = context;
}
protected Void doInBackground(Void... unused) {
try {
com.appspot.api.services.bookingendpoint.Bookingendpoint.Hotels.Get get = service.hotels().get(hotelId);
hotel = get.execute();
} catch (IOException e) {
Log.d("Booking Client Endpoints", e.getMessage(), e);
}
return null;
}
@Override
protected void onPostExecute(Void result) {
TextView hotelLabel = (TextView) findViewById(R.id.hotelLabel);
TextView hotelAddress = (TextView) findViewById(R.id.hotelAddress);
TextView hotelCity = (TextView) findViewById(R.id.hotelCity);
LinearLayout stars = (LinearLayout) findViewById(R.id.hotelStars);
for(int i=1; i<=hotel.getNumberOfStars(); i++) {
ImageView starImage = new ImageView(context);
starImage.setImageResource(R.drawable.star);
stars.addView(starImage);
}
ImageView imageView = (ImageView) findViewById(R.id.imageHotelDetail);
hotelLabel.setText(hotel.getHotelName());
hotelAddress.setText(hotel.getAddress());
hotelCity.setText(hotel.getCity() + ", " + hotel.getCountry() + " - " + hotel.getPrice() + " Euros -");
imageLoader.DisplayImage(hotel.getImage().getValue(), imageView);
}
}
}