aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/CacheDetailActivity.java
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2013-01-20 16:27:48 +0100
committerSamuel Tardieu <sam@rfc1149.net>2013-01-20 16:56:01 +0100
commit522b3122316fcacb8f1887b1f898c517bfb25241 (patch)
tree155524b70d9f0b1452d1798b6a8a9726d5ae8d65 /main/src/cgeo/geocaching/CacheDetailActivity.java
parentc58618907c868fdea37a6bc5dcf7e9868e1eab7c (diff)
downloadcgeo-522b3122316fcacb8f1887b1f898c517bfb25241.zip
cgeo-522b3122316fcacb8f1887b1f898c517bfb25241.tar.gz
cgeo-522b3122316fcacb8f1887b1f898c517bfb25241.tar.bz2
Reuse code to fill a cache detail
Diffstat (limited to 'main/src/cgeo/geocaching/CacheDetailActivity.java')
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java87
1 files changed, 46 insertions, 41 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index 391dfd3..933e2d2 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -53,6 +53,7 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Typeface;
import android.graphics.drawable.BitmapDrawable;
@@ -76,6 +77,7 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
+import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
@@ -1215,7 +1217,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
view.findViewById(R.id.attributes_box).setVisibility(View.VISIBLE);
}
- updateOfflineBox();
+ updateOfflineBox(view, cache, res, new RefreshCacheClickListener(), new DropCacheClickListener(), new StoreCacheClickListener());
// watchlist
Button buttonWatchlistAdd = (Button) view.findViewById(R.id.add_to_watchlist);
@@ -1610,46 +1612,6 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
}
}
- private void updateOfflineBox() {
- // offline use
- final TextView offlineText = (TextView) view.findViewById(R.id.offline_text);
- final Button offlineRefresh = (Button) view.findViewById(R.id.offline_refresh);
- final Button offlineStore = (Button) view.findViewById(R.id.offline_store);
-
- if (cache.isOffline()) {
- long diff = (System.currentTimeMillis() / (60 * 1000)) - (cache.getDetailedUpdate() / (60 * 1000)); // minutes
-
- String ago;
- if (diff < 15) {
- ago = res.getString(R.string.cache_offline_time_mins_few);
- } else if (diff < 50) {
- ago = res.getString(R.string.cache_offline_time_about) + " " + diff + " " + res.getString(R.string.cache_offline_time_mins);
- } else if (diff < 90) {
- ago = res.getString(R.string.cache_offline_time_about) + " " + res.getString(R.string.cache_offline_time_hour);
- } else if (diff < (48 * 60)) {
- ago = res.getString(R.string.cache_offline_time_about) + " " + (diff / 60) + " " + res.getString(R.string.cache_offline_time_hours);
- } else {
- ago = res.getString(R.string.cache_offline_time_about) + " " + (diff / (24 * 60)) + " " + res.getString(R.string.cache_offline_time_days);
- }
-
- offlineText.setText(res.getString(R.string.cache_offline_stored) + "\n" + ago);
- offlineRefresh.setOnClickListener(new RefreshCacheClickListener());
-
- offlineStore.setText(res.getString(R.string.cache_offline_drop));
- offlineStore.setClickable(true);
- offlineStore.setOnClickListener(new DropCacheClickListener());
- } else {
- offlineText.setText(res.getString(R.string.cache_offline_not_ready));
- offlineRefresh.setOnClickListener(new RefreshCacheClickListener());
-
- offlineStore.setText(res.getString(R.string.cache_offline_store));
- offlineStore.setClickable(true);
- offlineStore.setOnClickListener(new StoreCacheClickListener());
- }
- offlineRefresh.setVisibility(cache.supportsRefresh() ? View.VISIBLE : View.GONE);
- offlineRefresh.setClickable(true);
- }
-
private class PreviewMapTask extends AsyncTask<Void, Void, BitmapDrawable> {
@Override
protected BitmapDrawable doInBackground(Void... parameters) {
@@ -2436,4 +2398,47 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
}
}
+ static void updateOfflineBox(final View view, final cgCache cache, final Resources res,
+ final OnClickListener refreshCacheClickListener,
+ final OnClickListener dropCacheClickListener,
+ final OnClickListener storeCacheClickListener) {
+ // offline use
+ final TextView offlineText = (TextView) view.findViewById(R.id.offline_text);
+ final Button offlineRefresh = (Button) view.findViewById(R.id.offline_refresh);
+ final Button offlineStore = (Button) view.findViewById(R.id.offline_store);
+
+ if (cache.isOffline()) {
+ long diff = (System.currentTimeMillis() / (60 * 1000)) - (cache.getDetailedUpdate() / (60 * 1000)); // minutes
+
+ String ago;
+ if (diff < 15) {
+ ago = res.getString(R.string.cache_offline_time_mins_few);
+ } else if (diff < 50) {
+ ago = res.getString(R.string.cache_offline_time_about) + " " + diff + " " + res.getString(R.string.cache_offline_time_mins);
+ } else if (diff < 90) {
+ ago = res.getString(R.string.cache_offline_time_about) + " " + res.getString(R.string.cache_offline_time_hour);
+ } else if (diff < (48 * 60)) {
+ ago = res.getString(R.string.cache_offline_time_about) + " " + (diff / 60) + " " + res.getString(R.string.cache_offline_time_hours);
+ } else {
+ ago = res.getString(R.string.cache_offline_time_about) + " " + (diff / (24 * 60)) + " " + res.getString(R.string.cache_offline_time_days);
+ }
+
+ offlineText.setText(res.getString(R.string.cache_offline_stored) + "\n" + ago);
+ offlineRefresh.setOnClickListener(refreshCacheClickListener);
+
+ offlineStore.setText(res.getString(R.string.cache_offline_drop));
+ offlineStore.setClickable(true);
+ offlineStore.setOnClickListener(dropCacheClickListener);
+ } else {
+ offlineText.setText(res.getString(R.string.cache_offline_not_ready));
+ offlineRefresh.setOnClickListener(refreshCacheClickListener);
+
+ offlineStore.setText(res.getString(R.string.cache_offline_store));
+ offlineStore.setClickable(true);
+ offlineStore.setOnClickListener(storeCacheClickListener);
+ }
+ offlineRefresh.setVisibility(cache.supportsRefresh() ? View.VISIBLE : View.GONE);
+ offlineRefresh.setClickable(true);
+ }
+
}