From 75889f530fc13ebcd58fb5fb0e9f053590650315 Mon Sep 17 00:00:00 2001 From: Kosh Date: Mon, 27 Feb 2017 12:00:59 +0800 Subject: [PATCH] removing gist from profile gist list when its deleted as mentioned in #19, removed handling view stuff from presenters in comments presenter. --- .../com/fastaccess/helper/PrefGetter.java | 7 +++++ .../ui/modules/editor/EditorView.java | 18 +++++++++-- .../ui/modules/gists/gist/GistMvp.java | 2 ++ .../ui/modules/gists/gist/GistPresenter.java | 4 +++ .../ui/modules/gists/gist/GistView.java | 7 +++++ .../gists/gist/comments/GistCommentsMvp.java | 5 --- .../gist/comments/GistCommentsPresenter.java | 25 --------------- .../gists/gist/comments/GistCommentsView.java | 24 +++++++++++++- .../profile/gists/ProfileGistsMvp.java | 2 ++ .../profile/gists/ProfileGistsPresenter.java | 3 +- .../profile/gists/ProfileGistsView.java | 22 ++++++++++--- .../details/comments/CommitCommentsMvp.java | 6 ---- .../comments/CommitCommentsPresenter.java | 31 ------------------- .../details/comments/CommitCommentsView.java | 24 +++++++++++++- .../details/comments/IssueCommentsMvp.java | 6 ---- .../comments/IssueCommentsPresenter.java | 30 ------------------ .../details/comments/IssueCommentsView.java | 24 +++++++++++++- .../recyclerview/BaseRecyclerAdapter.java | 2 ++ .../main_layouts/layout/editor_layout.xml | 2 +- app/src/main/res/values/strings.xml | 4 +++ 20 files changed, 132 insertions(+), 116 deletions(-) diff --git a/app/src/main/java/com/fastaccess/helper/PrefGetter.java b/app/src/main/java/com/fastaccess/helper/PrefGetter.java index 9a46744d..7cbd859c 100644 --- a/app/src/main/java/com/fastaccess/helper/PrefGetter.java +++ b/app/src/main/java/com/fastaccess/helper/PrefGetter.java @@ -14,6 +14,7 @@ public class PrefGetter { private static final String FILE_OPTION_GUIDE = "file_option_guide"; private static final String COMMENTS_GUIDE = "comments_guide"; private static final String REPO_GUIDE = "repo_guide"; + private static final String MARKDOWNDOWN_GUIDE = "markdowndown_guide"; public static void setToken(@NonNull String token) { PrefHelper.set(TOKEN, token); @@ -64,4 +65,10 @@ public class PrefGetter { PrefHelper.set(REPO_GUIDE, true); return isShowed; } + + public static boolean isEditorHintShowed() { + boolean isShowed = PrefHelper.getBoolean(MARKDOWNDOWN_GUIDE); + PrefHelper.set(MARKDOWNDOWN_GUIDE, true); + return isShowed; + } } diff --git a/app/src/main/java/com/fastaccess/ui/modules/editor/EditorView.java b/app/src/main/java/com/fastaccess/ui/modules/editor/EditorView.java index 0acb1861..22dd976a 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/editor/EditorView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/editor/EditorView.java @@ -12,6 +12,7 @@ import com.fastaccess.data.dao.CommentsModel; import com.fastaccess.helper.BundleConstant; import com.fastaccess.helper.Bundler; import com.fastaccess.helper.InputHelper; +import com.fastaccess.helper.PrefGetter; import com.fastaccess.helper.ViewHelper; import com.fastaccess.provider.markdown.MarkDownProvider; import com.fastaccess.ui.base.BaseActivity; @@ -23,6 +24,7 @@ import butterknife.BindView; import butterknife.OnClick; import butterknife.OnTextChanged; import icepick.State; +import uk.co.samuelwall.materialtaptargetprompt.MaterialTapTargetPrompt; /** * Created by Kosh on 27 Nov 2016, 1:32 AM @@ -83,7 +85,6 @@ public class EditorView extends BaseActivity im } } - @OnClick({R.id.headerOne, R.id.headerTwo, R.id.headerThree, R.id.bold, R.id.italic, R.id.strikethrough, R.id.bullet, R.id.header, R.id.code, R.id.numbered, R.id.quote, R.id.link, R.id.image}) void onActions(View v) { @@ -123,10 +124,21 @@ public class EditorView extends BaseActivity im issueNumber = bundle.getInt(BundleConstant.EXTRA_THREE); } commentId = bundle.getLong(BundleConstant.EXTRA_FOUR); - - editText.setText(bundle.getString(BundleConstant.EXTRA)); + String textToUpdate = bundle.getString(BundleConstant.EXTRA); + editText.setText(textToUpdate); + if (!InputHelper.isEmpty(textToUpdate)) { + editText.setSelection(InputHelper.toString(editText).length()); + } } } + if (!PrefGetter.isEditorHintShowed()) { + new MaterialTapTargetPrompt.Builder(this) + .setTarget(viewCode) + .setPrimaryText(R.string.view_code) + .setSecondaryText(R.string.click_to_toggle_highlighting) + .setCaptureTouchEventOutsidePrompt(true) + .show(); + } } @Override public void onSendResultAndFinish(@NonNull CommentsModel commentModel, boolean isNew) { diff --git a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/GistMvp.java b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/GistMvp.java index 5614c7e7..8626b281 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/GistMvp.java +++ b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/GistMvp.java @@ -29,6 +29,8 @@ interface GistMvp { @Nullable GistsModel getGist(); + @NonNull String gistId(); + void onActivityCreated(@Nullable Intent intent); void onDeleteGist(); diff --git a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/GistPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/GistPresenter.java index a344de3b..2dd28026 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/GistPresenter.java +++ b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/GistPresenter.java @@ -28,6 +28,10 @@ class GistPresenter extends BasePresenter implements GistMvp.Prese return gist; } + @NonNull @Override public String gistId() { + return gistId; + } + @SuppressWarnings("unchecked") @Override public void onActivityCreated(@Nullable Intent intent) { if (intent == null || intent.getExtras() == null) { return; diff --git a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/GistView.java b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/GistView.java index f4ca3f73..a740b99f 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/GistView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/GistView.java @@ -144,6 +144,13 @@ public class GistView extends BaseActivity @Override public void onSuccessDeleted() { hideProgress(); + if (getPresenter().getGist() != null) { + Intent intent = new Intent(); + GistsModel gistsModel = new GistsModel(); + gistsModel.setUrl(getPresenter().getGist().getUrl()); + intent.putExtras(Bundler.start().put(BundleConstant.ITEM, gistsModel).end()); + setResult(RESULT_OK, intent); + } finish(); } diff --git a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsMvp.java b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsMvp.java index 877d5fa9..80cdf3a7 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsMvp.java +++ b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsMvp.java @@ -1,6 +1,5 @@ package com.fastaccess.ui.modules.gists.gist.comments; -import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -9,10 +8,8 @@ import android.support.v4.widget.SwipeRefreshLayout; import com.fastaccess.data.dao.CommentsModel; import com.fastaccess.data.dao.UserModel; import com.fastaccess.provider.rest.loadmore.OnLoadMore; -import com.fastaccess.ui.adapter.CommentsAdapter; import com.fastaccess.ui.base.mvp.BaseMvp; import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder; -import com.fastaccess.ui.widgets.recyclerview.DynamicRecyclerView; import java.util.ArrayList; @@ -49,8 +46,6 @@ interface GistCommentsMvp { @NonNull ArrayList getComments(); - void onActivityResult(int requestCode, int resultCode, @Nullable Intent data, - @NonNull DynamicRecyclerView recycler, @NonNull CommentsAdapter adapter); void onHandleDeletion(@Nullable Bundle bundle); diff --git a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsPresenter.java index 382febd9..864cd980 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsPresenter.java +++ b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsPresenter.java @@ -80,31 +80,6 @@ class GistCommentsPresenter extends BasePresenter implemen return comments; } - @Override public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data, - @NonNull DynamicRecyclerView recycler, @NonNull CommentsAdapter adapter) { - if (resultCode == Activity.RESULT_OK && data != null) { - if (requestCode == BundleConstant.REQUEST_CODE) { - Bundle bundle = data.getExtras(); - if (bundle != null) { - boolean isNew = bundle.getBoolean(BundleConstant.EXTRA); - CommentsModel commentsModel = bundle.getParcelable(BundleConstant.ITEM); - if (isNew) { - adapter.addItem(commentsModel); - recycler.smoothScrollToPosition(adapter.getItemCount()); - } else { - int position = adapter.getItem(commentsModel); - if (position != -1) { - adapter.swapItem(commentsModel, position); - recycler.smoothScrollToPosition(position); - } else { - adapter.addItem(commentsModel); - recycler.smoothScrollToPosition(adapter.getItemCount()); - } - } - } - } - } - } @Override public void onHandleDeletion(@Nullable Bundle bundle) { if (bundle != null) { diff --git a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsView.java b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsView.java index 8cf9070f..6343b6e9 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/gists/gist/comments/GistCommentsView.java @@ -1,5 +1,6 @@ package com.fastaccess.ui.modules.gists.gist.comments; +import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; @@ -172,7 +173,28 @@ public class GistCommentsView extends BaseFragment getLoadMore(); + + void onStartGistView(@NonNull String gistId); } interface Presenter extends BaseMvp.FAPresenter, diff --git a/app/src/main/java/com/fastaccess/ui/modules/profile/gists/ProfileGistsPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/profile/gists/ProfileGistsPresenter.java index ce5e2878..3e4455a3 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/profile/gists/ProfileGistsPresenter.java +++ b/app/src/main/java/com/fastaccess/ui/modules/profile/gists/ProfileGistsPresenter.java @@ -7,7 +7,6 @@ import android.view.View; import com.fastaccess.data.dao.GistsModel; import com.fastaccess.provider.rest.RestProvider; import com.fastaccess.ui.base.mvp.presenter.BasePresenter; -import com.fastaccess.ui.modules.gists.gist.GistView; import java.util.ArrayList; @@ -89,7 +88,7 @@ class ProfileGistsPresenter extends BasePresenter implemen } @Override public void onItemClick(int position, View v, GistsModel item) { - v.getContext().startActivity(GistView.createIntent(v.getContext(), item.getGistId())); + if (getView() != null) getView().onStartGistView(item.getGistId()); } @Override public void onItemLongClick(int position, View v, GistsModel item) { diff --git a/app/src/main/java/com/fastaccess/ui/modules/profile/gists/ProfileGistsView.java b/app/src/main/java/com/fastaccess/ui/modules/profile/gists/ProfileGistsView.java index 463704d9..8c77c18d 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/profile/gists/ProfileGistsView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/profile/gists/ProfileGistsView.java @@ -1,5 +1,7 @@ package com.fastaccess.ui.modules.profile.gists; +import android.app.Activity; +import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -8,12 +10,13 @@ import android.support.v4.widget.SwipeRefreshLayout; import android.view.View; import com.fastaccess.R; +import com.fastaccess.data.dao.GistsModel; import com.fastaccess.helper.BundleConstant; import com.fastaccess.helper.Bundler; -import com.fastaccess.helper.Logger; import com.fastaccess.provider.rest.loadmore.OnLoadMore; import com.fastaccess.ui.adapter.GistsAdapter; import com.fastaccess.ui.base.BaseFragment; +import com.fastaccess.ui.modules.gists.gist.GistView; import com.fastaccess.ui.widgets.StateLayout; import com.fastaccess.ui.widgets.recyclerview.DynamicRecyclerView; @@ -96,9 +99,20 @@ public class ProfileGistsView extends BaseFragment getComments(); - void onActivityResult(int requestCode, int resultCode, @Nullable Intent data, - @NonNull DynamicRecyclerView recycler, @NonNull CommentsAdapter adapter); - void onHandleDeletion(@Nullable Bundle bundle); void onWorkOffline(); diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/details/comments/CommitCommentsPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/details/comments/CommitCommentsPresenter.java index 84ef0a24..f3d06f98 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/details/comments/CommitCommentsPresenter.java +++ b/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/details/comments/CommitCommentsPresenter.java @@ -1,7 +1,5 @@ package com.fastaccess.ui.modules.repos.code.commit.details.comments; -import android.app.Activity; -import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -12,9 +10,7 @@ import com.fastaccess.data.dao.CommentsModel; import com.fastaccess.data.dao.LoginModel; import com.fastaccess.helper.BundleConstant; import com.fastaccess.provider.rest.RestProvider; -import com.fastaccess.ui.adapter.CommentsAdapter; import com.fastaccess.ui.base.mvp.presenter.BasePresenter; -import com.fastaccess.ui.widgets.recyclerview.DynamicRecyclerView; import java.util.ArrayList; @@ -80,33 +76,6 @@ class CommitCommentsPresenter extends BasePresenter impl return comments; } - @Override public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data, - @NonNull DynamicRecyclerView recycler, - @NonNull CommentsAdapter adapter) { - if (resultCode == Activity.RESULT_OK && data != null) { - if (requestCode == BundleConstant.REQUEST_CODE) { - Bundle bundle = data.getExtras(); - if (bundle != null) { - boolean isNew = bundle.getBoolean(BundleConstant.EXTRA); - CommentsModel commentsModel = bundle.getParcelable(BundleConstant.ITEM); - if (isNew) { - adapter.addItem(commentsModel); - recycler.smoothScrollToPosition(adapter.getItemCount()); - } else { - int position = adapter.getItem(commentsModel); - if (position != -1) { - adapter.swapItem(commentsModel, position); - recycler.smoothScrollToPosition(position); - } else { - adapter.addItem(commentsModel); - recycler.smoothScrollToPosition(adapter.getItemCount()); - } - } - } - } - } - } - @Override public void onHandleDeletion(@Nullable Bundle bundle) { if (bundle != null) { long commId = bundle.getLong(BundleConstant.EXTRA, 0); diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/details/comments/CommitCommentsView.java b/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/details/comments/CommitCommentsView.java index 4880d514..ec77dcb0 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/details/comments/CommitCommentsView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/details/comments/CommitCommentsView.java @@ -1,5 +1,6 @@ package com.fastaccess.ui.modules.repos.code.commit.details.comments; +import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; @@ -167,7 +168,28 @@ public class CommitCommentsView extends BaseFragment getComments(); - void onActivityResult(int requestCode, int resultCode, @Nullable Intent data, - @NonNull DynamicRecyclerView recycler, @NonNull CommentsAdapter adapter); - void onWorkOffline(); void onHandleDeletion(@Nullable Bundle bundle); diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/comments/IssueCommentsPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/comments/IssueCommentsPresenter.java index 06e8d508..1355200d 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/comments/IssueCommentsPresenter.java +++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/comments/IssueCommentsPresenter.java @@ -1,7 +1,5 @@ package com.fastaccess.ui.modules.repos.issues.issue.details.comments; -import android.app.Activity; -import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -12,10 +10,8 @@ import com.fastaccess.data.dao.CommentsModel; import com.fastaccess.data.dao.LoginModel; import com.fastaccess.helper.BundleConstant; import com.fastaccess.provider.rest.RestProvider; -import com.fastaccess.ui.adapter.CommentsAdapter; import com.fastaccess.ui.base.mvp.BaseMvp; import com.fastaccess.ui.base.mvp.presenter.BasePresenter; -import com.fastaccess.ui.widgets.recyclerview.DynamicRecyclerView; import java.util.ArrayList; @@ -90,32 +86,6 @@ class IssueCommentsPresenter extends BasePresenter implem return comments; } - @Override public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data, - @NonNull DynamicRecyclerView recycler, @NonNull CommentsAdapter adapter) { - if (resultCode == Activity.RESULT_OK && data != null) { - if (requestCode == BundleConstant.REQUEST_CODE) { - Bundle bundle = data.getExtras(); - if (bundle != null) { - boolean isNew = bundle.getBoolean(BundleConstant.EXTRA); - CommentsModel commentsModel = bundle.getParcelable(BundleConstant.ITEM); - if (isNew) { - adapter.addItem(commentsModel); - recycler.smoothScrollToPosition(adapter.getItemCount()); - } else { - int position = adapter.getItem(commentsModel); - if (position != -1) { - adapter.swapItem(commentsModel, position); - recycler.smoothScrollToPosition(position); - } else { - adapter.addItem(commentsModel); - recycler.smoothScrollToPosition(adapter.getItemCount()); - } - } - } - } - } - } - @Override public void onWorkOffline() { if (comments.isEmpty()) { manageSubscription(CommentsModel.getIssueComments(repoId(), login(), String.valueOf(number)) diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/comments/IssueCommentsView.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/comments/IssueCommentsView.java index f2ff9280..31f6a76d 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/comments/IssueCommentsView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/issue/details/comments/IssueCommentsView.java @@ -1,5 +1,6 @@ package com.fastaccess.ui.modules.repos.issues.issue.details.comments; +import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; @@ -168,7 +169,28 @@ public class IssueCommentsView extends BaseFragment items) { @@ -110,6 +111,7 @@ public abstract class BaseRecyclerAdapterClick here to fork repo. No url found. Last Updated + Preview + Syntax Highlighter + Click here to toggle Syntax Highlighting.\nYou can scroll the Markdown editor icons for more + markdown options.