aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/ml/docilealligator
diff options
context:
space:
mode:
authorAlex Ning <chineseperson5@gmail.com>2020-11-11 10:02:52 +0000
committerAlex Ning <chineseperson5@gmail.com>2020-11-11 10:02:52 +0000
commitaa8d0c49c18cf2e6b44f4ee9424742862f101825 (patch)
treed8ad8b86d1df1e6c43e1d76b2cb18b8a02cb1501 /app/src/main/java/ml/docilealligator
parent441458b8b2ddae573bc5b473b46765c33e6feb56 (diff)
downloadinfinity-for-reddit-aa8d0c49c18cf2e6b44f4ee9424742862f101825.tar
infinity-for-reddit-aa8d0c49c18cf2e6b44f4ee9424742862f101825.tar.gz
infinity-for-reddit-aa8d0c49c18cf2e6b44f4ee9424742862f101825.tar.bz2
infinity-for-reddit-aa8d0c49c18cf2e6b44f4ee9424742862f101825.tar.lz
infinity-for-reddit-aa8d0c49c18cf2e6b44f4ee9424742862f101825.tar.xz
infinity-for-reddit-aa8d0c49c18cf2e6b44f4ee9424742862f101825.tar.zst
infinity-for-reddit-aa8d0c49c18cf2e6b44f4ee9424742862f101825.zip
Add an option to preview markdown in several activitys.
Diffstat (limited to 'app/src/main/java/ml/docilealligator')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CommentActivity.java104
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditCommentActivity.java6
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditPostActivity.java6
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Activity/FullMarkdownActivity.java (renamed from app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CommentFullMarkdownActivity.java)6
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostTextActivity.java88
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/MarkdownBottomBarRecyclerViewAdapter.java3
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/BottomSheetFragment/CommentMoreBottomSheetFragment.java8
8 files changed, 122 insertions, 103 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CommentActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CommentActivity.java
index 66043919..31e0a35f 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CommentActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CommentActivity.java
@@ -327,60 +327,64 @@ public class CommentActivity extends BaseActivity {
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- onBackPressed();
- return true;
- case R.id.action_send_comment_activity:
- if (!isSubmitting) {
- isSubmitting = true;
- if (commentEditText.getText() == null || commentEditText.getText().toString().equals("")) {
- isSubmitting = false;
- Snackbar.make(coordinatorLayout, R.string.comment_content_required, Snackbar.LENGTH_SHORT).show();
- return true;
- }
+ int itemId = item.getItemId();
+ if (itemId == android.R.id.home) {
+ onBackPressed();
+ return true;
+ } else if (itemId == R.id.action_preview_comment_activity) {
+ Intent intent = new Intent(this, FullMarkdownActivity.class);
+ intent.putExtra(FullMarkdownActivity.EXTRA_COMMENT_MARKDOWN, commentEditText.getText().toString());
+ startActivity(intent);
+ } else if (itemId == R.id.action_send_comment_activity) {
+ if (!isSubmitting) {
+ isSubmitting = true;
+ if (commentEditText.getText() == null || commentEditText.getText().toString().equals("")) {
+ isSubmitting = false;
+ Snackbar.make(coordinatorLayout, R.string.comment_content_required, Snackbar.LENGTH_SHORT).show();
+ return true;
+ }
- item.setEnabled(false);
- item.getIcon().setAlpha(130);
- Snackbar sendingSnackbar = Snackbar.make(coordinatorLayout, R.string.sending_comment, Snackbar.LENGTH_INDEFINITE);
- sendingSnackbar.show();
-
- SendComment.sendComment(commentEditText.getText().toString(), parentFullname, parentDepth,
- getResources().getConfiguration().locale, mOauthRetrofit,
- mAccessToken,
- new SendComment.SendCommentListener() {
- @Override
- public void sendCommentSuccess(Comment comment) {
- isSubmitting = false;
- item.setEnabled(true);
- item.getIcon().setAlpha(255);
- Toast.makeText(CommentActivity.this, R.string.send_comment_success, Toast.LENGTH_SHORT).show();
- Intent returnIntent = new Intent();
- returnIntent.putExtra(RETURN_EXTRA_COMMENT_DATA_KEY, comment);
- returnIntent.putExtra(EXTRA_PARENT_FULLNAME_KEY, parentFullname);
- if (isReplying) {
- returnIntent.putExtra(EXTRA_PARENT_POSITION_KEY, parentPosition);
- }
- setResult(RESULT_OK, returnIntent);
- finish();
+ item.setEnabled(false);
+ item.getIcon().setAlpha(130);
+ Snackbar sendingSnackbar = Snackbar.make(coordinatorLayout, R.string.sending_comment, Snackbar.LENGTH_INDEFINITE);
+ sendingSnackbar.show();
+
+ SendComment.sendComment(commentEditText.getText().toString(), parentFullname, parentDepth,
+ getResources().getConfiguration().locale, mOauthRetrofit,
+ mAccessToken,
+ new SendComment.SendCommentListener() {
+ @Override
+ public void sendCommentSuccess(Comment comment) {
+ isSubmitting = false;
+ item.setEnabled(true);
+ item.getIcon().setAlpha(255);
+ Toast.makeText(CommentActivity.this, R.string.send_comment_success, Toast.LENGTH_SHORT).show();
+ Intent returnIntent = new Intent();
+ returnIntent.putExtra(RETURN_EXTRA_COMMENT_DATA_KEY, comment);
+ returnIntent.putExtra(EXTRA_PARENT_FULLNAME_KEY, parentFullname);
+ if (isReplying) {
+ returnIntent.putExtra(EXTRA_PARENT_POSITION_KEY, parentPosition);
}
+ setResult(RESULT_OK, returnIntent);
+ finish();
+ }
+
+ @Override
+ public void sendCommentFailed(@Nullable String errorMessage) {
+ isSubmitting = false;
+ sendingSnackbar.dismiss();
+ item.setEnabled(true);
+ item.getIcon().setAlpha(255);
- @Override
- public void sendCommentFailed(@Nullable String errorMessage) {
- isSubmitting = false;
- sendingSnackbar.dismiss();
- item.setEnabled(true);
- item.getIcon().setAlpha(255);
-
- if (errorMessage == null || !errorMessage.equals("")) {
- Snackbar.make(coordinatorLayout, R.string.send_comment_failed, Snackbar.LENGTH_SHORT).show();
- } else {
- Snackbar.make(coordinatorLayout, errorMessage, Snackbar.LENGTH_SHORT).show();
- }
+ if (errorMessage == null || !errorMessage.equals("")) {
+ Snackbar.make(coordinatorLayout, R.string.send_comment_failed, Snackbar.LENGTH_SHORT).show();
+ } else {
+ Snackbar.make(coordinatorLayout, errorMessage, Snackbar.LENGTH_SHORT).show();
}
- });
- }
- return true;
+ }
+ });
+ }
+ return true;
}
return false;
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditCommentActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditCommentActivity.java
index b18618cf..14c875be 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditCommentActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditCommentActivity.java
@@ -156,7 +156,11 @@ public class EditCommentActivity extends BaseActivity {
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
- if (item.getItemId() == R.id.action_send_edit_comment_activity) {
+ if (item.getItemId() == R.id.action_preview_edit_comment_activity) {
+ Intent intent = new Intent(this, FullMarkdownActivity.class);
+ intent.putExtra(FullMarkdownActivity.EXTRA_COMMENT_MARKDOWN, contentEditText.getText().toString());
+ startActivity(intent);
+ } else if (item.getItemId() == R.id.action_send_edit_comment_activity) {
if (!isSubmitting) {
isSubmitting = true;
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditPostActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditPostActivity.java
index 18e997ed..a773a386 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditPostActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditPostActivity.java
@@ -167,7 +167,11 @@ public class EditPostActivity extends BaseActivity {
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
- if (item.getItemId() == R.id.action_send_edit_post_activity) {
+ if (item.getItemId() == R.id.action_preview_edit_post_activity) {
+ Intent intent = new Intent(this, FullMarkdownActivity.class);
+ intent.putExtra(FullMarkdownActivity.EXTRA_COMMENT_MARKDOWN, contentEditText.getText().toString());
+ startActivity(intent);
+ } else if (item.getItemId() == R.id.action_send_edit_post_activity) {
if (!isSubmitting) {
isSubmitting = true;
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CommentFullMarkdownActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/FullMarkdownActivity.java
index 9d8f1f6f..5b262503 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CommentFullMarkdownActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/FullMarkdownActivity.java
@@ -55,7 +55,7 @@ import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.Utils.SharedPreferencesUtils;
-public class CommentFullMarkdownActivity extends BaseActivity {
+public class FullMarkdownActivity extends BaseActivity {
public static final String EXTRA_COMMENT_MARKDOWN = "ECM";
public static final String EXTRA_IS_NSFW = "EIN";
@@ -184,7 +184,7 @@ public class CommentFullMarkdownActivity extends BaseActivity {
@Override
public void configureConfiguration(@NonNull MarkwonConfiguration.Builder builder) {
builder.linkResolver((view, link) -> {
- Intent intent = new Intent(CommentFullMarkdownActivity.this, LinkResolverActivity.class);
+ Intent intent = new Intent(FullMarkdownActivity.this, LinkResolverActivity.class);
Uri uri = Uri.parse(link);
if (uri.getScheme() == null && uri.getHost() == null) {
intent.setData(LinkResolverActivity.getRedditUriByPath(link));
@@ -260,7 +260,7 @@ public class CommentFullMarkdownActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
- coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getCommentBackgroundColor());
+ coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
}
} \ No newline at end of file
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostTextActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostTextActivity.java
index de7bc72c..1ebdab2c 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostTextActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostTextActivity.java
@@ -414,57 +414,61 @@ public class PostTextActivity extends BaseActivity implements FlairBottomSheetFr
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- if (isPosting) {
- promptAlertDialog(R.string.exit_when_submit, R.string.exit_when_submit_post_detail);
- return true;
- } else {
- if (!titleEditText.getText().toString().equals("") || !contentEditText.getText().toString().equals("")) {
- promptAlertDialog(R.string.discard, R.string.discard_detail);
- return true;
- }
- }
- finish();
+ int itemId = item.getItemId();
+ if (itemId == android.R.id.home) {
+ if (isPosting) {
+ promptAlertDialog(R.string.exit_when_submit, R.string.exit_when_submit_post_detail);
return true;
- case R.id.action_send_post_text_activity:
- if (!subredditSelected) {
- Snackbar.make(coordinatorLayout, R.string.select_a_subreddit, Snackbar.LENGTH_SHORT).show();
- return true;
- }
-
- if (titleEditText.getText() == null || titleEditText.getText().toString().equals("")) {
- Snackbar.make(coordinatorLayout, R.string.title_required, Snackbar.LENGTH_SHORT).show();
+ } else {
+ if (!titleEditText.getText().toString().equals("") || !contentEditText.getText().toString().equals("")) {
+ promptAlertDialog(R.string.discard, R.string.discard_detail);
return true;
}
+ }
+ finish();
+ return true;
+ } else if (itemId == R.id.action_preview_post_text_activity) {
+ Intent intent = new Intent(this, FullMarkdownActivity.class);
+ intent.putExtra(FullMarkdownActivity.EXTRA_COMMENT_MARKDOWN, contentEditText.getText().toString());
+ startActivity(intent);
+ } else if (itemId == R.id.action_send_post_text_activity) {
+ if (!subredditSelected) {
+ Snackbar.make(coordinatorLayout, R.string.select_a_subreddit, Snackbar.LENGTH_SHORT).show();
+ return true;
+ }
- isPosting = true;
+ if (titleEditText.getText() == null || titleEditText.getText().toString().equals("")) {
+ Snackbar.make(coordinatorLayout, R.string.title_required, Snackbar.LENGTH_SHORT).show();
+ return true;
+ }
- item.setEnabled(false);
- item.getIcon().setAlpha(130);
+ isPosting = true;
- mPostingSnackbar.show();
+ item.setEnabled(false);
+ item.getIcon().setAlpha(130);
- String subredditName;
- if (subredditIsUser) {
- subredditName = "u_" + subredditNameTextView.getText().toString();
- } else {
- subredditName = subredditNameTextView.getText().toString();
- }
+ mPostingSnackbar.show();
- Intent intent = new Intent(this, SubmitPostService.class);
- intent.putExtra(SubmitPostService.EXTRA_ACCESS_TOKEN, mAccessToken);
- intent.putExtra(SubmitPostService.EXTRA_SUBREDDIT_NAME, subredditName);
- intent.putExtra(SubmitPostService.EXTRA_TITLE, titleEditText.getText().toString());
- intent.putExtra(SubmitPostService.EXTRA_CONTENT, contentEditText.getText().toString());
- intent.putExtra(SubmitPostService.EXTRA_KIND, APIUtils.KIND_SELF);
- intent.putExtra(SubmitPostService.EXTRA_FLAIR, flair);
- intent.putExtra(SubmitPostService.EXTRA_IS_SPOILER, isSpoiler);
- intent.putExtra(SubmitPostService.EXTRA_IS_NSFW, isNSFW);
- intent.putExtra(SubmitPostService.EXTRA_POST_TYPE, SubmitPostService.EXTRA_POST_TEXT_OR_LINK);
- startService(intent);
+ String subredditName;
+ if (subredditIsUser) {
+ subredditName = "u_" + subredditNameTextView.getText().toString();
+ } else {
+ subredditName = subredditNameTextView.getText().toString();
+ }
- return true;
+ Intent intent = new Intent(this, SubmitPostService.class);
+ intent.putExtra(SubmitPostService.EXTRA_ACCESS_TOKEN, mAccessToken);
+ intent.putExtra(SubmitPostService.EXTRA_SUBREDDIT_NAME, subredditName);
+ intent.putExtra(SubmitPostService.EXTRA_TITLE, titleEditText.getText().toString());
+ intent.putExtra(SubmitPostService.EXTRA_CONTENT, contentEditText.getText().toString());
+ intent.putExtra(SubmitPostService.EXTRA_KIND, APIUtils.KIND_SELF);
+ intent.putExtra(SubmitPostService.EXTRA_FLAIR, flair);
+ intent.putExtra(SubmitPostService.EXTRA_IS_SPOILER, isSpoiler);
+ intent.putExtra(SubmitPostService.EXTRA_IS_NSFW, isNSFW);
+ intent.putExtra(SubmitPostService.EXTRA_POST_TYPE, SubmitPostService.EXTRA_POST_TEXT_OR_LINK);
+ startService(intent);
+
+ return true;
}
return false;
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/MarkdownBottomBarRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/MarkdownBottomBarRecyclerViewAdapter.java
index 73d149b1..e8d2362a 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/MarkdownBottomBarRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/MarkdownBottomBarRecyclerViewAdapter.java
@@ -134,6 +134,9 @@ public class MarkdownBottomBarRecyclerViewAdapter extends RecyclerView.Adapter<R
-> {
String text = textEditText.getText().toString();
String link = linkEditText.getText().toString();
+ if (text.equals("")) {
+ text = link;
+ }
commentEditText.getText().replace(Math.min(start, end), Math.max(start, end),
"[" + text + "](" + link + ")", 0, "[]()".length() + text.length() + link.length());
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java b/app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java
index 6fc0c4b8..8fc499cb 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/AppComponent.java
@@ -6,7 +6,7 @@ import dagger.Component;
import ml.docilealligator.infinityforreddit.Activity.AccountPostsActivity;
import ml.docilealligator.infinityforreddit.Activity.AccountSavedThingActivity;
import ml.docilealligator.infinityforreddit.Activity.CommentActivity;
-import ml.docilealligator.infinityforreddit.Activity.CommentFullMarkdownActivity;
+import ml.docilealligator.infinityforreddit.Activity.FullMarkdownActivity;
import ml.docilealligator.infinityforreddit.Activity.CreateMultiRedditActivity;
import ml.docilealligator.infinityforreddit.Activity.CustomThemeListingActivity;
import ml.docilealligator.infinityforreddit.Activity.CustomThemePreviewActivity;
@@ -208,7 +208,7 @@ public interface AppComponent {
void inject(SubmitCrosspostActivity submitCrosspostActivity);
- void inject(CommentFullMarkdownActivity commentFullMarkdownActivity);
+ void inject(FullMarkdownActivity fullMarkdownActivity);
void inject(SelectUserFlairActivity selectUserFlairActivity);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/BottomSheetFragment/CommentMoreBottomSheetFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/BottomSheetFragment/CommentMoreBottomSheetFragment.java
index e105ff80..198a9965 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/BottomSheetFragment/CommentMoreBottomSheetFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/BottomSheetFragment/CommentMoreBottomSheetFragment.java
@@ -21,7 +21,7 @@ import com.deishelon.roundedbottomsheet.RoundedBottomSheetDialogFragment;
import butterknife.BindView;
import butterknife.ButterKnife;
-import ml.docilealligator.infinityforreddit.Activity.CommentFullMarkdownActivity;
+import ml.docilealligator.infinityforreddit.Activity.FullMarkdownActivity;
import ml.docilealligator.infinityforreddit.Activity.EditCommentActivity;
import ml.docilealligator.infinityforreddit.Activity.GiveAwardActivity;
import ml.docilealligator.infinityforreddit.Activity.ReportActivity;
@@ -155,9 +155,9 @@ public class CommentMoreBottomSheetFragment extends RoundedBottomSheetDialogFrag
});
viewFullMarkdownTextView.setOnClickListener(view -> {
- Intent intent = new Intent(activity, CommentFullMarkdownActivity.class);
- intent.putExtra(CommentFullMarkdownActivity.EXTRA_IS_NSFW, bundle.getBoolean(EXTRA_IS_NSFW, false));
- intent.putExtra(CommentFullMarkdownActivity.EXTRA_COMMENT_MARKDOWN, bundle.getString(EXTRA_COMMENT_MARKDOWN, ""));
+ Intent intent = new Intent(activity, FullMarkdownActivity.class);
+ intent.putExtra(FullMarkdownActivity.EXTRA_IS_NSFW, bundle.getBoolean(EXTRA_IS_NSFW, false));
+ intent.putExtra(FullMarkdownActivity.EXTRA_COMMENT_MARKDOWN, bundle.getString(EXTRA_COMMENT_MARKDOWN, ""));
activity.startActivity(intent);
dismiss();