From c54be0884502c8cc4fdba1721199653210d6bb1a Mon Sep 17 00:00:00 2001 From: hismaeel Date: Wed, 21 Feb 2018 13:39:26 -0500 Subject: [PATCH 01/22] Fixed Hard Coded Column issue. #1119 --- .../nrw/commons/category/CategoryDao.java | 8 ++-- .../contributions/ContributionDao.java | 40 +++++++++++-------- .../modifications/ModifierSequenceDao.java | 6 +-- 3 files changed, 31 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/category/CategoryDao.java b/app/src/main/java/fr/free/nrw/commons/category/CategoryDao.java index e63b04c26..7d8504e61 100644 --- a/app/src/main/java/fr/free/nrw/commons/category/CategoryDao.java +++ b/app/src/main/java/fr/free/nrw/commons/category/CategoryDao.java @@ -108,10 +108,10 @@ public class CategoryDao { Category fromCursor(Cursor cursor) { // Hardcoding column positions! return new Category( - CategoryContentProvider.uriForId(cursor.getInt(0)), - cursor.getString(1), - new Date(cursor.getLong(2)), - cursor.getInt(3) + CategoryContentProvider.uriForId(cursor.getInt(cursor.getColumnIndex(Table.COLUMN_ID))), + cursor.getString(cursor.getColumnIndex(Table.COLUMN_NAME)), + new Date(cursor.getLong(cursor.getColumnIndex(Table.COLUMN_LAST_USED))), + cursor.getInt(cursor.getColumnIndex(Table.COLUMN_TIMES_USED)) ); } diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionDao.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionDao.java index 9d3038e03..079cf6477 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionDao.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionDao.java @@ -8,6 +8,7 @@ import android.net.Uri; import android.os.RemoteException; import android.support.annotation.Nullable; import android.text.TextUtils; +import android.util.Log; import java.util.Date; @@ -115,23 +116,30 @@ public class ContributionDao { // Hardcoding column positions! //Check that cursor has a value to avoid CursorIndexOutOfBoundsException if (cursor.getCount() > 0) { + int index; + if (cursor.getColumnIndex(Table.COLUMN_LICENSE) == -1){ + index = 15; + } else { + index = cursor.getColumnIndex(Table.COLUMN_LICENSE); + } return new Contribution( - uriForId(cursor.getInt(0)), - cursor.getString(1), - parseUri(cursor.getString(2)), - cursor.getString(3), - parseTimestamp(cursor.getLong(4)), - cursor.getInt(5), - cursor.getLong(6), - parseTimestamp(cursor.getLong(7)), - cursor.getLong(8), - cursor.getString(9), - cursor.getString(10), - cursor.getString(11), - cursor.getInt(12) == 1, - cursor.getInt(13), - cursor.getInt(14), - cursor.getString(15)); + uriForId(cursor.getInt(cursor.getColumnIndex(Table.COLUMN_ID))), + cursor.getString(cursor.getColumnIndex(Table.COLUMN_FILENAME)), + parseUri(cursor.getString(cursor.getColumnIndex(Table.COLUMN_LOCAL_URI))), + cursor.getString(cursor.getColumnIndex(Table.COLUMN_IMAGE_URL)), + parseTimestamp(cursor.getLong(cursor.getColumnIndex(Table.COLUMN_TIMESTAMP))), + cursor.getInt(cursor.getColumnIndex(Table.COLUMN_STATE)), + cursor.getLong(cursor.getColumnIndex(Table.COLUMN_LENGTH)), + parseTimestamp(cursor.getLong(cursor.getColumnIndex(Table.COLUMN_UPLOADED))), + cursor.getLong(cursor.getColumnIndex(Table.COLUMN_TRANSFERRED)), + cursor.getString(cursor.getColumnIndex(Table.COLUMN_SOURCE)), + cursor.getString(cursor.getColumnIndex(Table.COLUMN_DESCRIPTION)), + cursor.getString(cursor.getColumnIndex(Table.COLUMN_CREATOR)), + cursor.getInt(cursor.getColumnIndex(Table.COLUMN_MULTIPLE)) == 1, + cursor.getInt(cursor.getColumnIndex(Table.COLUMN_WIDTH)), + cursor.getInt(cursor.getColumnIndex(Table.COLUMN_HEIGHT)), + cursor.getString(index) + ); } return null; diff --git a/app/src/main/java/fr/free/nrw/commons/modifications/ModifierSequenceDao.java b/app/src/main/java/fr/free/nrw/commons/modifications/ModifierSequenceDao.java index a23079b5e..957656a24 100644 --- a/app/src/main/java/fr/free/nrw/commons/modifications/ModifierSequenceDao.java +++ b/app/src/main/java/fr/free/nrw/commons/modifications/ModifierSequenceDao.java @@ -54,12 +54,12 @@ public class ModifierSequenceDao { // Hardcoding column positions! ModifierSequence ms; try { - ms = new ModifierSequence(Uri.parse(cursor.getString(1)), - new JSONObject(cursor.getString(2))); + ms = new ModifierSequence(Uri.parse(cursor.getString(cursor.getColumnIndex(Table.COLUMN_MEDIA_URI))), + new JSONObject(cursor.getString(cursor.getColumnIndex(Table.COLUMN_DATA)))); } catch (JSONException e) { throw new RuntimeException(e); } - ms.setContentUri( ModificationsContentProvider.uriForId(cursor.getInt(0))); + ms.setContentUri( ModificationsContentProvider.uriForId(cursor.getInt(cursor.getColumnIndex(Table.COLUMN_ID)))); return ms; } From 3e0e533882dcab99459b82d7f5db5f27fb9318ca Mon Sep 17 00:00:00 2001 From: Hassan Date: Wed, 21 Feb 2018 14:46:24 -0500 Subject: [PATCH 02/22] White Spacing --- .../main/java/fr/free/nrw/commons/category/CategoryDao.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/category/CategoryDao.java b/app/src/main/java/fr/free/nrw/commons/category/CategoryDao.java index 7d8504e61..a5202046b 100644 --- a/app/src/main/java/fr/free/nrw/commons/category/CategoryDao.java +++ b/app/src/main/java/fr/free/nrw/commons/category/CategoryDao.java @@ -109,9 +109,9 @@ public class CategoryDao { // Hardcoding column positions! return new Category( CategoryContentProvider.uriForId(cursor.getInt(cursor.getColumnIndex(Table.COLUMN_ID))), - cursor.getString(cursor.getColumnIndex(Table.COLUMN_NAME)), - new Date(cursor.getLong(cursor.getColumnIndex(Table.COLUMN_LAST_USED))), - cursor.getInt(cursor.getColumnIndex(Table.COLUMN_TIMES_USED)) + cursor.getString(cursor.getColumnIndex(Table.COLUMN_NAME)), + new Date(cursor.getLong(cursor.getColumnIndex(Table.COLUMN_LAST_USED))), + cursor.getInt(cursor.getColumnIndex(Table.COLUMN_TIMES_USED)) ); } From 31008e5dc1ef880012f5a399aec925852a989276 Mon Sep 17 00:00:00 2001 From: harisankerPradeep Date: Sun, 25 Feb 2018 00:10:02 +0530 Subject: [PATCH 03/22] Partially fixes Bug#1004 --- .../java/fr/free/nrw/commons/CommonsApplication.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java index ab156bab7..d8f93097e 100644 --- a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java +++ b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java @@ -6,6 +6,7 @@ import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; import com.facebook.drawee.backends.pipeline.Fresco; +import com.facebook.imagepipeline.core.ImagePipelineConfig; import com.facebook.stetho.Stetho; import com.squareup.leakcanary.LeakCanary; import com.squareup.leakcanary.RefWatcher; @@ -24,7 +25,6 @@ import fr.free.nrw.commons.category.CategoryDao; import fr.free.nrw.commons.contributions.ContributionDao; import fr.free.nrw.commons.data.DBOpenHelper; import fr.free.nrw.commons.di.ApplicationlessInjection; -import fr.free.nrw.commons.di.CommonsApplicationComponent; import fr.free.nrw.commons.modifications.ModifierSequenceDao; import fr.free.nrw.commons.utils.FileUtils; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -71,8 +71,11 @@ public class CommonsApplication extends Application { .getInstance(this) .getCommonsApplicationComponent() .inject(this); - - Fresco.initialize(this); +// Set DownsampleEnabled to True to downsample the image in case it's heavy + ImagePipelineConfig config = ImagePipelineConfig.newBuilder(this) + .setDownsampleEnabled(true) + .build(); + Fresco.initialize(this,config); if (setupLeakCanary() == RefWatcher.DISABLED) { return; } From 5315bf7efeefa4faca0f15f2eac3758f51da1098 Mon Sep 17 00:00:00 2001 From: knightshade Date: Sun, 25 Feb 2018 22:33:45 +0530 Subject: [PATCH 04/22] 1.Added scroll view. 2.Added material design to edit text. 3.Limit title to single line (80 characters). Fixes #1179 --- .../res/layout/fragment_single_upload.xml | 131 ++++++++++-------- 1 file changed, 73 insertions(+), 58 deletions(-) diff --git a/app/src/main/res/layout/fragment_single_upload.xml b/app/src/main/res/layout/fragment_single_upload.xml index 87285fa5d..a340e0213 100644 --- a/app/src/main/res/layout/fragment_single_upload.xml +++ b/app/src/main/res/layout/fragment_single_upload.xml @@ -1,73 +1,88 @@ - + android:paddingBottom="@dimen/small_gap" + android:paddingEnd="@dimen/standard_gap" + android:paddingLeft="@dimen/standard_gap" + android:paddingRight="@dimen/standard_gap" + android:paddingStart="@dimen/standard_gap" + android:paddingTop="@dimen/small_gap" + android:theme="@style/DarkAppTheme"> - + android:layout_gravity="fill" + android:orientation="vertical"> - + - + + -