diff options
Diffstat (limited to 'src/net/cbaines/suma/BuildingActivity.java')
-rw-r--r-- | src/net/cbaines/suma/BuildingActivity.java | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/src/net/cbaines/suma/BuildingActivity.java b/src/net/cbaines/suma/BuildingActivity.java index 509bc41..b4bef1b 100644 --- a/src/net/cbaines/suma/BuildingActivity.java +++ b/src/net/cbaines/suma/BuildingActivity.java @@ -62,6 +62,8 @@ public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implem private CheckBox favouritesCheckBox; + private Drawable buildingImage; + public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.building_activity); @@ -90,7 +92,12 @@ public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implem buildingName = (TextView) findViewById(R.id.buildingActivityName); progressBar = (ProgressBar) findViewById(R.id.buildingActivityLoadBar); + progressBar.setVisibility(View.VISIBLE); message = (TextView) findViewById(R.id.buildingActivityMessage); + message.setVisibility(View.GONE); + + imageButton = (ImageButton) findViewById(R.id.buildingActivityImage); + imageButton.setVisibility(View.GONE); Log.i(TAG, "Building id " + ID); @@ -105,9 +112,24 @@ public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implem e1.printStackTrace(); } - GetBuildingImageTask buildingImageTask = new GetBuildingImageTask(); - buildingImageTask.execute(building); + } + + protected void onResume() { + super.onResume(); + buildingImage = (Drawable) getLastNonConfigurationInstance(); + if (buildingImage == null) { + GetBuildingImageTask buildingImageTask = new GetBuildingImageTask(); + buildingImageTask.execute(building); + } else { + imageButton.setImageDrawable(buildingImage); + imageButton.setVisibility(View.VISIBLE); + imageButton.setScaleType(ScaleType.CENTER_INSIDE); + imageButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + } + }); + } } class GetBuildingImageTask extends AsyncTask<Building, Integer, Drawable> { @@ -158,7 +180,7 @@ public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implem errorMessage = "MalformedURLException"; } catch (IOException e) { e.printStackTrace(); - errorMessage = "IOException"; + errorMessage = "No Image (Either none avalible, or a connection issue)"; } return null; @@ -170,8 +192,11 @@ public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implem if (image != null) { Log.i(TAG, "Got a image for " + building + ", now displaying it"); + buildingImage = image; + imageButton = (ImageButton) findViewById(R.id.buildingActivityImage); imageButton.setImageDrawable(image); + imageButton.setVisibility(View.VISIBLE); imageButton.setScaleType(ScaleType.CENTER_INSIDE); imageButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { @@ -189,7 +214,7 @@ public class BuildingActivity extends OrmLiteBaseActivity<DatabaseHelper> implem @Override public Object onRetainNonConfigurationInstance() { - return null; + return buildingImage; } public void onCheckedChanged(CompoundButton button, boolean checked) { |