diff options
| -rw-r--r-- | main/AndroidManifest.xml | 2 | ||||
| -rw-r--r--[-rwxr-xr-x] | main/project/attributes/makehtmlpage1res.sh | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | main/project/attributes/makeicons1res.sh | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | main/project/localization/findextratranslations.sh | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | main/project/localization/findmissingtranslations.sh | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | main/res/values-sv/strings.xml | 0 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/CacheDetailActivity.java | 145 |
7 files changed, 1 insertions, 146 deletions
diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml index 5290902..a9a2835 100644 --- a/main/AndroidManifest.xml +++ b/main/AndroidManifest.xml @@ -11,8 +11,6 @@ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> - <uses-permission android:name="android.permission.READ_CALENDAR"/> - <uses-permission android:name="android.permission.WRITE_CALENDAR"/> <supports-screens android:largeScreens="true" android:normalScreens="true" diff --git a/main/project/attributes/makehtmlpage1res.sh b/main/project/attributes/makehtmlpage1res.sh index 0aa8d6a..0aa8d6a 100755..100644 --- a/main/project/attributes/makehtmlpage1res.sh +++ b/main/project/attributes/makehtmlpage1res.sh diff --git a/main/project/attributes/makeicons1res.sh b/main/project/attributes/makeicons1res.sh index a6805ea..a6805ea 100755..100644 --- a/main/project/attributes/makeicons1res.sh +++ b/main/project/attributes/makeicons1res.sh diff --git a/main/project/localization/findextratranslations.sh b/main/project/localization/findextratranslations.sh index 8e2898d..8e2898d 100755..100644 --- a/main/project/localization/findextratranslations.sh +++ b/main/project/localization/findextratranslations.sh diff --git a/main/project/localization/findmissingtranslations.sh b/main/project/localization/findmissingtranslations.sh index 4c47cbd..4c47cbd 100755..100644 --- a/main/project/localization/findmissingtranslations.sh +++ b/main/project/localization/findmissingtranslations.sh diff --git a/main/res/values-sv/strings.xml b/main/res/values-sv/strings.xml index ca49e92..ca49e92 100755..100644 --- a/main/res/values-sv/strings.xml +++ b/main/res/values-sv/strings.xml diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index eca887f..8cea884 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -6,7 +6,6 @@ import cgeo.geocaching.activity.AbstractActivity; import cgeo.geocaching.activity.Progress; import cgeo.geocaching.apps.cache.GeneralAppsFactory; import cgeo.geocaching.apps.cache.navi.NavigationAppFactory; -import cgeo.geocaching.compatibility.Compatibility; import cgeo.geocaching.connector.ConnectorFactory; import cgeo.geocaching.connector.IConnector; import cgeo.geocaching.enumerations.LoadFlags; @@ -25,18 +24,13 @@ import com.viewpagerindicator.TitlePageIndicator; import com.viewpagerindicator.TitleProvider; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; import android.R.color; -import android.app.AlertDialog; -import android.content.ContentValues; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.content.res.Configuration; -import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.Typeface; import android.graphics.drawable.BitmapDrawable; @@ -56,7 +50,6 @@ import android.text.Spannable; import android.text.Spanned; import android.text.format.DateUtils; import android.text.method.LinkMovementMethod; -import android.text.style.ImageSpan; import android.text.style.StrikethroughSpan; import android.text.style.StyleSpan; import android.util.DisplayMetrics; @@ -87,7 +80,6 @@ import java.net.URLEncoder; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; -import java.util.Date; import java.util.EnumSet; import java.util.HashMap; import java.util.LinkedList; @@ -527,8 +519,7 @@ public class CacheDetailActivity extends AbstractActivity { cachesAround(); return true; } else if (menuItem == MENU_CALENDAR) { - addToCalendar(); - //addToCalendarWithIntent(); + addToCalendarWithIntent(); return true; } else if (menuItem == MENU_SHARE) { if (cache != null) { @@ -749,140 +740,6 @@ public class CacheDetailActivity extends AbstractActivity { } /** - * Adds the cache to the Android-calendar if it is an event. - */ - private void addToCalendar() { - String[] projection = new String[] { "_id", "displayName" }; - Uri calendarProvider = Compatibility.getCalendarProviderURI(); - - Cursor cursor = managedQuery(calendarProvider, projection, "selected=1", null, null); - - final Map<Integer, String> calendars = new HashMap<Integer, String>(); - int cnt = 0; - if (cursor != null) { - cnt = cursor.getCount(); - - if (cnt > 0) { - cursor.moveToFirst(); - - int calId = 0; - String calIdPre = null; - String calName = null; - int calIdIn = cursor.getColumnIndex("_id"); - int calNameIn = cursor.getColumnIndex("displayName"); - - do { - calIdPre = cursor.getString(calIdIn); - if (calIdPre != null) { - calId = Integer.parseInt(calIdPre); - } - calName = cursor.getString(calNameIn); - - if (calId > 0 && calName != null) { - calendars.put(calId, calName); - } - } while (cursor.moveToNext()); - } - cursor.close(); - } - - final CharSequence[] items = calendars.values().toArray(new CharSequence[calendars.size()]); - - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(R.string.cache_calendars); - builder.setItems(items, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int item) { - addToCalendarFn(calendars, item); - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } - - /** - * Helper for {@link addToCalendar()}. - * - * @param calendars - * - * @param index - * The selected calendar - */ - private void addToCalendarFn(Map<Integer, String> calendars, int index) { - if (MapUtils.isEmpty(calendars)) { - return; - } - - try { - Uri calendarProvider = Compatibility.getCalenderEventsProviderURI(); - - final Integer[] keys = calendars.keySet().toArray(new Integer[calendars.size()]); - final Integer calId = keys[index]; - - final Date eventDate = cache.getHiddenDate(); - eventDate.setHours(0); - eventDate.setMinutes(0); - eventDate.setSeconds(0); - - StringBuilder description = new StringBuilder(); - description.append(cache.getUrl()); - if (StringUtils.isNotBlank(cache.getShortdesc())) { - // remove images in short description - Spanned spanned = Html.fromHtml(cache.getShortdesc(), null, null); - String text = spanned.toString(); - ImageSpan[] spans = spanned.getSpans(0, spanned.length(), ImageSpan.class); - for (int i = spans.length - 1; i >= 0; i--) { - text = StringUtils.left(text, spanned.getSpanStart(spans[i]) - 1) + StringUtils.substring(text, spanned.getSpanEnd(spans[i]) + 1); - } - if (StringUtils.isNotBlank(text)) { - description.append("\n\n"); - description.append(text); - } - } - - if (StringUtils.isNotBlank(cache.getPersonalNote())) { - description.append("\n\n").append(Html.fromHtml(cache.getPersonalNote()).toString()); - } - - ContentValues event = new ContentValues(); - event.put("calendar_id", calId); - event.put("dtstart", eventDate.getTime() + 43200000); // noon - event.put("dtend", eventDate.getTime() + 43200000 + 3600000); // + one hour - event.put("eventTimezone", "UTC"); - event.put("title", Html.fromHtml(cache.getName()).toString()); - event.put("description", description.toString()); - StringBuilder location = new StringBuilder(); - if (cache.getCoords() != null) { - location.append(cache.getCoords().format(GeopointFormatter.Format.LAT_LON_DECMINUTE_RAW)); - } - if (StringUtils.isNotBlank(cache.getLocation())) { - boolean addParentheses = false; - if (location.length() > 0) { - addParentheses = true; - location.append(" ("); - } - - location.append(Html.fromHtml(cache.getLocation()).toString()); - if (addParentheses) { - location.append(')'); - } - } - if (location.length() > 0) { - event.put("eventLocation", location.toString()); - } - event.put("allDay", 1); - event.put("hasAlarm", 0); - - getContentResolver().insert(calendarProvider, event); - - showToast(res.getString(R.string.event_success)); - } catch (Exception e) { - showToast(res.getString(R.string.event_fail)); - - Log.e(Settings.tag, "CacheDetailActivity.addToCalendarFn: " + e.toString()); - } - } - - /** * Creates a {@link List} of all coordinates (cache and waypoints) for the current cache. * * @return A {@link List} of all coordinates |
