diff options
author | Samuel Tardieu <sam@rfc1149.net> | 2011-09-16 14:36:28 +0200 |
---|---|---|
committer | Samuel Tardieu <sam@rfc1149.net> | 2011-09-16 14:36:28 +0200 |
commit | 579ef7a535489d4aa632db11667a3b01deb6cafd (patch) | |
tree | 55810021c02ac7d80d3a9702ef0b59e4af154b9c /main/src/cgeo/geocaching/apps/LocusDataStorageProvider.java | |
parent | 96ea21fd50334479c262da692038965d0e4d596a (diff) | |
download | cgeo-579ef7a535489d4aa632db11667a3b01deb6cafd.zip cgeo-579ef7a535489d4aa632db11667a3b01deb6cafd.tar.gz cgeo-579ef7a535489d4aa632db11667a3b01deb6cafd.tar.bz2 |
Move sources into the main directory
This prepares the inclusion of tests into the same repository.
Diffstat (limited to 'main/src/cgeo/geocaching/apps/LocusDataStorageProvider.java')
-rw-r--r-- | main/src/cgeo/geocaching/apps/LocusDataStorageProvider.java | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/apps/LocusDataStorageProvider.java b/main/src/cgeo/geocaching/apps/LocusDataStorageProvider.java new file mode 100644 index 0000000..69a5e5b --- /dev/null +++ b/main/src/cgeo/geocaching/apps/LocusDataStorageProvider.java @@ -0,0 +1,71 @@ +package cgeo.geocaching.apps; + +import menion.android.locus.addon.publiclib.geoData.PointsData; +import menion.android.locus.addon.publiclib.utils.DataCursor; +import menion.android.locus.addon.publiclib.utils.DataStorage; + +import android.content.ContentProvider; +import android.content.ContentValues; +import android.database.Cursor; +import android.net.Uri; +import android.os.Parcel; + +import java.util.ArrayList; + +/** + * code provided by menion - developer of Locus + */ +public class LocusDataStorageProvider extends ContentProvider { + + @Override + public Cursor query(Uri aUri, String[] aProjection, String aSelection, + String[] aSelectionArgs, String aSortOrder) { + + DataCursor cursor = new DataCursor(new String[] { "data" }); + + ArrayList<PointsData> data = DataStorage.getData(); + if (data == null || data.size() == 0) { + return cursor; + } + + for (int i = 0; i < data.size(); i++) { + // get byte array + Parcel par = Parcel.obtain(); + data.get(i).writeToParcel(par, 0); + byte[] byteData = par.marshall(); + // add to row + cursor.addRow(new Object[] { byteData }); + } + // data filled to cursor, clear reference to prevent some memory issue + DataStorage.clearData(); + // now finally return filled cursor + return cursor; + } + + @Override + public int delete(Uri uri, String selection, String[] selectionArgs) { + return 0; + } + + @Override + public String getType(Uri uri) { + return null; + } + + @Override + public Uri insert(Uri uri, ContentValues values) { + return null; + } + + @Override + public boolean onCreate() { + return false; + } + + @Override + public int update(Uri uri, ContentValues values, String selection, + String[] selectionArgs) { + return 0; + } + +} |