From eb80cfb5cddba61c9cc61d75e09ef3dae8521cec Mon Sep 17 00:00:00 2001 From: Kosh Date: Wed, 10 May 2017 21:01:27 +0800 Subject: [PATCH 1/2] this commit adds issue/pr number to feeds comment, enhance signature by adding fasthub as a link, removed link underline and fixes commit comment update. --- .../provider/markdown/MarkDownProvider.java | 1 + .../provider/timeline/HtmlHelper.java | 2 ++ .../timeline/handler/LinkHandler.java | 23 ++++++++++++ .../adapter/viewholder/FeedsViewHolder.java | 10 ++++-- .../adapter/viewholder/IssuesViewHolder.java | 28 ++++++++++++--- .../ui/modules/editor/EditorActivity.java | 29 +++++++-------- .../comments/CommitCommentsFragments.java | 18 +++++----- .../ui/modules/splash/SplashActivity.java | 35 +++++++++---------- .../fastaccess/ui/widgets/AvatarLayout.java | 1 - app/src/main/res/values/strings.xml | 2 +- 10 files changed, 97 insertions(+), 52 deletions(-) create mode 100644 app/src/main/java/com/fastaccess/provider/timeline/handler/LinkHandler.java diff --git a/app/src/main/java/com/fastaccess/provider/markdown/MarkDownProvider.java b/app/src/main/java/com/fastaccess/provider/markdown/MarkDownProvider.java index 18488384..2797a6b0 100644 --- a/app/src/main/java/com/fastaccess/provider/markdown/MarkDownProvider.java +++ b/app/src/main/java/com/fastaccess/provider/markdown/MarkDownProvider.java @@ -3,6 +3,7 @@ package com.fastaccess.provider.markdown; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.webkit.MimeTypeMap; +import android.widget.CheckBox; import android.widget.EditText; import android.widget.TextView; diff --git a/app/src/main/java/com/fastaccess/provider/timeline/HtmlHelper.java b/app/src/main/java/com/fastaccess/provider/timeline/HtmlHelper.java index 088710bc..a8637fed 100644 --- a/app/src/main/java/com/fastaccess/provider/timeline/HtmlHelper.java +++ b/app/src/main/java/com/fastaccess/provider/timeline/HtmlHelper.java @@ -16,6 +16,7 @@ import com.fastaccess.provider.scheme.SchemeParser; import com.fastaccess.provider.timeline.handler.BetterLinkMovementExtended; import com.fastaccess.provider.timeline.handler.DrawableHandler; import com.fastaccess.provider.timeline.handler.ItalicHandler; +import com.fastaccess.provider.timeline.handler.LinkHandler; import com.fastaccess.provider.timeline.handler.ListsHandler; import com.fastaccess.provider.timeline.handler.MarginHandler; import com.fastaccess.provider.timeline.handler.PreTagHandler; @@ -73,6 +74,7 @@ public class HtmlHelper { mySpanner.registerHandler("del", new StrikethroughHandler()); mySpanner.registerHandler("sub", new SubScriptHandler()); mySpanner.registerHandler("sup", new SuperScriptHandler()); + mySpanner.registerHandler("a", new LinkHandler()); TableHandler tableHandler = new TableHandler(); tableHandler.setTextColor(ViewHelper.generateTextColor(windowBackground)); WindowManager windowManager = (WindowManager) textView.getContext().getSystemService(Context.WINDOW_SERVICE); diff --git a/app/src/main/java/com/fastaccess/provider/timeline/handler/LinkHandler.java b/app/src/main/java/com/fastaccess/provider/timeline/handler/LinkHandler.java new file mode 100644 index 00000000..469f584f --- /dev/null +++ b/app/src/main/java/com/fastaccess/provider/timeline/handler/LinkHandler.java @@ -0,0 +1,23 @@ +package com.fastaccess.provider.timeline.handler; + +import android.graphics.Color; +import android.text.SpannableStringBuilder; + +import com.zzhoujay.markdown.style.LinkSpan; + +import net.nightwhistler.htmlspanner.TagNodeHandler; + +import org.htmlcleaner.TagNode; + +/** + * Created by Kosh on 10 May 2017, 8:46 PM + */ + +public class LinkHandler extends TagNodeHandler { + private final static int linkColor = Color.parseColor("#4078C0"); + + @Override public void handleTagNode(TagNode node, SpannableStringBuilder spannableStringBuilder, int start, int end) { + String href = node.getAttributeByName("href"); + spannableStringBuilder.setSpan(new LinkSpan(href, linkColor), start, end, 33); + } +} diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/FeedsViewHolder.java b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/FeedsViewHolder.java index ca5ce22b..d65f7651 100644 --- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/FeedsViewHolder.java +++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/FeedsViewHolder.java @@ -56,7 +56,7 @@ public class FeedsViewHolder extends BaseViewHolder { EventsType type = eventsModel.getType(); date.setGravity(Gravity.CENTER); date.setEventsIcon(type.getDrawableRes()); - String action = null; + String action; if (type == EventsType.WatchEvent) { action = itemView.getResources().getString(type.getType()).toLowerCase(); } else if (type == EventsType.PullRequestEvent) { @@ -115,6 +115,11 @@ public class FeedsViewHolder extends BaseViewHolder { if (eventsModel.getPayload().getComment() != null) { description.setText(eventsModel.getPayload().getComment().getBody()); description.setVisibility(View.VISIBLE); + if (eventsModel.getPayload().getIssue() != null) { + number = "#" + eventsModel.getPayload().getIssue().getNumber(); + } else if (eventsModel.getPayload().getPullRequest() != null) { + number = "#" + eventsModel.getPayload().getPullRequest().getNumber(); + } } else if (eventsModel.getPayload().getIssue() != null) { number = "#" + eventsModel.getPayload().getIssue().getNumber(); description.setText(eventsModel.getPayload().getIssue().getTitle()); @@ -131,7 +136,8 @@ public class FeedsViewHolder extends BaseViewHolder { description.setText(""); description.setVisibility(View.GONE); } - spannableBuilder.append(eventsModel.getRepo() != null ? eventsModel.getRepo().getName() : "").append(number); + spannableBuilder.append(eventsModel.getRepo() != null ? eventsModel.getRepo().getName() : "") + .append(number); title.setText(spannableBuilder); date.setText(ParseDateFormat.getTimeAgo(eventsModel.getCreatedAt())); } diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssuesViewHolder.java b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssuesViewHolder.java index 0b77ece2..0accbda9 100644 --- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssuesViewHolder.java +++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssuesViewHolder.java @@ -63,10 +63,23 @@ public class IssuesViewHolder extends BaseViewHolder { .append(" "); } if (!showRepoName) { - builder.append("#") - .append(String.valueOf(issueModel.getNumber())).append(" ") - .append(issueModel.getClosedBy() != null ? issueModel.getClosedBy().getLogin() : issueModel.getUser().getLogin()) - .append(" "); + if (issueModel.getState() == IssueState.closed) { + if (issueModel.getClosedBy() == null) { + builder.append("#") + .append(String.valueOf(issueModel.getNumber())).append(" ") + .append(" "); + } else { + builder.append("#") + .append(String.valueOf(issueModel.getNumber())).append(" ") + .append(issueModel.getClosedBy().getLogin()) + .append(" "); + } + } else { + builder.append("#") + .append(String.valueOf(issueModel.getNumber())).append(" ") + .append(issueModel.getUser().getLogin()) + .append(" "); + } } details.setText(builder .append(itemView.getResources().getString(issueModel.getState().getStatus()).toLowerCase()) @@ -80,6 +93,13 @@ public class IssuesViewHolder extends BaseViewHolder { } } if (withAvatar && avatarLayout != null) { + if (issueModel.getState() != null) { + if (issueModel.getState() == IssueState.open) { + + } else { + + } + } avatarLayout.setUrl(issueModel.getUser().getAvatarUrl(), issueModel.getUser().getLogin()); avatarLayout.setVisibility(View.VISIBLE); } diff --git a/app/src/main/java/com/fastaccess/ui/modules/editor/EditorActivity.java b/app/src/main/java/com/fastaccess/ui/modules/editor/EditorActivity.java index ac3b38ae..64eb0499 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/editor/EditorActivity.java +++ b/app/src/main/java/com/fastaccess/ui/modules/editor/EditorActivity.java @@ -28,7 +28,6 @@ import com.fastaccess.ui.widgets.ForegroundImageView; import com.fastaccess.ui.widgets.dialog.MessageDialogView; import butterknife.BindView; -import butterknife.OnCheckedChanged; import butterknife.OnClick; import butterknife.OnTextChanged; import icepick.State; @@ -40,6 +39,8 @@ import uk.co.samuelwall.materialtaptargetprompt.MaterialTapTargetPrompt; public class EditorActivity extends BaseActivity implements EditorMvp.View { + private String sentFromFastHub; + private CharSequence savedText = ""; @BindView(R.id.view) ForegroundImageView viewCode; @BindView(R.id.editText) FontEditText editText; @@ -83,8 +84,7 @@ public class EditorActivity extends BaseActivity
"+sentVia.getText().toString()+""); - commentModel.save(commentModel); intent.putExtras(Bundler.start() .put(BundleConstant.ITEM, commentModel) .put(BundleConstant.EXTRA, isNew) @@ -179,15 +178,13 @@ public class EditorActivity extends BaseActivityWatchers Reviewers No reviewers - Sent from my %1$s using %2$s + Sent from my %1$s using %2$s%3$s Enable Signature Enable sent via signature \ No newline at end of file From 25a587c618bd91d5dd0864dc08ad644fde2b50f6 Mon Sep 17 00:00:00 2001 From: Kosh Date: Wed, 10 May 2017 22:20:13 +0800 Subject: [PATCH 2/2] fixed signature where it should only be added if the text is not null. --- .../ui/adapter/viewholder/IssuesViewHolder.java | 7 ------- .../ui/modules/editor/EditorActivity.java | 2 +- .../ui/modules/splash/SplashActivity.java | 3 +-- .../ui/modules/splash/SplashActivityDark.java | 13 ++++++------- .../com/fastaccess/ui/widgets/AvatarLayout.java | 1 + 5 files changed, 9 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssuesViewHolder.java b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssuesViewHolder.java index 0accbda9..bb255cac 100644 --- a/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssuesViewHolder.java +++ b/app/src/main/java/com/fastaccess/ui/adapter/viewholder/IssuesViewHolder.java @@ -93,13 +93,6 @@ public class IssuesViewHolder extends BaseViewHolder { } } if (withAvatar && avatarLayout != null) { - if (issueModel.getState() != null) { - if (issueModel.getState() == IssueState.open) { - - } else { - - } - } avatarLayout.setUrl(issueModel.getUser().getAvatarUrl(), issueModel.getUser().getLogin()); avatarLayout.setVisibility(View.VISIBLE); } diff --git a/app/src/main/java/com/fastaccess/ui/modules/editor/EditorActivity.java b/app/src/main/java/com/fastaccess/ui/modules/editor/EditorActivity.java index 64eb0499..e83f4608 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/editor/EditorActivity.java +++ b/app/src/main/java/com/fastaccess/ui/modules/editor/EditorActivity.java @@ -180,7 +180,7 @@ public class EditorActivity extends BaseActivity