From 4a8c5c970f9ab3c06496aaea8aeede34a6d81bb1 Mon Sep 17 00:00:00 2001 From: EmmanuelAlfaro Date: Thu, 22 Feb 2018 09:55:06 -0600 Subject: [PATCH] domain changed to org.osmtracker --- README.md | 4 +- app/build.gradle | 4 +- .../test/activity/OSMUploadTest.java | 8 +- .../test/activity/TrackDetailTest.java | 25 +- .../test/gpx/ExportTrackTaskTest.java | 14 +- .../osmtracker/test/util/MockData.java | 9 +- app/src/main/AndroidManifest.xml | 30 +-- .../android/osmtracker/db/DatabaseHelper.java | 245 ------------------ .../osmtracker/OSMTracker.java | 4 +- .../osmtracker/activity/About.java | 12 +- .../osmtracker/activity/DisplayTrack.java | 23 +- .../osmtracker/activity/DisplayTrackMap.java | 29 +-- .../activity/OpenStreetMapUpload.java | 33 ++- .../osmtracker/activity/Preferences.java | 6 +- .../osmtracker/activity/TrackDetail.java | 34 +-- .../activity/TrackDetailEditor.java | 21 +- .../osmtracker/activity/TrackLogger.java | 47 ++-- .../osmtracker/activity/TrackManager.java | 58 ++--- .../osmtracker/activity/WaypointList.java | 12 +- .../osmtracker/db/DataHelper.java | 74 +++--- .../org/osmtracker/db/DatabaseHelper.java | 245 ++++++++++++++++++ .../osmtracker/db/ExportDatabaseTask.java | 7 +- .../osmtracker/db/TrackContentProvider.java | 5 +- .../osmtracker/db/TracklistAdapter.java | 21 +- .../osmtracker/db/WaypointListAdapter.java | 28 +- .../osmtracker/db/model/Track.java | 34 +-- .../exception/CreateTrackException.java | 2 +- .../exception/ExportTrackException.java | 2 +- .../osmtracker/gpx/ExportToStorageTask.java | 11 +- .../osmtracker/gpx/ExportToTempFileTask.java | 4 +- .../osmtracker/gpx/ExportTrackTask.java | 113 ++++---- .../layout/DisablableTableLayout.java | 2 +- .../osmtracker/layout/GpsStatusRecord.java | 8 +- .../osmtracker/layout/UserDefinedLayout.java | 14 +- .../listener/PageButtonOnClickListener.java | 4 +- .../osmtracker/listener/SensorListener.java | 7 +- .../listener/StillImageOnClickListener.java | 4 +- .../listener/TagButtonOnClickListener.java | 12 +- .../listener/TextNoteOnClickListener.java | 5 +- .../listener/VoiceRecOnClickListener.java | 5 +- .../osm/OpenStreetMapConstants.java | 2 +- .../osm/ProgressMultipartEntity.java | 2 +- .../osm/RetrieveAccessTokenTask.java | 11 +- .../osm/RetrieveRequestTokenTask.java | 7 +- .../osm/UploadToOpenStreetMapTask.java | 22 +- .../osmtracker/overlay/WayPointsOverlay.java | 15 +- .../receiver/MediaButtonReceiver.java | 5 +- .../osmtracker/service/gps/GPSLogger.java | 24 +- .../gps/GPSLoggerServiceConnection.java | 16 +- .../resources/AppResourceIconResolver.java | 2 +- .../ExternalDirectoryIconResolver.java | 2 +- .../service/resources/IconResolver.java | 2 +- .../osmtracker/util/ArrayUtils.java | 2 +- .../osmtracker/util/DialogUtils.java | 2 +- .../osmtracker/util/FileSystemUtils.java | 2 +- .../osmtracker/util/MercatorProjection.java | 2 +- .../osmtracker/util/ThemeValidator.java | 7 +- .../util/UserDefinedLayoutReader.java | 24 +- .../osmtracker/view/DisplayTrackView.java | 20 +- .../osmtracker/view/TextNoteDialog.java | 14 +- .../osmtracker/view/VoiceRecDialog.java | 11 +- app/src/main/res/layout/tracklogger.xml | 2 +- .../main/res/values/values-preferences.xml | 8 +- 63 files changed, 717 insertions(+), 712 deletions(-) rename app/src/androidTest/java/{me/guillaumin/android => org}/osmtracker/test/activity/OSMUploadTest.java (58%) rename app/src/androidTest/java/{me/guillaumin/android => org}/osmtracker/test/activity/TrackDetailTest.java (69%) rename app/src/androidTest/java/{me/guillaumin/android => org}/osmtracker/test/gpx/ExportTrackTaskTest.java (89%) rename app/src/androidTest/java/{me/guillaumin/android => org}/osmtracker/test/util/MockData.java (93%) delete mode 100644 app/src/main/java/me/guillaumin/android/osmtracker/db/DatabaseHelper.java rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/OSMTracker.java (97%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/activity/About.java (92%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/activity/DisplayTrack.java (73%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/activity/DisplayTrackMap.java (92%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/activity/OpenStreetMapUpload.java (82%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/activity/Preferences.java (98%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/activity/TrackDetail.java (90%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/activity/TrackDetailEditor.java (79%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/activity/TrackLogger.java (93%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/activity/TrackManager.java (86%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/activity/WaypointList.java (68%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/db/DataHelper.java (77%) create mode 100644 app/src/main/java/org/osmtracker/db/DatabaseHelper.java rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/db/ExportDatabaseTask.java (93%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/db/TrackContentProvider.java (99%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/db/TracklistAdapter.java (76%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/db/WaypointListAdapter.java (71%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/db/model/Track.java (79%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/exception/CreateTrackException.java (73%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/exception/ExportTrackException.java (73%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/gpx/ExportToStorageTask.java (91%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/gpx/ExportToTempFileTask.java (92%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/gpx/ExportTrackTask.java (79%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/layout/DisablableTableLayout.java (96%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/layout/GpsStatusRecord.java (97%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/layout/UserDefinedLayout.java (85%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/listener/PageButtonOnClickListener.java (81%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/listener/SensorListener.java (97%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/listener/StillImageOnClickListener.java (79%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/listener/TagButtonOnClickListener.java (77%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/listener/TextNoteOnClickListener.java (77%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/listener/VoiceRecOnClickListener.java (79%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/osm/OpenStreetMapConstants.java (97%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/osm/ProgressMultipartEntity.java (96%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/osm/RetrieveAccessTokenTask.java (89%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/osm/RetrieveRequestTokenTask.java (92%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/osm/UploadToOpenStreetMapTask.java (92%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/overlay/WayPointsOverlay.java (80%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/receiver/MediaButtonReceiver.java (80%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/service/gps/GPSLogger.java (93%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/service/gps/GPSLoggerServiceConnection.java (75%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/service/resources/AppResourceIconResolver.java (89%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/service/resources/ExternalDirectoryIconResolver.java (91%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/service/resources/IconResolver.java (78%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/util/ArrayUtils.java (90%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/util/DialogUtils.java (93%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/util/FileSystemUtils.java (99%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/util/MercatorProjection.java (94%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/util/ThemeValidator.java (88%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/util/UserDefinedLayoutReader.java (93%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/view/DisplayTrackView.java (91%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/view/TextNoteDialog.java (92%) rename app/src/main/java/{me/guillaumin/android => org}/osmtracker/view/VoiceRecDialog.java (97%) diff --git a/README.md b/README.md index d82cb439e..358270086 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -[Get it on Google Play](https://play.google.com/store/apps/details?id=me.guillaumin.android.osmtracker) -[Get it on F-Droid](https://f-droid.org/app/me.guillaumin.android.osmtracker) +[Get it on Google Play](https://play.google.com/store/apps/details?id=org.osmtracker) +[Get it on F-Droid](https://f-droid.org/app/org.osmtracker) OSMTracker for Androidâ„¢ official source code repository is [https://github.com/nguillaumin/osmtracker-android](https://github.com/nguillaumin/osmtracker-android). diff --git a/app/build.gradle b/app/build.gradle index ab3183b36..24d590375 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,11 +5,11 @@ android { buildToolsVersion "22.0.1" defaultConfig { - applicationId "me.guillaumin.android.osmtracker" + applicationId "org.osmtracker" minSdkVersion 8 targetSdkVersion 16 - testApplicationId "me.guillaumin.android.osmtracker.test" + testApplicationId "org.osmtracker.test" testInstrumentationRunner "android.test.InstrumentationTestRunner" } diff --git a/app/src/androidTest/java/me/guillaumin/android/osmtracker/test/activity/OSMUploadTest.java b/app/src/androidTest/java/org/osmtracker/test/activity/OSMUploadTest.java similarity index 58% rename from app/src/androidTest/java/me/guillaumin/android/osmtracker/test/activity/OSMUploadTest.java rename to app/src/androidTest/java/org/osmtracker/test/activity/OSMUploadTest.java index ee4ce661a..ae696bcd2 100644 --- a/app/src/androidTest/java/me/guillaumin/android/osmtracker/test/activity/OSMUploadTest.java +++ b/app/src/androidTest/java/org/osmtracker/test/activity/OSMUploadTest.java @@ -1,13 +1,13 @@ -package me.guillaumin.android.osmtracker.test.activity; +package org.osmtracker.test.activity; + +import org.osmtracker.activity.OpenStreetMapUpload; -import me.guillaumin.android.osmtracker.activity.OpenStreetMapUpload; -import me.guillaumin.android.osmtracker.test.util.MockData; import android.test.ActivityInstrumentationTestCase2; public class OSMUploadTest extends ActivityInstrumentationTestCase2 { public OSMUploadTest() { - super("me.guillaumin.android.osmtracker", OpenStreetMapUpload.class); + super("org.osmtracker", OpenStreetMapUpload.class); } @Override diff --git a/app/src/androidTest/java/me/guillaumin/android/osmtracker/test/activity/TrackDetailTest.java b/app/src/androidTest/java/org/osmtracker/test/activity/TrackDetailTest.java similarity index 69% rename from app/src/androidTest/java/me/guillaumin/android/osmtracker/test/activity/TrackDetailTest.java rename to app/src/androidTest/java/org/osmtracker/test/activity/TrackDetailTest.java index 009097a34..ef8c09a8c 100644 --- a/app/src/androidTest/java/me/guillaumin/android/osmtracker/test/activity/TrackDetailTest.java +++ b/app/src/androidTest/java/org/osmtracker/test/activity/TrackDetailTest.java @@ -1,11 +1,12 @@ -package me.guillaumin.android.osmtracker.test.activity; +package org.osmtracker.test.activity; import junit.framework.Assert; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.activity.TrackDetail; -import me.guillaumin.android.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.test.util.MockData; + +import org.osmtracker.activity.TrackDetail; +import org.osmtracker.db.TrackContentProvider; +import org.osmtracker.db.TrackContentProvider.Schema; +import org.osmtracker.test.util.MockData; + import android.content.ContentResolver; import android.content.ContentUris; import android.content.Intent; @@ -21,7 +22,7 @@ public class TrackDetailTest extends ActivityInstrumentationTestCase2 { @@ -30,7 +30,7 @@ public class ExportTrackTaskTest extends ActivityInstrumentationTestCase2 - @@ -11,18 +11,18 @@ - + - - - - - + + + + + @@ -30,21 +30,21 @@ - - - + + + - + - + - - + diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/db/DatabaseHelper.java b/app/src/main/java/me/guillaumin/android/osmtracker/db/DatabaseHelper.java deleted file mode 100644 index 2c2b0dd97..000000000 --- a/app/src/main/java/me/guillaumin/android/osmtracker/db/DatabaseHelper.java +++ /dev/null @@ -1,245 +0,0 @@ -package me.guillaumin.android.osmtracker.db; - -import java.io.File; -import java.io.FilenameFilter; - -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.db.model.Track.OSMVisibility; -import me.guillaumin.android.osmtracker.util.FileSystemUtils; -import android.content.ContentValues; -import android.content.Context; -import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; -import android.database.sqlite.SQLiteOpenHelper; -import android.util.Log; - -/** - * Helper for managing database. - * - * @author Nicolas Guillaumin - * - */ -public class DatabaseHelper extends SQLiteOpenHelper { - - private static final String TAG = DatabaseHelper.class.getSimpleName(); - - /** - * SQL for creating table TRACKPOINT - */ - private static final String SQL_CREATE_TABLE_TRACKPOINT = "" - + "create table " + Schema.TBL_TRACKPOINT + " (" - + Schema.COL_ID + " integer primary key autoincrement," - + Schema.COL_TRACK_ID + " integer not null," - + Schema.COL_LATITUDE + " double not null," - + Schema.COL_LONGITUDE + " double not null," - + Schema.COL_SPEED + " double null," - + Schema.COL_ELEVATION + " double null," - + Schema.COL_ACCURACY + " double null," - + Schema.COL_TIMESTAMP + " long not null," - + Schema.COL_COMPASS + " double null," - + Schema.COL_COMPASS_ACCURACY + " integer null"+ ")"; - - /** - * SQL for creating index TRACKPOINT_idx (track id) - * @since 12 - */ - private static final String SQL_CREATE_IDX_TRACKPOINT_TRACK - = "create index if not exists " - + Schema.TBL_TRACKPOINT - + "_idx ON " + Schema.TBL_TRACKPOINT + "(" + Schema.COL_TRACK_ID + ")"; - - /** - * SQL for creating table WAYPOINT - */ - private static final String SQL_CREATE_TABLE_WAYPOINT = "" - + "create table " + Schema.TBL_WAYPOINT + " (" - + Schema.COL_ID + " integer primary key autoincrement," - + Schema.COL_TRACK_ID + " integer not null," - + Schema.COL_UUID + " text," - + Schema.COL_LATITUDE + " double not null," - + Schema.COL_LONGITUDE + " double not null," - + Schema.COL_ELEVATION + " double null," - + Schema.COL_ACCURACY + " double null," - + Schema.COL_TIMESTAMP + " long not null," - + Schema.COL_NAME + " text," - + Schema.COL_LINK + " text," - + Schema.COL_NBSATELLITES + " integer not null," - + Schema.COL_COMPASS + " double null," - + Schema.COL_COMPASS_ACCURACY + " integer null"+ ")"; - - /** - * SQL for creating index WAYPOINT_idx (track id) - * @since 12 - */ - private static final String SQL_CREATE_IDX_WAYPOINT_TRACK - = "create index if not exists " - + Schema.TBL_WAYPOINT - + "_idx ON " + Schema.TBL_WAYPOINT + "(" + Schema.COL_TRACK_ID + ")"; - - /** - * SQL for creating table TRACK - * @since 5 - */ - @SuppressWarnings("deprecation") - private static final String SQL_CREATE_TABLE_TRACK = "" - + "create table " + Schema.TBL_TRACK + " (" - + Schema.COL_ID + " integer primary key autoincrement," - + Schema.COL_NAME + " text," - + Schema.COL_DESCRIPTION + " text," - + Schema.COL_TAGS + " text," - + Schema.COL_OSM_VISIBILITY + " text default '"+OSMVisibility.Private+"'," - + Schema.COL_START_DATE + " long not null," - + Schema.COL_DIR + " text," // unused since DB_VERSION 13, since SQLite doesn't support to remove a column it will stay for now - + Schema.COL_ACTIVE + " integer not null default 0," - + Schema.COL_EXPORT_DATE + " long," // null indicates not yet exported - + Schema.COL_OSM_UPLOAD_DATE + " long" // null indicates not yet uploaded - + ")"; - - /** - * Database name. - */ - public static final String DB_NAME = OSMTracker.class.getSimpleName(); - - /** - * Database version. - * If you change the version, be sure that {@link #onUpgrade(SQLiteDatabase, int, int)} can handle it. - * Only required for versions after v0.5.0 as before the DB was fully erased and recreated from scratch - * for each new track. - *
-	 *  v1: (r117)  v0.4.0, v0.4.1
-	 *  v2: add TBL_CONFIG; that table's been dropped since then (r163)  v0.4.2
-	 *  v3: add TBL_WAYPOINT.COL_UUID  (r187)  v0.4.3
-	 *  v5: add TBL_TRACK; TRACKPOINT, WAYPOINT +COL_TRACK_ID  (r198)
-	 *  v7: add TBL_TRACK.COL_DIR; drop TBL_CONFIG  (r201)
-	 *  v9: add TBL_TRACK.COL_ACTIVE  (r206)
-	 * v12: add TBL_TRACK.COL_EXPORT_DATE, IDX_TRACKPOINT_TRACK, IDX_WAYPOINT_TRACK (r207) v0.5.0
-	 * v13: TBL_TRACK.COL_DIR is now deprecated (rxxx) v0.5.3 TODO: fill in correct revision and version
-	 * v14: add TBL_TRACK.COL_OSM_UPLOAD_DATE, TBL_TRACK.COL_DESCRIPTION,
-	 * 			TBL_TRACK.COL_TAGS and TBL_TRACK.COL_OSM_VISIBILITY for OSM upload - v0.6.0 
-	 * v15: add TBL_TRACKPOINT.COL_SPEED
-	 * v16: add TBL_TRACKPOINT.COL_COMPASS, TBL_TRACKPOINT.COL_COMPASS_ACCURACY,
-	 *          TBL_WAYPOINT.COL_COMPASS and TBL_WAYPOINT.COL_COMPASS_ACCURACY
-	 *
- */ - private static final int DB_VERSION = 16; - - public DatabaseHelper(Context context) { - super(context, DB_NAME, null, DB_VERSION); - } - - @Override - public void onCreate(SQLiteDatabase db) { - db.execSQL("drop table if exists " + Schema.TBL_TRACKPOINT); - db.execSQL(SQL_CREATE_TABLE_TRACKPOINT); - db.execSQL(SQL_CREATE_IDX_TRACKPOINT_TRACK); - db.execSQL("drop table if exists " + Schema.TBL_WAYPOINT); - db.execSQL(SQL_CREATE_TABLE_WAYPOINT); - db.execSQL(SQL_CREATE_IDX_WAYPOINT_TRACK); - db.execSQL("drop table if exists " + Schema.TBL_TRACK); - db.execSQL(SQL_CREATE_TABLE_TRACK); - } - - @Override - public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { - switch(oldVersion){ - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: //pre v0.5.0 (completely create a new database) - onCreate(db); - break; - case 12: - manageNewStoragePath(db); - case 13: - // Create 'osm_upload_date', 'description', 'tags' and 'visibility' - db.execSQL("alter table " + Schema.TBL_TRACK + " add column " + Schema.COL_OSM_UPLOAD_DATE+ " long"); - db.execSQL("alter table " + Schema.TBL_TRACK + " add column " + Schema.COL_DESCRIPTION + " text"); - db.execSQL("alter table " + Schema.TBL_TRACK + " add column " + Schema.COL_TAGS + " text"); - db.execSQL("alter table " + Schema.TBL_TRACK + " add column " + Schema.COL_OSM_VISIBILITY - + " text default '"+OSMVisibility.Private+"'"); - case 14: - db.execSQL("alter table " + Schema.TBL_TRACKPOINT + " add column " + Schema.COL_SPEED + " double null"); - case 15: - db.execSQL("alter table " + Schema.TBL_TRACKPOINT + " add column " + Schema.COL_COMPASS + " double null"); - db.execSQL("alter table " + Schema.TBL_TRACKPOINT + " add column " + Schema.COL_COMPASS_ACCURACY + " integer null"); - db.execSQL("alter table " + Schema.TBL_WAYPOINT + " add column " + Schema.COL_COMPASS + " double null"); - db.execSQL("alter table " + Schema.TBL_WAYPOINT + " add column " + Schema.COL_COMPASS_ACCURACY + " integer null"); - } - - } - - /** - * copies files from the tracks to our new storage directory and removes the path reference in COL_DIR - * @param db the database to work on - */ - @SuppressWarnings("deprecation") - private void manageNewStoragePath(SQLiteDatabase db){ - Log.d(TAG,"manageNewStoragePath"); - - // we'll need this FilenameFitler to clean up our track directory - FilenameFilter gpxFilenameFilter = new FilenameFilter() { - @Override - public boolean accept(File dir, String filename) { - if(filename.toLowerCase().endsWith(".gpx")) - return true; - return false; - } - }; - - // query all tracks - String[] columns = new String[]{Schema.COL_ID, Schema.COL_DIR}; - Cursor cursor = db.query(Schema.TBL_TRACK, columns, null, null, null, null, null); - - // if we have a valid cursor and can write to the sdcard, we'll go on and try to copy the files - if(cursor != null && cursor.moveToFirst()){ - Log.d(TAG, "manageNewStoragePath (found " + cursor.getCount() + " tracks to be processed)"); - do{ - long trackId = cursor.getLong(cursor.getColumnIndex(Schema.COL_ID)); - Log.d(TAG,"manageNewStoragePath (" + trackId + ")"); - String oldDirName = cursor.getString(cursor.getColumnIndex(Schema.COL_DIR)); - File newDir = DataHelper.getTrackDirectory(trackId); - File oldDir = new File(oldDirName); - if(oldDir.exists() && oldDir.canRead()){ - - // if our new directory doesn't exist, we'll create it - if(!newDir.exists()) - newDir.mkdirs(); - - if(newDir.exists() && newDir.canWrite()){ - Log.d(TAG,"manageNewStoragePath (" + trackId + "): copy directory"); - // we'll first copy all files to our new storage area... we'll clean up later - FileSystemUtils.copyDirectoryContents(newDir, oldDir); - - // cleaning up new storage area - // find gpx files we accidentally copied to our new storage area and delete them - for(File gpxFile:newDir.listFiles(gpxFilenameFilter)){ - Log.d(TAG,"manageNewStoragePath (" + trackId + "): deleting gpx file ["+gpxFile+"]"); - gpxFile.delete(); - } - }else{ - Log.e(TAG, "manageNewStoragePath (" + trackId + "): directory ["+newDir+"] is not writable or could not be created"); - } - - } - }while(cursor.moveToNext()); - } - - //close cursor - if(cursor !=null && !cursor.isClosed()){ - cursor.close(); - } - - ContentValues vals = new ContentValues(); - vals.putNull(Schema.COL_DIR); - db.update(Schema.TBL_TRACK, vals, null, null); - } - -} diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/OSMTracker.java b/app/src/main/java/org/osmtracker/OSMTracker.java similarity index 97% rename from app/src/main/java/me/guillaumin/android/osmtracker/OSMTracker.java rename to app/src/main/java/org/osmtracker/OSMTracker.java index 59f2ffc8d..0333fd03b 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/OSMTracker.java +++ b/app/src/main/java/org/osmtracker/OSMTracker.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker; +package org.osmtracker; /** @@ -44,7 +44,7 @@ public static final class Preferences { // Default values public final static String VAL_STORAGE_DIR = "/osmtracker"; public final static String VAL_VOICEREC_DURATION = "2"; - public final static String VAL_UI_THEME = "me.guillaumin.android.osmtracker:style/DefaultTheme"; + public final static String VAL_UI_THEME = "org.osmtracker:style/DefaultTheme"; public final static boolean VAL_GPS_CHECKSTARTUP = true; public final static boolean VAL_GPS_IGNORE_CLOCK = false; public final static String VAL_GPS_LOGGING_INTERVAL = "0"; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/activity/About.java b/app/src/main/java/org/osmtracker/activity/About.java similarity index 92% rename from app/src/main/java/me/guillaumin/android/osmtracker/activity/About.java rename to app/src/main/java/org/osmtracker/activity/About.java index d7795b647..df0ce4cfe 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/activity/About.java +++ b/app/src/main/java/org/osmtracker/activity/About.java @@ -1,22 +1,20 @@ -package me.guillaumin.android.osmtracker.activity; +package org.osmtracker.activity; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.DatabaseHelper; -import me.guillaumin.android.osmtracker.db.ExportDatabaseTask; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.db.DatabaseHelper; +import org.osmtracker.db.ExportDatabaseTask; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.ProgressDialog; import android.content.DialogInterface; -import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.os.Bundle; import android.os.Environment; import android.preference.PreferenceManager; -import android.provider.Settings; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/activity/DisplayTrack.java b/app/src/main/java/org/osmtracker/activity/DisplayTrack.java similarity index 73% rename from app/src/main/java/me/guillaumin/android/osmtracker/activity/DisplayTrack.java rename to app/src/main/java/org/osmtracker/activity/DisplayTrack.java index 844d6e06c..407418bf9 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/activity/DisplayTrack.java +++ b/app/src/main/java/org/osmtracker/activity/DisplayTrack.java @@ -1,9 +1,10 @@ -package me.guillaumin.android.osmtracker.activity; +package org.osmtracker.activity; + +import org.osmtracker.OSMTracker; +import org.osmtracker.util.ThemeValidator; +import org.osmtracker.view.DisplayTrackView; +import org.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.util.ThemeValidator; -import me.guillaumin.android.osmtracker.view.DisplayTrackView; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; @@ -36,10 +37,10 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Create special view and displays it - final long trackId = getIntent().getExtras().getLong(Schema.COL_TRACK_ID); + final long trackId = getIntent().getExtras().getLong(TrackContentProvider.Schema.COL_TRACK_ID); DisplayTrackView dtv = new DisplayTrackView(this, trackId); dtv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); - setTitle(getTitle() + ": #" + getIntent().getExtras().getLong(Schema.COL_TRACK_ID)); + setTitle(getTitle() + ": #" + getIntent().getExtras().getLong(TrackContentProvider.Schema.COL_TRACK_ID)); setContentView(dtv); // If this is the first time showing this activity, @@ -52,16 +53,16 @@ protected void onCreate(Bundle savedInstanceState) { @Override public void run() { new AlertDialog.Builder(DisplayTrack.this) - .setTitle(me.guillaumin.android.osmtracker.R.string.prefs_displaytrack_osm) - .setMessage(me.guillaumin.android.osmtracker.R.string.prefs_displaytrack_osm_summary_ask) + .setTitle(org.osmtracker.R.string.prefs_displaytrack_osm) + .setMessage(org.osmtracker.R.string.prefs_displaytrack_osm_summary_ask) .setNegativeButton(android.R.string.no, null) - .setPositiveButton(me.guillaumin.android.osmtracker.R.string.displaytrack_map, new DialogInterface.OnClickListener() { + .setPositiveButton(org.osmtracker.R.string.displaytrack_map, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { PreferenceManager.getDefaultSharedPreferences(DisplayTrack.this).edit() .putBoolean(OSMTracker.Preferences.KEY_UI_DISPLAYTRACK_OSM, true).commit(); Intent i = new Intent(DisplayTrack.this, DisplayTrackMap.class); - i.putExtra(Schema.COL_TRACK_ID, trackId); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, trackId); startActivity(i); finish(); // DisplayTrackMap replaces our activity } diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/activity/DisplayTrackMap.java b/app/src/main/java/org/osmtracker/activity/DisplayTrackMap.java similarity index 92% rename from app/src/main/java/me/guillaumin/android/osmtracker/activity/DisplayTrackMap.java rename to app/src/main/java/org/osmtracker/activity/DisplayTrackMap.java index 072c28abc..9f142a066 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/activity/DisplayTrackMap.java +++ b/app/src/main/java/org/osmtracker/activity/DisplayTrackMap.java @@ -1,14 +1,13 @@ -package me.guillaumin.android.osmtracker.activity; +package org.osmtracker.activity; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.overlay.WayPointsOverlay; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.db.TrackContentProvider; +import org.osmtracker.overlay.WayPointsOverlay; import org.osmdroid.api.IMapController; import org.osmdroid.tileprovider.tilesource.ITileSource; @@ -112,7 +111,7 @@ public class DisplayTrackMap extends Activity { /** * OSM view overlay that displays waypoints */ - private WayPointsOverlay wayPointsOverlay; + private WayPointsOverlay wayPointsOverlay; /** * Current track id @@ -161,7 +160,7 @@ public void onCreate(Bundle savedInstanceState) { setContentView(R.layout.displaytrackmap); - currentTrackId = getIntent().getExtras().getLong(Schema.COL_TRACK_ID); + currentTrackId = getIntent().getExtras().getLong(TrackContentProvider.Schema.COL_TRACK_ID); setTitle(getTitle() + ": #" + currentTrackId); // Initialize OSM view @@ -377,20 +376,20 @@ private void pathChanged() { double minLat = 91.0, minLon = 181.0; double maxLat = -91.0, maxLon = -181.0; if ((! zoomedToTrackAlready) && (lastTrackPointIdProcessed == null)) { - final String[] proj_active = {Schema.COL_ACTIVE}; + final String[] proj_active = {TrackContentProvider.Schema.COL_ACTIVE}; Cursor cursor = getContentResolver().query( ContentUris.withAppendedId(TrackContentProvider.CONTENT_URI_TRACK, currentTrackId), proj_active, null, null, null); if (cursor.moveToFirst()) { doInitialBoundsCalc = - (cursor.getInt(cursor.getColumnIndex(Schema.COL_ACTIVE)) == Schema.VAL_TRACK_INACTIVE); + (cursor.getInt(cursor.getColumnIndex(TrackContentProvider.Schema.COL_ACTIVE)) == TrackContentProvider.Schema.VAL_TRACK_INACTIVE); } cursor.close(); } // Projection: The columns to retrieve. Here, we want the latitude, // longitude and primary key only - String[] projection = {Schema.COL_LATITUDE, Schema.COL_LONGITUDE, Schema.COL_ID}; + String[] projection = {TrackContentProvider.Schema.COL_LATITUDE, TrackContentProvider.Schema.COL_LONGITUDE, TrackContentProvider.Schema.COL_ID}; // Selection: The where clause to use String selection = null; // SelectionArgs: The parameter replacements to use for the '?' in the selection @@ -411,16 +410,16 @@ private void pathChanged() { // Retrieve any points we have not yet seen Cursor c = getContentResolver().query( TrackContentProvider.trackPointsUri(currentTrackId), - projection, selection, selectionArgs, Schema.COL_ID + " asc"); + projection, selection, selectionArgs, TrackContentProvider.Schema.COL_ID + " asc"); int numberOfPointsRetrieved = c.getCount(); if (numberOfPointsRetrieved > 0 ) { c.moveToFirst(); double lastLat = 0; double lastLon = 0; - int primaryKeyColumnIndex = c.getColumnIndex(Schema.COL_ID); - int latitudeColumnIndex = c.getColumnIndex(Schema.COL_LATITUDE); - int longitudeColumnIndex = c.getColumnIndex(Schema.COL_LONGITUDE); + int primaryKeyColumnIndex = c.getColumnIndex(TrackContentProvider.Schema.COL_ID); + int latitudeColumnIndex = c.getColumnIndex(TrackContentProvider.Schema.COL_LATITUDE); + int longitudeColumnIndex = c.getColumnIndex(TrackContentProvider.Schema.COL_LONGITUDE); // Add each new point to the track while(!c.isAfterLast()) { diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/activity/OpenStreetMapUpload.java b/app/src/main/java/org/osmtracker/activity/OpenStreetMapUpload.java similarity index 82% rename from app/src/main/java/me/guillaumin/android/osmtracker/activity/OpenStreetMapUpload.java rename to app/src/main/java/org/osmtracker/activity/OpenStreetMapUpload.java index 7255521a0..3ef18ea50 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/activity/OpenStreetMapUpload.java +++ b/app/src/main/java/org/osmtracker/activity/OpenStreetMapUpload.java @@ -1,16 +1,15 @@ -package me.guillaumin.android.osmtracker.activity; +package org.osmtracker.activity; + +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.db.TrackContentProvider; +import org.osmtracker.db.model.Track; +import org.osmtracker.gpx.ExportToTempFileTask; +import org.osmtracker.osm.OpenStreetMapConstants; +import org.osmtracker.osm.RetrieveAccessTokenTask; +import org.osmtracker.osm.RetrieveRequestTokenTask; +import org.osmtracker.osm.UploadToOpenStreetMapTask; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.db.model.Track; -import me.guillaumin.android.osmtracker.db.model.Track.OSMVisibility; -import me.guillaumin.android.osmtracker.gpx.ExportToTempFileTask; -import me.guillaumin.android.osmtracker.osm.OpenStreetMapConstants; -import me.guillaumin.android.osmtracker.osm.RetrieveAccessTokenTask; -import me.guillaumin.android.osmtracker.osm.RetrieveRequestTokenTask; -import me.guillaumin.android.osmtracker.osm.UploadToOpenStreetMapTask; import oauth.signpost.OAuth; import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer; import oauth.signpost.commonshttp.CommonsHttpOAuthProvider; @@ -42,7 +41,7 @@ public class OpenStreetMapUpload extends TrackDetailEditor { private static final String TAG = OpenStreetMapUpload.class.getSimpleName(); /** URL that the browser will call once the user is authenticated */ - private static final String OAUTH_CALLBACK_URL = "osmtracker://osm-upload/oath-completed/?"+Schema.COL_TRACK_ID+"="; + private static final String OAUTH_CALLBACK_URL = "osmtracker://osm-upload/oath-completed/?"+ TrackContentProvider.Schema.COL_TRACK_ID+"="; private static final CommonsHttpOAuthProvider oAuthProvider = new CommonsHttpOAuthProvider( OpenStreetMapConstants.OAuth.Urls.REQUEST_TOKEN_URL, @@ -87,10 +86,10 @@ public void onClick(View v) { * @return */ private long getTrackId() { - if (getIntent().getExtras() != null && getIntent().getExtras().containsKey(Schema.COL_TRACK_ID)) { - return getIntent().getExtras().getLong(Schema.COL_TRACK_ID); + if (getIntent().getExtras() != null && getIntent().getExtras().containsKey(TrackContentProvider.Schema.COL_TRACK_ID)) { + return getIntent().getExtras().getLong(TrackContentProvider.Schema.COL_TRACK_ID); } else if (getIntent().getData().toString().startsWith(OAUTH_CALLBACK_URL)) { - return Long.parseLong(getIntent().getData().getQueryParameter(Schema.COL_TRACK_ID)); + return Long.parseLong(getIntent().getData().getQueryParameter(TrackContentProvider.Schema.COL_TRACK_ID)); } else { throw new IllegalArgumentException("Missing Track ID"); } @@ -156,7 +155,7 @@ public void uploadToOsm() { protected void executionCompleted() { new UploadToOpenStreetMapTask(OpenStreetMapUpload.this, trackId, oAuthConsumer, this.getTmpFile(), this.getFilename(), etDescription.getText().toString(), etTags.getText().toString(), - OSMVisibility.fromPosition(OpenStreetMapUpload.this.spVisibility.getSelectedItemPosition())) + Track.OSMVisibility.fromPosition(OpenStreetMapUpload.this.spVisibility.getSelectedItemPosition())) .execute(); } }.execute(); diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/activity/Preferences.java b/app/src/main/java/org/osmtracker/activity/Preferences.java similarity index 98% rename from app/src/main/java/me/guillaumin/android/osmtracker/activity/Preferences.java rename to app/src/main/java/org/osmtracker/activity/Preferences.java index 76030ea3a..f9254b9ee 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/activity/Preferences.java +++ b/app/src/main/java/org/osmtracker/activity/Preferences.java @@ -1,10 +1,10 @@ -package me.guillaumin.android.osmtracker.activity; +package org.osmtracker.activity; import java.io.File; import java.io.FilenameFilter; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/activity/TrackDetail.java b/app/src/main/java/org/osmtracker/activity/TrackDetail.java similarity index 90% rename from app/src/main/java/me/guillaumin/android/osmtracker/activity/TrackDetail.java rename to app/src/main/java/org/osmtracker/activity/TrackDetail.java index 8d593294e..604e20411 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/activity/TrackDetail.java +++ b/app/src/main/java/org/osmtracker/activity/TrackDetail.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.activity; +package org.osmtracker.activity; import java.sql.Date; import java.text.DateFormat; @@ -7,13 +7,13 @@ import java.util.List; import java.util.Map; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.db.model.Track; -import me.guillaumin.android.osmtracker.gpx.ExportToStorageTask; -import me.guillaumin.android.osmtracker.util.MercatorProjection; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.db.TrackContentProvider; +import org.osmtracker.db.model.Track; +import org.osmtracker.gpx.ExportToStorageTask; +import org.osmtracker.util.MercatorProjection; + import android.content.ContentResolver; import android.content.ContentUris; import android.content.Intent; @@ -38,7 +38,7 @@ /** * Display details about one track. Allow naming the track. - * The track ID is passed into the Bundle via {@link Schema#COL_TRACK_ID}. + * The track ID is passed into the Bundle via {@link TrackContentProvider.Schema#COL_TRACK_ID}. * * @author Jeremy D Monin * @@ -73,7 +73,7 @@ public class TrackDetail extends TrackDetailEditor implements AdapterView.OnItem @Override protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState, R.layout.trackdetail, getIntent().getExtras().getLong(Schema.COL_TRACK_ID)); + super.onCreate(savedInstanceState, R.layout.trackdetail, getIntent().getExtras().getLong(TrackContentProvider.Schema.COL_TRACK_ID)); lv = (ListView) findViewById(R.id.trackdetail_list); @@ -171,10 +171,10 @@ protected void onResume() { // OSM Upload date map = new HashMap(); map.put(ITEM_KEY, getResources().getString(R.string.trackdetail_osm_upload_date)); - if (cursor.isNull(cursor.getColumnIndex(Schema.COL_OSM_UPLOAD_DATE))) { + if (cursor.isNull(cursor.getColumnIndex(TrackContentProvider.Schema.COL_OSM_UPLOAD_DATE))) { map.put(ITEM_VALUE, getResources().getString(R.string.trackdetail_osm_upload_notyet)); } else { - map.put(ITEM_VALUE, DateFormat.getDateTimeInstance().format(new Date(cursor.getLong(cursor.getColumnIndex(Schema.COL_EXPORT_DATE))))); + map.put(ITEM_VALUE, DateFormat.getDateTimeInstance().format(new Date(cursor.getLong(cursor.getColumnIndex(TrackContentProvider.Schema.COL_EXPORT_DATE))))); } data.add(map); @@ -182,10 +182,10 @@ protected void onResume() { // if the user exports the track map = new HashMap(); map.put(ITEM_KEY, getResources().getString(R.string.trackdetail_exportdate)); - if (cursor.isNull(cursor.getColumnIndex(Schema.COL_EXPORT_DATE))) { + if (cursor.isNull(cursor.getColumnIndex(TrackContentProvider.Schema.COL_EXPORT_DATE))) { map.put(ITEM_VALUE, getResources().getString(R.string.trackdetail_export_notyet)); } else { - map.put(ITEM_VALUE, (DateFormat.getDateTimeInstance().format(new Date(cursor.getLong(cursor.getColumnIndex(Schema.COL_EXPORT_DATE)))))); + map.put(ITEM_VALUE, (DateFormat.getDateTimeInstance().format(new Date(cursor.getLong(cursor.getColumnIndex(TrackContentProvider.Schema.COL_EXPORT_DATE)))))); } data.add(map); @@ -226,7 +226,7 @@ public boolean onOptionsItemSelected(MenuItem item) { } else { i = new Intent(this, DisplayTrack.class); } - i.putExtra(Schema.COL_TRACK_ID, trackId); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, trackId); startActivity(i); break; case R.id.trackdetail_menu_export: @@ -240,7 +240,7 @@ public boolean onOptionsItemSelected(MenuItem item) { break; case R.id.trackdetail_menu_osm_upload: i = new Intent(this, OpenStreetMapUpload.class); - i.putExtra(Schema.COL_TRACK_ID, trackId); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, trackId); startActivity(i); break; } @@ -258,7 +258,7 @@ public void onItemClick(AdapterView parent, View view, final int position, fi } Intent i = new Intent(this, WaypointList.class); - i.putExtra(Schema.COL_TRACK_ID, trackId); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, trackId); startActivity(i); } diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/activity/TrackDetailEditor.java b/app/src/main/java/org/osmtracker/activity/TrackDetailEditor.java similarity index 79% rename from app/src/main/java/me/guillaumin/android/osmtracker/activity/TrackDetailEditor.java rename to app/src/main/java/org/osmtracker/activity/TrackDetailEditor.java index 3c7f1e5e3..aed273b25 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/activity/TrackDetailEditor.java +++ b/app/src/main/java/org/osmtracker/activity/TrackDetailEditor.java @@ -1,10 +1,9 @@ -package me.guillaumin.android.osmtracker.activity; +package org.osmtracker.activity; + +import org.osmtracker.R; +import org.osmtracker.db.TrackContentProvider; +import org.osmtracker.db.model.Track; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.db.model.Track; -import me.guillaumin.android.osmtracker.db.model.Track.OSMVisibility; import android.app.Activity; import android.content.ContentUris; import android.content.ContentValues; @@ -53,7 +52,7 @@ protected void onCreate(Bundle savedInstanceState, int viewResId, long trackId) ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item); - for (OSMVisibility v: OSMVisibility.values()) { + for (Track.OSMVisibility v: Track.OSMVisibility.values()) { adapter.add(getResources().getString(v.resId)); } adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); @@ -92,13 +91,13 @@ protected boolean save() { // String class required for equals to work, and for trim(). String enteredName = etName.getText().toString().trim(); if ((enteredName.length() > 0)) { - values.put(Schema.COL_NAME, enteredName); + values.put(TrackContentProvider.Schema.COL_NAME, enteredName); } // All other values updated even if empty - values.put(Schema.COL_DESCRIPTION, etDescription.getText().toString().trim()); - values.put(Schema.COL_TAGS, etTags.getText().toString().trim()); - values.put(Schema.COL_OSM_VISIBILITY, OSMVisibility.fromPosition(spVisibility.getSelectedItemPosition()).toString()); + values.put(TrackContentProvider.Schema.COL_DESCRIPTION, etDescription.getText().toString().trim()); + values.put(TrackContentProvider.Schema.COL_TAGS, etTags.getText().toString().trim()); + values.put(TrackContentProvider.Schema.COL_OSM_VISIBILITY, Track.OSMVisibility.fromPosition(spVisibility.getSelectedItemPosition()).toString()); getContentResolver().update(trackUri, values, null, null); diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/activity/TrackLogger.java b/app/src/main/java/org/osmtracker/activity/TrackLogger.java similarity index 93% rename from app/src/main/java/me/guillaumin/android/osmtracker/activity/TrackLogger.java rename to app/src/main/java/org/osmtracker/activity/TrackLogger.java index ac2ea2525..8c23d224d 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/activity/TrackLogger.java +++ b/app/src/main/java/org/osmtracker/activity/TrackLogger.java @@ -1,22 +1,23 @@ -package me.guillaumin.android.osmtracker.activity; +package org.osmtracker.activity; import java.io.File; import java.util.Date; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.DataHelper; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.layout.GpsStatusRecord; -import me.guillaumin.android.osmtracker.layout.UserDefinedLayout; -import me.guillaumin.android.osmtracker.listener.SensorListener; -import me.guillaumin.android.osmtracker.receiver.MediaButtonReceiver; -import me.guillaumin.android.osmtracker.service.gps.GPSLogger; -import me.guillaumin.android.osmtracker.service.gps.GPSLoggerServiceConnection; -import me.guillaumin.android.osmtracker.util.FileSystemUtils; -import me.guillaumin.android.osmtracker.util.ThemeValidator; -import me.guillaumin.android.osmtracker.view.TextNoteDialog; -import me.guillaumin.android.osmtracker.view.VoiceRecDialog; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.db.DataHelper; +import org.osmtracker.layout.GpsStatusRecord; +import org.osmtracker.layout.UserDefinedLayout; +import org.osmtracker.listener.SensorListener; +import org.osmtracker.receiver.MediaButtonReceiver; +import org.osmtracker.service.gps.GPSLogger; +import org.osmtracker.service.gps.GPSLoggerServiceConnection; +import org.osmtracker.util.FileSystemUtils; +import org.osmtracker.util.ThemeValidator; +import org.osmtracker.view.TextNoteDialog; +import org.osmtracker.view.VoiceRecDialog; +import org.osmtracker.db.TrackContentProvider; + import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; @@ -149,11 +150,11 @@ public class TrackLogger extends Activity { protected void onCreate(Bundle savedInstanceState) { // Get the track id to work with - currentTrackId = getIntent().getExtras().getLong(Schema.COL_TRACK_ID); + currentTrackId = getIntent().getExtras().getLong(TrackContentProvider.Schema.COL_TRACK_ID); Log.v(TAG, "Starting for track id " + currentTrackId); gpsLoggerServiceIntent = new Intent(this, GPSLogger.class); - gpsLoggerServiceIntent.putExtra(Schema.COL_TRACK_ID, currentTrackId); + gpsLoggerServiceIntent.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, currentTrackId); // Populate default preference values PreferenceManager.setDefaultValues(this, R.xml.preferences, false); @@ -380,7 +381,7 @@ public boolean onOptionsItemSelected(MenuItem item) { case R.id.tracklogger_menu_waypointlist: // Start Waypoint list activity i = new Intent(this, WaypointList.class); - i.putExtra(Schema.COL_TRACK_ID, currentTrackId); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, currentTrackId); startActivity(i); break; case R.id.tracklogger_menu_about: @@ -396,7 +397,7 @@ public boolean onOptionsItemSelected(MenuItem item) { } else { i = new Intent(this, DisplayTrack.class); } - i.putExtra(Schema.COL_TRACK_ID, currentTrackId); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, currentTrackId); startActivity(i); break; } @@ -496,7 +497,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { File imageFile = popImageFile(); if (imageFile != null) { Intent intent = new Intent(OSMTracker.INTENT_TRACK_WP); - intent.putExtra(Schema.COL_TRACK_ID, currentTrackId); + intent.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, currentTrackId); intent.putExtra(OSMTracker.INTENT_KEY_NAME, getResources().getString(R.string.wpt_stillimage)); intent.putExtra(OSMTracker.INTENT_KEY_LINK, imageFile.getName()); sendBroadcast(intent); @@ -518,7 +519,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { // Send an intent to inform service to track the waypoint. Intent intent = new Intent(OSMTracker.INTENT_TRACK_WP); - intent.putExtra(Schema.COL_TRACK_ID, currentTrackId); + intent.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, currentTrackId); intent.putExtra(OSMTracker.INTENT_KEY_NAME, getResources().getString(R.string.wpt_stillimage)); intent.putExtra(OSMTracker.INTENT_KEY_LINK, imageFile.getName()); sendBroadcast(intent); @@ -617,8 +618,8 @@ protected void onPrepareDialog(int id, Dialog dialog) { @Override protected void onNewIntent(Intent newIntent) { if (newIntent.getExtras() != null) { - if (newIntent.getExtras().containsKey(Schema.COL_TRACK_ID)) { - currentTrackId = newIntent.getExtras().getLong(Schema.COL_TRACK_ID); + if (newIntent.getExtras().containsKey(TrackContentProvider.Schema.COL_TRACK_ID)) { + currentTrackId = newIntent.getExtras().getLong(TrackContentProvider.Schema.COL_TRACK_ID); setIntent(newIntent); } if (newIntent.hasExtra("mediaButton") && gpsLogger != null && gpsLogger.isTracking()) { diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/activity/TrackManager.java b/app/src/main/java/org/osmtracker/activity/TrackManager.java similarity index 86% rename from app/src/main/java/me/guillaumin/android/osmtracker/activity/TrackManager.java rename to app/src/main/java/org/osmtracker/activity/TrackManager.java index d4754fcb7..a0f13de75 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/activity/TrackManager.java +++ b/app/src/main/java/org/osmtracker/activity/TrackManager.java @@ -1,17 +1,17 @@ -package me.guillaumin.android.osmtracker.activity; +package org.osmtracker.activity; import java.io.File; import java.util.Date; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.DataHelper; -import me.guillaumin.android.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.db.TracklistAdapter; -import me.guillaumin.android.osmtracker.exception.CreateTrackException; -import me.guillaumin.android.osmtracker.gpx.ExportToStorageTask; -import me.guillaumin.android.osmtracker.util.FileSystemUtils; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.db.DataHelper; +import org.osmtracker.db.TrackContentProvider; +import org.osmtracker.db.TracklistAdapter; +import org.osmtracker.exception.CreateTrackException; +import org.osmtracker.gpx.ExportToStorageTask; +import org.osmtracker.util.FileSystemUtils; + import android.app.AlertDialog; import android.app.ListActivity; import android.content.ContentUris; @@ -73,7 +73,7 @@ protected void onCreate(Bundle savedInstanceState) { protected void onResume() { Cursor cursor = getContentResolver().query( TrackContentProvider.CONTENT_URI_TRACK, null, null, null, - Schema.COL_START_DATE + " desc"); + TrackContentProvider.Schema.COL_START_DATE + " desc"); startManagingCursor(cursor); setListAdapter(new TracklistAdapter(TrackManager.this, cursor)); getListView().setEmptyView(findViewById(R.id.trackmgr_empty)); // undo change from onPause @@ -90,7 +90,7 @@ protected void onResume() { // we will use the flag selectionSet to handle the while loop boolean selectionSet = false; while(!selectionSet && cursor.moveToNext()){ - if(cursor.getInt(cursor.getColumnIndex(Schema.COL_ACTIVE)) == 1){ + if(cursor.getInt(cursor.getColumnIndex(TrackContentProvider.Schema.COL_ACTIVE)) == 1){ // This is the active track // set selection to the current cursor position getListView().setSelection(cursor.getPosition()); @@ -182,7 +182,7 @@ public boolean onOptionsItemSelected(MenuItem item) { Intent i = new Intent(this, TrackLogger.class); // New track currentTrackId = createNewTrack(); - i.putExtra(Schema.COL_TRACK_ID, currentTrackId); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, currentTrackId); startActivity(i); } catch (CreateTrackException cte) { Toast.makeText(this, @@ -194,7 +194,7 @@ public boolean onOptionsItemSelected(MenuItem item) { case R.id.trackmgr_menu_continuetrack: Intent i = new Intent(this, TrackLogger.class); i.putExtra(TrackLogger.STATE_IS_TRACKING, true); - i.putExtra(Schema.COL_TRACK_ID, currentTrackId); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, currentTrackId); startActivity(i); break; case R.id.trackmgr_menu_stopcurrenttrack: @@ -233,10 +233,10 @@ public void onClick(DialogInterface dialog, int which) { @Override public void onClick(DialogInterface dialog, int which) { Cursor cursor = getContentResolver().query(TrackContentProvider.CONTENT_URI_TRACK, - null, null, null, Schema.COL_START_DATE + " desc"); + null, null, null, TrackContentProvider.Schema.COL_START_DATE + " desc"); if (cursor.moveToFirst()) { long[] ids = new long[cursor.getCount()]; - int idCol = cursor.getColumnIndex(Schema.COL_ID); + int idCol = cursor.getColumnIndex(TrackContentProvider.Schema.COL_ID); int i=0; do { ids[i++] = cursor.getLong(idCol); @@ -302,7 +302,7 @@ public boolean onContextItemSelected(MenuItem item) { // let's activate the track and start the TrackLogger activity setActiveTrack(info.id); i = new Intent(this, TrackLogger.class); - i.putExtra(Schema.COL_TRACK_ID, info.id); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, info.id); startActivity(i); break; case R.id.trackmgr_contextmenu_delete: @@ -333,7 +333,7 @@ public void onClick(DialogInterface dialog, int which) { break; case R.id.trackmgr_contextmenu_osm_upload: i = new Intent(this, OpenStreetMapUpload.class); - i.putExtra(Schema.COL_TRACK_ID, info.id); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, info.id); startActivity(i); break; case R.id.trackmgr_contextmenu_display: @@ -345,12 +345,12 @@ public void onClick(DialogInterface dialog, int which) { } else { i = new Intent(this, DisplayTrack.class); } - i.putExtra(Schema.COL_TRACK_ID, info.id); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, info.id); startActivity(i); break; case R.id.trackmgr_contextmenu_details: i = new Intent(this, TrackDetail.class); - i.putExtra(Schema.COL_TRACK_ID, info.id); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, info.id); startActivity(i); break; } @@ -370,12 +370,12 @@ protected void onListItemClick(ListView lv, View iv, final int position, final l if (id == currentTrackId) { // continue recording the current track i = new Intent(this, TrackLogger.class); - i.putExtra(Schema.COL_TRACK_ID, currentTrackId); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, currentTrackId); i.putExtra(TrackLogger.STATE_IS_TRACKING, true); } else { // show track info i = new Intent(this, TrackDetail.class); - i.putExtra(Schema.COL_TRACK_ID, id); + i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, id); } startActivity(i); } @@ -390,9 +390,9 @@ private long createNewTrack() throws CreateTrackException { // Create entry in TRACK table ContentValues values = new ContentValues(); - values.put(Schema.COL_NAME, ""); - values.put(Schema.COL_START_DATE, startDate.getTime()); - values.put(Schema.COL_ACTIVE, Schema.VAL_TRACK_ACTIVE); + values.put(TrackContentProvider.Schema.COL_NAME, ""); + values.put(TrackContentProvider.Schema.COL_START_DATE, startDate.getTime()); + values.put(TrackContentProvider.Schema.COL_ACTIVE, TrackContentProvider.Schema.VAL_TRACK_ACTIVE); Uri trackUri = getContentResolver().insert(TrackContentProvider.CONTENT_URI_TRACK, values); long trackId = ContentUris.parseId(trackUri); @@ -423,7 +423,7 @@ private void deleteTrack(long id) { * Deletes all tracks and their data */ private void deleteAllTracks() { - Cursor cursor = getContentResolver().query(TrackContentProvider.CONTENT_URI_TRACK, null, null, null, Schema.COL_START_DATE + " asc"); + Cursor cursor = getContentResolver().query(TrackContentProvider.CONTENT_URI_TRACK, null, null, null, TrackContentProvider.Schema.COL_START_DATE + " asc"); // Stop any currently active tracks if (currentTrackId != -1) { @@ -431,7 +431,7 @@ private void deleteAllTracks() { } if (cursor.moveToFirst()) { - int id_col = cursor.getColumnIndex(Schema.COL_ID); + int id_col = cursor.getColumnIndex(TrackContentProvider.Schema.COL_ID); do { deleteTrack(cursor.getLong(id_col)); } while (cursor.moveToNext()); @@ -451,8 +451,8 @@ private void setActiveTrack(long trackId){ // set the track active ContentValues values = new ContentValues(); - values.put(Schema.COL_ACTIVE, Schema.VAL_TRACK_ACTIVE); - getContentResolver().update(TrackContentProvider.CONTENT_URI_TRACK, values, Schema.COL_ID + " = ?", new String[] {Long.toString(trackId)}); + values.put(TrackContentProvider.Schema.COL_ACTIVE, TrackContentProvider.Schema.VAL_TRACK_ACTIVE); + getContentResolver().update(TrackContentProvider.CONTENT_URI_TRACK, values, TrackContentProvider.Schema.COL_ID + " = ?", new String[] {Long.toString(trackId)}); } /** diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/activity/WaypointList.java b/app/src/main/java/org/osmtracker/activity/WaypointList.java similarity index 68% rename from app/src/main/java/me/guillaumin/android/osmtracker/activity/WaypointList.java rename to app/src/main/java/org/osmtracker/activity/WaypointList.java index 7d7cda9ed..d78960f7b 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/activity/WaypointList.java +++ b/app/src/main/java/org/osmtracker/activity/WaypointList.java @@ -1,8 +1,8 @@ -package me.guillaumin.android.osmtracker.activity; +package org.osmtracker.activity; + +import org.osmtracker.db.TrackContentProvider; +import org.osmtracker.db.WaypointListAdapter; -import me.guillaumin.android.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.db.WaypointListAdapter; import android.app.ListActivity; import android.database.Cursor; import android.widget.CursorAdapter; @@ -17,10 +17,10 @@ public class WaypointList extends ListActivity { @Override protected void onResume() { - Long trackId = getIntent().getExtras().getLong(Schema.COL_TRACK_ID); + Long trackId = getIntent().getExtras().getLong(TrackContentProvider.Schema.COL_TRACK_ID); Cursor cursor = getContentResolver().query(TrackContentProvider.waypointsUri(trackId), - null, null, null, Schema.COL_TIMESTAMP + " desc"); + null, null, null, TrackContentProvider.Schema.COL_TIMESTAMP + " desc"); startManagingCursor(cursor); setListAdapter(new WaypointListAdapter(WaypointList.this, cursor)); diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/db/DataHelper.java b/app/src/main/java/org/osmtracker/db/DataHelper.java similarity index 77% rename from app/src/main/java/me/guillaumin/android/osmtracker/db/DataHelper.java rename to app/src/main/java/org/osmtracker/db/DataHelper.java index 2ba2190df..83a660a31 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/db/DataHelper.java +++ b/app/src/main/java/org/osmtracker/db/DataHelper.java @@ -1,10 +1,10 @@ -package me.guillaumin.android.osmtracker.db; +package org.osmtracker.db; import java.io.File; import java.text.SimpleDateFormat; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; +import org.osmtracker.OSMTracker; + import android.content.ContentResolver; import android.content.ContentUris; import android.content.ContentValues; @@ -97,35 +97,35 @@ public DataHelper(Context c) { public void track(long trackId, Location location, float azimuth, int accuracy) { Log.v(TAG, "Tracking (trackId=" + trackId + ") location: " + location + " azimuth: " + azimuth + ", accuracy: " + accuracy); ContentValues values = new ContentValues(); - values.put(Schema.COL_TRACK_ID, trackId); - values.put(Schema.COL_LATITUDE, location.getLatitude()); - values.put(Schema.COL_LONGITUDE, location.getLongitude()); + values.put(TrackContentProvider.Schema.COL_TRACK_ID, trackId); + values.put(TrackContentProvider.Schema.COL_LATITUDE, location.getLatitude()); + values.put(TrackContentProvider.Schema.COL_LONGITUDE, location.getLongitude()); if (location.hasAltitude()) { - values.put(Schema.COL_ELEVATION, location.getAltitude()); + values.put(TrackContentProvider.Schema.COL_ELEVATION, location.getAltitude()); } if (location.hasAccuracy()) { - values.put(Schema.COL_ACCURACY, location.getAccuracy()); + values.put(TrackContentProvider.Schema.COL_ACCURACY, location.getAccuracy()); } if (location.hasSpeed()) { - values.put(Schema.COL_SPEED, location.getSpeed()); + values.put(TrackContentProvider.Schema.COL_SPEED, location.getSpeed()); } SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); if (prefs.getBoolean(OSMTracker.Preferences.KEY_GPS_IGNORE_CLOCK, OSMTracker.Preferences.VAL_GPS_IGNORE_CLOCK)) { // Use OS clock - values.put(Schema.COL_TIMESTAMP, System.currentTimeMillis()); + values.put(TrackContentProvider.Schema.COL_TIMESTAMP, System.currentTimeMillis()); } else { // Use GPS clock - values.put(Schema.COL_TIMESTAMP, location.getTime()); + values.put(TrackContentProvider.Schema.COL_TIMESTAMP, location.getTime()); } if (azimuth >= AZIMUTH_MIN && azimuth < AZIMUTH_MAX) { - values.put(Schema.COL_COMPASS, azimuth); - values.put(Schema.COL_COMPASS_ACCURACY, accuracy); + values.put(TrackContentProvider.Schema.COL_COMPASS, azimuth); + values.put(TrackContentProvider.Schema.COL_COMPASS_ACCURACY, accuracy); } Uri trackUri = ContentUris.withAppendedId(TrackContentProvider.CONTENT_URI_TRACK, trackId); - contentResolver.insert(Uri.withAppendedPath(trackUri, Schema.TBL_TRACKPOINT + "s"), values); + contentResolver.insert(Uri.withAppendedPath(trackUri, TrackContentProvider.Schema.TBL_TRACKPOINT + "s"), values); } /** @@ -156,44 +156,44 @@ public void wayPoint(long trackId, Location location, int nbSatellites, String n // TODO investigate this issue. if (location != null) { ContentValues values = new ContentValues(); - values.put(Schema.COL_TRACK_ID, trackId); - values.put(Schema.COL_LATITUDE, location.getLatitude()); - values.put(Schema.COL_LONGITUDE, location.getLongitude()); - values.put(Schema.COL_NAME, name); - values.put(Schema.COL_NBSATELLITES, nbSatellites); + values.put(TrackContentProvider.Schema.COL_TRACK_ID, trackId); + values.put(TrackContentProvider.Schema.COL_LATITUDE, location.getLatitude()); + values.put(TrackContentProvider.Schema.COL_LONGITUDE, location.getLongitude()); + values.put(TrackContentProvider.Schema.COL_NAME, name); + values.put(TrackContentProvider.Schema.COL_NBSATELLITES, nbSatellites); if (uuid != null) { - values.put(Schema.COL_UUID, uuid); + values.put(TrackContentProvider.Schema.COL_UUID, uuid); } if (location.hasAltitude()) { - values.put(Schema.COL_ELEVATION, location.getAltitude()); + values.put(TrackContentProvider.Schema.COL_ELEVATION, location.getAltitude()); } if (location.hasAccuracy()) { - values.put(Schema.COL_ACCURACY, location.getAccuracy()); + values.put(TrackContentProvider.Schema.COL_ACCURACY, location.getAccuracy()); } if (link != null) { // Rename file to match location timestamp - values.put(Schema.COL_LINK, renameFile(trackId, link, FILENAME_FORMATTER.format(location.getTime()))); + values.put(TrackContentProvider.Schema.COL_LINK, renameFile(trackId, link, FILENAME_FORMATTER.format(location.getTime()))); } SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); if (prefs.getBoolean(OSMTracker.Preferences.KEY_GPS_IGNORE_CLOCK, OSMTracker.Preferences.VAL_GPS_IGNORE_CLOCK)) { // Use OS clock - values.put(Schema.COL_TIMESTAMP, System.currentTimeMillis()); + values.put(TrackContentProvider.Schema.COL_TIMESTAMP, System.currentTimeMillis()); } else { // Use GPS clock - values.put(Schema.COL_TIMESTAMP, location.getTime()); + values.put(TrackContentProvider.Schema.COL_TIMESTAMP, location.getTime()); } //add compass if valid if (azimuth >= AZIMUTH_MIN && azimuth < AZIMUTH_MAX) { - values.put(Schema.COL_COMPASS, azimuth); - values.put(Schema.COL_COMPASS_ACCURACY, accuracy); + values.put(TrackContentProvider.Schema.COL_COMPASS, azimuth); + values.put(TrackContentProvider.Schema.COL_COMPASS_ACCURACY, accuracy); } Uri trackUri = ContentUris.withAppendedId(TrackContentProvider.CONTENT_URI_TRACK, trackId); - contentResolver.insert(Uri.withAppendedPath(trackUri, Schema.TBL_WAYPOINT + "s"), values); + contentResolver.insert(Uri.withAppendedPath(trackUri, TrackContentProvider.Schema.TBL_WAYPOINT + "s"), values); } } @@ -214,14 +214,14 @@ public void updateWayPoint(long trackId, String uuid, String name, String link) if (uuid != null) { ContentValues values = new ContentValues(); if (name != null) { - values.put(Schema.COL_NAME, name); + values.put(TrackContentProvider.Schema.COL_NAME, name); } if (link != null) { - values.put(Schema.COL_LINK, link); + values.put(TrackContentProvider.Schema.COL_LINK, link); } Uri trackUri = ContentUris.withAppendedId(TrackContentProvider.CONTENT_URI_TRACK, trackId); - contentResolver.update(Uri.withAppendedPath(trackUri, Schema.TBL_WAYPOINT + "s"), values, + contentResolver.update(Uri.withAppendedPath(trackUri, TrackContentProvider.Schema.TBL_WAYPOINT + "s"), values, "uuid = ?", new String[] { uuid }); } } @@ -247,7 +247,7 @@ public void deleteWayPoint(String uuid) { public void stopTracking(long trackId) { Uri trackUri = ContentUris.withAppendedId(TrackContentProvider.CONTENT_URI_TRACK, trackId); ContentValues values = new ContentValues(); - values.put(Schema.COL_ACTIVE, Schema.VAL_TRACK_INACTIVE); + values.put(TrackContentProvider.Schema.COL_ACTIVE, TrackContentProvider.Schema.VAL_TRACK_INACTIVE); contentResolver.update(trackUri, values, null, null); } @@ -260,7 +260,7 @@ public static long getActiveTrackId(ContentResolver cr) { long currentTrackId = -1; Cursor ca = cr.query(TrackContentProvider.CONTENT_URI_TRACK_ACTIVE, null, null, null, null); if (ca.moveToFirst()) { - currentTrackId = ca.getLong(ca.getColumnIndex(Schema.COL_ID)); + currentTrackId = ca.getLong(ca.getColumnIndex(TrackContentProvider.Schema.COL_ID)); } ca.close(); return currentTrackId; @@ -275,7 +275,7 @@ public static long getActiveTrackId(ContentResolver cr) { public static void setTrackName(long trackId, String name, ContentResolver cr) { Uri trackUri = ContentUris.withAppendedId(TrackContentProvider.CONTENT_URI_TRACK, trackId); ContentValues values = new ContentValues(); - values.put(Schema.COL_NAME, name); + values.put(TrackContentProvider.Schema.COL_NAME, name); cr.update(trackUri, values, null, null); } @@ -288,14 +288,14 @@ public static void setTrackName(long trackId, String name, ContentResolver cr) { public static void setTrackExportDate(long trackId, long exportTime, ContentResolver cr) { Uri trackUri = ContentUris.withAppendedId(TrackContentProvider.CONTENT_URI_TRACK, trackId); ContentValues values = new ContentValues(); - values.put(Schema.COL_EXPORT_DATE, exportTime); + values.put(TrackContentProvider.Schema.COL_EXPORT_DATE, exportTime); cr.update(trackUri, values, null, null); } public static void setTrackUploadDate(long trackId, long uploadTime, ContentResolver cr) { Uri trackUri = ContentUris.withAppendedId(TrackContentProvider.CONTENT_URI_TRACK, trackId); ContentValues values = new ContentValues(); - values.put(Schema.COL_OSM_UPLOAD_DATE, uploadTime); + values.put(TrackContentProvider.Schema.COL_OSM_UPLOAD_DATE, uploadTime); cr.update(trackUri, values, null, null); } @@ -347,7 +347,7 @@ public static File getTrackDirFromDB(ContentResolver cr, long trackId) { if (c != null && c.getCount() != 0) { c.moveToFirst(); @SuppressWarnings("deprecation") - String trackPath = c.getString(c.getColumnIndex(Schema.COL_DIR)); + String trackPath = c.getString(c.getColumnIndex(TrackContentProvider.Schema.COL_DIR)); if (trackPath != null) { trackDir = new File(trackPath); } diff --git a/app/src/main/java/org/osmtracker/db/DatabaseHelper.java b/app/src/main/java/org/osmtracker/db/DatabaseHelper.java new file mode 100644 index 000000000..6f766dc36 --- /dev/null +++ b/app/src/main/java/org/osmtracker/db/DatabaseHelper.java @@ -0,0 +1,245 @@ +package org.osmtracker.db; + +import java.io.File; +import java.io.FilenameFilter; + +import org.osmtracker.OSMTracker; +import org.osmtracker.util.FileSystemUtils; +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; +import android.util.Log; + +import org.osmtracker.db.model.Track; + +/** + * Helper for managing database. + * + * @author Nicolas Guillaumin + * + */ +public class DatabaseHelper extends SQLiteOpenHelper { + + private static final String TAG = DatabaseHelper.class.getSimpleName(); + + /** + * SQL for creating table TRACKPOINT + */ + private static final String SQL_CREATE_TABLE_TRACKPOINT = "" + + "create table " + TrackContentProvider.Schema.TBL_TRACKPOINT + " (" + + TrackContentProvider.Schema.COL_ID + " integer primary key autoincrement," + + TrackContentProvider.Schema.COL_TRACK_ID + " integer not null," + + TrackContentProvider.Schema.COL_LATITUDE + " double not null," + + TrackContentProvider.Schema.COL_LONGITUDE + " double not null," + + TrackContentProvider.Schema.COL_SPEED + " double null," + + TrackContentProvider.Schema.COL_ELEVATION + " double null," + + TrackContentProvider.Schema.COL_ACCURACY + " double null," + + TrackContentProvider.Schema.COL_TIMESTAMP + " long not null," + + TrackContentProvider.Schema.COL_COMPASS + " double null," + + TrackContentProvider.Schema.COL_COMPASS_ACCURACY + " integer null"+ ")"; + + /** + * SQL for creating index TRACKPOINT_idx (track id) + * @since 12 + */ + private static final String SQL_CREATE_IDX_TRACKPOINT_TRACK + = "create index if not exists " + + TrackContentProvider.Schema.TBL_TRACKPOINT + + "_idx ON " + TrackContentProvider.Schema.TBL_TRACKPOINT + "(" + TrackContentProvider.Schema.COL_TRACK_ID + ")"; + + /** + * SQL for creating table WAYPOINT + */ + private static final String SQL_CREATE_TABLE_WAYPOINT = "" + + "create table " + TrackContentProvider.Schema.TBL_WAYPOINT + " (" + + TrackContentProvider.Schema.COL_ID + " integer primary key autoincrement," + + TrackContentProvider.Schema.COL_TRACK_ID + " integer not null," + + TrackContentProvider.Schema.COL_UUID + " text," + + TrackContentProvider.Schema.COL_LATITUDE + " double not null," + + TrackContentProvider.Schema.COL_LONGITUDE + " double not null," + + TrackContentProvider.Schema.COL_ELEVATION + " double null," + + TrackContentProvider.Schema.COL_ACCURACY + " double null," + + TrackContentProvider.Schema.COL_TIMESTAMP + " long not null," + + TrackContentProvider.Schema.COL_NAME + " text," + + TrackContentProvider.Schema.COL_LINK + " text," + + TrackContentProvider.Schema.COL_NBSATELLITES + " integer not null," + + TrackContentProvider.Schema.COL_COMPASS + " double null," + + TrackContentProvider.Schema.COL_COMPASS_ACCURACY + " integer null"+ ")"; + + /** + * SQL for creating index WAYPOINT_idx (track id) + * @since 12 + */ + private static final String SQL_CREATE_IDX_WAYPOINT_TRACK + = "create index if not exists " + + TrackContentProvider.Schema.TBL_WAYPOINT + + "_idx ON " + TrackContentProvider.Schema.TBL_WAYPOINT + "(" + TrackContentProvider.Schema.COL_TRACK_ID + ")"; + + /** + * SQL for creating table TRACK + * @since 5 + */ + @SuppressWarnings("deprecation") + private static final String SQL_CREATE_TABLE_TRACK = "" + + "create table " + TrackContentProvider.Schema.TBL_TRACK + " (" + + TrackContentProvider.Schema.COL_ID + " integer primary key autoincrement," + + TrackContentProvider.Schema.COL_NAME + " text," + + TrackContentProvider.Schema.COL_DESCRIPTION + " text," + + TrackContentProvider.Schema.COL_TAGS + " text," + + TrackContentProvider.Schema.COL_OSM_VISIBILITY + " text default '"+ Track.OSMVisibility.Private+"'," + + TrackContentProvider.Schema.COL_START_DATE + " long not null," + + TrackContentProvider.Schema.COL_DIR + " text," // unused since DB_VERSION 13, since SQLite doesn't support to remove a column it will stay for now + + TrackContentProvider.Schema.COL_ACTIVE + " integer not null default 0," + + TrackContentProvider.Schema.COL_EXPORT_DATE + " long," // null indicates not yet exported + + TrackContentProvider.Schema.COL_OSM_UPLOAD_DATE + " long" // null indicates not yet uploaded + + ")"; + + /** + * Database name. + */ + public static final String DB_NAME = OSMTracker.class.getSimpleName(); + + /** + * Database version. + * If you change the version, be sure that {@link #onUpgrade(SQLiteDatabase, int, int)} can handle it. + * Only required for versions after v0.5.0 as before the DB was fully erased and recreated from scratch + * for each new track. + *
+	 *  v1: (r117)  v0.4.0, v0.4.1
+	 *  v2: add TBL_CONFIG; that table's been dropped since then (r163)  v0.4.2
+	 *  v3: add TBL_WAYPOINT.COL_UUID  (r187)  v0.4.3
+	 *  v5: add TBL_TRACK; TRACKPOINT, WAYPOINT +COL_TRACK_ID  (r198)
+	 *  v7: add TBL_TRACK.COL_DIR; drop TBL_CONFIG  (r201)
+	 *  v9: add TBL_TRACK.COL_ACTIVE  (r206)
+	 * v12: add TBL_TRACK.COL_EXPORT_DATE, IDX_TRACKPOINT_TRACK, IDX_WAYPOINT_TRACK (r207) v0.5.0
+	 * v13: TBL_TRACK.COL_DIR is now deprecated (rxxx) v0.5.3 TODO: fill in correct revision and version
+	 * v14: add TBL_TRACK.COL_OSM_UPLOAD_DATE, TBL_TRACK.COL_DESCRIPTION,
+	 * 			TBL_TRACK.COL_TAGS and TBL_TRACK.COL_OSM_VISIBILITY for OSM upload - v0.6.0 
+	 * v15: add TBL_TRACKPOINT.COL_SPEED
+	 * v16: add TBL_TRACKPOINT.COL_COMPASS, TBL_TRACKPOINT.COL_COMPASS_ACCURACY,
+	 *          TBL_WAYPOINT.COL_COMPASS and TBL_WAYPOINT.COL_COMPASS_ACCURACY
+	 *
+ */ + private static final int DB_VERSION = 16; + + public DatabaseHelper(Context context) { + super(context, DB_NAME, null, DB_VERSION); + } + + @Override + public void onCreate(SQLiteDatabase db) { + db.execSQL("drop table if exists " + TrackContentProvider.Schema.TBL_TRACKPOINT); + db.execSQL(SQL_CREATE_TABLE_TRACKPOINT); + db.execSQL(SQL_CREATE_IDX_TRACKPOINT_TRACK); + db.execSQL("drop table if exists " + TrackContentProvider.Schema.TBL_WAYPOINT); + db.execSQL(SQL_CREATE_TABLE_WAYPOINT); + db.execSQL(SQL_CREATE_IDX_WAYPOINT_TRACK); + db.execSQL("drop table if exists " + TrackContentProvider.Schema.TBL_TRACK); + db.execSQL(SQL_CREATE_TABLE_TRACK); + } + + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + switch(oldVersion){ + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: //pre v0.5.0 (completely create a new database) + onCreate(db); + break; + case 12: + manageNewStoragePath(db); + case 13: + // Create 'osm_upload_date', 'description', 'tags' and 'visibility' + db.execSQL("alter table " + TrackContentProvider.Schema.TBL_TRACK + " add column " + TrackContentProvider.Schema.COL_OSM_UPLOAD_DATE+ " long"); + db.execSQL("alter table " + TrackContentProvider.Schema.TBL_TRACK + " add column " + TrackContentProvider.Schema.COL_DESCRIPTION + " text"); + db.execSQL("alter table " + TrackContentProvider.Schema.TBL_TRACK + " add column " + TrackContentProvider.Schema.COL_TAGS + " text"); + db.execSQL("alter table " + TrackContentProvider.Schema.TBL_TRACK + " add column " + TrackContentProvider.Schema.COL_OSM_VISIBILITY + + " text default '"+ Track.OSMVisibility.Private+"'"); + case 14: + db.execSQL("alter table " + TrackContentProvider.Schema.TBL_TRACKPOINT + " add column " + TrackContentProvider.Schema.COL_SPEED + " double null"); + case 15: + db.execSQL("alter table " + TrackContentProvider.Schema.TBL_TRACKPOINT + " add column " + TrackContentProvider.Schema.COL_COMPASS + " double null"); + db.execSQL("alter table " + TrackContentProvider.Schema.TBL_TRACKPOINT + " add column " + TrackContentProvider.Schema.COL_COMPASS_ACCURACY + " integer null"); + db.execSQL("alter table " + TrackContentProvider.Schema.TBL_WAYPOINT + " add column " + TrackContentProvider.Schema.COL_COMPASS + " double null"); + db.execSQL("alter table " + TrackContentProvider.Schema.TBL_WAYPOINT + " add column " + TrackContentProvider.Schema.COL_COMPASS_ACCURACY + " integer null"); + } + + } + + /** + * copies files from the tracks to our new storage directory and removes the path reference in COL_DIR + * @param db the database to work on + */ + @SuppressWarnings("deprecation") + private void manageNewStoragePath(SQLiteDatabase db){ + Log.d(TAG,"manageNewStoragePath"); + + // we'll need this FilenameFitler to clean up our track directory + FilenameFilter gpxFilenameFilter = new FilenameFilter() { + @Override + public boolean accept(File dir, String filename) { + if(filename.toLowerCase().endsWith(".gpx")) + return true; + return false; + } + }; + + // query all tracks + String[] columns = new String[]{TrackContentProvider.Schema.COL_ID, TrackContentProvider.Schema.COL_DIR}; + Cursor cursor = db.query(TrackContentProvider.Schema.TBL_TRACK, columns, null, null, null, null, null); + + // if we have a valid cursor and can write to the sdcard, we'll go on and try to copy the files + if(cursor != null && cursor.moveToFirst()){ + Log.d(TAG, "manageNewStoragePath (found " + cursor.getCount() + " tracks to be processed)"); + do{ + long trackId = cursor.getLong(cursor.getColumnIndex(TrackContentProvider.Schema.COL_ID)); + Log.d(TAG,"manageNewStoragePath (" + trackId + ")"); + String oldDirName = cursor.getString(cursor.getColumnIndex(TrackContentProvider.Schema.COL_DIR)); + File newDir = DataHelper.getTrackDirectory(trackId); + File oldDir = new File(oldDirName); + if(oldDir.exists() && oldDir.canRead()){ + + // if our new directory doesn't exist, we'll create it + if(!newDir.exists()) + newDir.mkdirs(); + + if(newDir.exists() && newDir.canWrite()){ + Log.d(TAG,"manageNewStoragePath (" + trackId + "): copy directory"); + // we'll first copy all files to our new storage area... we'll clean up later + FileSystemUtils.copyDirectoryContents(newDir, oldDir); + + // cleaning up new storage area + // find gpx files we accidentally copied to our new storage area and delete them + for(File gpxFile:newDir.listFiles(gpxFilenameFilter)){ + Log.d(TAG,"manageNewStoragePath (" + trackId + "): deleting gpx file ["+gpxFile+"]"); + gpxFile.delete(); + } + }else{ + Log.e(TAG, "manageNewStoragePath (" + trackId + "): directory ["+newDir+"] is not writable or could not be created"); + } + + } + }while(cursor.moveToNext()); + } + + //close cursor + if(cursor !=null && !cursor.isClosed()){ + cursor.close(); + } + + ContentValues vals = new ContentValues(); + vals.putNull(TrackContentProvider.Schema.COL_DIR); + db.update(TrackContentProvider.Schema.TBL_TRACK, vals, null, null); + } + +} diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/db/ExportDatabaseTask.java b/app/src/main/java/org/osmtracker/db/ExportDatabaseTask.java similarity index 93% rename from app/src/main/java/me/guillaumin/android/osmtracker/db/ExportDatabaseTask.java rename to app/src/main/java/org/osmtracker/db/ExportDatabaseTask.java index d601c2c9f..b4e18a326 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/db/ExportDatabaseTask.java +++ b/app/src/main/java/org/osmtracker/db/ExportDatabaseTask.java @@ -1,7 +1,5 @@ -package me.guillaumin.android.osmtracker.db; +package org.osmtracker.db; -import android.app.Activity; -import android.content.Context; import android.os.AsyncTask; import android.os.Bundle; @@ -13,8 +11,7 @@ import java.io.OutputStream; import java.util.zip.GZIPOutputStream; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.activity.About; +import org.osmtracker.activity.About; /** * Task to export the internal database to the external storage, diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/db/TrackContentProvider.java b/app/src/main/java/org/osmtracker/db/TrackContentProvider.java similarity index 99% rename from app/src/main/java/me/guillaumin/android/osmtracker/db/TrackContentProvider.java rename to app/src/main/java/org/osmtracker/db/TrackContentProvider.java index b7bf59c37..3325fc740 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/db/TrackContentProvider.java +++ b/app/src/main/java/org/osmtracker/db/TrackContentProvider.java @@ -1,9 +1,10 @@ -package me.guillaumin.android.osmtracker.db; +package org.osmtracker.db; import java.util.ArrayList; import java.util.List; -import me.guillaumin.android.osmtracker.OSMTracker; +import org.osmtracker.OSMTracker; + import android.content.ContentProvider; import android.content.ContentResolver; import android.content.ContentUris; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/db/TracklistAdapter.java b/app/src/main/java/org/osmtracker/db/TracklistAdapter.java similarity index 76% rename from app/src/main/java/me/guillaumin/android/osmtracker/db/TracklistAdapter.java rename to app/src/main/java/org/osmtracker/db/TracklistAdapter.java index 48c319bd8..ca2d5452a 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/db/TracklistAdapter.java +++ b/app/src/main/java/org/osmtracker/db/TracklistAdapter.java @@ -1,8 +1,9 @@ -package me.guillaumin.android.osmtracker.db; +package org.osmtracker.db; + +import org.osmtracker.R; +import org.osmtracker.db.model.Track; +import org.osmtracker.activity.TrackManager; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.db.model.Track; import android.content.Context; import android.database.Cursor; import android.view.LayoutInflater; @@ -13,7 +14,7 @@ import android.widget.TextView; /** - * Adapter for track list in {@link me.guillaumin.android.osmtracker.activity.TrackManager Track Manager}. + * Adapter for track list in {@link TrackManager Track Manager}. * For each row's contents, see tracklist_item.xml. * * @author Nicolas Guillaumin @@ -57,12 +58,12 @@ private View bind(Cursor cursor, View v, Context context) { ImageView vUploadStatus = (ImageView) v.findViewById(R.id.trackmgr_item_upload_statusicon); // Is track active ? - int active = cursor.getInt(cursor.getColumnIndex(Schema.COL_ACTIVE)); - if (Schema.VAL_TRACK_ACTIVE == active) { + int active = cursor.getInt(cursor.getColumnIndex(TrackContentProvider.Schema.COL_ACTIVE)); + if (TrackContentProvider.Schema.VAL_TRACK_ACTIVE == active) { // Yellow clock icon for Active vStatus.setImageResource(android.R.drawable.presence_away); vStatus.setVisibility(View.VISIBLE); - } else if (cursor.isNull(cursor.getColumnIndex(Schema.COL_EXPORT_DATE))) { + } else if (cursor.isNull(cursor.getColumnIndex(TrackContentProvider.Schema.COL_EXPORT_DATE))) { // Hide green circle icon: Track not yet exported vStatus.setVisibility(View.GONE); } else { @@ -72,12 +73,12 @@ private View bind(Cursor cursor, View v, Context context) { } // Upload status - if (cursor.isNull(cursor.getColumnIndex(Schema.COL_OSM_UPLOAD_DATE))) { + if (cursor.isNull(cursor.getColumnIndex(TrackContentProvider.Schema.COL_OSM_UPLOAD_DATE))) { vUploadStatus.setVisibility(View.GONE); } // Bind id - long trackId = cursor.getLong(cursor.getColumnIndex(Schema.COL_ID)); + long trackId = cursor.getLong(cursor.getColumnIndex(TrackContentProvider.Schema.COL_ID)); String strTrackId = Long.toString(trackId); vId.setText("#" + strTrackId); diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/db/WaypointListAdapter.java b/app/src/main/java/org/osmtracker/db/WaypointListAdapter.java similarity index 71% rename from app/src/main/java/me/guillaumin/android/osmtracker/db/WaypointListAdapter.java rename to app/src/main/java/org/osmtracker/db/WaypointListAdapter.java index 046ad3b69..1cc22ed74 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/db/WaypointListAdapter.java +++ b/app/src/main/java/org/osmtracker/db/WaypointListAdapter.java @@ -1,11 +1,11 @@ -package me.guillaumin.android.osmtracker.db; +package org.osmtracker.db; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; +import org.osmtracker.R; + import android.content.Context; import android.database.Cursor; import android.view.LayoutInflater; @@ -73,35 +73,35 @@ private View bind(Cursor cursor, RelativeLayout rl, Context context) { TextView vTimestamp = (TextView) rl.findViewById(R.id.wplist_item_timestamp); // Bind name - String name = cursor.getString(cursor.getColumnIndex(Schema.COL_NAME)); + String name = cursor.getString(cursor.getColumnIndex(TrackContentProvider.Schema.COL_NAME)); vName.setText(name); // Bind location StringBuffer locationAsString = new StringBuffer(); locationAsString.append(context.getResources().getString(R.string.wplist_latitude) - + cursor.getString(cursor.getColumnIndex(Schema.COL_LATITUDE))); + + cursor.getString(cursor.getColumnIndex(TrackContentProvider.Schema.COL_LATITUDE))); locationAsString.append(", " + context.getResources().getString(R.string.wplist_longitude) - + cursor.getString(cursor.getColumnIndex(Schema.COL_LONGITUDE))); - if (!cursor.isNull(cursor.getColumnIndex(Schema.COL_ELEVATION))) { + + cursor.getString(cursor.getColumnIndex(TrackContentProvider.Schema.COL_LONGITUDE))); + if (!cursor.isNull(cursor.getColumnIndex(TrackContentProvider.Schema.COL_ELEVATION))) { locationAsString.append(", " + context.getResources().getString(R.string.wplist_elevation) - + cursor.getString(cursor.getColumnIndex(Schema.COL_ELEVATION))); + + cursor.getString(cursor.getColumnIndex(TrackContentProvider.Schema.COL_ELEVATION))); } - if (!cursor.isNull(cursor.getColumnIndex(Schema.COL_ACCURACY))) { + if (!cursor.isNull(cursor.getColumnIndex(TrackContentProvider.Schema.COL_ACCURACY))) { locationAsString.append(", " + context.getResources().getString(R.string.wplist_accuracy) - + cursor.getString(cursor.getColumnIndex(Schema.COL_ACCURACY))); + + cursor.getString(cursor.getColumnIndex(TrackContentProvider.Schema.COL_ACCURACY))); } - if (!cursor.isNull(cursor.getColumnIndex(Schema.COL_COMPASS))) { + if (!cursor.isNull(cursor.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS))) { locationAsString.append(", " + context.getResources().getString(R.string.wplist_compass) - + cursor.getString(cursor.getColumnIndex(Schema.COL_COMPASS))); + + cursor.getString(cursor.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS))); locationAsString.append(", " + context.getResources().getString(R.string.wplist_compass_accuracy) - + cursor.getString(cursor.getColumnIndex(Schema.COL_COMPASS_ACCURACY))); + + cursor.getString(cursor.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS_ACCURACY))); } vLocation.setText(locationAsString.toString()); // Bind timestamp - Date ts = new Date(cursor.getLong(cursor.getColumnIndex(Schema.COL_TIMESTAMP))); + Date ts = new Date(cursor.getLong(cursor.getColumnIndex(TrackContentProvider.Schema.COL_TIMESTAMP))); vTimestamp.setText(DATE_FORMATTER.format(ts)); return rl; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/db/model/Track.java b/app/src/main/java/org/osmtracker/db/model/Track.java similarity index 79% rename from app/src/main/java/me/guillaumin/android/osmtracker/db/model/Track.java rename to app/src/main/java/org/osmtracker/db/model/Track.java index aeb992e9f..0a2d2a8c0 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/db/model/Track.java +++ b/app/src/main/java/org/osmtracker/db/model/Track.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.db.model; +package org.osmtracker.db.model; import java.text.DateFormat; import java.util.ArrayList; @@ -6,9 +6,9 @@ import java.util.Date; import java.util.List; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; +import org.osmtracker.R; +import org.osmtracker.db.TrackContentProvider; + import android.content.ContentResolver; import android.database.Cursor; @@ -76,21 +76,21 @@ public static Track build(final long trackId, Cursor tc, ContentResolver cr, boo out.trackId = trackId; out.cr = cr; - out.trackDate = tc.getLong(tc.getColumnIndex(Schema.COL_START_DATE)); + out.trackDate = tc.getLong(tc.getColumnIndex(TrackContentProvider.Schema.COL_START_DATE)); - out.name = tc.getString(tc.getColumnIndex(Schema.COL_NAME)); - out.description = tc.getString(tc.getColumnIndex(Schema.COL_DESCRIPTION)); + out.name = tc.getString(tc.getColumnIndex(TrackContentProvider.Schema.COL_NAME)); + out.description = tc.getString(tc.getColumnIndex(TrackContentProvider.Schema.COL_DESCRIPTION)); - String tags = tc.getString(tc.getColumnIndex(Schema.COL_TAGS)); + String tags = tc.getString(tc.getColumnIndex(TrackContentProvider.Schema.COL_TAGS)); if (tags != null && ! "".equals(tags)) { out.tags.addAll(Arrays.asList(tags.split(","))); } - out.visibility = OSMVisibility.valueOf(tc.getString(tc.getColumnIndex(Schema.COL_OSM_VISIBILITY))); + out.visibility = OSMVisibility.valueOf(tc.getString(tc.getColumnIndex(TrackContentProvider.Schema.COL_OSM_VISIBILITY))); - out.tpCount = tc.getInt(tc.getColumnIndex(Schema.COL_TRACKPOINT_COUNT)); + out.tpCount = tc.getInt(tc.getColumnIndex(TrackContentProvider.Schema.COL_TRACKPOINT_COUNT)); - out.wpCount = tc.getInt(tc.getColumnIndex(Schema.COL_WAYPOINT_COUNT)); + out.wpCount = tc.getInt(tc.getColumnIndex(TrackContentProvider.Schema.COL_WAYPOINT_COUNT)); if(withExtraInformation){ out.readExtraInformation(); @@ -103,17 +103,17 @@ private void readExtraInformation(){ if(!extraInformationRead){ Cursor startCursor = cr.query(TrackContentProvider.trackStartUri(trackId), null, null, null, null); if(startCursor.moveToFirst()){ - startDate = startCursor.getLong(startCursor.getColumnIndex(Schema.COL_TIMESTAMP)); - startLat = startCursor.getFloat(startCursor.getColumnIndex(Schema.COL_LATITUDE)); - startLong = startCursor.getFloat(startCursor.getColumnIndex(Schema.COL_LONGITUDE)); + startDate = startCursor.getLong(startCursor.getColumnIndex(TrackContentProvider.Schema.COL_TIMESTAMP)); + startLat = startCursor.getFloat(startCursor.getColumnIndex(TrackContentProvider.Schema.COL_LATITUDE)); + startLong = startCursor.getFloat(startCursor.getColumnIndex(TrackContentProvider.Schema.COL_LONGITUDE)); } startCursor.close(); Cursor endCursor = cr.query(TrackContentProvider.trackEndUri(trackId), null, null, null, null); if(endCursor.moveToFirst()){ - endDate = endCursor.getLong(endCursor.getColumnIndex(Schema.COL_TIMESTAMP)); - endLat = endCursor.getFloat(endCursor.getColumnIndex(Schema.COL_LATITUDE)); - endLong = endCursor.getFloat(endCursor.getColumnIndex(Schema.COL_LONGITUDE)); + endDate = endCursor.getLong(endCursor.getColumnIndex(TrackContentProvider.Schema.COL_TIMESTAMP)); + endLat = endCursor.getFloat(endCursor.getColumnIndex(TrackContentProvider.Schema.COL_LATITUDE)); + endLong = endCursor.getFloat(endCursor.getColumnIndex(TrackContentProvider.Schema.COL_LONGITUDE)); } endCursor.close(); diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/exception/CreateTrackException.java b/app/src/main/java/org/osmtracker/exception/CreateTrackException.java similarity index 73% rename from app/src/main/java/me/guillaumin/android/osmtracker/exception/CreateTrackException.java rename to app/src/main/java/org/osmtracker/exception/CreateTrackException.java index 44fc8755b..95379b0e8 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/exception/CreateTrackException.java +++ b/app/src/main/java/org/osmtracker/exception/CreateTrackException.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.exception; +package org.osmtracker.exception; public class CreateTrackException extends Exception { diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/exception/ExportTrackException.java b/app/src/main/java/org/osmtracker/exception/ExportTrackException.java similarity index 73% rename from app/src/main/java/me/guillaumin/android/osmtracker/exception/ExportTrackException.java rename to app/src/main/java/org/osmtracker/exception/ExportTrackException.java index cdce3deec..17c2471d4 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/exception/ExportTrackException.java +++ b/app/src/main/java/org/osmtracker/exception/ExportTrackException.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.exception; +package org.osmtracker.exception; public class ExportTrackException extends Exception { diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/gpx/ExportToStorageTask.java b/app/src/main/java/org/osmtracker/gpx/ExportToStorageTask.java similarity index 91% rename from app/src/main/java/me/guillaumin/android/osmtracker/gpx/ExportToStorageTask.java rename to app/src/main/java/org/osmtracker/gpx/ExportToStorageTask.java index f23246b9d..a5427b601 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/gpx/ExportToStorageTask.java +++ b/app/src/main/java/org/osmtracker/gpx/ExportToStorageTask.java @@ -1,12 +1,13 @@ -package me.guillaumin.android.osmtracker.gpx; +package org.osmtracker.gpx; import java.io.File; import java.util.Date; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.DataHelper; -import me.guillaumin.android.osmtracker.exception.ExportTrackException; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.db.DataHelper; +import org.osmtracker.exception.ExportTrackException; + import android.content.Context; import android.content.SharedPreferences; import android.os.Environment; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/gpx/ExportToTempFileTask.java b/app/src/main/java/org/osmtracker/gpx/ExportToTempFileTask.java similarity index 92% rename from app/src/main/java/me/guillaumin/android/osmtracker/gpx/ExportToTempFileTask.java rename to app/src/main/java/org/osmtracker/gpx/ExportToTempFileTask.java index 7c3521626..7133dc851 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/gpx/ExportToTempFileTask.java +++ b/app/src/main/java/org/osmtracker/gpx/ExportToTempFileTask.java @@ -1,10 +1,10 @@ -package me.guillaumin.android.osmtracker.gpx; +package org.osmtracker.gpx; import java.io.File; import java.io.IOException; import java.util.Date; -import me.guillaumin.android.osmtracker.exception.ExportTrackException; +import org.osmtracker.exception.ExportTrackException; import android.content.Context; import android.database.Cursor; import android.util.Log; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/gpx/ExportTrackTask.java b/app/src/main/java/org/osmtracker/gpx/ExportTrackTask.java similarity index 79% rename from app/src/main/java/me/guillaumin/android/osmtracker/gpx/ExportTrackTask.java rename to app/src/main/java/org/osmtracker/gpx/ExportTrackTask.java index e7816b1b7..0628a6b2e 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/gpx/ExportTrackTask.java +++ b/app/src/main/java/org/osmtracker/gpx/ExportTrackTask.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.gpx; +package org.osmtracker.gpx; import java.io.BufferedWriter; import java.io.File; @@ -12,13 +12,12 @@ import java.util.TimeZone; import java.util.regex.Pattern; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.DataHelper; -import me.guillaumin.android.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.exception.ExportTrackException; -import me.guillaumin.android.osmtracker.util.FileSystemUtils; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.db.DataHelper; +import org.osmtracker.db.TrackContentProvider; +import org.osmtracker.exception.ExportTrackException; +import org.osmtracker.util.FileSystemUtils; import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.ContentResolver; @@ -26,10 +25,8 @@ import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; -import android.content.Intent; import android.database.Cursor; import android.media.MediaScannerConnection; -import android.net.Uri; import android.os.AsyncTask; import android.os.Environment; import android.preference.PreferenceManager; @@ -210,7 +207,7 @@ private void exportTrackAsGpx(long trackId) throws ExportTrackException { Date startDate = new Date(); if (null != c && 1 <= c.getCount()) { c.moveToFirst(); - long startDateInMilliseconds = c.getLong(c.getColumnIndex(Schema.COL_START_DATE)); + long startDateInMilliseconds = c.getLong(c.getColumnIndex(TrackContentProvider.Schema.COL_START_DATE)); startDate.setTime(startDateInMilliseconds); } @@ -222,9 +219,9 @@ private void exportTrackAsGpx(long trackId) throws ExportTrackException { Cursor cTrackPoints = cr.query(TrackContentProvider.trackPointsUri(trackId), null, - null, null, Schema.COL_TIMESTAMP + " asc"); + null, null, TrackContentProvider.Schema.COL_TIMESTAMP + " asc"); Cursor cWayPoints = cr.query(TrackContentProvider.waypointsUri(trackId), null, null, - null, Schema.COL_TIMESTAMP + " asc"); + null, TrackContentProvider.Schema.COL_TIMESTAMP + " asc"); if (null != cTrackPoints && null != cWayPoints) { publishProgress(new Long[] { trackId, (long) cTrackPoints.getCount(), (long) cWayPoints.getCount() }); @@ -327,31 +324,31 @@ private void writeTrackPoints(String trackName, Writer fw, Cursor c, boolean fil for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext(),i++) { StringBuffer out = new StringBuffer(); out.append("\t\t\t" + "" + "\n"); - if (! c.isNull(c.getColumnIndex(Schema.COL_ELEVATION))) { - out.append("\t\t\t\t" + "" + c.getDouble(c.getColumnIndex(Schema.COL_ELEVATION)) + "" + "\n"); + + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_LATITUDE)) + "\" " + + "lon=\"" + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_LONGITUDE)) + "\">" + "\n"); + if (! c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_ELEVATION))) { + out.append("\t\t\t\t" + "" + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_ELEVATION)) + "" + "\n"); } - out.append("\t\t\t\t" + "" + "\n"); + out.append("\t\t\t\t" + "" + "\n"); - if(fillHDOP && ! c.isNull(c.getColumnIndex(Schema.COL_ACCURACY))) { - out.append("\t\t\t\t" + "" + (c.getDouble(c.getColumnIndex(Schema.COL_ACCURACY)) / OSMTracker.HDOP_APPROXIMATION_FACTOR) + "" + "\n"); + if(fillHDOP && ! c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_ACCURACY))) { + out.append("\t\t\t\t" + "" + (c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_ACCURACY)) / OSMTracker.HDOP_APPROXIMATION_FACTOR) + "" + "\n"); } - if(OSMTracker.Preferences.VAL_OUTPUT_COMPASS_COMMENT.equals(compass) && !c.isNull(c.getColumnIndex(Schema.COL_COMPASS))) { + if(OSMTracker.Preferences.VAL_OUTPUT_COMPASS_COMMENT.equals(compass) && !c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS))) { out.append("\t\t\t\t" + ""+CDATA_START+"compass: " + - c.getDouble(c.getColumnIndex(Schema.COL_COMPASS))+ + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS))+ "\n\t\t\t\t\tcompAccuracy: " + - c.getLong(c.getColumnIndex(Schema.COL_COMPASS_ACCURACY))+ + c.getLong(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS_ACCURACY))+ CDATA_END+""+"\n"); } String buff = ""; - if(! c.isNull(c.getColumnIndex(Schema.COL_SPEED))) { - buff += "\t\t\t\t\t" + "" + c.getDouble(c.getColumnIndex(Schema.COL_SPEED)) + "" + "\n"; + if(! c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_SPEED))) { + buff += "\t\t\t\t\t" + "" + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_SPEED)) + "" + "\n"; } - if(OSMTracker.Preferences.VAL_OUTPUT_COMPASS_EXTENSION.equals(compass) && !c.isNull(c.getColumnIndex(Schema.COL_COMPASS))) { - buff += "\t\t\t\t\t" + "" + c.getDouble(c.getColumnIndex(Schema.COL_COMPASS)) + "" + "\n"; - buff += "\t\t\t\t\t" + "" + c.getDouble(c.getColumnIndex(Schema.COL_COMPASS_ACCURACY)) + "" + "\n"; + if(OSMTracker.Preferences.VAL_OUTPUT_COMPASS_EXTENSION.equals(compass) && !c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS))) { + buff += "\t\t\t\t\t" + "" + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS)) + "" + "\n"; + buff += "\t\t\t\t\t" + "" + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS_ACCURACY)) + "" + "\n"; } if(! buff.equals("")) { out.append("\t\t\t\t" + "\n"); @@ -397,40 +394,40 @@ private void writeWayPoints(Writer fw, Cursor c, String accuracyInfo, boolean fi for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext(), i++) { StringBuffer out = new StringBuffer(); out.append("\t" + "" + "\n"); - if (! c.isNull(c.getColumnIndex(Schema.COL_ELEVATION))) { - out.append("\t\t" + "" + c.getDouble(c.getColumnIndex(Schema.COL_ELEVATION)) + "" + "\n"); + + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_LATITUDE)) + "\" " + + "lon=\"" + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_LONGITUDE)) + "\">" + "\n"); + if (! c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_ELEVATION))) { + out.append("\t\t" + "" + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_ELEVATION)) + "" + "\n"); } - out.append("\t\t" + "" + "\n"); + out.append("\t\t" + "" + "\n"); - String name = c.getString(c.getColumnIndex(Schema.COL_NAME)); + String name = c.getString(c.getColumnIndex(TrackContentProvider.Schema.COL_NAME)); - if (! OSMTracker.Preferences.VAL_OUTPUT_ACCURACY_NONE.equals(accuracyInfo) && ! c.isNull(c.getColumnIndex(Schema.COL_ACCURACY))) { + if (! OSMTracker.Preferences.VAL_OUTPUT_ACCURACY_NONE.equals(accuracyInfo) && ! c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_ACCURACY))) { // Outputs accuracy info for way point if (OSMTracker.Preferences.VAL_OUTPUT_ACCURACY_WPT_NAME.equals(accuracyInfo)) { // Output accuracy with name out.append("\t\t" + "" + CDATA_START + name - + " (" + c.getDouble(c.getColumnIndex(Schema.COL_ACCURACY)) + meterUnit + ")" + + " (" + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_ACCURACY)) + meterUnit + ")" + CDATA_END + "" + "\n"); if (OSMTracker.Preferences.VAL_OUTPUT_COMPASS_COMMENT.equals(compass) && - ! c.isNull(c.getColumnIndex(Schema.COL_COMPASS))) { - out.append("\t\t"+ "" + CDATA_START + "compass: " + c.getDouble(c.getColumnIndex(Schema.COL_COMPASS)) + - "\n\t\t\tcompass accuracy: " + c.getInt(c.getColumnIndex(Schema.COL_COMPASS_ACCURACY)) + CDATA_END + "\n"); + ! c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS))) { + out.append("\t\t"+ "" + CDATA_START + "compass: " + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS)) + + "\n\t\t\tcompass accuracy: " + c.getInt(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS_ACCURACY)) + CDATA_END + "\n"); } } else if (OSMTracker.Preferences.VAL_OUTPUT_ACCURACY_WPT_CMT.equals(accuracyInfo)) { // Output accuracy in separate tag out.append("\t\t" + "" + CDATA_START + name + CDATA_END + "" + "\n"); if (OSMTracker.Preferences.VAL_OUTPUT_COMPASS_COMMENT.equals(compass) && - ! c.isNull(c.getColumnIndex(Schema.COL_COMPASS))) { - out.append("\t\t" + "" + CDATA_START + accuracy + ": " + c.getDouble(c.getColumnIndex(Schema.COL_ACCURACY)) + meterUnit + - "\n\t\t\t compass heading: " + c.getDouble(c.getColumnIndex(Schema.COL_COMPASS)) + - "deg\n\t\t\t compass accuracy: " + c.getDouble(c.getColumnIndex(Schema.COL_COMPASS_ACCURACY)) +CDATA_END + "" + "\n"); + ! c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS))) { + out.append("\t\t" + "" + CDATA_START + accuracy + ": " + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_ACCURACY)) + meterUnit + + "\n\t\t\t compass heading: " + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS)) + + "deg\n\t\t\t compass accuracy: " + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS_ACCURACY)) +CDATA_END + "" + "\n"); } else { - out.append("\t\t" + "" + CDATA_START + accuracy + ": " + c.getDouble(c.getColumnIndex(Schema.COL_ACCURACY)) + meterUnit + CDATA_END + "" + "\n"); + out.append("\t\t" + "" + CDATA_START + accuracy + ": " + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_ACCURACY)) + meterUnit + CDATA_END + "" + "\n"); } } else { // Unknown value for accuracy info, shouldn't occur but who knows ? @@ -441,32 +438,32 @@ private void writeWayPoints(Writer fw, Cursor c, String accuracyInfo, boolean fi // No accuracy info requested, or available out.append("\t\t" + "" + CDATA_START + name + CDATA_END + "" + "\n"); if (OSMTracker.Preferences.VAL_OUTPUT_COMPASS_COMMENT.equals(compass) && - ! c.isNull(c.getColumnIndex(Schema.COL_COMPASS))) { - out.append("\t\t"+ "" + CDATA_START + "compass: " + c.getDouble(c.getColumnIndex(Schema.COL_COMPASS)) + - "\n\t\t\tcompass accuracy: " + c.getInt(c.getColumnIndex(Schema.COL_COMPASS_ACCURACY)) + CDATA_END + "\n"); + ! c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS))) { + out.append("\t\t"+ "" + CDATA_START + "compass: " + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS)) + + "\n\t\t\tcompass accuracy: " + c.getInt(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS_ACCURACY)) + CDATA_END + "\n"); } } - String link = c.getString(c.getColumnIndex(Schema.COL_LINK)); + String link = c.getString(c.getColumnIndex(TrackContentProvider.Schema.COL_LINK)); if (link != null) { out.append("\t\t" + "" + "\n"); out.append("\t\t\t" + "" + link +"\n"); out.append("\t\t" + "" + "\n"); } - if (! c.isNull(c.getColumnIndex(Schema.COL_NBSATELLITES))) { - out.append("\t\t" + "" + c.getInt(c.getColumnIndex(Schema.COL_NBSATELLITES)) + "" + "\n"); + if (! c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_NBSATELLITES))) { + out.append("\t\t" + "" + c.getInt(c.getColumnIndex(TrackContentProvider.Schema.COL_NBSATELLITES)) + "" + "\n"); } - if(fillHDOP && ! c.isNull(c.getColumnIndex(Schema.COL_ACCURACY))) { - out.append("\t\t" + "" + (c.getDouble(c.getColumnIndex(Schema.COL_ACCURACY)) / OSMTracker.HDOP_APPROXIMATION_FACTOR) + "" + "\n"); + if(fillHDOP && ! c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_ACCURACY))) { + out.append("\t\t" + "" + (c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_ACCURACY)) / OSMTracker.HDOP_APPROXIMATION_FACTOR) + "" + "\n"); } if (OSMTracker.Preferences.VAL_OUTPUT_COMPASS_EXTENSION.equals(compass) && - ! c.isNull(c.getColumnIndex(Schema.COL_COMPASS))) { + ! c.isNull(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS))) { out.append("\t\t\n"); - out.append("\t\t\t"+ "" + c.getDouble(c.getColumnIndex(Schema.COL_COMPASS)) + "\n"); - out.append("\t\t\t" + "" + c.getInt(c.getColumnIndex(Schema.COL_COMPASS_ACCURACY)) + "" + "\n"); + out.append("\t\t\t"+ "" + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS)) + "\n"); + out.append("\t\t\t" + "" + c.getInt(c.getColumnIndex(TrackContentProvider.Schema.COL_COMPASS_ACCURACY)) + "" + "\n"); out.append("\t\t\n"); } @@ -500,7 +497,7 @@ private void copyWaypointFiles(long trackId, File gpxOutputDirectory) { * The filename will have the start date, and/or the track name if available. * If no name is available, fall back to the start date and time. * Track name characters will be sanitized using {@link #FILENAME_CHARS_BLACKLIST_PATTERN}. - * @param c Track info: {@link Schema#COL_NAME}, {@link Schema#COL_START_DATE} + * @param c Track info: {@link TrackContentProvider.Schema#COL_NAME}, {@link TrackContentProvider.Schema#COL_START_DATE} * @return GPX filename, not including the path */ protected String buildGPXFilename(Cursor c) { @@ -509,7 +506,7 @@ protected String buildGPXFilename(Cursor c) { OSMTracker.Preferences.KEY_OUTPUT_FILENAME, OSMTracker.Preferences.VAL_OUTPUT_FILENAME); StringBuffer filenameBase = new StringBuffer(); - final int colName = c.getColumnIndexOrThrow(Schema.COL_NAME); + final int colName = c.getColumnIndexOrThrow(TrackContentProvider.Schema.COL_NAME); if ((! c.isNull(colName)) && (! filenameOutput.equals(OSMTracker.Preferences.VAL_OUTPUT_FILENAME_DATE))) { @@ -522,7 +519,7 @@ protected String buildGPXFilename(Cursor c) { if ((filenameBase.length() == 0) || ! filenameOutput.equals(OSMTracker.Preferences.VAL_OUTPUT_FILENAME_NAME)) { - final long startDate = c.getLong(c.getColumnIndex(Schema.COL_START_DATE)); + final long startDate = c.getLong(c.getColumnIndex(TrackContentProvider.Schema.COL_START_DATE)); if (filenameBase.length() > 0) filenameBase.append('_'); filenameBase.append(DataHelper.FILENAME_FORMATTER.format(new Date(startDate))); diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/layout/DisablableTableLayout.java b/app/src/main/java/org/osmtracker/layout/DisablableTableLayout.java similarity index 96% rename from app/src/main/java/me/guillaumin/android/osmtracker/layout/DisablableTableLayout.java rename to app/src/main/java/org/osmtracker/layout/DisablableTableLayout.java index 80b1c9f3b..6cd7c9b40 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/layout/DisablableTableLayout.java +++ b/app/src/main/java/org/osmtracker/layout/DisablableTableLayout.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.layout; +package org.osmtracker.layout; import android.content.Context; import android.view.View; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/layout/GpsStatusRecord.java b/app/src/main/java/org/osmtracker/layout/GpsStatusRecord.java similarity index 97% rename from app/src/main/java/me/guillaumin/android/osmtracker/layout/GpsStatusRecord.java rename to app/src/main/java/org/osmtracker/layout/GpsStatusRecord.java index b20ba423d..ae9956a6b 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/layout/GpsStatusRecord.java +++ b/app/src/main/java/org/osmtracker/layout/GpsStatusRecord.java @@ -1,10 +1,10 @@ -package me.guillaumin.android.osmtracker.layout; +package org.osmtracker.layout; import java.text.DecimalFormat; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.activity.TrackLogger; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.activity.TrackLogger; import android.content.Context; import android.location.GpsSatellite; import android.location.GpsStatus; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/layout/UserDefinedLayout.java b/app/src/main/java/org/osmtracker/layout/UserDefinedLayout.java similarity index 85% rename from app/src/main/java/me/guillaumin/android/osmtracker/layout/UserDefinedLayout.java rename to app/src/main/java/org/osmtracker/layout/UserDefinedLayout.java index ace72359c..d4df5eb88 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/layout/UserDefinedLayout.java +++ b/app/src/main/java/org/osmtracker/layout/UserDefinedLayout.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.layout; +package org.osmtracker.layout; import java.io.File; import java.io.FileReader; @@ -6,12 +6,12 @@ import java.util.HashMap; import java.util.Stack; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.activity.TrackLogger; -import me.guillaumin.android.osmtracker.service.resources.AppResourceIconResolver; -import me.guillaumin.android.osmtracker.service.resources.ExternalDirectoryIconResolver; -import me.guillaumin.android.osmtracker.util.UserDefinedLayoutReader; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.activity.TrackLogger; +import org.osmtracker.service.resources.AppResourceIconResolver; +import org.osmtracker.service.resources.ExternalDirectoryIconResolver; +import org.osmtracker.util.UserDefinedLayoutReader; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/listener/PageButtonOnClickListener.java b/app/src/main/java/org/osmtracker/listener/PageButtonOnClickListener.java similarity index 81% rename from app/src/main/java/me/guillaumin/android/osmtracker/listener/PageButtonOnClickListener.java rename to app/src/main/java/org/osmtracker/listener/PageButtonOnClickListener.java index 0a08a6143..76683ed97 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/listener/PageButtonOnClickListener.java +++ b/app/src/main/java/org/osmtracker/listener/PageButtonOnClickListener.java @@ -1,6 +1,6 @@ -package me.guillaumin.android.osmtracker.listener; +package org.osmtracker.listener; -import me.guillaumin.android.osmtracker.layout.UserDefinedLayout; +import org.osmtracker.layout.UserDefinedLayout; import android.view.View; import android.view.View.OnClickListener; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/listener/SensorListener.java b/app/src/main/java/org/osmtracker/listener/SensorListener.java similarity index 97% rename from app/src/main/java/me/guillaumin/android/osmtracker/listener/SensorListener.java rename to app/src/main/java/org/osmtracker/listener/SensorListener.java index 74082e1cd..018225554 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/listener/SensorListener.java +++ b/app/src/main/java/org/osmtracker/listener/SensorListener.java @@ -1,10 +1,9 @@ -package me.guillaumin.android.osmtracker.listener; +package org.osmtracker.listener; import java.text.DecimalFormat; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.activity.TrackLogger; -import me.guillaumin.android.osmtracker.db.DataHelper; +import org.osmtracker.R; +import org.osmtracker.db.DataHelper; import android.app.Activity; import android.content.Context; import android.graphics.Color; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/listener/StillImageOnClickListener.java b/app/src/main/java/org/osmtracker/listener/StillImageOnClickListener.java similarity index 79% rename from app/src/main/java/me/guillaumin/android/osmtracker/listener/StillImageOnClickListener.java rename to app/src/main/java/org/osmtracker/listener/StillImageOnClickListener.java index dbba27bff..77817b973 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/listener/StillImageOnClickListener.java +++ b/app/src/main/java/org/osmtracker/listener/StillImageOnClickListener.java @@ -1,6 +1,6 @@ -package me.guillaumin.android.osmtracker.listener; +package org.osmtracker.listener; -import me.guillaumin.android.osmtracker.activity.TrackLogger; +import org.osmtracker.activity.TrackLogger; import android.view.View; import android.view.View.OnClickListener; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/listener/TagButtonOnClickListener.java b/app/src/main/java/org/osmtracker/listener/TagButtonOnClickListener.java similarity index 77% rename from app/src/main/java/me/guillaumin/android/osmtracker/listener/TagButtonOnClickListener.java rename to app/src/main/java/org/osmtracker/listener/TagButtonOnClickListener.java index 46d9502c5..d2b6e2bee 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/listener/TagButtonOnClickListener.java +++ b/app/src/main/java/org/osmtracker/listener/TagButtonOnClickListener.java @@ -1,14 +1,16 @@ -package me.guillaumin.android.osmtracker.listener; +package org.osmtracker.listener; + +import org.osmtracker.OSMTracker; +import org.osmtracker.R; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; import android.content.Intent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; +import org.osmtracker.db.TrackContentProvider; + /** * Listener for standard waypoint tag button. * Sends an Intent to track waypoint. Waypoint name is the @@ -32,7 +34,7 @@ public void onClick(View view) { // Send an intent to inform service to track the waypoint. Intent intent = new Intent(OSMTracker.INTENT_TRACK_WP); - intent.putExtra(Schema.COL_TRACK_ID, currentTrackId); + intent.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, currentTrackId); intent.putExtra(OSMTracker.INTENT_KEY_NAME, label); view.getContext().sendBroadcast(intent); diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/listener/TextNoteOnClickListener.java b/app/src/main/java/org/osmtracker/listener/TextNoteOnClickListener.java similarity index 77% rename from app/src/main/java/me/guillaumin/android/osmtracker/listener/TextNoteOnClickListener.java rename to app/src/main/java/org/osmtracker/listener/TextNoteOnClickListener.java index 439826b64..5edb92ec3 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/listener/TextNoteOnClickListener.java +++ b/app/src/main/java/org/osmtracker/listener/TextNoteOnClickListener.java @@ -1,6 +1,7 @@ -package me.guillaumin.android.osmtracker.listener; +package org.osmtracker.listener; + +import org.osmtracker.activity.TrackLogger; -import me.guillaumin.android.osmtracker.activity.TrackLogger; import android.view.View; import android.view.View.OnClickListener; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/listener/VoiceRecOnClickListener.java b/app/src/main/java/org/osmtracker/listener/VoiceRecOnClickListener.java similarity index 79% rename from app/src/main/java/me/guillaumin/android/osmtracker/listener/VoiceRecOnClickListener.java rename to app/src/main/java/org/osmtracker/listener/VoiceRecOnClickListener.java index 47d5cae61..6ea697f55 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/listener/VoiceRecOnClickListener.java +++ b/app/src/main/java/org/osmtracker/listener/VoiceRecOnClickListener.java @@ -1,6 +1,7 @@ -package me.guillaumin.android.osmtracker.listener; +package org.osmtracker.listener; + +import org.osmtracker.activity.TrackLogger; -import me.guillaumin.android.osmtracker.activity.TrackLogger; import android.view.View; import android.view.View.OnClickListener; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/osm/OpenStreetMapConstants.java b/app/src/main/java/org/osmtracker/osm/OpenStreetMapConstants.java similarity index 97% rename from app/src/main/java/me/guillaumin/android/osmtracker/osm/OpenStreetMapConstants.java rename to app/src/main/java/org/osmtracker/osm/OpenStreetMapConstants.java index e8b3eba3d..2ef8484fb 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/osm/OpenStreetMapConstants.java +++ b/app/src/main/java/org/osmtracker/osm/OpenStreetMapConstants.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.osm; +package org.osmtracker.osm; public class OpenStreetMapConstants { diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/osm/ProgressMultipartEntity.java b/app/src/main/java/org/osmtracker/osm/ProgressMultipartEntity.java similarity index 96% rename from app/src/main/java/me/guillaumin/android/osmtracker/osm/ProgressMultipartEntity.java rename to app/src/main/java/org/osmtracker/osm/ProgressMultipartEntity.java index 24835d267..2effea1bf 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/osm/ProgressMultipartEntity.java +++ b/app/src/main/java/org/osmtracker/osm/ProgressMultipartEntity.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.osm; +package org.osmtracker.osm; import java.io.FilterOutputStream; import java.io.IOException; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/osm/RetrieveAccessTokenTask.java b/app/src/main/java/org/osmtracker/osm/RetrieveAccessTokenTask.java similarity index 89% rename from app/src/main/java/me/guillaumin/android/osmtracker/osm/RetrieveAccessTokenTask.java rename to app/src/main/java/org/osmtracker/osm/RetrieveAccessTokenTask.java index 6d55a4e29..8d2826044 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/osm/RetrieveAccessTokenTask.java +++ b/app/src/main/java/org/osmtracker/osm/RetrieveAccessTokenTask.java @@ -1,9 +1,10 @@ -package me.guillaumin.android.osmtracker.osm; +package org.osmtracker.osm; + +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.activity.OpenStreetMapUpload; +import org.osmtracker.util.DialogUtils; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.activity.OpenStreetMapUpload; -import me.guillaumin.android.osmtracker.util.DialogUtils; import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer; import oauth.signpost.commonshttp.CommonsHttpOAuthProvider; import oauth.signpost.exception.OAuthException; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/osm/RetrieveRequestTokenTask.java b/app/src/main/java/org/osmtracker/osm/RetrieveRequestTokenTask.java similarity index 92% rename from app/src/main/java/me/guillaumin/android/osmtracker/osm/RetrieveRequestTokenTask.java rename to app/src/main/java/org/osmtracker/osm/RetrieveRequestTokenTask.java index 05f378818..b58a5681c 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/osm/RetrieveRequestTokenTask.java +++ b/app/src/main/java/org/osmtracker/osm/RetrieveRequestTokenTask.java @@ -1,7 +1,8 @@ -package me.guillaumin.android.osmtracker.osm; +package org.osmtracker.osm; + +import org.osmtracker.R; +import org.osmtracker.util.DialogUtils; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.util.DialogUtils; import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer; import oauth.signpost.commonshttp.CommonsHttpOAuthProvider; import oauth.signpost.exception.OAuthException; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/osm/UploadToOpenStreetMapTask.java b/app/src/main/java/org/osmtracker/osm/UploadToOpenStreetMapTask.java similarity index 92% rename from app/src/main/java/me/guillaumin/android/osmtracker/osm/UploadToOpenStreetMapTask.java rename to app/src/main/java/org/osmtracker/osm/UploadToOpenStreetMapTask.java index e7e4eb23f..be9e8d43b 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/osm/UploadToOpenStreetMapTask.java +++ b/app/src/main/java/org/osmtracker/osm/UploadToOpenStreetMapTask.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.osm; +package org.osmtracker.osm; import java.io.BufferedInputStream; import java.io.BufferedReader; @@ -7,12 +7,11 @@ import java.io.InputStreamReader; import java.nio.charset.Charset; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.DataHelper; -import me.guillaumin.android.osmtracker.db.model.Track.OSMVisibility; -import me.guillaumin.android.osmtracker.osm.ProgressMultipartEntity.ProgressListener; -import me.guillaumin.android.osmtracker.util.DialogUtils; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.db.DataHelper; +import org.osmtracker.util.DialogUtils; + import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer; import org.apache.http.HttpResponse; @@ -23,6 +22,7 @@ import org.apache.http.entity.mime.content.FileBody; import org.apache.http.entity.mime.content.StringBody; import org.apache.http.impl.client.DefaultHttpClient; +import org.osmtracker.db.model.Track; import android.app.Activity; import android.app.AlertDialog; @@ -66,7 +66,7 @@ public class UploadToOpenStreetMapTask extends AsyncTask { private final String tags; /** Track visibility */ - private final OSMVisibility visibility; + private final Track.OSMVisibility visibility; /** * Error message, or text of the response returned by OSM @@ -85,7 +85,7 @@ public class UploadToOpenStreetMapTask extends AsyncTask { public UploadToOpenStreetMapTask(Activity activity, long trackId, CommonsHttpOAuthConsumer oAuthConsumer, File gpxFile, String filename, - String description, String tags, OSMVisibility visibility) { + String description, String tags, Track.OSMVisibility visibility) { this.activity = activity; this.trackId = trackId; this.filename = filename; @@ -94,7 +94,7 @@ public UploadToOpenStreetMapTask(Activity activity, this.gpxFile = gpxFile; this.description = (description == null) ? "test" : description; this.tags = (tags == null) ? "test" : tags; - this.visibility = (visibility == null) ? OSMVisibility.Private : visibility; + this.visibility = (visibility == null) ? Track.OSMVisibility.Private : visibility; } @Override @@ -110,7 +110,7 @@ protected void onPreExecute() { MultipartEntity entity = new ProgressMultipartEntity( HttpMultipartMode.BROWSER_COMPATIBLE, Charset.defaultCharset(), - new ProgressListener() { + new ProgressMultipartEntity.ProgressListener() { @Override public void transferred(long num) { dialog.incrementProgressBy((int) num); diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/overlay/WayPointsOverlay.java b/app/src/main/java/org/osmtracker/overlay/WayPointsOverlay.java similarity index 80% rename from app/src/main/java/me/guillaumin/android/osmtracker/overlay/WayPointsOverlay.java rename to app/src/main/java/org/osmtracker/overlay/WayPointsOverlay.java index dc520aa19..56ba15a90 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/overlay/WayPointsOverlay.java +++ b/app/src/main/java/org/osmtracker/overlay/WayPointsOverlay.java @@ -1,11 +1,10 @@ -package me.guillaumin.android.osmtracker.overlay; +package org.osmtracker.overlay; import java.util.ArrayList; import java.util.List; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; +import org.osmtracker.R; +import org.osmtracker.db.TrackContentProvider; import org.osmdroid.api.IMapView; import org.osmdroid.util.GeoPoint; @@ -75,11 +74,11 @@ public void refresh() { for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { OverlayItem i = new OverlayItem( - c.getString(c.getColumnIndex(Schema.COL_NAME)), - c.getString(c.getColumnIndex(Schema.COL_NAME)), + c.getString(c.getColumnIndex(TrackContentProvider.Schema.COL_NAME)), + c.getString(c.getColumnIndex(TrackContentProvider.Schema.COL_NAME)), new GeoPoint( - c.getDouble(c.getColumnIndex(Schema.COL_LATITUDE)), - c.getDouble(c.getColumnIndex(Schema.COL_LONGITUDE))) + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_LATITUDE)), + c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_LONGITUDE))) ); wayPointItems.add(i); } diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/receiver/MediaButtonReceiver.java b/app/src/main/java/org/osmtracker/receiver/MediaButtonReceiver.java similarity index 80% rename from app/src/main/java/me/guillaumin/android/osmtracker/receiver/MediaButtonReceiver.java rename to app/src/main/java/org/osmtracker/receiver/MediaButtonReceiver.java index dd87a2d6f..d5826b547 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/receiver/MediaButtonReceiver.java +++ b/app/src/main/java/org/osmtracker/receiver/MediaButtonReceiver.java @@ -1,6 +1,7 @@ -package me.guillaumin.android.osmtracker.receiver; +package org.osmtracker.receiver; + +import org.osmtracker.activity.TrackLogger; -import me.guillaumin.android.osmtracker.activity.TrackLogger; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/service/gps/GPSLogger.java b/app/src/main/java/org/osmtracker/service/gps/GPSLogger.java similarity index 93% rename from app/src/main/java/me/guillaumin/android/osmtracker/service/gps/GPSLogger.java rename to app/src/main/java/org/osmtracker/service/gps/GPSLogger.java index e1c621e3f..8a8507fee 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/service/gps/GPSLogger.java +++ b/app/src/main/java/org/osmtracker/service/gps/GPSLogger.java @@ -1,12 +1,12 @@ -package me.guillaumin.android.osmtracker.service.gps; +package org.osmtracker.service.gps; + +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.activity.TrackLogger; +import org.osmtracker.db.DataHelper; +import org.osmtracker.db.TrackContentProvider; +import org.osmtracker.listener.SensorListener; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.activity.TrackLogger; -import me.guillaumin.android.osmtracker.db.DataHelper; -import me.guillaumin.android.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.listener.SensorListener; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; @@ -89,7 +89,7 @@ public class GPSLogger extends Service implements LocationListener { /** * sensors for magnetic orientation */ - private SensorListener sensorListener = new SensorListener(); + private SensorListener sensorListener = new SensorListener(); /** * Receives Intent for way point tracking, and stop/start logging. @@ -108,7 +108,7 @@ public void onReceive(Context context, Intent intent) { // so we'll request the last known location from the gps provider lastLocation = lmgr.getLastKnownLocation(LocationManager.GPS_PROVIDER); if(lastLocation != null){ - Long trackId = extras.getLong(Schema.COL_TRACK_ID); + Long trackId = extras.getLong(TrackContentProvider.Schema.COL_TRACK_ID); String uuid = extras.getString(OSMTracker.INTENT_KEY_UUID); String name = extras.getString(OSMTracker.INTENT_KEY_NAME); String link = extras.getString(OSMTracker.INTENT_KEY_LINK); @@ -120,7 +120,7 @@ public void onReceive(Context context, Intent intent) { // Update an existing waypoint Bundle extras = intent.getExtras(); if (extras != null) { - Long trackId = extras.getLong(Schema.COL_TRACK_ID); + Long trackId = extras.getLong(TrackContentProvider.Schema.COL_TRACK_ID); String uuid = extras.getString(OSMTracker.INTENT_KEY_UUID); String name = extras.getString(OSMTracker.INTENT_KEY_NAME); String link = extras.getString(OSMTracker.INTENT_KEY_LINK); @@ -136,7 +136,7 @@ public void onReceive(Context context, Intent intent) { } else if (OSMTracker.INTENT_START_TRACKING.equals(intent.getAction()) ) { Bundle extras = intent.getExtras(); if (extras != null) { - Long trackId = extras.getLong(Schema.COL_TRACK_ID); + Long trackId = extras.getLong(TrackContentProvider.Schema.COL_TRACK_ID); startTracking(trackId); } } else if (OSMTracker.INTENT_STOP_TRACKING.equals(intent.getAction()) ) { diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/service/gps/GPSLoggerServiceConnection.java b/app/src/main/java/org/osmtracker/service/gps/GPSLoggerServiceConnection.java similarity index 75% rename from app/src/main/java/me/guillaumin/android/osmtracker/service/gps/GPSLoggerServiceConnection.java rename to app/src/main/java/org/osmtracker/service/gps/GPSLoggerServiceConnection.java index dbd50a681..ab4c5f2fd 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/service/gps/GPSLoggerServiceConnection.java +++ b/app/src/main/java/org/osmtracker/service/gps/GPSLoggerServiceConnection.java @@ -1,14 +1,16 @@ -package me.guillaumin.android.osmtracker.service.gps; +package org.osmtracker.service.gps; + +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.activity.TrackLogger; +import org.osmtracker.layout.GpsStatusRecord; +import org.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.activity.TrackLogger; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.layout.GpsStatusRecord; import android.content.ComponentName; import android.content.Intent; import android.content.ServiceConnection; import android.os.IBinder; + /** * Handles the bind to the GPS Logger service * @@ -47,7 +49,7 @@ public void onServiceConnected(ComponentName name, IBinder service) { if (!activity.getGpsLogger().isTracking()) { activity.setEnabledActionButtons(false); Intent intent = new Intent(OSMTracker.INTENT_START_TRACKING); - intent.putExtra(Schema.COL_TRACK_ID, activity.getCurrentTrackId()); + intent.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, activity.getCurrentTrackId()); activity.sendBroadcast(intent); } } diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/service/resources/AppResourceIconResolver.java b/app/src/main/java/org/osmtracker/service/resources/AppResourceIconResolver.java similarity index 89% rename from app/src/main/java/me/guillaumin/android/osmtracker/service/resources/AppResourceIconResolver.java rename to app/src/main/java/org/osmtracker/service/resources/AppResourceIconResolver.java index eb45718c3..39277acfb 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/service/resources/AppResourceIconResolver.java +++ b/app/src/main/java/org/osmtracker/service/resources/AppResourceIconResolver.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.service.resources; +package org.osmtracker.service.resources; import android.content.res.Resources; import android.graphics.drawable.Drawable; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/service/resources/ExternalDirectoryIconResolver.java b/app/src/main/java/org/osmtracker/service/resources/ExternalDirectoryIconResolver.java similarity index 91% rename from app/src/main/java/me/guillaumin/android/osmtracker/service/resources/ExternalDirectoryIconResolver.java rename to app/src/main/java/org/osmtracker/service/resources/ExternalDirectoryIconResolver.java index 55b4fe82a..ee358ddec 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/service/resources/ExternalDirectoryIconResolver.java +++ b/app/src/main/java/org/osmtracker/service/resources/ExternalDirectoryIconResolver.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.service.resources; +package org.osmtracker.service.resources; import java.io.File; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/service/resources/IconResolver.java b/app/src/main/java/org/osmtracker/service/resources/IconResolver.java similarity index 78% rename from app/src/main/java/me/guillaumin/android/osmtracker/service/resources/IconResolver.java rename to app/src/main/java/org/osmtracker/service/resources/IconResolver.java index c6bb11eaf..a1a919baf 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/service/resources/IconResolver.java +++ b/app/src/main/java/org/osmtracker/service/resources/IconResolver.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.service.resources; +package org.osmtracker.service.resources; import android.graphics.drawable.Drawable; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/util/ArrayUtils.java b/app/src/main/java/org/osmtracker/util/ArrayUtils.java similarity index 90% rename from app/src/main/java/me/guillaumin/android/osmtracker/util/ArrayUtils.java rename to app/src/main/java/org/osmtracker/util/ArrayUtils.java index eda4ccc5b..92ed03a46 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/util/ArrayUtils.java +++ b/app/src/main/java/org/osmtracker/util/ArrayUtils.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.util; +package org.osmtracker.util; /** * Array utilities. diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/util/DialogUtils.java b/app/src/main/java/org/osmtracker/util/DialogUtils.java similarity index 93% rename from app/src/main/java/me/guillaumin/android/osmtracker/util/DialogUtils.java rename to app/src/main/java/org/osmtracker/util/DialogUtils.java index 903444028..d396bc368 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/util/DialogUtils.java +++ b/app/src/main/java/org/osmtracker/util/DialogUtils.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.util; +package org.osmtracker.util; import android.app.AlertDialog; import android.content.Context; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/util/FileSystemUtils.java b/app/src/main/java/org/osmtracker/util/FileSystemUtils.java similarity index 99% rename from app/src/main/java/me/guillaumin/android/osmtracker/util/FileSystemUtils.java rename to app/src/main/java/org/osmtracker/util/FileSystemUtils.java index 374d1fa11..6050d0bf5 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/util/FileSystemUtils.java +++ b/app/src/main/java/org/osmtracker/util/FileSystemUtils.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.util; +package org.osmtracker.util; import java.io.File; import java.io.FileInputStream; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/util/MercatorProjection.java b/app/src/main/java/org/osmtracker/util/MercatorProjection.java similarity index 94% rename from app/src/main/java/me/guillaumin/android/osmtracker/util/MercatorProjection.java rename to app/src/main/java/org/osmtracker/util/MercatorProjection.java index 2ebc790f0..55f131433 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/util/MercatorProjection.java +++ b/app/src/main/java/org/osmtracker/util/MercatorProjection.java @@ -1,4 +1,4 @@ -package me.guillaumin.android.osmtracker.util; +package org.osmtracker.util; /** diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/util/ThemeValidator.java b/app/src/main/java/org/osmtracker/util/ThemeValidator.java similarity index 88% rename from app/src/main/java/me/guillaumin/android/osmtracker/util/ThemeValidator.java rename to app/src/main/java/org/osmtracker/util/ThemeValidator.java index 6f0f7a10d..090e0c466 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/util/ThemeValidator.java +++ b/app/src/main/java/org/osmtracker/util/ThemeValidator.java @@ -1,9 +1,10 @@ -package me.guillaumin.android.osmtracker.util; +package org.osmtracker.util; import java.util.Arrays; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; + import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.content.res.Resources; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/util/UserDefinedLayoutReader.java b/app/src/main/java/org/osmtracker/util/UserDefinedLayoutReader.java similarity index 93% rename from app/src/main/java/me/guillaumin/android/osmtracker/util/UserDefinedLayoutReader.java rename to app/src/main/java/org/osmtracker/util/UserDefinedLayoutReader.java index b616b9378..73b643719 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/util/UserDefinedLayoutReader.java +++ b/app/src/main/java/org/osmtracker/util/UserDefinedLayoutReader.java @@ -1,19 +1,19 @@ -package me.guillaumin.android.osmtracker.util; +package org.osmtracker.util; import java.io.IOException; import java.util.HashMap; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.activity.TrackLogger; -import me.guillaumin.android.osmtracker.layout.DisablableTableLayout; -import me.guillaumin.android.osmtracker.layout.UserDefinedLayout; -import me.guillaumin.android.osmtracker.listener.PageButtonOnClickListener; -import me.guillaumin.android.osmtracker.listener.StillImageOnClickListener; -import me.guillaumin.android.osmtracker.listener.TagButtonOnClickListener; -import me.guillaumin.android.osmtracker.listener.TextNoteOnClickListener; -import me.guillaumin.android.osmtracker.listener.VoiceRecOnClickListener; -import me.guillaumin.android.osmtracker.service.resources.IconResolver; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.activity.TrackLogger; +import org.osmtracker.layout.DisablableTableLayout; +import org.osmtracker.layout.UserDefinedLayout; +import org.osmtracker.listener.PageButtonOnClickListener; +import org.osmtracker.listener.StillImageOnClickListener; +import org.osmtracker.listener.TagButtonOnClickListener; +import org.osmtracker.listener.TextNoteOnClickListener; +import org.osmtracker.listener.VoiceRecOnClickListener; +import org.osmtracker.service.resources.IconResolver; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/view/DisplayTrackView.java b/app/src/main/java/org/osmtracker/view/DisplayTrackView.java similarity index 91% rename from app/src/main/java/me/guillaumin/android/osmtracker/view/DisplayTrackView.java rename to app/src/main/java/org/osmtracker/view/DisplayTrackView.java index f96cb93d4..638472f43 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/view/DisplayTrackView.java +++ b/app/src/main/java/org/osmtracker/view/DisplayTrackView.java @@ -1,12 +1,12 @@ -package me.guillaumin.android.osmtracker.view; +package org.osmtracker.view; import java.text.DecimalFormat; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.TrackContentProvider; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; -import me.guillaumin.android.osmtracker.util.ArrayUtils; -import me.guillaumin.android.osmtracker.util.MercatorProjection; +import org.osmtracker.R; +import org.osmtracker.db.TrackContentProvider; +import org.osmtracker.util.ArrayUtils; +import org.osmtracker.util.MercatorProjection; + import android.content.Context; import android.database.ContentObserver; import android.database.Cursor; @@ -267,8 +267,8 @@ public void populateCoords() { int i=0; for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext(), i++) { - coords[i][MercatorProjection.LONGITUDE] = c.getDouble(c.getColumnIndex(Schema.COL_LONGITUDE)); - coords[i][MercatorProjection.LATITUDE] = c.getDouble(c.getColumnIndex(Schema.COL_LATITUDE)); + coords[i][MercatorProjection.LONGITUDE] = c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_LONGITUDE)); + coords[i][MercatorProjection.LATITUDE] = c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_LATITUDE)); } c.close(); @@ -280,8 +280,8 @@ public void populateCoords() { wayPointsCoords = new double[c.getCount()][2]; for(c.moveToFirst(), i=0; !c.isAfterLast(); c.moveToNext(), i++) { - wayPointsCoords[i][MercatorProjection.LONGITUDE] = c.getDouble(c.getColumnIndex(Schema.COL_LONGITUDE)); - wayPointsCoords[i][MercatorProjection.LATITUDE] = c.getDouble(c.getColumnIndex(Schema.COL_LATITUDE)); + wayPointsCoords[i][MercatorProjection.LONGITUDE] = c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_LONGITUDE)); + wayPointsCoords[i][MercatorProjection.LATITUDE] = c.getDouble(c.getColumnIndex(TrackContentProvider.Schema.COL_LATITUDE)); } c.close(); diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/view/TextNoteDialog.java b/app/src/main/java/org/osmtracker/view/TextNoteDialog.java similarity index 92% rename from app/src/main/java/me/guillaumin/android/osmtracker/view/TextNoteDialog.java rename to app/src/main/java/org/osmtracker/view/TextNoteDialog.java index 245671d9c..781234fef 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/view/TextNoteDialog.java +++ b/app/src/main/java/org/osmtracker/view/TextNoteDialog.java @@ -1,10 +1,10 @@ -package me.guillaumin.android.osmtracker.view; +package org.osmtracker.view; import java.util.UUID; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; + import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; @@ -12,6 +12,8 @@ import android.os.Bundle; import android.widget.EditText; +import org.osmtracker.db.TrackContentProvider; + public class TextNoteDialog extends AlertDialog { /** @@ -65,7 +67,7 @@ public TextNoteDialog(Context context, long trackId) { public void onClick(DialogInterface dialog, int which) { // Track waypoint with user input text Intent intent = new Intent(OSMTracker.INTENT_UPDATE_WP); - intent.putExtra(Schema.COL_TRACK_ID, TextNoteDialog.this.wayPointTrackId); + intent.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, TextNoteDialog.this.wayPointTrackId); intent.putExtra(OSMTracker.INTENT_KEY_NAME, input.getText().toString()); intent.putExtra(OSMTracker.INTENT_KEY_UUID, TextNoteDialog.this.wayPointUuid); TextNoteDialog.this.context.sendBroadcast(intent); @@ -102,7 +104,7 @@ protected void onStart() { // so we need to generate a UUID and track this point wayPointUuid = UUID.randomUUID().toString(); Intent intent = new Intent(OSMTracker.INTENT_TRACK_WP); - intent.putExtra(Schema.COL_TRACK_ID, wayPointTrackId); + intent.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, wayPointTrackId); intent.putExtra(OSMTracker.INTENT_KEY_UUID, wayPointUuid); intent.putExtra(OSMTracker.INTENT_KEY_NAME, context.getResources().getString(R.string.gpsstatus_record_textnote)); context.sendBroadcast(intent); diff --git a/app/src/main/java/me/guillaumin/android/osmtracker/view/VoiceRecDialog.java b/app/src/main/java/org/osmtracker/view/VoiceRecDialog.java similarity index 97% rename from app/src/main/java/me/guillaumin/android/osmtracker/view/VoiceRecDialog.java rename to app/src/main/java/org/osmtracker/view/VoiceRecDialog.java index ace8ed760..5f39f8447 100644 --- a/app/src/main/java/me/guillaumin/android/osmtracker/view/VoiceRecDialog.java +++ b/app/src/main/java/org/osmtracker/view/VoiceRecDialog.java @@ -1,13 +1,14 @@ -package me.guillaumin.android.osmtracker.view; +package org.osmtracker.view; import java.io.File; import java.util.Date; import java.util.UUID; -import me.guillaumin.android.osmtracker.OSMTracker; -import me.guillaumin.android.osmtracker.R; -import me.guillaumin.android.osmtracker.db.DataHelper; -import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; +import org.osmtracker.OSMTracker; +import org.osmtracker.R; +import org.osmtracker.db.DataHelper; +import org.osmtracker.db.TrackContentProvider.Schema; + import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; diff --git a/app/src/main/res/layout/tracklogger.xml b/app/src/main/res/layout/tracklogger.xml index 5283f5003..cdf5617f3 100644 --- a/app/src/main/res/layout/tracklogger.xml +++ b/app/src/main/res/layout/tracklogger.xml @@ -1,7 +1,7 @@ - diff --git a/app/src/main/res/values/values-preferences.xml b/app/src/main/res/values/values-preferences.xml index 8d1498370..961fad984 100644 --- a/app/src/main/res/values/values-preferences.xml +++ b/app/src/main/res/values/values-preferences.xml @@ -24,10 +24,10 @@ - me.guillaumin.android.osmtracker:style/DefaultTheme - me.guillaumin.android.osmtracker:style/DarkTheme - me.guillaumin.android.osmtracker:style/LightTheme - me.guillaumin.android.osmtracker:style/HighContrast + org.osmtracker:style/DefaultTheme + org.osmtracker:style/DarkTheme + org.osmtracker:style/LightTheme + org.osmtracker:style/HighContrast