diff options
Diffstat (limited to 'main/src/cgeo/geocaching/StaticMapsActivity.java')
| -rw-r--r-- | main/src/cgeo/geocaching/StaticMapsActivity.java | 69 |
1 files changed, 21 insertions, 48 deletions
diff --git a/main/src/cgeo/geocaching/StaticMapsActivity.java b/main/src/cgeo/geocaching/StaticMapsActivity.java index 005ee9e..4658262 100644 --- a/main/src/cgeo/geocaching/StaticMapsActivity.java +++ b/main/src/cgeo/geocaching/StaticMapsActivity.java @@ -4,34 +4,39 @@ import cgeo.geocaching.activity.AbstractActivity; import cgeo.geocaching.enumerations.LoadFlags; import cgeo.geocaching.utils.Log; +import com.googlecode.androidannotations.annotations.EActivity; +import com.googlecode.androidannotations.annotations.Extra; +import com.googlecode.androidannotations.annotations.OptionsItem; +import com.googlecode.androidannotations.annotations.OptionsMenu; + import org.apache.commons.collections.CollectionUtils; import android.app.ProgressDialog; import android.content.Context; -import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuItem; import android.widget.ImageView; import android.widget.LinearLayout; import java.util.ArrayList; import java.util.List; +@EActivity +@OptionsMenu(R.menu.static_maps_activity_options) public class StaticMapsActivity extends AbstractActivity { private static final String EXTRAS_WAYPOINT = "waypoint"; private static final String EXTRAS_DOWNLOAD = "download"; private static final String EXTRAS_GEOCODE = "geocode"; - private static final int MENU_REFRESH = 1; + + @Extra(EXTRAS_DOWNLOAD) boolean download = false; + @Extra(EXTRAS_WAYPOINT) Integer waypoint_id = null; + @Extra(EXTRAS_GEOCODE) String geocode = null; + private final List<Bitmap> maps = new ArrayList<Bitmap>(); - private boolean download = false; - private Integer waypoint_id = null; - private String geocode = null; private LayoutInflater inflater = null; private ProgressDialog waitDialog = null; private LinearLayout smapsView = null; @@ -79,7 +84,7 @@ public class StaticMapsActivity extends AbstractActivity { for (final Bitmap image : maps) { if (image != null) { - final ImageView map = (ImageView) inflater.inflate(R.layout.map_static_item, null); + final ImageView map = (ImageView) inflater.inflate(R.layout.staticmaps_activity_item, null); map.setImageBitmap(image); smapsView.addView(map); } @@ -88,23 +93,7 @@ public class StaticMapsActivity extends AbstractActivity { @Override public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - setTheme(); - setContentView(R.layout.map_static); - setTitle(res.getString(R.string.map_static_title)); - - // get parameters - final Bundle extras = getIntent().getExtras(); - - // try to get data from extras - if (extras != null) { - download = extras.getBoolean(EXTRAS_DOWNLOAD, false); - geocode = extras.getString(EXTRAS_GEOCODE); - if (extras.containsKey(EXTRAS_WAYPOINT)) { - waypoint_id = extras.getInt(EXTRAS_WAYPOINT); - } - } + super.onCreate(savedInstanceState, R.layout.staticmaps_activity); if (geocode == null) { showToast("Sorry, c:geo forgot for what cache you want to load static maps."); @@ -161,20 +150,10 @@ public class StaticMapsActivity extends AbstractActivity { } } - @Override - public boolean onCreateOptionsMenu(Menu menu) { - menu.add(0, MENU_REFRESH, 0, res.getString(R.string.cache_offline_refresh)); - return true; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - if (item.getItemId() == MENU_REFRESH) { - downloadStaticMaps(); - restartActivity(); - return true; - } - return super.onOptionsItemSelected(item); + @OptionsItem(R.id.menu_refresh) + void refreshMaps() { + downloadStaticMaps(); + restartActivity(); } private boolean downloadStaticMaps() { @@ -197,16 +176,10 @@ public class StaticMapsActivity extends AbstractActivity { } public static void startActivity(final Context activity, final String geocode, final boolean download, final Waypoint waypoint) { - final Intent intent = new Intent(activity, StaticMapsActivity.class); - // if resuming our app within this activity, finish it and return to the cache activity - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); - intent.putExtra(EXTRAS_GEOCODE, geocode); - if (download) { - intent.putExtra(EXTRAS_DOWNLOAD, true); - } + StaticMapsActivity_.IntentBuilder_ builder = StaticMapsActivity_.intent(activity).geocode(geocode).download(download); if (waypoint != null) { - intent.putExtra(EXTRAS_WAYPOINT, waypoint.getId()); + builder.waypoint_id(waypoint.getId()); } - activity.startActivity(intent); + builder.start(); } }
\ No newline at end of file |
