diff --git a/.idea/gradle.xml b/.idea/gradle.xml index b78f010..1e6d032 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -3,6 +3,9 @@ \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 6dc456c..26b69a1 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,8 +2,11 @@ + + + diff --git a/build.gradle b/build.gradle index 24e2703..39539d0 100644 --- a/build.gradle +++ b/build.gradle @@ -3,9 +3,10 @@ buildscript { repositories { jcenter() + google() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.4.0-rc03' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } @@ -14,6 +15,7 @@ buildscript { allprojects { repositories { jcenter() + google() } } diff --git a/demo/build.gradle b/demo/build.gradle index 5417cd2..a3e80a0 100644 --- a/demo/build.gradle +++ b/demo/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 25 - buildToolsVersion "26.0.0" + compileSdkVersion 28 + buildToolsVersion '29.0.0 rc2' defaultConfig { applicationId "com.basilgregory.onamsample" minSdkVersion 14 - targetSdkVersion 25 + targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" @@ -17,17 +17,21 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility = '1.8' + targetCompatibility = '1.8' + } } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + implementation fileTree(dir: 'libs', include: ['*.jar']) + androidTestImplementation('com.android.support.test.espresso:espresso-core:2.3-alpha', { exclude group: 'com.android.support', module: 'support-annotations' }) - compile project(':onam') - compile 'com.android.support:recyclerview-v7:25.3.1' - compile 'com.android.support:appcompat-v7:25.3.1' - compile 'com.android.support.constraint:constraint-layout:1.0.2' - compile 'com.android.support:design:25.3.1' - testCompile 'junit:junit:4.12' + implementation project(':onam') + implementation 'com.android.support:recyclerview-v7:28.0.0' + implementation 'com.android.support:appcompat-v7:28.0.0' + implementation 'com.android.support.constraint:constraint-layout:1.1.3' + implementation 'com.android.support:design:28.0.0' + testImplementation 'junit:junit:4.12' } diff --git a/demo/src/main/java/com/basilgregory/onamsample/AllPostsActivity.java b/demo/src/main/java/com/basilgregory/onamsample/AllPostsActivity.java index 04aa684..e276c5e 100644 --- a/demo/src/main/java/com/basilgregory/onamsample/AllPostsActivity.java +++ b/demo/src/main/java/com/basilgregory/onamsample/AllPostsActivity.java @@ -179,19 +179,9 @@ public void onLongClick(View view, int position) { } - View.OnClickListener removeAllPosts = new View.OnClickListener() { - @Override - public void onClick(View v) { - Post.truncate(Post.class); - } - }; + View.OnClickListener removeAllPosts = v -> Post.truncate(Post.class); - View.OnClickListener addNewPlan = new View.OnClickListener() { - @Override - public void onClick(View v) { - startActivity(new Intent(AllPostsActivity.this,AddPostActivity.class)); - } - }; + View.OnClickListener addNewPlan = v -> startActivity(new Intent(AllPostsActivity.this,AddPostActivity.class)); private void fetchAllPosts(){ postList = Post.findAll(Post.class); diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 557c9ce..bed9858 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Aug 28 17:03:32 IST 2017 +#Thu Apr 11 11:15:57 CEST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip diff --git a/onam/build.gradle b/onam/build.gradle index 74b7fc1..a9c9bd8 100644 --- a/onam/build.gradle +++ b/onam/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 25 - buildToolsVersion "26.0.0" + compileSdkVersion 28 + buildToolsVersion '29.0.0 rc2' defaultConfig { minSdkVersion 14 - targetSdkVersion 25 + targetSdkVersion 28 versionCode 2 versionName "2.1" @@ -19,14 +19,19 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility = '1.8' + targetCompatibility = '1.8' + } } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + implementation fileTree(dir: 'libs', include: ['*.jar']) + androidTestImplementation('com.android.support.test.espresso:espresso-core:2.3-alpha', { exclude group: 'com.android.support', module: 'support-annotations' }) - compile 'com.android.support:appcompat-v7:25.3.1' - testCompile 'junit:junit:4.12' + implementation 'com.android.support:appcompat-v7:28.0.0' + testImplementation 'junit:junit:4.12' + implementation 'com.android.support:appcompat-v7:28.0.0' } diff --git a/onam/src/main/AndroidManifest.xml b/onam/src/main/AndroidManifest.xml index e12eac9..65adb3d 100644 --- a/onam/src/main/AndroidManifest.xml +++ b/onam/src/main/AndroidManifest.xml @@ -1,12 +1,10 @@ - + package="com.basilgregory.onam"> + android:label="@string/app_name" + android:supportsRtl="true"> diff --git a/onam/src/main/java/com/basilgregory/onam/android/DBExecutor.java b/onam/src/main/java/com/basilgregory/onam/android/DBExecutor.java index 263a538..95a38e8 100644 --- a/onam/src/main/java/com/basilgregory/onam/android/DBExecutor.java +++ b/onam/src/main/java/com/basilgregory/onam/android/DBExecutor.java @@ -36,7 +36,7 @@ class DBExecutor extends SQLiteOpenHelper { Storage storage; String dbName; private static DBExecutor instance = null; - private static Map instances = new HashMap(); + private static Map instances = new HashMap<>(); public static DBExecutor getInstance(Context context, String dbName, int version) { if (instances.containsKey(dbName)) instance = instances.get(dbName); instance = instance == null ? @@ -248,7 +248,7 @@ private void findAndSetByReferenceByRowId(Entity entity, long id) { private List convertToEntityAndFetchFirstDegreeRelatedEntity(Cursor cursor,Class entityClass){ - List entities = new ArrayList(); + List entities = new ArrayList<>(); if (cursor != null && cursor.getCount() > 0 ) { cursor.moveToFirst(); do { diff --git a/onam/src/main/java/com/basilgregory/onam/android/DDLBuilder.java b/onam/src/main/java/com/basilgregory/onam/android/DDLBuilder.java index 69db29a..77bc1d6 100644 --- a/onam/src/main/java/com/basilgregory/onam/android/DDLBuilder.java +++ b/onam/src/main/java/com/basilgregory/onam/android/DDLBuilder.java @@ -19,7 +19,7 @@ class DDLBuilder { static String createMappingTables(String tableName,Class fromClass,Class targetClass){ - StringBuffer ddlCreate = new StringBuffer(); + StringBuilder ddlCreate = new StringBuilder(); //This pattern "table [] ( " is used in #{DbUtil.extractNameOfTableFromDdl} cross check when making a change. ddlCreate.append("create table ").append(tableName).append(" ( "); ddlCreate.append(DbUtil.getMappingForeignColumnNameClass(fromClass)).append(" integer,"); @@ -32,7 +32,7 @@ static String createMappingTables(String tableName,Class fromClass,Class targetC static HashMap createTables(List curatedClassList){ - HashMap ddls = new HashMap(curatedClassList.size()); + HashMap ddls = new HashMap<>(curatedClassList.size()); for(Class cls:curatedClassList) { if (cls == null || cls.getAnnotation(Table.class) == null) continue; diff --git a/onam/src/main/java/com/basilgregory/onam/android/DMLBuilder.java b/onam/src/main/java/com/basilgregory/onam/android/DMLBuilder.java index 79e873a..271f30b 100644 --- a/onam/src/main/java/com/basilgregory/onam/android/DMLBuilder.java +++ b/onam/src/main/java/com/basilgregory/onam/android/DMLBuilder.java @@ -33,7 +33,7 @@ static HashMap curateAndDropTables(List tableNamesAlready } private static HashMap dropTables(List tableNames){ - HashMap dmls = new HashMap(tableNames.size()); + HashMap dmls = new HashMap<>(tableNames.size()); for(String tableName:tableNames) { dmls.put(tableName,dropTable(tableName)); } @@ -45,7 +45,7 @@ private static String dropTable(String tableName){ } static HashMap renameTables(Class[] classes){ - HashMap dmls = new HashMap(classes.length); + HashMap dmls = new HashMap<>(classes.length); for(Class cls:classes) { if (cls == null) continue; Table table = (Table)cls.getAnnotation(Table.class); @@ -60,7 +60,7 @@ static HashMap renameTables(Class[] classes){ } static HashMap addColumns(HashMap> classColumnNamePairs){ - HashMap dmls = new HashMap(classColumnNamePairs.size()); + HashMap dmls = new HashMap<>(classColumnNamePairs.size()); for(Class cls : classColumnNamePairs.keySet()) { if (cls == null || cls.getAnnotation(Table.class) == null) continue; String tableName = DbUtil.getTableName(cls); @@ -78,7 +78,7 @@ private static String renameTable(String tableName , String oldName){ } private static List addColumns(List existingTableColumns, Class newTableClass){ - List addColumnsDml = new ArrayList(); + List addColumnsDml = new ArrayList<>(); if (existingTableColumns == null || newTableClass == null) return addColumnsDml; Field[] declaredFields = newTableClass.getDeclaredFields(); for (Field field : declaredFields) { diff --git a/onam/src/main/java/com/basilgregory/onam/android/Entity.java b/onam/src/main/java/com/basilgregory/onam/android/Entity.java index 2402c5f..3025965 100644 --- a/onam/src/main/java/com/basilgregory/onam/android/Entity.java +++ b/onam/src/main/java/com/basilgregory/onam/android/Entity.java @@ -4,14 +4,12 @@ * Created by donpeter on 8/28/17. */ -import android.app.Activity; +import android.support.v7.app.*; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; +import org.json.*; -import java.io.Serializable; -import java.util.List; +import java.io.*; +import java.util.*; /** * This class will act as the base class for all Entity POJOs. @@ -118,11 +116,11 @@ protected List fetch(List relatedEntityList, Object ho * * @param activityObject - Current class object or preferably Acitivty object (ex. Activity.this). */ - public static void init(Activity activityObject, Object classWithDBAnnotation){ + public static void init(AppCompatActivity activityObject, Object classWithDBAnnotation){ DBExecutor.init(activityObject.getApplicationContext(),classWithDBAnnotation); } - public static void init(Activity activityObject){ + public static void init(AppCompatActivity activityObject){ DBExecutor.init(activityObject.getApplicationContext(),activityObject); } diff --git a/onam/src/main/java/com/basilgregory/onam/android/QueryBuilder.java b/onam/src/main/java/com/basilgregory/onam/android/QueryBuilder.java index a0366f2..75bbce6 100644 --- a/onam/src/main/java/com/basilgregory/onam/android/QueryBuilder.java +++ b/onam/src/main/java/com/basilgregory/onam/android/QueryBuilder.java @@ -50,7 +50,7 @@ static String findByProperty(Class cls,String columnName,Object value,In static String findByProperty(Class cls,String columnName,Object value,String orderByColumn, boolean descending, Integer startIndex,Integer pageSize){ value = FieldType.isStringType(value) ? "'"+value+"'" : value; - StringBuffer orderByCondition = new StringBuffer(orderByColumn) + StringBuilder orderByCondition = new StringBuilder(orderByColumn) .append(" ").append(descending ? "DESC" : "ASC"); return selectQuery(DbUtil.getTableName(cls),columnName+" = "+value,null,orderByCondition.toString(),startIndex,pageSize); } @@ -67,7 +67,7 @@ static String findAll(Class cls,String whereClause,Integer startIndex,In } static String findAll(Class cls,String whereClause,String orderByColumn,boolean descending,Integer startIndex,Integer pageSize){ - StringBuffer orderByCondition = new StringBuffer(orderByColumn) + StringBuilder orderByCondition = new StringBuilder(orderByColumn) .append(" ").append(descending ? "DESC" : "ASC"); return selectQuery(DbUtil.getTableName(cls),whereClause,null,orderByCondition.toString(),startIndex,pageSize); } @@ -86,7 +86,7 @@ static String selectQuery(String tableName,String whereClause,String groupBy,Str whereClause = whereClause == null? "" : " where "+ whereClause; groupBy = groupBy == null? "" : " group by "+ groupBy; orderBy = orderBy == null? "" : " order by "+orderBy; - StringBuffer selectQuery = new StringBuffer("select * from ").append(tableName) + StringBuilder selectQuery = new StringBuilder("select * from ").append(tableName) .append(whereClause).append(groupBy).append(orderBy); if (pageSize != null) selectQuery.append(" LIMIT ").append(startIndex == null? 0 : startIndex).append(",").append(pageSize); diff --git a/onam/src/main/java/com/basilgregory/onam/android/Storage.java b/onam/src/main/java/com/basilgregory/onam/android/Storage.java index 3f54d35..a84b722 100644 --- a/onam/src/main/java/com/basilgregory/onam/android/Storage.java +++ b/onam/src/main/java/com/basilgregory/onam/android/Storage.java @@ -18,7 +18,7 @@ void storeCurrentDbMeta(String databaseName,DbMetaData dbMetaData) throws Except "database_meta", Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPref.edit(); editor.putString(databaseName, DB.toString(dbMetaData)); - editor.commit(); + editor.apply(); } DbMetaData getCurrentDbMeta(String databaseName) throws Exception{ diff --git a/onam/src/main/java/com/basilgregory/onam/exceptions/ONAMException.java b/onam/src/main/java/com/basilgregory/onam/exceptions/ONAMException.java index ae4d4d8..ce8176e 100644 --- a/onam/src/main/java/com/basilgregory/onam/exceptions/ONAMException.java +++ b/onam/src/main/java/com/basilgregory/onam/exceptions/ONAMException.java @@ -31,7 +31,7 @@ public ONAMException() { } public String toString () { - StringBuffer sb = new StringBuffer(this.code).append(": ").append(this.getMessage()); + StringBuilder sb = new StringBuilder(this.code).append(": ").append(this.getMessage()); if (entity != null) sb.append("\n Entity").append(entity.getClass().getSimpleName()); if (query != null) sb.append("\n Query").append(query); if (field != null) sb.append("\n Field").append(field.getName()); diff --git a/settings.gradle b/settings.gradle index a658349..ea4858b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include ':demo', ':onam' +include ':onam', ':demo'