Skip to content

Commit b49071a

Browse files
authored
Development (#271)
* fix new on 1ramp section and fix user profile image cache invalidation (#264) * Fix/image sharing crash (#265) * fix image sharing from other apps crash * fix notification subscription topic * fix content create button apperance to non-allowed users (#268) * fix image rotation issue in participation page (#270) * fix travis build failure
1 parent f1760f1 commit b49071a

4 files changed

Lines changed: 73 additions & 40 deletions

File tree

app/src/main/java/com/hapramp/ui/activity/CreateArticleActivity.java

Lines changed: 35 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.hapramp.utils.ConnectionUtils;
3434
import com.hapramp.utils.Constants;
3535
import com.hapramp.utils.GoogleImageFilePathReader;
36+
import com.hapramp.utils.ImageRotationHandler;
3637
import com.hapramp.utils.MomentsUtils;
3738
import com.hapramp.utils.PostHashTagPreprocessor;
3839
import com.hapramp.views.editor.LinkInsertDialog;
@@ -51,7 +52,7 @@
5152

5253
import static xute.markdeditor.Styles.TextComponentStyle.NORMAL;
5354

54-
public class CreateArticleActivity extends AppCompatActivity implements SteemPostCreator.SteemPostCreatorCallback, EditorControlBar.EditorControlListener, DraftsHelper.DraftsHelperCallback {
55+
public class CreateArticleActivity extends AppCompatActivity implements SteemPostCreator.SteemPostCreatorCallback, EditorControlBar.EditorControlListener, DraftsHelper.DraftsHelperCallback, ImageRotationHandler.ImageRotationOperationListner {
5556
public static final String EXTRA_KEY_DRAFT_ID = "draftId";
5657
public static final String EXTRA_KEY_DRAFT_JSON = "draftJson";
5758
private static final int REQUEST_IMAGE_SELECTOR = 119;
@@ -100,6 +101,8 @@ public class CreateArticleActivity extends AppCompatActivity implements SteemPos
100101
private boolean leftActivityWithPurpose = false;
101102

102103
private boolean shouldSaveOrUpdateDraft = true;
104+
private ImageRotationHandler imageRotationHandler;
105+
private Handler handler;
103106

104107
@Override
105108
protected void onCreate(Bundle savedInstanceState) {
@@ -112,7 +115,10 @@ protected void onCreate(Bundle savedInstanceState) {
112115
}
113116

114117
private void init() {
118+
handler = new Handler();
115119
draftsHelper = new DraftsHelper();
120+
imageRotationHandler = new ImageRotationHandler(this);
121+
imageRotationHandler.setImageRotationOperationListner(this);
116122
draftsHelper.setDraftsHelperCallback(this);
117123
progressDialog = new ProgressDialog(this);
118124
articleCategoryView.initCategory();
@@ -332,14 +338,6 @@ private boolean checkValidSaveOption(DraftModel draftModel) {
332338
return false;
333339
}
334340

335-
private void updateDraft() {
336-
DraftModel draftModel = markDEditor.getDraft();
337-
String draftTitle = articleTitleEt.getText().toString();
338-
draftModel.setDraftTitle(draftTitle);
339-
draftModel.setDraftId(mDraftId);
340-
draftsHelper.updateBlogDraft(draftModel);
341-
}
342-
343341
private void closeEditor() {
344342
showProgressDialog(false, "");
345343
AnalyticsUtil.logEvent(AnalyticsParams.EVENT_CREATE_ARTICLE);
@@ -351,6 +349,14 @@ public void run() {
351349
}, 1000);
352350
}
353351

352+
private void updateDraft() {
353+
DraftModel draftModel = markDEditor.getDraft();
354+
String draftTitle = articleTitleEt.getText().toString();
355+
draftModel.setDraftTitle(draftTitle);
356+
draftModel.setDraftId(mDraftId);
357+
draftsHelper.updateBlogDraft(draftModel);
358+
}
359+
354360
private void toast(String s) {
355361
Toast.makeText(this, s, Toast.LENGTH_LONG).show();
356362
}
@@ -390,25 +396,11 @@ private void handleImageResult(final Intent intent) {
390396
@Override
391397
public void run() {
392398
final String filePath = GoogleImageFilePathReader.getImageFilePath(CreateArticleActivity.this, intent);
393-
handler.post(new Runnable() {
394-
@Override
395-
public void run() {
396-
addImage(filePath);
397-
}
398-
});
399+
imageRotationHandler.checkOrientationAndFixImage(filePath, 0);
399400
}
400401
}.start();
401402
}
402403

403-
public void addImage(String filePath) {
404-
try {
405-
markDEditor.insertImage(filePath);
406-
}
407-
catch (Exception e) {
408-
e.printStackTrace();
409-
}
410-
}
411-
412404
@Override
413405
public void onBackPressed() {
414406
showExistAlert();
@@ -527,4 +519,23 @@ public void onDraftUpdated(boolean success) {
527519
public void onDraftDeleted(boolean success) {
528520

529521
}
522+
523+
@Override
524+
public void onImageRotationFixed(final String filePath, boolean fileShouldBeDeleted, long uid) {
525+
handler.post(new Runnable() {
526+
@Override
527+
public void run() {
528+
addImage(filePath);
529+
}
530+
});
531+
}
532+
533+
public void addImage(String filePath) {
534+
try {
535+
markDEditor.insertImage(filePath);
536+
}
537+
catch (Exception e) {
538+
e.printStackTrace();
539+
}
540+
}
530541
}

app/src/main/java/com/hapramp/ui/activity/ParticipateEditorActivity.java

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@
3535
import com.hapramp.api.URLS;
3636
import com.hapramp.models.CompetitionEntryConfirmationBody;
3737
import com.hapramp.models.CompetitionEntryResponse;
38-
import com.hapramp.notification.NotificationSubscriber;
3938
import com.hapramp.preferences.HaprampPreferenceManager;
4039
import com.hapramp.steem.PermlinkGenerator;
4140
import com.hapramp.steem.SteemPostCreator;
4241
import com.hapramp.utils.ConnectionUtils;
4342
import com.hapramp.utils.Constants;
4443
import com.hapramp.utils.GoogleImageFilePathReader;
44+
import com.hapramp.utils.ImageRotationHandler;
4545
import com.hapramp.utils.MomentsUtils;
4646
import com.hapramp.utils.PostHashTagPreprocessor;
4747
import com.hapramp.views.editor.LinkInsertDialog;
@@ -61,7 +61,7 @@
6161

6262
import static xute.markdeditor.Styles.TextComponentStyle.NORMAL;
6363

64-
public class ParticipateEditorActivity extends AppCompatActivity implements EditorControlBar.EditorControlListener, SteemPostCreator.SteemPostCreatorCallback {
64+
public class ParticipateEditorActivity extends AppCompatActivity implements EditorControlBar.EditorControlListener, SteemPostCreator.SteemPostCreatorCallback, ImageRotationHandler.ImageRotationOperationListner {
6565

6666
public static final String EXTRA_COMPETITION_ID = "competition_id";
6767
public static final String EXTRA_COMPETITION_TITLE = "competition_title";
@@ -112,6 +112,8 @@ public class ParticipateEditorActivity extends AppCompatActivity implements Edit
112112
private String mCompetitionHashtag;
113113
private String mCompetitionId;
114114
private String mCompetitionTitle;
115+
private ImageRotationHandler imageRotationHandler;
116+
private Handler handler;
115117

116118
@Override
117119
protected void onCreate(Bundle savedInstanceState) {
@@ -134,7 +136,10 @@ private void collectCompetitionExtras() {
134136
}
135137

136138
private void init() {
139+
handler = new Handler();
137140
progressDialog = new ProgressDialog(this);
141+
imageRotationHandler = new ImageRotationHandler(this);
142+
imageRotationHandler.setImageRotationOperationListner(this);
138143
articleCategoryView.initCategory();
139144
setContestInfo();
140145
editorControlBar.setEditorControlListener(this);
@@ -429,25 +434,15 @@ private void openGallery() {
429434
}
430435

431436
private void handleImageResult(final Intent intent) {
432-
final Handler handler = new Handler();
433437
new Thread() {
434438
@Override
435439
public void run() {
436440
final String filePath = GoogleImageFilePathReader.getImageFilePath(ParticipateEditorActivity.this, intent);
437-
handler.post(new Runnable() {
438-
@Override
439-
public void run() {
440-
addImage(filePath);
441-
}
442-
});
441+
imageRotationHandler.checkOrientationAndFixImage(filePath, 0);
443442
}
444443
}.start();
445444
}
446445

447-
public void addImage(String filePath) {
448-
markDEditor.insertImage(filePath);
449-
}
450-
451446
@Override
452447
public void onInsertImageClicked() {
453448
openGallery();
@@ -473,4 +468,18 @@ public void onLinkAdded(String text, String link) {
473468
public void onPointerCaptureChanged(boolean hasCapture) {
474469

475470
}
471+
472+
@Override
473+
public void onImageRotationFixed(final String filePath, boolean fileShouldBeDeleted, long uid) {
474+
handler.post(new Runnable() {
475+
@Override
476+
public void run() {
477+
addImage(filePath);
478+
}
479+
});
480+
}
481+
482+
public void addImage(String filePath) {
483+
markDEditor.insertImage(filePath);
484+
}
476485
}

app/src/main/java/com/hapramp/utils/FilePathUtils.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import android.annotation.TargetApi;
55
import android.content.ContentUris;
66
import android.content.Context;
7+
import android.database.Cursor;
78
import android.net.Uri;
89
import android.os.Build;
910
import android.os.Environment;
@@ -126,11 +127,25 @@ public static String getDataColumn(Context context,
126127
Uri uri,
127128
String selection,
128129
String[] selectionArgs) {
130+
Cursor cursor = null;
131+
final String column = "_data";
132+
final String[] projection = {column};
129133
try {
130-
returnPathAferSavingFile(context, uri);
134+
cursor = context.getContentResolver().query(uri, projection,
135+
selection, selectionArgs, null);
136+
if (cursor != null && cursor.moveToFirst()) {
137+
final int index = cursor.getColumnIndexOrThrow(column);
138+
String col = cursor.getString(index);
139+
if (col != null) {
140+
return col;
141+
} else {
142+
returnPathAferSavingFile(context, uri);
143+
}
144+
}
131145
}
132146
catch (Exception e) {
133147
e.printStackTrace();
148+
returnPathAferSavingFile(context, uri);
134149
}
135150
return nopath;
136151
}

app/src/main/java/com/hapramp/utils/ImageRotationHandler.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
import android.graphics.BitmapFactory;
66
import android.graphics.Matrix;
77
import android.media.ExifInterface;
8-
import android.util.Log;
9-
108
import java.io.File;
119
import java.io.FileOutputStream;
1210
import java.io.IOException;

0 commit comments

Comments
 (0)