Merge remote-tracking branch 'refs/remotes/origin/2.6.7-release'

This commit is contained in:
misaochan 2018-02-01 01:48:57 +10:00
commit 6dee869027
3 changed files with 20 additions and 8 deletions

View file

@ -1,5 +1,8 @@
# Wikimedia Commons for Android
## v2.6.7
- Added null checks to prevent frequent crashes in ModificationsSyncAdapter
## v2.6.6
- Refactored Dagger to fix crashes encountered in production
- Fixed "?" displaying in description of Nearby places

View file

@ -83,8 +83,8 @@ android {
defaultConfig {
applicationId 'fr.free.nrw.commons'
versionCode 81
versionName '2.6.6'
versionCode 82
versionName '2.6.7'
setProperty("archivesBaseName", "app-commons-v$versionName-" + getBranchName())
minSdkVersion project.minSdkVersion

View file

@ -92,22 +92,31 @@ public class ModificationsSyncAdapter extends AbstractThreadedSyncAdapter {
while (!allModifications.isAfterLast()) {
ModifierSequence sequence = modifierSequenceDao.fromCursor(allModifications);
Contribution contrib;
Cursor contributionCursor;
if (contributionsClient == null) {
Timber.e("ContributionsClient is null. This should not happen!");
return;
}
try {
contributionCursor = contributionsClient.query(sequence.getMediaUri(), null, null, null, null);
} catch (RemoteException e) {
throw new RuntimeException(e);
}
contributionCursor.moveToFirst();
if (contributionCursor != null) {
contributionCursor.moveToFirst();
}
contrib = contributionDao.fromCursor(contributionCursor);
if (contrib.getState() == Contribution.STATE_COMPLETED) {
if (contrib != null && contrib.getState() == Contribution.STATE_COMPLETED) {
String pageContent;
try {
pageContent = mwApi.revisionsByFilename(contrib.getFilename());
} catch (IOException e) {
Timber.d("Network fuckup on modifications sync!");
Timber.d("Network messed up on modifications sync!");
continue;
}
@ -118,13 +127,13 @@ public class ModificationsSyncAdapter extends AbstractThreadedSyncAdapter {
try {
editResult = mwApi.edit(editToken, processedPageContent, contrib.getFilename(), sequence.getEditSummary());
} catch (IOException e) {
Timber.d("Network fuckup on modifications sync!");
Timber.d("Network messed up on modifications sync!");
continue;
}
Timber.d("Response is %s", editResult);
if (!editResult.equals("Success")) {
if (!"Success".equals(editResult)) {
// FIXME: Log this somewhere else
Timber.d("Non success result! %s", editResult);
} else {