Skip to content

Commit

Permalink
Support having ContentProvider and SQLiteOpenHelper in separate packa…
Browse files Browse the repository at this point in the history
…ges.
  • Loading branch information
SimonVT committed May 20, 2017
1 parent 4338d9c commit 037a374
Showing 1 changed file with 16 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ static enum Type {
String providerName;

Element database;
String databaseName;
ClassName databaseClass;

ExecutableElement defaultNotifyInsert;
ExecutableElement defaultNotifyBulkInsert;
Expand Down Expand Up @@ -172,11 +172,22 @@ public ContentProviderWriter(ProcessingEnvironment processingEnv, Elements eleme
TypeMirror mirror = e.getTypeMirror();
this.database = processingEnv.getTypeUtils().asElement(mirror);
String databaseSchematicName = this.database.getSimpleName().toString();
String databaseSchematicPackage = this.database.getEnclosingElement().getSimpleName().toString();
Database database = this.database.getAnnotation(Database.class);
databaseName = database.className();
if (databaseName.trim().isEmpty()) {
this.databaseName = databaseSchematicName;
String databaseName = database.className();
String databasePackage = database.packageName();

String resultingPackage = databaseSchematicPackage;
String resultingName = databaseSchematicName;

if (!databasePackage.trim().isEmpty()) {
resultingPackage = databasePackage;
}
if (!databaseName.trim().isEmpty()) {
resultingName = databaseName;
}

databaseClass = ClassName.get(resultingPackage, resultingName);
}

List<? extends Element> enclosedElements = provider.getEnclosedElements();
Expand Down Expand Up @@ -519,7 +530,7 @@ private MethodSpec getOnCreateSpec() {
.returns(boolean.class)
.addModifiers(Modifier.PUBLIC)
.addAnnotation(Override.class)
.addStatement("database = $L.getInstance(getContext())", databaseName)
.addStatement("database = $T.getInstance(getContext())", databaseClass)
.addStatement("return true")
.build();
}
Expand Down

0 comments on commit 037a374

Please sign in to comment.