aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/build.xml6
-rw-r--r--main/src/cgeo/geocaching/activity/AbstractActivity.java11
-rw-r--r--main/src/cgeo/geocaching/compatibility/AndroidLevel8.java41
-rw-r--r--main/src/cgeo/geocaching/compatibility/AndroidLevel8Emulation.java38
-rw-r--r--main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java11
-rw-r--r--main/src/cgeo/geocaching/compatibility/Compatibility.java68
-rw-r--r--main/src/cgeo/geocaching/search/AutoCompleteAdapter.java4
-rw-r--r--main/src/cgeo/geocaching/sensors/DirectionProvider.java28
-rw-r--r--main/src/cgeo/geocaching/sensors/GeoDirHandler.java3
-rw-r--r--main/src/cgeo/geocaching/settings/SettingsActivity.java5
-rw-r--r--main/src/cgeo/geocaching/ui/CompassView.java11
-rw-r--r--main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java18
-rw-r--r--main/src/cgeo/geocaching/utils/EditUtils.java6
-rw-r--r--main/src/cgeo/geocaching/utils/ImageUtils.java3
-rw-r--r--main/templates/keys.xml14
-rw-r--r--main/templates/private.properties21
-rw-r--r--tests/AndroidManifest.xml2
-rw-r--r--tests/src/cgeo/geocaching/sensors/SensorsTest.java (renamed from tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java)17
18 files changed, 104 insertions, 203 deletions
diff --git a/main/build.xml b/main/build.xml
index 257aaf3..a888e9b 100644
--- a/main/build.xml
+++ b/main/build.xml
@@ -112,6 +112,12 @@
<filter token="ocde.okapi.consumer.secret" value="${ocde.okapi.consumer.secret}"/>
<filter token="ocpl.okapi.consumer.key" value="${ocpl.okapi.consumer.key}"/>
<filter token="ocpl.okapi.consumer.secret" value="${ocpl.okapi.consumer.secret}"/>
+ <filter token="ocus.okapi.consumer.key" value="${ocus.okapi.consumer.key}"/>
+ <filter token="ocus.okapi.consumer.secret" value="${ocus.okapi.consumer.secret}"/>
+ <filter token="ocnl.okapi.consumer.key" value="${ocnl.okapi.consumer.key}"/>
+ <filter token="ocnl.okapi.consumer.secret" value="${ocnl.okapi.consumer.secret}"/>
+ <filter token="ocro.okapi.consumer.key" value="${ocro.okapi.consumer.key}"/>
+ <filter token="ocro.okapi.consumer.secret" value="${ocro.okapi.consumer.secret}"/>
</filterset>
</copy>
</target>
diff --git a/main/src/cgeo/geocaching/activity/AbstractActivity.java b/main/src/cgeo/geocaching/activity/AbstractActivity.java
index fd83043..1ed9b9b 100644
--- a/main/src/cgeo/geocaching/activity/AbstractActivity.java
+++ b/main/src/cgeo/geocaching/activity/AbstractActivity.java
@@ -4,10 +4,10 @@ import butterknife.ButterKnife;
import cgeo.geocaching.CgeoApplication;
import cgeo.geocaching.R;
-import cgeo.geocaching.compatibility.Compatibility;
import cgeo.geocaching.network.Cookies;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.utils.ClipboardUtils;
+import cgeo.geocaching.utils.EditUtils;
import cgeo.geocaching.utils.HtmlUtils;
import cgeo.geocaching.utils.TranslationUtils;
@@ -86,11 +86,16 @@ public abstract class AbstractActivity extends FragmentActivity implements IAbst
}
protected static void disableSuggestions(final EditText edit) {
- Compatibility.disableSuggestions(edit);
+ EditUtils.disableSuggestions(edit);
}
protected void restartActivity() {
- Compatibility.restartActivity(this);
+ final Intent intent = getIntent();
+ overridePendingTransition(0, 0);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
+ finish();
+ overridePendingTransition(0, 0);
+ startActivity(intent);
}
@Override
diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java
deleted file mode 100644
index 1189ff5..0000000
--- a/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package cgeo.geocaching.compatibility;
-
-import cgeo.geocaching.utils.Log;
-
-import android.annotation.TargetApi;
-import android.app.Activity;
-import android.app.backup.BackupManager;
-import android.os.Environment;
-import android.view.Surface;
-
-import java.io.File;
-
-@TargetApi(8)
-public class AndroidLevel8 implements AndroidLevel8Interface {
-
- @Override
- public void dataChanged(final String name) {
- Log.i("Requesting settings backup with settings manager");
- BackupManager.dataChanged(name);
- }
-
- @Override
- public int getRotationOffset(final Activity activity) {
- switch (activity.getWindowManager().getDefaultDisplay().getRotation()) {
- case Surface.ROTATION_90:
- return 90;
- case Surface.ROTATION_180:
- return 180;
- case Surface.ROTATION_270:
- return 270;
- default:
- return 0;
- }
- }
-
- @Override
- public File getExternalPictureDir() {
- return Environment.getExternalStoragePublicDirectory(
- Environment.DIRECTORY_PICTURES);
- }
-}
diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Emulation.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel8Emulation.java
deleted file mode 100644
index 6d5781f..0000000
--- a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Emulation.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package cgeo.geocaching.compatibility;
-
-import android.annotation.TargetApi;
-import android.app.Activity;
-import android.content.res.Configuration;
-import android.os.Environment;
-import android.view.Display;
-
-import java.io.File;
-
-@TargetApi(value = 7)
-public class AndroidLevel8Emulation implements AndroidLevel8Interface {
-
- @Override
- public void dataChanged(final String name) {
- // do nothing
- }
-
- @Override
- public int getRotationOffset(Activity activity) {
- final Display display = activity.getWindowManager().getDefaultDisplay();
-
- // the non deprecated method is available in API 8+ only, so we cannot deal better with this
- @SuppressWarnings("deprecation")
- final int rotation = display.getOrientation();
-
- if (rotation == Configuration.ORIENTATION_LANDSCAPE) {
- return 90;
- }
- return 0;
- }
-
- @Override
- public File getExternalPictureDir() {
- // Use externalStorage/Pictures as default
- return new File(Environment.getExternalStorageDirectory(), "Pictures");
- }
-}
diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java
deleted file mode 100644
index 2ba3708..0000000
--- a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package cgeo.geocaching.compatibility;
-
-import android.app.Activity;
-
-import java.io.File;
-
-public interface AndroidLevel8Interface {
- public void dataChanged(final String name);
- public int getRotationOffset(final Activity activity);
- public File getExternalPictureDir();
-} \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/compatibility/Compatibility.java b/main/src/cgeo/geocaching/compatibility/Compatibility.java
index 31c9e31..a293cfd 100644
--- a/main/src/cgeo/geocaching/compatibility/Compatibility.java
+++ b/main/src/cgeo/geocaching/compatibility/Compatibility.java
@@ -1,89 +1,25 @@
package cgeo.geocaching.compatibility;
-import cgeo.geocaching.activity.AbstractActivity;
-import cgeo.geocaching.utils.AngleUtils;
-import cgeo.geocaching.utils.Log;
-
-import org.apache.commons.lang3.reflect.MethodUtils;
import org.eclipse.jdt.annotation.NonNull;
import android.app.Activity;
-import android.content.Intent;
import android.graphics.Point;
import android.os.Build;
-import android.text.InputType;
-import android.widget.EditText;
-
-import java.io.File;
public final class Compatibility {
private final static int sdkVersion = Build.VERSION.SDK_INT;
- private final static boolean isLevel8 = sdkVersion >= 8;
- private final static boolean isLevel5 = sdkVersion >= 5;
- private final static AndroidLevel8Interface level8;
private final static AndroidLevel11Interface level11;
private final static AndroidLevel13Interface level13;
private final static AndroidLevel19Interface level19;
static {
- level8 = isLevel8 ? new AndroidLevel8() : new AndroidLevel8Emulation();
level11 = sdkVersion >= 11 ? new AndroidLevel11() : new AndroidLevel11Emulation();
level13 = sdkVersion >= 13 ? new AndroidLevel13() : new AndroidLevel13Emulation();
level19 = sdkVersion >= 19 ? new AndroidLevel19() : new AndroidLevel19Emulation();
}
- /**
- * Add 90, 180 or 270 degrees to the given rotation.
- *
- * @param directionNowPre
- * the direction in degrees before adjustment
- * @param activity
- * the activity whose rotation is used to adjust the direction
- * @return the adjusted direction, in the [0, 360[ range
- */
- public static float getDirectionNow(final float directionNowPre, final Activity activity) {
- return AngleUtils.normalize(directionNowPre + level8.getRotationOffset(activity));
- }
-
- public static void dataChanged(final String name) {
- level8.dataChanged(name);
- }
-
- public static void disableSuggestions(EditText edit) {
- if (isLevel5) {
- edit.setInputType(edit.getInputType()
- | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
- | InputType.TYPE_TEXT_VARIATION_FILTER);
- }
- else {
- edit.setInputType(edit.getInputType()
- | InputType.TYPE_TEXT_VARIATION_FILTER);
- }
- }
-
- private static void overridePendingTransition(final Activity activity, int enterAnim, int exitAnim) {
- try {
- MethodUtils.invokeMethod(activity, "overridePendingTransition", enterAnim, exitAnim);
- } catch (Exception e) {
- Log.e("cannot call overridePendingTransition", e);
- }
- }
-
- public static void restartActivity(AbstractActivity activity) {
- final Intent intent = activity.getIntent();
- if (isLevel5) {
- overridePendingTransition(activity, 0, 0);
- intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
- }
- activity.finish();
- if (isLevel5) {
- overridePendingTransition(activity, 0, 0);
- }
- activity.startActivity(intent);
- }
-
public static void invalidateOptionsMenu(final Activity activity) {
level11.invalidateOptionsMenu(activity);
}
@@ -96,10 +32,6 @@ public final class Compatibility {
return level13.getDisplaySize();
}
- public static File getExternalPictureDir() {
- return level8.getExternalPictureDir();
- }
-
public static void importGpxFromStorageAccessFramework(final @NonNull Activity activity, int requestCodeImportGpx) {
level19.importGpxFromStorageAccessFramework(activity, requestCodeImportGpx);
}
diff --git a/main/src/cgeo/geocaching/search/AutoCompleteAdapter.java b/main/src/cgeo/geocaching/search/AutoCompleteAdapter.java
index 885ed48..45559f4 100644
--- a/main/src/cgeo/geocaching/search/AutoCompleteAdapter.java
+++ b/main/src/cgeo/geocaching/search/AutoCompleteAdapter.java
@@ -1,7 +1,6 @@
package cgeo.geocaching.search;
import org.apache.commons.lang3.StringUtils;
-
import rx.functions.Func1;
import android.content.Context;
@@ -36,7 +35,7 @@ public class AutoCompleteAdapter extends ArrayAdapter<String> {
@Override
public Filter getFilter() {
- Filter filter = new Filter() {
+ return new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
@@ -67,6 +66,5 @@ public class AutoCompleteAdapter extends ArrayAdapter<String> {
}
}
};
- return filter;
}
} \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/sensors/DirectionProvider.java b/main/src/cgeo/geocaching/sensors/DirectionProvider.java
index 8efbc1f..44732f7 100644
--- a/main/src/cgeo/geocaching/sensors/DirectionProvider.java
+++ b/main/src/cgeo/geocaching/sensors/DirectionProvider.java
@@ -1,9 +1,8 @@
package cgeo.geocaching.sensors;
-import android.os.Process;
-import cgeo.geocaching.compatibility.Compatibility;
-
+import cgeo.geocaching.utils.AngleUtils;
import cgeo.geocaching.utils.StartableHandlerThread;
+
import rx.Observable;
import rx.Observable.OnSubscribe;
import rx.Subscriber;
@@ -15,7 +14,9 @@ import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
-import android.os.*;
+import android.os.Handler;
+import android.os.Process;
+import android.view.Surface;
public class DirectionProvider {
@@ -24,8 +25,8 @@ public class DirectionProvider {
static class Listener implements SensorEventListener, StartableHandlerThread.Callback {
private int count = 0;
- private SensorManager sensorManager;
+ private SensorManager sensorManager;
@Override
public void onSensorChanged(final SensorEvent event) {
subject.onNext(event.values[0]);
@@ -67,10 +68,10 @@ public class DirectionProvider {
private static final StartableHandlerThread handlerThread =
new StartableHandlerThread("DirectionProvider thread", Process.THREAD_PRIORITY_BACKGROUND, new Listener());
+
static {
handlerThread.start();
}
-
static public Observable<Float> create(final Context context) {
return Observable.create(new OnSubscribe<Float>() {
@Override
@@ -90,7 +91,20 @@ public class DirectionProvider {
*/
public static float getDirectionNow(final Activity activity, final float direction) {
- return Compatibility.getDirectionNow(direction, activity);
+ return AngleUtils.normalize(direction + getRotationOffset(activity));
+ }
+
+ private static int getRotationOffset(final Activity activity) {
+ switch (activity.getWindowManager().getDefaultDisplay().getRotation()) {
+ case Surface.ROTATION_90:
+ return 90;
+ case Surface.ROTATION_180:
+ return 180;
+ case Surface.ROTATION_270:
+ return 270;
+ default:
+ return 0;
+ }
}
}
diff --git a/main/src/cgeo/geocaching/sensors/GeoDirHandler.java b/main/src/cgeo/geocaching/sensors/GeoDirHandler.java
index 37a0c5b..df19a92 100644
--- a/main/src/cgeo/geocaching/sensors/GeoDirHandler.java
+++ b/main/src/cgeo/geocaching/sensors/GeoDirHandler.java
@@ -4,6 +4,7 @@ import cgeo.geocaching.CgeoApplication;
import cgeo.geocaching.settings.Settings;
import org.apache.commons.lang3.tuple.ImmutablePair;
+
import rx.Observable;
import rx.Subscription;
import rx.android.schedulers.AndroidSchedulers;
@@ -16,7 +17,7 @@ import rx.subscriptions.CompositeSubscription;
* GeoData and Direction handler.
* <p>
* To use this class, override {@link #updateGeoDir(IGeoData, float)}. You need to start the handler using
- * {@link #start()}. A good place to do so might be the {@code onResume} method of the Activity. Stop the Handler
+ * {@link #start(int)}. A good place to do so might be the {@code onResume} method of the Activity. Stop the Handler
* accordingly in {@code onPause}.
*/
public abstract class GeoDirHandler {
diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java
index 76f48e2..8834a3b 100644
--- a/main/src/cgeo/geocaching/settings/SettingsActivity.java
+++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java
@@ -8,7 +8,6 @@ import cgeo.geocaching.SelectMapfileActivity;
import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.apps.cache.navi.NavigationAppFactory;
import cgeo.geocaching.apps.cache.navi.NavigationAppFactory.NavigationAppsEnum;
-import cgeo.geocaching.compatibility.Compatibility;
import cgeo.geocaching.connector.gc.GCConnector;
import cgeo.geocaching.connector.gc.GCLogin;
import cgeo.geocaching.files.SimpleDirChooser;
@@ -21,6 +20,7 @@ import org.apache.commons.lang3.StringUtils;
import org.openintents.intents.FileManagerIntents;
import android.app.ProgressDialog;
+import android.app.backup.BackupManager;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
@@ -111,7 +111,8 @@ public class SettingsActivity extends PreferenceActivity {
@Override
protected void onPause() {
- Compatibility.dataChanged(getPackageName());
+ Log.i("Requesting settings backup with settings manager");
+ BackupManager.dataChanged(getPackageName());
super.onPause();
}
diff --git a/main/src/cgeo/geocaching/ui/CompassView.java b/main/src/cgeo/geocaching/ui/CompassView.java
index eaaf711..f7111f7 100644
--- a/main/src/cgeo/geocaching/ui/CompassView.java
+++ b/main/src/cgeo/geocaching/ui/CompassView.java
@@ -16,7 +16,6 @@ import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PaintFlagsDrawFilter;
import android.util.AttributeSet;
-import android.util.FloatMath;
import android.view.View;
import java.util.concurrent.TimeUnit;
@@ -158,19 +157,19 @@ public class CompassView extends View {
* @return the new value
*/
static protected float smoothUpdate(float goal, float actual) {
- final float diff = AngleUtils.difference(actual, goal);
+ final double diff = AngleUtils.difference(actual, goal);
- float offset = 0;
+ double offset = 0;
// If the difference is smaller than 1 degree, do nothing as it
// causes the arrow to vibrate. Round away from 0.
if (diff > 1.0) {
- offset = FloatMath.ceil(diff / 10.0f); // for larger angles, rotate faster
+ offset = Math.ceil(diff / 10.0); // for larger angles, rotate faster
} else if (diff < 1.0) {
- offset = FloatMath.floor(diff / 10.0f);
+ offset = Math.floor(diff / 10.0);
}
- return AngleUtils.normalize(actual + offset);
+ return AngleUtils.normalize((float) (actual + offset));
}
@Override
diff --git a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
index c150434..cb52319 100644
--- a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
+++ b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
@@ -5,11 +5,11 @@ import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.R;
import cgeo.geocaching.activity.AbstractActivity;
import cgeo.geocaching.activity.ActivityMixin;
-import cgeo.geocaching.compatibility.Compatibility;
import cgeo.geocaching.geopoint.Geopoint;
import cgeo.geocaching.geopoint.GeopointFormatter;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.settings.Settings.CoordInputFormatEnum;
+import cgeo.geocaching.utils.EditUtils;
import org.apache.commons.lang3.StringUtils;
@@ -103,14 +103,14 @@ public class CoordinatesInputDialog extends NoTitleDialog {
eLonSec.addTextChangedListener(new TextChanged(eLonSec));
eLonSub.addTextChangedListener(new TextChanged(eLonSub));
- Compatibility.disableSuggestions(eLatDeg);
- Compatibility.disableSuggestions(eLatMin);
- Compatibility.disableSuggestions(eLatSec);
- Compatibility.disableSuggestions(eLatSub);
- Compatibility.disableSuggestions(eLonDeg);
- Compatibility.disableSuggestions(eLonMin);
- Compatibility.disableSuggestions(eLonSec);
- Compatibility.disableSuggestions(eLonSub);
+ EditUtils.disableSuggestions(eLatDeg);
+ EditUtils.disableSuggestions(eLatMin);
+ EditUtils.disableSuggestions(eLatSec);
+ EditUtils.disableSuggestions(eLatSub);
+ EditUtils.disableSuggestions(eLonDeg);
+ EditUtils.disableSuggestions(eLonMin);
+ EditUtils.disableSuggestions(eLonSec);
+ EditUtils.disableSuggestions(eLonSub);
bLat.setOnClickListener(new ButtonClickListener());
bLon.setOnClickListener(new ButtonClickListener());
diff --git a/main/src/cgeo/geocaching/utils/EditUtils.java b/main/src/cgeo/geocaching/utils/EditUtils.java
index d975df9..0bfe2ea 100644
--- a/main/src/cgeo/geocaching/utils/EditUtils.java
+++ b/main/src/cgeo/geocaching/utils/EditUtils.java
@@ -1,5 +1,6 @@
package cgeo.geocaching.utils;
+import android.text.InputType;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
@@ -41,4 +42,9 @@ public final class EditUtils {
}
+ public static void disableSuggestions(EditText edit) {
+ edit.setInputType(edit.getInputType()
+ | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
+ | InputType.TYPE_TEXT_VARIATION_FILTER);
+ }
}
diff --git a/main/src/cgeo/geocaching/utils/ImageUtils.java b/main/src/cgeo/geocaching/utils/ImageUtils.java
index eb91724..671ded9 100644
--- a/main/src/cgeo/geocaching/utils/ImageUtils.java
+++ b/main/src/cgeo/geocaching/utils/ImageUtils.java
@@ -15,6 +15,7 @@ import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.media.ExifInterface;
import android.net.Uri;
+import android.os.Environment;
import java.io.BufferedOutputStream;
import java.io.File;
@@ -200,8 +201,8 @@ public final class ImageUtils {
public static File getOutputImageFile() {
// To be safe, you should check that the SDCard is mounted
// using Environment.getExternalStorageState() before doing this.
+ final File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "cgeo");
- File mediaStorageDir = new File(Compatibility.getExternalPictureDir(), "cgeo");
// This location works best if you want the created images to be shared
// between applications and persist after your app has been uninstalled.
diff --git a/main/templates/keys.xml b/main/templates/keys.xml
index e667df5..63f7e58 100644
--- a/main/templates/keys.xml
+++ b/main/templates/keys.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<resources>
+<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Google Maps -->
<string name="maps_api_key" translatable="false">@maps.api.key@</string>
@@ -10,4 +10,16 @@
<!-- Opencaching.pl -->
<string name="oc_pl_okapi_consumer_key" translatable="false">@ocpl.okapi.consumer.key@</string>
<string name="oc_pl_okapi_consumer_secret" translatable="false">@ocpl.okapi.consumer.secret@</string>
+ <!-- disable unused resource warning until remaining implementation has been merged -->
+ <!-- Opencaching.us -->
+ <string name="oc_us_okapi_consumer_key" translatable="false" tools:ignore="UnusedResources">@ocus.okapi.consumer.key@</string>
+ <string name="oc_us_okapi_consumer_secret" translatable="false" tools:ignore="UnusedResources">@ocus.okapi.consumer.secret@</string>
+
+ <!-- Opencaching.nl -->
+ <string name="oc_nl_okapi_consumer_key" translatable="false" tools:ignore="UnusedResources">@ocnl.okapi.consumer.key@</string>
+ <string name="oc_nl_okapi_consumer_secret" translatable="false" tools:ignore="UnusedResources">@ocnl.okapi.consumer.secret@</string>
+
+ <!-- Opencaching.ro -->
+ <string name="oc_ro_okapi_consumer_key" translatable="false" tools:ignore="UnusedResources">@ocro.okapi.consumer.key@</string>
+ <string name="oc_ro_okapi_consumer_secret" translatable="false" tools:ignore="UnusedResources">@ocro.okapi.consumer.secret@</string>
</resources>
diff --git a/main/templates/private.properties b/main/templates/private.properties
index 0c40fda..2451048 100644
--- a/main/templates/private.properties
+++ b/main/templates/private.properties
@@ -30,3 +30,24 @@ ocde.okapi.consumer.secret=
ocpl.okapi.consumer.key=
ocpl.okapi.consumer.secret=
+
+# These keys allow c:geo to be registered at openaching.us and
+# to search and log caches in your name
+# You can request your own at http://www.opencaching.us/okapi/signup.html
+
+ocus.okapi.consumer.key=
+ocus.okapi.consumer.secret=
+
+# These keys allow c:geo to be registered at openaching.nl and
+# to search and log caches in your name
+# You can request your own at http://www.opencaching.nl/okapi/signup.html
+
+ocnl.okapi.consumer.key=
+ocnl.okapi.consumer.secret=
+
+# These keys allow c:geo to be registered at openaching.ro and
+# to search and log caches in your name
+# You can request your own at http://oc.opencaching.ro/okapi/signup.html
+
+ocro.okapi.consumer.key=
+ocro.okapi.consumer.secret=
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 827115f..690838c 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -5,7 +5,7 @@
android:versionName="1.0" >
<uses-sdk
- android:minSdkVersion="7"
+ android:minSdkVersion="8"
android:targetSdkVersion="13" />
<uses-feature
diff --git a/tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java b/tests/src/cgeo/geocaching/sensors/SensorsTest.java
index 651bd08..7bf723a 100644
--- a/tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java
+++ b/tests/src/cgeo/geocaching/sensors/SensorsTest.java
@@ -1,16 +1,16 @@
-package cgeo.geocaching.compatibility;
+package cgeo.geocaching.sensors;
import cgeo.geocaching.MainActivity;
-import android.test.ActivityInstrumentationTestCase2;
-
import junit.framework.Assert;
-public class CompatibilityTest extends ActivityInstrumentationTestCase2<MainActivity> {
+import android.test.ActivityInstrumentationTestCase2;
+
+public class SensorsTest extends ActivityInstrumentationTestCase2<MainActivity> {
private MainActivity activity;
- public CompatibilityTest() {
+ public SensorsTest() {
super(MainActivity.class);
}
@@ -20,13 +20,8 @@ public class CompatibilityTest extends ActivityInstrumentationTestCase2<MainActi
activity = getActivity();
}
- public static void testDataChanged() {
- // This should not raise an exception in any Android version
- Compatibility.dataChanged("cgeo.geocaching");
- }
-
public void testGetDirectionNow() {
- final float angle = Compatibility.getDirectionNow(1.0f, activity);
+ final float angle = DirectionProvider.getDirectionNow(activity, 1.0f);
Assert.assertTrue(angle == 1.0f || angle == 91.0f || angle == 181.0f || angle == 271.0f);
}