Skip to content

Commit af3810e

Browse files
authored
Merge pull request #1 from Tractive/tractive-custom-code
MOD moved res folder so the build script works
2 parents 0778c4b + e172075 commit af3810e

7 files changed

Lines changed: 50 additions & 22 deletions

File tree

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@
7272
createTable(db);
7373
return;
7474
}
75+
76+
if (oldVersion < 13 && "geotrace".equals(TABLE_NAME)) {
77+
//hacky workaround as the foxykeep code "generation" are just nested String.formats
78+
TractiveDbUpgradeHelper.upgradeLocationsJsonToLocationsPath(db);
79+
}
80+
7581
%18$s
7682

7783
if (oldVersion != newVersion) {
File renamed without changes.
Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import android.database.Cursor;
1616
import android.database.sqlite.SQLiteDatabase;
1717
import android.database.sqlite.SQLiteException;
1818
import android.database.sqlite.SQLiteOpenHelper;
19+
import android.database.sqlite.SQLiteQueryBuilder;
1920
import android.database.sqlite.SQLiteStatement;
2021
import android.net.Uri;
2122
import android.provider.BaseColumns;
@@ -37,7 +38,7 @@ public %14$sclass %3$sProvider extends ContentProvider {
3738

3839
/* package */ static final boolean ACTIVATE_ALL_LOGS = false;
3940

40-
protected static final String DATABASE_NAME = "%3$sProvider.db";
41+
public static final String DATABASE_NAME = "%3$sProvider.db";
4142

4243
public static final String AUTHORITY = LibApp.getContext().getString(R.string.content_authority);
4344

@@ -99,11 +100,11 @@ public %14$sclass %3$sProvider extends ContentProvider {
99100
return mDatabase;
100101
}
101102

102-
private class DatabaseHelper extends SQLiteOpenHelper {
103+
public static class DatabaseHelper extends SQLiteOpenHelper {
103104

104105
Context mContext;
105106

106-
DatabaseHelper(Context context, String name) {
107+
public DatabaseHelper(Context context, String name) {
107108
super(context, name, null, DATABASE_VERSION);
108109
mContext = context;
109110
}
@@ -114,8 +115,6 @@ public %14$sclass %3$sProvider extends ContentProvider {
114115

115116
// Create all tables here; each class has its own method
116117
%6$s
117-
//copy all data from the old database if it exists.
118-
new TractiveDbUpgradeHelper().copyFromOldDb(db, mContext);
119118

120119
}
121120

@@ -267,9 +266,15 @@ public %14$sclass %3$sProvider extends ContentProvider {
267266
c = db.query(uriType.getTableName(), projection, whereWithId(selection),
268267
addIdToSelectionArgs(id, selectionArgs), null, null, sortOrder);
269268
break;
270-
%9$s c = db.query(uriType.getTableName(), projection, selection, selectionArgs,
269+
%15$s c = db.query(uriType.getTableName(), projection, selection, selectionArgs,
271270
null, null, sortOrder);
272271
break;
272+
273+
case RAW:
274+
SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
275+
queryBuilder.setTables(selectionArgs[0]);
276+
c = queryBuilder.query(db, projection, null, null, selection, sortOrder, null);
277+
break;
273278
}
274279

275280
if ((c != null) && !isTemporary()) {

generator/src/com/foxykeep/cpcodegenerator/generator/DatabaseGenerator.java

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ private DatabaseGenerator() {
5252
}
5353

5454
public static void generate(final String fileName, final String classPackage,
55-
final int dbVersion, final String dbAuthorityPackage, final String classesPrefix,
56-
final ArrayList<TableData> tableDataList, final String providerFolder,
57-
boolean hasProviderSubclasses) {
55+
final int dbVersion, final String dbAuthorityPackage, final String classesPrefix,
56+
final ArrayList<TableData> tableDataList, final String providerFolder,
57+
boolean hasProviderSubclasses) {
5858
if (classPackage == null || classPackage.length() == 0 || classesPrefix == null
5959
|| classesPrefix.length() == 0 || tableDataList == null || tableDataList.isEmpty()) {
6060
System.out.println("Error : You must provide a class package, a class prefix and a " +
@@ -68,8 +68,8 @@ public static void generate(final String fileName, final String classPackage,
6868
}
6969

7070
private static void generateContentClass(final String fileName, final String classPackage,
71-
final String classesPrefix, final ArrayList<TableData> tableDataList,
72-
final int dbVersion, final String providerFolder) {
71+
final String classesPrefix, final ArrayList<TableData> tableDataList,
72+
final int dbVersion, final String providerFolder) {
7373

7474
final StringBuilder sb = new StringBuilder();
7575
BufferedReader br;
@@ -360,7 +360,6 @@ private static void generateContentClass(final String fileName, final String cla
360360
.getDefaultValue(fieldData.type));
361361
}
362362
}
363-
364363
sbUpgradeTable.append(String.format(
365364
contentSubClassUpgrade, curVers,
366365
sbUpgradeTableCreateTmpTable.toString(),
@@ -437,16 +436,17 @@ private static void generateContentClass(final String fileName, final String cla
437436
}
438437

439438
private static void generateProviderClass(final String fileName, final String classPackage,
440-
final int dbVersion, final String dbAuthorityPackage, final String classesPrefix,
441-
final ArrayList<TableData> tableDataList, final String providerFolder,
442-
boolean hasProviderSubclasses) {
439+
final int dbVersion, final String dbAuthorityPackage, final String classesPrefix,
440+
final ArrayList<TableData> tableDataList, final String providerFolder,
441+
boolean hasProviderSubclasses) {
443442

444443
final StringBuilder sbImports = new StringBuilder();
445444
final StringBuilder sbUriTypes = new StringBuilder();
446445
final StringBuilder sbCreateTables = new StringBuilder();
447446
final StringBuilder sbUpgradeTables = new StringBuilder();
448447
final StringBuilder sbCaseWithId = new StringBuilder();
449448
final StringBuilder sbCaseWithoutId = new StringBuilder();
449+
final StringBuilder sbCaseWithoutIdWithoutRaw = new StringBuilder();
450450
final StringBuilder sbBulk = new StringBuilder();
451451
final StringBuilder sbUpgradeDatabaseComment = new StringBuilder();
452452
final StringBuilder sbUpgradeDatabaseCommentFields = new StringBuilder();
@@ -501,6 +501,10 @@ private static void generateProviderClass(final String fileName, final String cl
501501
.append("_ID:\n");
502502
sbCaseWithoutId.append(" case ").append(tableData.dbConstantName)
503503
.append(":\n");
504+
if (!tableData.dbTableName.equals("raw")) {
505+
sbCaseWithoutIdWithoutRaw.append(" case ").append(tableData.dbConstantName)
506+
.append(":\n");
507+
}
504508

505509
sbBulk.append(String.format(bulkText, tableData.dbConstantName, tableData.dbClassName));
506510
}
@@ -562,17 +566,30 @@ private static void generateProviderClass(final String fileName, final String cl
562566
}
563567

564568
FileCache.saveFile(PathUtils.getAndroidFullPath(fileName, classPackage, providerFolder)
565-
+ classesPrefix + "Provider.java", String.format(sb.toString(), classPackage,
566-
sbImports.toString(), classesPrefix, dbAuthorityPackage, sbUriTypes.toString(),
567-
sbCreateTables.toString(), sbUpgradeTables.toString(), sbCaseWithId.toString(),
568-
sbCaseWithoutId.toString(), sbBulk.toString(), providerFolder, dbVersion,
569-
sbUpgradeDatabaseComment.toString(), hasProviderSubclasses ? "" : "final "));
569+
+ classesPrefix + "Provider.java",
570+
String.format(
571+
sb.toString(),
572+
classPackage,
573+
sbImports.toString(),
574+
classesPrefix,
575+
dbAuthorityPackage,
576+
sbUriTypes.toString(),
577+
sbCreateTables.toString(),
578+
sbUpgradeTables.toString(),
579+
sbCaseWithId.toString(),
580+
sbCaseWithoutId.toString(),
581+
sbBulk.toString(),
582+
providerFolder,
583+
dbVersion,
584+
sbUpgradeDatabaseComment.toString(),
585+
hasProviderSubclasses ? "" : "final ",
586+
sbCaseWithoutIdWithoutRaw));
570587

571588
}
572589

573590
private static void appendUpgradeDatabaseComment(final StringBuilder sb,
574-
final boolean firstElem, final int minUpgradeWithoutChanges, final int currentVersion,
575-
final String content) {
591+
final boolean firstElem, final int minUpgradeWithoutChanges, final int currentVersion,
592+
final String content) {
576593

577594
if (minUpgradeWithoutChanges != -1) {
578595
if (minUpgradeWithoutChanges == currentVersion - 1) {

0 commit comments

Comments
 (0)