aboutsummaryrefslogtreecommitdiff
path: root/src/net/cbaines/suma/BuildingActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/cbaines/suma/BuildingActivity.java')
-rw-r--r--src/net/cbaines/suma/BuildingActivity.java120
1 files changed, 66 insertions, 54 deletions
diff --git a/src/net/cbaines/suma/BuildingActivity.java b/src/net/cbaines/suma/BuildingActivity.java
index 930c2d1..45babbc 100644
--- a/src/net/cbaines/suma/BuildingActivity.java
+++ b/src/net/cbaines/suma/BuildingActivity.java
@@ -23,38 +23,30 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.Iterator;
+import java.sql.SQLException;
import android.content.Context;
+import android.content.SharedPreferences;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.Log;
+import android.view.Display;
import android.view.View;
+import android.view.WindowManager;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageButton;
+import android.widget.ImageView.ScaleType;
import android.widget.TextView;
-import com.hp.hpl.jena.query.Query;
-import com.hp.hpl.jena.query.QueryExecution;
-import com.hp.hpl.jena.query.QueryExecutionFactory;
-import com.hp.hpl.jena.query.QueryFactory;
-import com.hp.hpl.jena.query.QuerySolution;
-import com.hp.hpl.jena.query.ResultSet;
-import com.hp.hpl.jena.rdf.model.Literal;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.RDFNode;
-import com.hp.hpl.jena.rdf.model.Resource;
-import com.hp.hpl.jena.tdb.TDBFactory;
import com.j256.ormlite.android.apptools.OrmLiteBaseActivity;
+import com.j256.ormlite.dao.Dao;
-public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implements OnCheckedChangeListener {
+public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implements OnCheckedChangeListener, Preferences {
final static String TAG = "BusTimeActivity";
- private boolean dataChanged;
-
private Context instance;
private ImageButton imageButton;
@@ -62,6 +54,8 @@ public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implem
private TextView buildingName;
private TextView buildingID;
+ private Building building;
+
private CheckBox favouritesCheckBox;
public void onCreate(Bundle savedInstanceState) {
@@ -71,8 +65,10 @@ public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implem
String ID = getIntent().getExtras().getString("buildingID");
+ final SharedPreferences favouritesPrefs = instance.getSharedPreferences(FAVOURITES_PREFERENCES, 0);
+
favouritesCheckBox = (CheckBox) findViewById(R.id.buildingActivityFavouriteCheckBox);
- // favouritesCheckBox.setChecked(busStop.favourite);
+ favouritesCheckBox.setChecked(favouritesPrefs.getBoolean(ID, false));
favouritesCheckBox.setOnCheckedChangeListener(this);
buildingName = (TextView) findViewById(R.id.buildingActivityName);
@@ -80,17 +76,61 @@ public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implem
Log.i(TAG, "Building id " + ID);
- buildingID.setText(ID);
+ try {
+ Dao<Building, String> buildingDao = getHelper().getBuildingDao();
+
+ building = buildingDao.queryForId(ID);
+
+ buildingName.setText(building.name);
+ } catch (SQLException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+
+ buildingID.setText(ID);
try {
- URL url = new URL("http://data.southampton.ac.uk/images/buildings/600/" + ID + ".jpg");
- InputStream is = (InputStream) url.getContent();
+ /* First, get the Display from the WindowManager */
+ Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
+
+ /* Now we can retrieve all display-related infos */
+ int orientation = display.getOrientation();
+ Log.i(TAG, "orientation " + orientation);
+ Log.i(TAG, "width " + display.getWidth() + " height " + display.getHeight());
+ int width;
+ // if (orientation == 0) {
+ width = display.getWidth();
+ // } else {
+ // width = display.getHeight();
+ // }
+
+ URL imageURL;
+ Log.i(TAG, "Screen width " + width);
+ if (width >= 1000) {
+ imageURL = new URL("http://data.southampton.ac.uk/images/buildings/1000/" + ID + ".jpg");
+ } else if (width >= 800) {
+ imageURL = new URL("http://data.southampton.ac.uk/images/buildings/1000/" + ID + ".jpg");
+ } else if (width >= 600) {
+ imageURL = new URL("http://data.southampton.ac.uk/images/buildings/600/" + ID + ".jpg");
+ } else if (width >= 400) {
+ imageURL = new URL("http://data.southampton.ac.uk/images/buildings/600/" + ID + ".jpg");
+ } else if (width >= 300) {
+ imageURL = new URL("http://data.southampton.ac.uk/images/buildings/300/" + ID + ".jpg");
+ } else if (width >= 200) {
+ imageURL = new URL("http://data.southampton.ac.uk/images/buildings/200/" + ID + ".jpg");
+ } else {
+ imageURL = new URL("http://data.southampton.ac.uk/images/buildings/100/" + ID + ".jpg");
+ }
+ Log.i(TAG, "URL " + imageURL);
+
+ InputStream is = (InputStream) imageURL.getContent();
Drawable image = Drawable.createFromStream(is, "src");
imageButton = new ImageButton(this);
imageButton = (ImageButton) findViewById(R.id.buildingActivityImage);
imageButton.setImageDrawable(image);
+ imageButton.setScaleType(ScaleType.CENTER_INSIDE);
imageButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
@@ -105,51 +145,18 @@ public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implem
e.printStackTrace();
}
- String directory = "/data/data/net.cbaines.suma/databases";
- Model model = TDBFactory.createModel(directory);
-
- String queryString = ID;
- Query query = QueryFactory.create(queryString);
- QueryExecution qexec = QueryExecutionFactory.create(query, model);
- try {
- ResultSet results = qexec.execSelect();
- for (; results.hasNext();) {
- QuerySolution soln = results.nextSolution();
-
- Log.i(TAG, "solution " + soln.toString());
-
- for (Iterator<String> iter = soln.varNames(); iter.hasNext();) {
- Log.i(TAG, "solnVarName " + iter.next());
- }
-
- // RDFNode x = soln.get("varName"); // Get a result variable by
- // name.
- // Resource r = soln.getResource("VarR"); // Get a result
- // variable
- // - must be a resource
- // Literal l = soln.getLiteral("VarL"); // Get a result variable
- // -
- // must be a literal
- }
- } finally {
- qexec.close();
- }
-
}
public void onResume() {
super.onResume();
-
}
public void onPause() {
-
super.onPause();
}
public void finish() {
setResult(RESULT_OK, getIntent());
-
super.finish();
}
@@ -158,9 +165,14 @@ public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implem
return null;
}
- public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
- // TODO Auto-generated method stub
+ public void onCheckedChanged(CompoundButton button, boolean checked) {
+ SharedPreferences favouritesPreferences = getSharedPreferences(FAVOURITES_PREFERENCES, 0);
+ if (checked) {
+ favouritesPreferences.edit().putBoolean(building.id, true).commit();
+ } else {
+ favouritesPreferences.edit().remove(building.id).commit();
+ }
}
}