forked from upstream-mirrors/OpenTracks
Issue 45: Add ImportAllTracks to import GPX files from /sdcard/MyTracks/gpx
ImportAllTracks is essentially just a modification of ExportAllTracks that uses the existing GpxImporter to import all GPX files found in /sdcard/MyTracks/gpx. So that the import functionality can always be accessed, the MyTracks Activity's MenuManager is altered so that the Tracks button shows regardless of whether there are any tracks in the database (ImportAllTracks is launched by a button in the lower right of the MyTracksList activity). A Toast message shows if no GPX files are found; this serves as a hint to users on where to put GPX files for import so that this addition should be discoverable and useable without documentation. Im
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry combineaccessrules="false" exported="true" kind="src" path="/SignalStrengthSampler"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||
<classpathentry kind="lib" path="libs/AndroidMockRuntime.jar"/>
|
||||
<classpathentry kind="src" path="gen"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>SignalStrengthSamplerTest</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
<project>SignalStrengthSampler</project>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,12 @@
|
||||
#Sun Nov 28 01:19:10 PST 2010
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.google.android.apps.mytracks.signalstrength.test"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
<application android:label="Signal Strenght Sampler Test">
|
||||
<uses-library android:name="android.test.runner" />
|
||||
</application>
|
||||
<uses-sdk android:minSdkVersion="3" />
|
||||
<instrumentation android:targetPackage="com.google.android.apps.mytracks.signalstrength"
|
||||
android:name="android.test.InstrumentationTestRunner" />
|
||||
</manifest>
|
||||
@@ -0,0 +1,11 @@
|
||||
# This file is automatically generated by Android Tools.
|
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||
#
|
||||
# This file must be checked in Version Control Systems.
|
||||
#
|
||||
# To customize properties used by the Ant build system use,
|
||||
# "build.properties", and override values to adapt the script to your
|
||||
# project structure.
|
||||
|
||||
# Project target.
|
||||
target=Google Inc.:Google APIs:9
|
||||
Binary file not shown.
+121
@@ -0,0 +1,121 @@
|
||||
/*
|
||||
* Copyright 2010 Google Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
* use this file except in compliance with the License. You may obtain a copy of
|
||||
* the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations under
|
||||
* the License.
|
||||
*/
|
||||
package com.google.android.apps.mytracks.signalstrength.test;
|
||||
|
||||
import com.google.android.apps.mytracks.signalstrength.R;
|
||||
import com.google.android.apps.mytracks.signalstrength.RecordingStateReceiver;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.test.AndroidTestCase;
|
||||
import android.test.RenamingDelegatingContext;
|
||||
|
||||
/**
|
||||
* Tests for {@link RecordingStateReceiver}.
|
||||
*
|
||||
* @author Rodrigo Damazio
|
||||
*/
|
||||
public class RecordingStateReceiverTest extends AndroidTestCase {
|
||||
|
||||
private RecordingStateReceiver receiver;
|
||||
private RenamingDelegatingContext context;
|
||||
private SharedPreferences preferences;
|
||||
private int serviceStopCalls;
|
||||
private int serviceStartCalls;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
||||
context = new RenamingDelegatingContext(getContext(), "test.");
|
||||
setContext(context);
|
||||
|
||||
receiver = new RecordingStateReceiver() {
|
||||
@Override
|
||||
protected void stopService(Context ctx) {
|
||||
serviceStopCalls++;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void startService(Context ctx) {
|
||||
serviceStartCalls++;
|
||||
}
|
||||
};
|
||||
|
||||
preferences = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
preferences
|
||||
.edit()
|
||||
.putBoolean(context.getString(R.string.settings_auto_start_key), true)
|
||||
.putBoolean(context.getString(R.string.settings_auto_stop_key), true)
|
||||
.commit();
|
||||
}
|
||||
|
||||
public void testOnReceive_start() {
|
||||
receiver.onReceive(context,
|
||||
new Intent(context.getString(R.string.track_started_broadcast_action)));
|
||||
assertServiceCalls(1, 0);
|
||||
}
|
||||
|
||||
public void testOnReceive_resume() {
|
||||
receiver.onReceive(context,
|
||||
new Intent(context.getString(R.string.track_resumed_broadcast_action)));
|
||||
assertServiceCalls(1, 0);
|
||||
}
|
||||
|
||||
public void testOnReceive_stop() {
|
||||
receiver.onReceive(context,
|
||||
new Intent(context.getString(R.string.track_stopped_broadcast_action)));
|
||||
assertServiceCalls(0, 1);
|
||||
}
|
||||
|
||||
public void testOnReceive_pause() {
|
||||
receiver.onReceive(context,
|
||||
new Intent(context.getString(R.string.track_paused_broadcast_action)));
|
||||
assertServiceCalls(0, 1);
|
||||
}
|
||||
|
||||
public void testOnReceive_noAutoStart() {
|
||||
preferences
|
||||
.edit()
|
||||
.putBoolean(context.getString(R.string.settings_auto_start_key), false)
|
||||
.commit();
|
||||
receiver.onReceive(context,
|
||||
new Intent(context.getString(R.string.track_started_broadcast_action)));
|
||||
assertServiceCalls(0, 0);
|
||||
}
|
||||
|
||||
public void testOnReceive_noAutoStop() {
|
||||
preferences
|
||||
.edit()
|
||||
.putBoolean(context.getString(R.string.settings_auto_stop_key), false)
|
||||
.commit();
|
||||
receiver.onReceive(context,
|
||||
new Intent(context.getString(R.string.track_stopped_broadcast_action)));
|
||||
assertServiceCalls(0, 0);
|
||||
}
|
||||
|
||||
public void testOnReceive_other() {
|
||||
receiver.onReceive(context, new Intent("bla"));
|
||||
assertServiceCalls(0, 0);
|
||||
}
|
||||
|
||||
private void assertServiceCalls(int startCalls, int stopCalls) {
|
||||
assertEquals(startCalls, serviceStartCalls);
|
||||
assertEquals(stopCalls, serviceStopCalls);
|
||||
}
|
||||
}
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
* Copyright 2010 Google Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
* use this file except in compliance with the License. You may obtain a copy of
|
||||
* the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations under
|
||||
* the License.
|
||||
*/
|
||||
package com.google.android.apps.mytracks.signalstrength.test;
|
||||
|
||||
import com.google.android.apps.mytracks.signalstrength.SignalStrengthListener;
|
||||
import com.google.android.apps.mytracks.signalstrength.SignalStrengthListener.SignalStrengthCallback;
|
||||
import com.google.android.apps.mytracks.signalstrength.SignalStrengthListenerCupcake;
|
||||
import com.google.android.apps.mytracks.signalstrength.SignalStrengthListenerEclair;
|
||||
import com.google.android.apps.mytracks.signalstrength.SignalStrengthListenerFactory;
|
||||
import com.google.android.testing.mocking.AndroidMock;
|
||||
|
||||
import android.test.AndroidTestCase;
|
||||
|
||||
/**
|
||||
* Tests for {@link SignalStrengthListenerFactory}.
|
||||
* These tests require Eclair+ (API level 7) to run.
|
||||
*
|
||||
* @author Rodrigo Damazio
|
||||
*/
|
||||
public class SignalStrengthListenerFactoryTest extends AndroidTestCase {
|
||||
private boolean hasModernSignalStrength;
|
||||
private TestableSignalStrengthListenerFactory factory;
|
||||
private SignalStrengthCallback callback;
|
||||
|
||||
private class TestableSignalStrengthListenerFactory extends SignalStrengthListenerFactory {
|
||||
@Override
|
||||
protected boolean hasModernSignalStrength() {
|
||||
return hasModernSignalStrength;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
||||
factory = new TestableSignalStrengthListenerFactory();
|
||||
callback = AndroidMock.createMock(SignalStrengthCallback.class);
|
||||
}
|
||||
|
||||
public void testCreate_eclair() {
|
||||
hasModernSignalStrength = true;
|
||||
|
||||
SignalStrengthListener listener = factory.create(getContext(), callback);
|
||||
assertTrue(listener.getClass().getName(),
|
||||
listener instanceof SignalStrengthListenerEclair);
|
||||
}
|
||||
|
||||
public void testCreate_legacy() {
|
||||
hasModernSignalStrength = false;
|
||||
|
||||
SignalStrengthListener listener = factory.create(getContext(), callback);
|
||||
assertTrue(listener.getClass().getName(),
|
||||
listener instanceof SignalStrengthListenerCupcake);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user