aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/AndroidManifest.xml2
-rw-r--r--[-rwxr-xr-x]main/project/attributes/makehtmlpage1res.sh0
-rw-r--r--[-rwxr-xr-x]main/project/attributes/makeicons1res.sh0
-rw-r--r--[-rwxr-xr-x]main/project/localization/findextratranslations.sh0
-rw-r--r--[-rwxr-xr-x]main/project/localization/findmissingtranslations.sh0
-rw-r--r--[-rwxr-xr-x]main/res/values-sv/strings.xml0
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java145
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